GraphQL API Reference

Welcome to the Anvil GraphQL API reference! This reference includes the complete set of GraphQL types, queries, mutations, and their parameters for e-sign packets, workflows, PDF filling, and PDF generation. For more tutorial-oriented API documentation, please check out our API Guide.

Learn how to authenticate to the API in the Getting Started guide.

Anvil API support: support@useanvil.com

Schema SDL: https://app.useanvil.com/graphql/sdl

Terms of Service: https://www.useanvil.com/terms

API Endpoints
https://graphql.useanvil.com

Queries

cast

Description

Fetch a single Cast. A Cast is a PDF Template. See our terminology guide for more info.

Response

Returns a Cast

Arguments
NameDescription
eid - String!The Cast's eid (which is the same as the PDF template ID)
versionNumber - Int

Optional argument to request a specific version of the Cast. If not provided, the last published version will be returned, unless it has not been published in which case the latest draft version will be returned.

Providing -1 is a special value that will return the latest draft version of the Cast.

versionAsOf - Date

Example

Query
query cast(
  $eid: String!,
  $versionNumber: Int,
  $versionAsOf: Date
) {
  cast(
    eid: $eid,
    versionNumber: $versionNumber,
    versionAsOf: $versionAsOf
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...CastVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...CastVersionPageFragment
    }
    id
    eid
    type
    name
    title
    location
    isTemplate
    exampleData
    allowedAliasIds
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "versionNumber": 123,
  "versionAsOf": "2007-12-03"
}
Response
{
  "data": {
    "cast": {
      "versionNumber": 123,
      "versionId": 987,
      "latestDraftVersionNumber": 987,
      "versions": CastVersionPage,
      "isLatestVersion": false,
      "isPublishedVersion": true,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 987,
      "publishedVersionId": 123,
      "hasUnpublishedChanges": true,
      "hasBeenPublished": false,
      "publishedVersions": CastVersionPage,
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "xyz789",
      "name": "Cast Name",
      "title": "Cast Title",
      "location": "xyz789",
      "isTemplate": true,
      "exampleData": {},
      "allowedAliasIds": ["abc123"],
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "parentCast": Cast,
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03"
    }
  }
}

currentUser

Description

Fetches the currently logged in user. When used in an API context, this will return your API user. The currentUser query is useful to fetch objects in your organization. e.g. your Organization, its Welds, etc.

Response

Returns a User

Example

Query
query currentUser {
  currentUser {
    id
    eid
    email
    name
    firstName
    lastName
    role
    verifiedEmail
    preferences {
      ...UserPreferencesFragment
    }
    organizations {
      ...OrganizationFragment
    }
    organizationUsers {
      ...OrganizationUserFragment
    }
    createdAt
    updatedAt
    onboarding
    extra
    numSentEtchPackets
  }
}
Response
{
  "data": {
    "currentUser": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "email": "user@domain.com",
      "name": "User Name",
      "firstName": "Bobby",
      "lastName": "Jones",
      "role": "abc123",
      "verifiedEmail": "user@domain.com",
      "preferences": UserPreferences,
      "organizations": [Organization],
      "organizationUsers": [OrganizationUser],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "onboarding": {},
      "extra": {},
      "numSentEtchPackets": 987
    }
  }
}

etchPacket

Description

Fetch a single EtchPacket. An EtchPacket represents a signature packet containing PDFs, signers, signed documents. This is the result of createEtchPacket. See the e-signature API guide for more info.

Response

Returns an EtchPacket

Arguments
NameDescription
eid - String!

Example

Query
query etchPacket($eid: String!) {
  etchPacket(eid: $eid) {
    id
    eid
    name
    status
    isTest
    isFree
    allowUpdates
    containsFillData
    payload
    numberRemainingSigners
    detailsURL
    webhookURL
    organization {
      ...OrganizationFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    etchTemplate {
      ...EtchTemplateFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    createdAt
    updatedAt
    archivedAt
    completedAt
  }
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "etchPacket": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchPacket Name",
      "status": "xyz789",
      "isTest": false,
      "isFree": true,
      "allowUpdates": true,
      "containsFillData": false,
      "payload": {},
      "numberRemainingSigners": 987,
      "detailsURL": "https://domain.com/page.html",
      "webhookURL": "https://domain.com/page.html",
      "organization": Organization,
      "documentGroup": DocumentGroup,
      "etchTemplate": EtchTemplate,
      "userUploads": [UserUpload],
      "etchLogEvents": [EtchLog],
      "webhookLogs": [WebhookLog],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "completedAt": "2007-12-03"
    }
  }
}

forge

Description

Fetch a single Forge by specifying either (but not both) of the following argument sets:

  1. Just the eid for the Forge if you know it.
  2. Both the organizationSlug and eidOrSlug.

A Forge holds configuration for a single webform. A Forge defines a webform's fields, the page fields are on, their types, webform logic, etc. Each Forge will be a member of only one Weld (Workflow). See our terminology guide for more info.

A better way to fetch Forges is via the weld query. For example:

weld (eid: weldEid) {
  forges {
    eid
    slug
    name
  }
}
Response

Returns a Forge

Arguments
NameDescription
organizationSlug - String
eidOrSlug - String
eid - StringIf you are authenticated and know the EID, you can use this argument. Be sure to omit the organizationSlug and eidOrSlug arguments if passing eid.
weldDataEid - StringIf you want to receive the Forge and its related, versioned items in the version associated with a specific WeldData then pass that WeldData EID here.
submissionEid - StringIf you want to receive the Forge and its related, versioned items in the version associated with a specific Submission then pass that Submission EID here.
versionNumber - Int

Optional argument to request a specific version of the Forge. If not provided, the last published version will be returned, unless it has not been published in which case the latest draft version will be returned.

All Welds and Casts that are related to this Forge will be returned in their state "as-of" the version requested for the Forge.

Providing -1 is a special value that will return the latest draft version of the Forge, but also the latest draft version of any related Weld and Casts.

versionAsOf - Date

Example

Query
query forge(
  $organizationSlug: String,
  $eidOrSlug: String,
  $eid: String,
  $weldDataEid: String,
  $submissionEid: String,
  $versionNumber: Int,
  $versionAsOf: Date
) {
  forge(
    organizationSlug: $organizationSlug,
    eidOrSlug: $eidOrSlug,
    eid: $eid,
    weldDataEid: $weldDataEid,
    submissionEid: $submissionEid,
    versionNumber: $versionNumber,
    versionAsOf: $versionAsOf
  ) {
    publishedSlug
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...ForgeVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...ForgeVersionPageFragment
    }
    id
    eid
    name
    slug
    isRequired
    config
    fieldInfo
    weld {
      ...WeldFragment
    }
    organization {
      ...OrganizationFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    createdAt
    updatedAt
    archivedAt
    examplePayload
    testForgeCompleteWebhookPayload
  }
}
Variables
{
  "organizationSlug": "organization-slug",
  "eidOrSlug": "kQp2qd9FVUWrrE60hMbi",
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "weldDataEid": "kQp2qd9FVUWrrE60hMbi",
  "submissionEid": "kQp2qd9FVUWrrE60hMbi",
  "versionNumber": 123,
  "versionAsOf": "2007-12-03"
}
Response
{
  "data": {
    "forge": {
      "publishedSlug": "abc123",
      "versionNumber": 123,
      "versionId": 987,
      "latestDraftVersionNumber": 123,
      "versions": ForgeVersionPage,
      "isLatestVersion": true,
      "isPublishedVersion": false,
      "publishedNumber": 987,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 123,
      "publishedVersionId": 987,
      "hasUnpublishedChanges": false,
      "hasBeenPublished": false,
      "publishedVersions": ForgeVersionPage,
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Forge Name",
      "slug": "forge-name",
      "isRequired": false,
      "config": {},
      "fieldInfo": {},
      "weld": Weld,
      "organization": Organization,
      "userUploads": [UserUpload],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "examplePayload": {},
      "testForgeCompleteWebhookPayload": {}
    }
  }
}

organization

Description

Fetch a single Organization. You obviously will only be able to access organizations you are a part of.

A better way to fetch this information is via the currentUser query. For example:

currentUser {
  organizations {
    eid
    slug
    name
  }
}
Response

Returns an Organization

Arguments
NameDescription
organizationSlug - String!

Example

Query
query organization($organizationSlug: String!) {
  organization(organizationSlug: $organizationSlug) {
    id
    eid
    name
    logo
    logoURL
    stylesheetURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...UserFragment
    }
    adminUsers {
      ...UserFragment
    }
    organizationUsers {
      ...OrganizationUserFragment
    }
    organizationUserInvites {
      ...OrganizationUserInviteFragment
    }
    isPersonal
    isInternal
    isSubscribed
    useTestSignatureProvider
    config
    createdAt
    updatedAt
    welds {
      ...WeldFragment
    }
    etchTemplates {
      ...EtchTemplateFragment
    }
    etchPackets {
      ...EtchPacketPageFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    forges {
      ...ForgeFragment
    }
    forgeMaps {
      ...ForgeMapFragment
    }
    casts {
      ...CastFragment
    }
    paymentMethods {
      ...PaymentMethodFragment
    }
    webhook {
      ...WebhookFragment
    }
    webhookActions {
      ...WebhookActionFragment
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    relatedOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
    isSso
  }
}
Variables
{"organizationSlug": "organization-slug"}
Response
{
  "data": {
    "organization": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://domain.com/page.html",
      "stylesheetURL": "https://domain.com/page.html",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "adminUsers": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": true,
      "isInternal": true,
      "isSubscribed": true,
      "useTestSignatureProvider": true,
      "config": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookActions": [WebhookAction],
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "relatedOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 123,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": [
        "xyz789"
      ],
      "isSso": true
    }
  }
}

signer

Description

Fetches a single Signer.

An alternate way to fetch signers is via a DocumentGroup object. For example, use the etchPacket or weldData query, then dig down to the signers in your query.

Response

Returns a Signer

Arguments
NameDescription
eid - String!
token - String

Example

Query
query signer(
  $eid: String!,
  $token: String
) {
  signer(
    eid: $eid,
    token: $token
  ) {
    id
    eid
    aliasId
    status
    provider
    name
    email
    routingOrder
    signActionType
    finishURL
    user {
      ...UserFragment
    }
    submission {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    signerTokens {
      ...SignerTokenFragment
    }
    createdAt
    updatedAt
    completedAt
    clientUserId
    allowDefaultTranslations
    supportEmail
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "token": "xyz789"
}
Response
{
  "data": {
    "signer": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "aliasId": "abc123",
      "status": "abc123",
      "provider": "abc123",
      "name": "Signer Name",
      "email": "user@domain.com",
      "routingOrder": 987,
      "signActionType": "abc123",
      "finishURL": "https://domain.com/page.html",
      "user": User,
      "submission": Submission,
      "documentGroup": DocumentGroup,
      "signerTokens": [SignerToken],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "completedAt": "2007-12-03",
      "clientUserId": "xyz789",
      "allowDefaultTranslations": false,
      "supportEmail": "user@domain.com"
    }
  }
}

submission

Description

Fetches a single Submission. A Submission holds data submitted to a webform. See our terminology guide for more info.

A better way to fetch submissions is via the weldData query. For example:

weldData (eid: weldDataEid) {
  displayTitle
  submissions {
    eid
    resolvedPayload
  }
}
Response

Returns a Submission

Arguments
NameDescription
organizationSlug - String!
forgeEidOrSlug - String!
eid - String!
forceCreate - Boolean
isWeldDataEid - Boolean
timezone - String

Example

Query
query submission(
  $organizationSlug: String!,
  $forgeEidOrSlug: String!,
  $eid: String!,
  $forceCreate: Boolean,
  $isWeldDataEid: Boolean,
  $timezone: String
) {
  submission(
    organizationSlug: $organizationSlug,
    forgeEidOrSlug: $forgeEidOrSlug,
    eid: $eid,
    forceCreate: $forceCreate,
    isWeldDataEid: $isWeldDataEid,
    timezone: $timezone
  ) {
    id
    eid
    status
    resolvedPayload
    payload
    payloadValue
    currentStep
    totalSteps
    continueURL
    weldData {
      ...WeldDataFragment
    }
    forge {
      ...ForgeFragment
    }
    user {
      ...UserFragment
    }
    signer {
      ...SignerFragment
    }
    reviewData
    completionPercentage
    isExcluded
    touchedByUser
    requestMeta
    createdAt
    updatedAt
    completedAt
  }
}
Variables
{
  "organizationSlug": "organization-slug",
  "forgeEidOrSlug": "kQp2qd9FVUWrrE60hMbi",
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "forceCreate": true,
  "isWeldDataEid": "kQp2qd9FVUWrrE60hMbi",
  "timezone": "America/Los_Angeles"
}
Response
{
  "data": {
    "submission": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "status": "xyz789",
      "resolvedPayload": {},
      "payload": {},
      "payloadValue": {},
      "currentStep": 987,
      "totalSteps": 987,
      "continueURL": "https://domain.com/page.html",
      "weldData": WeldData,
      "forge": Forge,
      "user": User,
      "signer": Signer,
      "reviewData": {},
      "completionPercentage": 987.65,
      "isExcluded": true,
      "touchedByUser": false,
      "requestMeta": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "completedAt": "2007-12-03"
    }
  }
}

weld

Description

Fetch a single Weld. This query is a good way to fetch all of a Workflow's submissions (WeldDatas). See the Weld's weldDatas resolver.

Specify either the Weld's eid or both the Weld's slug and the Weld's organizationSlug.

See the Workflow API guide for more information on query usage.

Response

Returns a Weld

Arguments
NameDescription
eid - StringThe Workflow / Weld's eid
slug - String
organizationSlug - String
versionNumber - Int

Optional argument to request a specific version of the Weld. If not provided, the last published version will be returned, unless it has not been published in which case the latest draft version will be returned.

All Forges and Casts that are related to this Weld will be returned in their state "as-of" the version requested for the Weld.

Providing -1 is a special value that will return the latest draft version of the Weld, but also the latest draft version of any related Forges and Casts.

versionAsOf - Date

Example

Query
query weld(
  $eid: String,
  $slug: String,
  $organizationSlug: String,
  $versionNumber: Int,
  $versionAsOf: Date
) {
  weld(
    eid: $eid,
    slug: $slug,
    organizationSlug: $organizationSlug,
    versionNumber: $versionNumber,
    versionAsOf: $versionAsOf
  ) {
    publishedSlug
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...WeldVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...WeldVersionPageFragment
    }
    id
    eid
    slug
    name
    title
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    testWeldCompleteWebhookPayload
    testSignerCompleteWebhookPayload
    hasWeldDatas
    weldDataCounts
    draftStep
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
    allowDefaultTranslations
    isTest
    styleConfig
    stylesheetURL
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "slug": "weld-name",
  "organizationSlug": "organization-slug",
  "versionNumber": 123,
  "versionAsOf": "2007-12-03"
}
Response
{
  "data": {
    "weld": {
      "publishedSlug": "abc123",
      "versionNumber": 123,
      "versionId": 987,
      "latestDraftVersionNumber": 987,
      "versions": WeldVersionPage,
      "isLatestVersion": true,
      "isPublishedVersion": true,
      "publishedNumber": 987,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 987,
      "publishedVersionId": 123,
      "hasUnpublishedChanges": true,
      "hasBeenPublished": false,
      "publishedVersions": WeldVersionPage,
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "title": "Weld Title",
      "visibility": "xyz789",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "testWeldCompleteWebhookPayload": {},
      "testSignerCompleteWebhookPayload": {},
      "hasWeldDatas": false,
      "weldDataCounts": {},
      "draftStep": "xyz789",
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": [
        "xyz789"
      ],
      "remainingSubmissions": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "allowDefaultTranslations": false,
      "isTest": true,
      "styleConfig": {},
      "stylesheetURL": "https://domain.com/page.html"
    }
  }
}

weldData

Description

Fetch a single WeldData (Workflow submission). If you need to fetch all WeldDatas for a given Weld, see the weld query.

See the Workflow API guide for more information on query usage.

Response

Returns a WeldData

Arguments
NameDescription
eid - String!

Example

Query
query weldData($eid: String!) {
  weldData(eid: $eid) {
    id
    eid
    displayTitle
    status
    isTest
    isExpired
    isComplete
    isAllComplete
    continueURL
    webhookURL
    completionPercentage
    numberRemainingSigners
    payloadCanBeUpdated
    hasSigners
    nextSigner {
      ...SignerFragment
    }
    nextSigners {
      ...SignerFragment
    }
    hasPin
    pin
    agents
    files
    excludedFiles
    weld {
      ...WeldFragment
    }
    weldVersionId
    submissions {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    weldDataLogEvents {
      ...WeldDataLogFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    forgesRequiringCompletion {
      ...ForgeFragment
    }
    weldDataGroup {
      ...WeldDataGroupFragment
    }
    createdAt
    updatedAt
    dataUpdatedAt
    expiresAt
    archivedAt
    currentStepInfo
    stylesheetURL
  }
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "weldData": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "displayTitle": "xyz789",
      "status": "abc123",
      "isTest": false,
      "isExpired": true,
      "isComplete": true,
      "isAllComplete": false,
      "continueURL": "https://domain.com/page.html",
      "webhookURL": "https://domain.com/page.html",
      "completionPercentage": 987.65,
      "numberRemainingSigners": 123,
      "payloadCanBeUpdated": false,
      "hasSigners": false,
      "nextSigner": Signer,
      "nextSigners": [Signer],
      "hasPin": false,
      "pin": "9876",
      "agents": {},
      "files": [{}],
      "excludedFiles": [{}],
      "weld": Weld,
      "weldVersionId": 123,
      "submissions": [Submission],
      "documentGroup": DocumentGroup,
      "webhookLogs": [WebhookLog],
      "etchLogEvents": [EtchLog],
      "weldDataLogEvents": [WeldDataLog],
      "userUploads": [UserUpload],
      "forgesRequiringCompletion": [Forge],
      "weldDataGroup": WeldDataGroup,
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "dataUpdatedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "archivedAt": "2007-12-03",
      "currentStepInfo": {},
      "stylesheetURL": "https://domain.com/page.html"
    }
  }
}

Mutations

createCast

Description

Create a Cast with the specified properties. This will require you to publish the Cast via the publishCast mutation before it will go live.

Response

Returns a Cast

Arguments
NameDescription
organizationEid - String
title - String
file - Upload!
isTemplate - BooleanDefault = true
allowedAliasIds - [String]
detectFields - BooleanDefault = true
advancedDetectFields - BooleanUses AI to help analyze the document's fields. Will implicitly set detectFields to true. Default = false
detectBoxesAdvanced - BooleanUses AI to help detect the document's fields. Will implicitly set detectFields to true. Default = false
aliasIds - JSON

aliasIds works with advancedDetectFields: true and allows you to have AI auto-assign your own system's data names to fields found on the document. i.e. AI can assign your own database column names to fields found on the document.

Anvil calls custom data names on fields field aliases (aliasId in the API). Using AI to auto-assign your custom set of field aliases to found fields makes programmatically creating templates that fit your own schema or database column names easy. This also makes your users' lives easier if you are allowing them to create custom templates by embedding our PDF template builder.

For example, you store an employee's name in your system as employeeName and may expect employeeName to be on the uploaded document. You would specify "employeeName" in this aliasIds field. When our AI is analyzing your document and it finds a suitable employee name field, it will set your field alias, "employeeName", as the new field's aliasId. Then, you can use "employeeName" as an id when filling PDFs or when filling the PDF in a signature packet.

See the auto-mapping PDF fields with AI section of the embedded PDF template builder guide for more details.

Example

Query
mutation createCast(
  $organizationEid: String,
  $title: String,
  $file: Upload!,
  $isTemplate: Boolean,
  $allowedAliasIds: [String],
  $detectFields: Boolean,
  $advancedDetectFields: Boolean,
  $detectBoxesAdvanced: Boolean,
  $aliasIds: JSON
) {
  createCast(
    organizationEid: $organizationEid,
    title: $title,
    file: $file,
    isTemplate: $isTemplate,
    allowedAliasIds: $allowedAliasIds,
    detectFields: $detectFields,
    advancedDetectFields: $advancedDetectFields,
    detectBoxesAdvanced: $detectBoxesAdvanced,
    aliasIds: $aliasIds
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...CastVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...CastVersionPageFragment
    }
    id
    eid
    type
    name
    title
    location
    isTemplate
    exampleData
    allowedAliasIds
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "title": "Cast Title",
  "file": Upload,
  "isTemplate": true,
  "allowedAliasIds": ["xyz789"],
  "detectFields": true,
  "advancedDetectFields": false,
  "detectBoxesAdvanced": false,
  "aliasIds": {}
}
Response
{
  "data": {
    "createCast": {
      "versionNumber": 123,
      "versionId": 123,
      "latestDraftVersionNumber": 987,
      "versions": CastVersionPage,
      "isLatestVersion": true,
      "isPublishedVersion": false,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 123,
      "publishedVersionId": 123,
      "hasUnpublishedChanges": false,
      "hasBeenPublished": false,
      "publishedVersions": CastVersionPage,
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "abc123",
      "name": "Cast Name",
      "title": "Cast Title",
      "location": "abc123",
      "isTemplate": false,
      "exampleData": {},
      "allowedAliasIds": ["xyz789"],
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "parentCast": Cast,
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03"
    }
  }
}

createEtchPacket

Description

Create an e-signature packet. See the Etch e-sign guide for usage information.

Response

Returns an EtchPacket

Arguments
NameDescription
name - String
organizationEid - String
isDraft - BooleanWhen set to false, the packet will immediately be sent to the first signer. When set to true, the resulting EtchPacket will not be immediately sent. You will need to send the packet via the UI or the sendEtchPacket mutation.
isTest - BooleanWhen true, the resulting packet will be in test mode. You will not be charged for test packets. Test packets will not use valid signatures.
files - [EtchFile!]Specifies files that will be in the resulting packet. See the guide for details.
signers - [JSON!]Specifies signers who will sign documents in the files array. See the guide for details.
data - JSONSpecifies data to fill documents in the files array. See the guide for details.
replyToName - StringOverrides the replyTo header on emails sent to signers. By default, this will be your organization name.
replyToEmail - StringOverrides the replyTo header on emails sent to signers. By default, this will be the support email listed in your organization settings.
signatureEmailSubject - StringCustomizes the email subject on signer emails
signatureEmailBody - StringCustomizes the email body on signer emails
signaturePageOptions - JSONAllows customization and whitelabeling of the signature page. See the guide for details.
enableEmails - JSON

Enable all, none, or specific emails for this packet. When enabled, an email type will adhere to the organization settings for that email type. For example, when signerViewAdmin is enabled, an email will only be sent to organization members specified in the organization settings.

Possible values: true, false, or an array of strings with any of the following 'signerViewAdmin', 'signerCompleteAdmin', or 'etchCompleteAdmin'.

The default is false.

createCastTemplatesFromUploads - BooleanSet to true to save uploaded PDFs to your PDF templates.
duplicateCasts - BooleanSet to true to duplicate all referenced PDF templates on packet creation. Setting to true is useful if you would like to edit the PDFs in the UI after packet creation. Default = false
mergePDFs - BooleanWhen enabled, merges all PDFs before users sign. All signers will sign one (potentially large) PDF.
allowUpdates - BooleanWhen enabled, the EtchPacket payload can be updated. Requires a plan that allows EtchPacket updates. Default = false
webhookURL - StringAllows you to set a webhook URL called specifically for actions on the resulting EtchPacket
signatureProvider - String
advancedCreate - BooleanUses AI to label uploaded documents, discover signers, and connect signers to fields. Default = false
detectBoxesAdvanced - BooleanUses AI to help detect fields on uploaded document. Will implicitly set detectFields to true. Default = false

Example

Query
mutation createEtchPacket(
  $name: String,
  $organizationEid: String,
  $isDraft: Boolean,
  $isTest: Boolean,
  $files: [EtchFile!],
  $signers: [JSON!],
  $data: JSON,
  $replyToName: String,
  $replyToEmail: String,
  $signatureEmailSubject: String,
  $signatureEmailBody: String,
  $signaturePageOptions: JSON,
  $enableEmails: JSON,
  $createCastTemplatesFromUploads: Boolean,
  $duplicateCasts: Boolean,
  $mergePDFs: Boolean,
  $allowUpdates: Boolean,
  $webhookURL: String,
  $signatureProvider: String,
  $advancedCreate: Boolean,
  $detectBoxesAdvanced: Boolean
) {
  createEtchPacket(
    name: $name,
    organizationEid: $organizationEid,
    isDraft: $isDraft,
    isTest: $isTest,
    files: $files,
    signers: $signers,
    data: $data,
    replyToName: $replyToName,
    replyToEmail: $replyToEmail,
    signatureEmailSubject: $signatureEmailSubject,
    signatureEmailBody: $signatureEmailBody,
    signaturePageOptions: $signaturePageOptions,
    enableEmails: $enableEmails,
    createCastTemplatesFromUploads: $createCastTemplatesFromUploads,
    duplicateCasts: $duplicateCasts,
    mergePDFs: $mergePDFs,
    allowUpdates: $allowUpdates,
    webhookURL: $webhookURL,
    signatureProvider: $signatureProvider,
    advancedCreate: $advancedCreate,
    detectBoxesAdvanced: $detectBoxesAdvanced
  ) {
    id
    eid
    name
    status
    isTest
    isFree
    allowUpdates
    containsFillData
    payload
    numberRemainingSigners
    detailsURL
    webhookURL
    organization {
      ...OrganizationFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    etchTemplate {
      ...EtchTemplateFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    createdAt
    updatedAt
    archivedAt
    completedAt
  }
}
Variables
{
  "name": "EtchPacket Name",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "isDraft": false,
  "isTest": true,
  "files": [EtchFile],
  "signers": [{}],
  "data": {},
  "replyToName": "abc123",
  "replyToEmail": "user@domain.com",
  "signatureEmailSubject": "abc123",
  "signatureEmailBody": "abc123",
  "signaturePageOptions": {},
  "enableEmails": {},
  "createCastTemplatesFromUploads": false,
  "duplicateCasts": false,
  "mergePDFs": true,
  "allowUpdates": false,
  "webhookURL": "https://domain.com/page.html",
  "signatureProvider": "abc123",
  "advancedCreate": false,
  "detectBoxesAdvanced": false
}
Response
{
  "data": {
    "createEtchPacket": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchPacket Name",
      "status": "xyz789",
      "isTest": false,
      "isFree": true,
      "allowUpdates": true,
      "containsFillData": true,
      "payload": {},
      "numberRemainingSigners": 987,
      "detailsURL": "https://domain.com/page.html",
      "webhookURL": "https://domain.com/page.html",
      "organization": Organization,
      "documentGroup": DocumentGroup,
      "etchTemplate": EtchTemplate,
      "userUploads": [UserUpload],
      "etchLogEvents": [EtchLog],
      "webhookLogs": [WebhookLog],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "completedAt": "2007-12-03"
    }
  }
}

createForge

Description

Create a Forge with the specified properties. This will require you to publish the Weld via the publishWeld mutation before it will go live with the Workflow.

Response

Returns a Forge

Arguments
NameDescription
weldEid - String!
name - String!
slug - String!
config - JSON
castEid - String
castFieldIds - JSON

Example

Query
mutation createForge(
  $weldEid: String!,
  $name: String!,
  $slug: String!,
  $config: JSON,
  $castEid: String,
  $castFieldIds: JSON
) {
  createForge(
    weldEid: $weldEid,
    name: $name,
    slug: $slug,
    config: $config,
    castEid: $castEid,
    castFieldIds: $castFieldIds
  ) {
    publishedSlug
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...ForgeVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...ForgeVersionPageFragment
    }
    id
    eid
    name
    slug
    isRequired
    config
    fieldInfo
    weld {
      ...WeldFragment
    }
    organization {
      ...OrganizationFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    createdAt
    updatedAt
    archivedAt
    examplePayload
    testForgeCompleteWebhookPayload
  }
}
Variables
{
  "weldEid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Forge Name",
  "slug": "forge-name",
  "config": {},
  "castEid": "kQp2qd9FVUWrrE60hMbi",
  "castFieldIds": {}
}
Response
{
  "data": {
    "createForge": {
      "publishedSlug": "xyz789",
      "versionNumber": 987,
      "versionId": 987,
      "latestDraftVersionNumber": 123,
      "versions": ForgeVersionPage,
      "isLatestVersion": false,
      "isPublishedVersion": true,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 987,
      "publishedVersionId": 987,
      "hasUnpublishedChanges": true,
      "hasBeenPublished": false,
      "publishedVersions": ForgeVersionPage,
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Forge Name",
      "slug": "forge-name",
      "isRequired": false,
      "config": {},
      "fieldInfo": {},
      "weld": Weld,
      "organization": Organization,
      "userUploads": [UserUpload],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "examplePayload": {},
      "testForgeCompleteWebhookPayload": {}
    }
  }
}

createSubmission

Response

Returns a Submission

Arguments
NameDescription
forgeEid - String!
weldDataEid - String!

Example

Query
mutation createSubmission(
  $forgeEid: String!,
  $weldDataEid: String!
) {
  createSubmission(
    forgeEid: $forgeEid,
    weldDataEid: $weldDataEid
  ) {
    id
    eid
    status
    resolvedPayload
    payload
    payloadValue
    currentStep
    totalSteps
    continueURL
    weldData {
      ...WeldDataFragment
    }
    forge {
      ...ForgeFragment
    }
    user {
      ...UserFragment
    }
    signer {
      ...SignerFragment
    }
    reviewData
    completionPercentage
    isExcluded
    touchedByUser
    requestMeta
    createdAt
    updatedAt
    completedAt
  }
}
Variables
{"forgeEid": "kQp2qd9FVUWrrE60hMbi", "weldDataEid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "createSubmission": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "status": "xyz789",
      "resolvedPayload": {},
      "payload": {},
      "payloadValue": {},
      "currentStep": 123,
      "totalSteps": 987,
      "continueURL": "https://domain.com/page.html",
      "weldData": WeldData,
      "forge": Forge,
      "user": User,
      "signer": Signer,
      "reviewData": {},
      "completionPercentage": 123.45,
      "isExcluded": false,
      "touchedByUser": true,
      "requestMeta": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "completedAt": "2007-12-03"
    }
  }
}

createWebhook

Response

Returns an Organization

Arguments
NameDescription
organizationEid - String
organizationSlug - String
url - String

Example

Query
mutation createWebhook(
  $organizationEid: String,
  $organizationSlug: String,
  $url: String
) {
  createWebhook(
    organizationEid: $organizationEid,
    organizationSlug: $organizationSlug,
    url: $url
  ) {
    id
    eid
    name
    logo
    logoURL
    stylesheetURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...UserFragment
    }
    adminUsers {
      ...UserFragment
    }
    organizationUsers {
      ...OrganizationUserFragment
    }
    organizationUserInvites {
      ...OrganizationUserInviteFragment
    }
    isPersonal
    isInternal
    isSubscribed
    useTestSignatureProvider
    config
    createdAt
    updatedAt
    welds {
      ...WeldFragment
    }
    etchTemplates {
      ...EtchTemplateFragment
    }
    etchPackets {
      ...EtchPacketPageFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    forges {
      ...ForgeFragment
    }
    forgeMaps {
      ...ForgeMapFragment
    }
    casts {
      ...CastFragment
    }
    paymentMethods {
      ...PaymentMethodFragment
    }
    webhook {
      ...WebhookFragment
    }
    webhookActions {
      ...WebhookActionFragment
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    relatedOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
    isSso
  }
}
Variables
{
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "organizationSlug": "organization-slug",
  "url": "https://domain.com/page.html"
}
Response
{
  "data": {
    "createWebhook": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://domain.com/page.html",
      "stylesheetURL": "https://domain.com/page.html",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "adminUsers": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": false,
      "isInternal": true,
      "isSubscribed": false,
      "useTestSignatureProvider": false,
      "config": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookActions": [WebhookAction],
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "relatedOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 123,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": [
        "xyz789"
      ],
      "isSso": true
    }
  }
}

createWebhookAction

Description

Create a Webhook Action to subscribe to events on objects.

Here is a list of all the actions and the object types that are supported by them:

See the Webhook Action documentation for usage information.

Response

Returns a WebhookAction

Arguments
NameDescription
action - String!The action you'd like to subscribe to on the object(s). You can also use * to monitor all actions.
objectType - String!The type of object that you'd like to monitor for events. You can also use * to monitor all object types.
objectEid - String!The eid of the specific object you'd like to monitor. You can also use * to monitor all objects of the specified type(s).
config - WebhookActionConfigInput
webhookEid - StringThe eid of a pre-existing Webhook that you'd like to use for this Webhook Action. A new Webhook can be created as well.
organizationEid - StringIf you want to create a new Webhook on-the-fly, you must specify the Organization eid here.
url - StringIf you want to create a new Webhook on-the-fly, you must specify the URL here.

Example

Query
mutation createWebhookAction(
  $action: String!,
  $objectType: String!,
  $objectEid: String!,
  $config: WebhookActionConfigInput,
  $webhookEid: String,
  $organizationEid: String,
  $url: String
) {
  createWebhookAction(
    action: $action,
    objectType: $objectType,
    objectEid: $objectEid,
    config: $config,
    webhookEid: $webhookEid,
    organizationEid: $organizationEid,
    url: $url
  ) {
    eid
    webhook {
      ...WebhookFragment
    }
    action
    objectEid
    objectType
    config
    createdAt
    updatedAt
    creationUser {
      ...UserFragment
    }
  }
}
Variables
{
  "action": "xyz789",
  "objectType": "abc123",
  "objectEid": "kQp2qd9FVUWrrE60hMbi",
  "config": WebhookActionConfigInput,
  "webhookEid": "kQp2qd9FVUWrrE60hMbi",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "url": "https://domain.com/page.html"
}
Response
{
  "data": {
    "createWebhookAction": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "webhook": Webhook,
      "action": "xyz789",
      "objectEid": "kQp2qd9FVUWrrE60hMbi",
      "objectType": "xyz789",
      "config": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "creationUser": User
    }
  }
}

createWeld

Description

Create a Weld with the specified properties. This will require you to publish the Weld via the publishWeld mutation before it will go live.

Response

Returns a Weld

Arguments
NameDescription
organizationEid - String
name - String
slug - String
visibility - String
draftStep - String
config - JSON
castEid - String
files - [WeldFile]
createCastTemplatesFromUploads - BooleanSet to true to save uploaded PDFs to your PDF templates.
advancedCreate - BooleanUses AI to generate webform pages, create signers, and connect webform fields to supplied documents. Default = false
advancedDetectFields - BooleanUses AI to help detect and analyze uploaded documents' fields. Default = false
detectBoxesAdvanced - BooleanUses AI to help detect fields on uploaded documents. Default = false

Example

Query
mutation createWeld(
  $organizationEid: String,
  $name: String,
  $slug: String,
  $visibility: String,
  $draftStep: String,
  $config: JSON,
  $castEid: String,
  $files: [WeldFile],
  $createCastTemplatesFromUploads: Boolean,
  $advancedCreate: Boolean,
  $advancedDetectFields: Boolean,
  $detectBoxesAdvanced: Boolean
) {
  createWeld(
    organizationEid: $organizationEid,
    name: $name,
    slug: $slug,
    visibility: $visibility,
    draftStep: $draftStep,
    config: $config,
    castEid: $castEid,
    files: $files,
    createCastTemplatesFromUploads: $createCastTemplatesFromUploads,
    advancedCreate: $advancedCreate,
    advancedDetectFields: $advancedDetectFields,
    detectBoxesAdvanced: $detectBoxesAdvanced
  ) {
    publishedSlug
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...WeldVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...WeldVersionPageFragment
    }
    id
    eid
    slug
    name
    title
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    testWeldCompleteWebhookPayload
    testSignerCompleteWebhookPayload
    hasWeldDatas
    weldDataCounts
    draftStep
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
    allowDefaultTranslations
    isTest
    styleConfig
    stylesheetURL
  }
}
Variables
{
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Weld Name",
  "slug": "weld-name",
  "visibility": "xyz789",
  "draftStep": "xyz789",
  "config": {},
  "castEid": "kQp2qd9FVUWrrE60hMbi",
  "files": [WeldFile],
  "createCastTemplatesFromUploads": false,
  "advancedCreate": false,
  "advancedDetectFields": false,
  "detectBoxesAdvanced": false
}
Response
{
  "data": {
    "createWeld": {
      "publishedSlug": "xyz789",
      "versionNumber": 987,
      "versionId": 987,
      "latestDraftVersionNumber": 987,
      "versions": WeldVersionPage,
      "isLatestVersion": true,
      "isPublishedVersion": false,
      "publishedNumber": 987,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 987,
      "publishedVersionId": 987,
      "hasUnpublishedChanges": true,
      "hasBeenPublished": false,
      "publishedVersions": WeldVersionPage,
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "title": "Weld Title",
      "visibility": "abc123",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "testWeldCompleteWebhookPayload": {},
      "testSignerCompleteWebhookPayload": {},
      "hasWeldDatas": true,
      "weldDataCounts": {},
      "draftStep": "xyz789",
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": [
        "abc123"
      ],
      "remainingSubmissions": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "allowDefaultTranslations": false,
      "isTest": false,
      "styleConfig": {},
      "stylesheetURL": "https://domain.com/page.html"
    }
  }
}

createWeldData

Response

Returns a WeldData

Arguments
NameDescription
weldEid - String!
weldDataGroupEid - String
isTest - BooleanDefault = false
webhookURL - String
versionNumber - Int

Example

Query
mutation createWeldData(
  $weldEid: String!,
  $weldDataGroupEid: String,
  $isTest: Boolean,
  $webhookURL: String,
  $versionNumber: Int
) {
  createWeldData(
    weldEid: $weldEid,
    weldDataGroupEid: $weldDataGroupEid,
    isTest: $isTest,
    webhookURL: $webhookURL,
    versionNumber: $versionNumber
  ) {
    id
    eid
    displayTitle
    status
    isTest
    isExpired
    isComplete
    isAllComplete
    continueURL
    webhookURL
    completionPercentage
    numberRemainingSigners
    payloadCanBeUpdated
    hasSigners
    nextSigner {
      ...SignerFragment
    }
    nextSigners {
      ...SignerFragment
    }
    hasPin
    pin
    agents
    files
    excludedFiles
    weld {
      ...WeldFragment
    }
    weldVersionId
    submissions {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    weldDataLogEvents {
      ...WeldDataLogFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    forgesRequiringCompletion {
      ...ForgeFragment
    }
    weldDataGroup {
      ...WeldDataGroupFragment
    }
    createdAt
    updatedAt
    dataUpdatedAt
    expiresAt
    archivedAt
    currentStepInfo
    stylesheetURL
  }
}
Variables
{
  "weldEid": "kQp2qd9FVUWrrE60hMbi",
  "weldDataGroupEid": "kQp2qd9FVUWrrE60hMbi",
  "isTest": false,
  "webhookURL": "https://domain.com/page.html",
  "versionNumber": 987
}
Response
{
  "data": {
    "createWeldData": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "displayTitle": "abc123",
      "status": "xyz789",
      "isTest": false,
      "isExpired": false,
      "isComplete": true,
      "isAllComplete": false,
      "continueURL": "https://domain.com/page.html",
      "webhookURL": "https://domain.com/page.html",
      "completionPercentage": 987.65,
      "numberRemainingSigners": 987,
      "payloadCanBeUpdated": false,
      "hasSigners": false,
      "nextSigner": Signer,
      "nextSigners": [Signer],
      "hasPin": true,
      "pin": "9876",
      "agents": {},
      "files": [{}],
      "excludedFiles": [{}],
      "weld": Weld,
      "weldVersionId": 987,
      "submissions": [Submission],
      "documentGroup": DocumentGroup,
      "webhookLogs": [WebhookLog],
      "etchLogEvents": [EtchLog],
      "weldDataLogEvents": [WeldDataLog],
      "userUploads": [UserUpload],
      "forgesRequiringCompletion": [Forge],
      "weldDataGroup": WeldDataGroup,
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "dataUpdatedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "archivedAt": "2007-12-03",
      "currentStepInfo": {},
      "stylesheetURL": "https://domain.com/page.html"
    }
  }
}

destroySubmission

Response

Returns a Boolean

Arguments
NameDescription
eid - String!

Example

Query
mutation destroySubmission($eid: String!) {
  destroySubmission(eid: $eid)
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi"}
Response
{"data": {"destroySubmission": true}}

disconnectDocusign

Response

Returns an Organization

Arguments
NameDescription
organizationSlug - String!

Example

Query
mutation disconnectDocusign($organizationSlug: String!) {
  disconnectDocusign(organizationSlug: $organizationSlug) {
    id
    eid
    name
    logo
    logoURL
    stylesheetURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...UserFragment
    }
    adminUsers {
      ...UserFragment
    }
    organizationUsers {
      ...OrganizationUserFragment
    }
    organizationUserInvites {
      ...OrganizationUserInviteFragment
    }
    isPersonal
    isInternal
    isSubscribed
    useTestSignatureProvider
    config
    createdAt
    updatedAt
    welds {
      ...WeldFragment
    }
    etchTemplates {
      ...EtchTemplateFragment
    }
    etchPackets {
      ...EtchPacketPageFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    forges {
      ...ForgeFragment
    }
    forgeMaps {
      ...ForgeMapFragment
    }
    casts {
      ...CastFragment
    }
    paymentMethods {
      ...PaymentMethodFragment
    }
    webhook {
      ...WebhookFragment
    }
    webhookActions {
      ...WebhookActionFragment
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    relatedOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
    isSso
  }
}
Variables
{"organizationSlug": "organization-slug"}
Response
{
  "data": {
    "disconnectDocusign": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://domain.com/page.html",
      "stylesheetURL": "https://domain.com/page.html",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "adminUsers": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": true,
      "isInternal": true,
      "isSubscribed": true,
      "useTestSignatureProvider": true,
      "config": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookActions": [WebhookAction],
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "relatedOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 987,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": [
        "abc123"
      ],
      "isSso": false
    }
  }
}

duplicateCast

Response

Returns a Cast

Arguments
NameDescription
eid - String!
organizationEid - String!
name - String
title - String

Example

Query
mutation duplicateCast(
  $eid: String!,
  $organizationEid: String!,
  $name: String,
  $title: String
) {
  duplicateCast(
    eid: $eid,
    organizationEid: $organizationEid,
    name: $name,
    title: $title
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...CastVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...CastVersionPageFragment
    }
    id
    eid
    type
    name
    title
    location
    isTemplate
    exampleData
    allowedAliasIds
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Cast Name",
  "title": "Cast Title"
}
Response
{
  "data": {
    "duplicateCast": {
      "versionNumber": 123,
      "versionId": 123,
      "latestDraftVersionNumber": 987,
      "versions": CastVersionPage,
      "isLatestVersion": true,
      "isPublishedVersion": true,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 123,
      "publishedVersionId": 123,
      "hasUnpublishedChanges": false,
      "hasBeenPublished": true,
      "publishedVersions": CastVersionPage,
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "xyz789",
      "name": "Cast Name",
      "title": "Cast Title",
      "location": "xyz789",
      "isTemplate": false,
      "exampleData": {},
      "allowedAliasIds": ["xyz789"],
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "parentCast": Cast,
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03"
    }
  }
}

duplicateWeld

Response

Returns a Weld

Arguments
NameDescription
eid - String!
organizationEid - String!
visibility - String
name - String
slug - String
versionNumber - Int

Example

Query
mutation duplicateWeld(
  $eid: String!,
  $organizationEid: String!,
  $visibility: String,
  $name: String,
  $slug: String,
  $versionNumber: Int
) {
  duplicateWeld(
    eid: $eid,
    organizationEid: $organizationEid,
    visibility: $visibility,
    name: $name,
    slug: $slug,
    versionNumber: $versionNumber
  ) {
    publishedSlug
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...WeldVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...WeldVersionPageFragment
    }
    id
    eid
    slug
    name
    title
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    testWeldCompleteWebhookPayload
    testSignerCompleteWebhookPayload
    hasWeldDatas
    weldDataCounts
    draftStep
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
    allowDefaultTranslations
    isTest
    styleConfig
    stylesheetURL
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "visibility": "abc123",
  "name": "Weld Name",
  "slug": "weld-name",
  "versionNumber": 123
}
Response
{
  "data": {
    "duplicateWeld": {
      "publishedSlug": "xyz789",
      "versionNumber": 987,
      "versionId": 987,
      "latestDraftVersionNumber": 987,
      "versions": WeldVersionPage,
      "isLatestVersion": true,
      "isPublishedVersion": false,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 123,
      "publishedVersionId": 123,
      "hasUnpublishedChanges": true,
      "hasBeenPublished": false,
      "publishedVersions": WeldVersionPage,
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "title": "Weld Title",
      "visibility": "xyz789",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "testWeldCompleteWebhookPayload": {},
      "testSignerCompleteWebhookPayload": {},
      "hasWeldDatas": true,
      "weldDataCounts": {},
      "draftStep": "abc123",
      "signatureProviderType": "abc123",
      "availableSignatureProviderTypes": [
        "abc123"
      ],
      "remainingSubmissions": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "allowDefaultTranslations": true,
      "isTest": true,
      "styleConfig": {},
      "stylesheetURL": "https://domain.com/page.html"
    }
  }
}

expireSessionToken

Description

Expires the UserToken associated with the provided requestTokenEid. Any authentication attempts made using that token will be rejected.

Response

Returns a Boolean

Arguments
NameDescription
requestTokenEid - String!The EID of the request token that was returned from the generateEmbedURL mutation. Used to determine which session token to invalidate.

Example

Query
mutation expireSessionToken($requestTokenEid: String!) {
  expireSessionToken(requestTokenEid: $requestTokenEid)
}
Variables
{"requestTokenEid": "kQp2qd9FVUWrrE60hMbi"}
Response
{"data": {"expireSessionToken": false}}

expireSignerTokens

Description

Expires all valid SignerTokens for a specific Signer. Signers who visit links with expired tokens will be shown a "Token Expired" error, or will be redirected to your service if there is a redirectURL set on the signer.

If the Signer has already completed signing, this mutation will throw an error. If you would like the Signer to be able to sign again, email signers will need to be notified via sendEtchPacket, and embedded signers will need a new signing link generated by generateEtchSignURL.

Response

Returns a Signer

Arguments
NameDescription
signerEid - String!

Example

Query
mutation expireSignerTokens($signerEid: String!) {
  expireSignerTokens(signerEid: $signerEid) {
    id
    eid
    aliasId
    status
    provider
    name
    email
    routingOrder
    signActionType
    finishURL
    user {
      ...UserFragment
    }
    submission {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    signerTokens {
      ...SignerTokenFragment
    }
    createdAt
    updatedAt
    completedAt
    clientUserId
    allowDefaultTranslations
    supportEmail
  }
}
Variables
{"signerEid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "expireSignerTokens": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "aliasId": "xyz789",
      "status": "xyz789",
      "provider": "abc123",
      "name": "Signer Name",
      "email": "user@domain.com",
      "routingOrder": 123,
      "signActionType": "xyz789",
      "finishURL": "https://domain.com/page.html",
      "user": User,
      "submission": Submission,
      "documentGroup": DocumentGroup,
      "signerTokens": [SignerToken],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "completedAt": "2007-12-03",
      "clientUserId": "abc123",
      "allowDefaultTranslations": false,
      "supportEmail": "user@domain.com"
    }
  }
}

forgeSubmit

Description

Submits data to a Workflow's webform (a Forge). You can use this mutation to start a Workflow with data from your system and submit data to an existing Submission.

See the Workflow API guide for more information on usage scenarios.

Response

Returns a Submission

Arguments
NameDescription
forgeEid - String!
weldDataEid - String
submissionEid - String
payload - JSON!

A { key: value } object where key is the id or field alias of the webform (Forge) field, and value is the data you'd like to send.

Data is additive: you only need to submit data you wish to update.

enforcePayloadValidOnCreate - BooleanDefault = true
currentStep - Int
complete - Boolean
isTest - BooleanDefault = false
timezone - String
webhookURL - String
groupArrayId - String
groupArrayIndex - Int
errorType - String

Example

Query
mutation forgeSubmit(
  $forgeEid: String!,
  $weldDataEid: String,
  $submissionEid: String,
  $payload: JSON!,
  $enforcePayloadValidOnCreate: Boolean,
  $currentStep: Int,
  $complete: Boolean,
  $isTest: Boolean,
  $timezone: String,
  $webhookURL: String,
  $groupArrayId: String,
  $groupArrayIndex: Int,
  $errorType: String
) {
  forgeSubmit(
    forgeEid: $forgeEid,
    weldDataEid: $weldDataEid,
    submissionEid: $submissionEid,
    payload: $payload,
    enforcePayloadValidOnCreate: $enforcePayloadValidOnCreate,
    currentStep: $currentStep,
    complete: $complete,
    isTest: $isTest,
    timezone: $timezone,
    webhookURL: $webhookURL,
    groupArrayId: $groupArrayId,
    groupArrayIndex: $groupArrayIndex,
    errorType: $errorType
  ) {
    id
    eid
    status
    resolvedPayload
    payload
    payloadValue
    currentStep
    totalSteps
    continueURL
    weldData {
      ...WeldDataFragment
    }
    forge {
      ...ForgeFragment
    }
    user {
      ...UserFragment
    }
    signer {
      ...SignerFragment
    }
    reviewData
    completionPercentage
    isExcluded
    touchedByUser
    requestMeta
    createdAt
    updatedAt
    completedAt
  }
}
Variables
{
  "forgeEid": "kQp2qd9FVUWrrE60hMbi",
  "weldDataEid": "kQp2qd9FVUWrrE60hMbi",
  "submissionEid": "kQp2qd9FVUWrrE60hMbi",
  "payload": {},
  "enforcePayloadValidOnCreate": true,
  "currentStep": 987,
  "complete": true,
  "isTest": false,
  "timezone": "America/Los_Angeles",
  "webhookURL": "https://domain.com/page.html",
  "groupArrayId": "abc123",
  "groupArrayIndex": 123,
  "errorType": "xyz789"
}
Response
{
  "data": {
    "forgeSubmit": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "status": "xyz789",
      "resolvedPayload": {},
      "payload": {},
      "payloadValue": {},
      "currentStep": 987,
      "totalSteps": 987,
      "continueURL": "https://domain.com/page.html",
      "weldData": WeldData,
      "forge": Forge,
      "user": User,
      "signer": Signer,
      "reviewData": {},
      "completionPercentage": 987.65,
      "isExcluded": false,
      "touchedByUser": false,
      "requestMeta": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "completedAt": "2007-12-03"
    }
  }
}

generateEmbedURL

Description

Generate a URL for embedding the PDF template editor, the Etch packet builder, or the Workflow builder in your app. Embedding editors is an enterprise feature. Please contact sales@useanvil.com if you are interested in editor embedding.

Response

Returns an GenerateEmbedURLResponse

Arguments
NameDescription
type - String!The type of object you want to create an embedded URL for. Allowed values are edit-etch-packet, edit-pdf-template, edit-weld, submit-webform, edit-workflow
eid - String!The EID of the object you want to give embedded access to.
validUntil - String

An ISO compliant date-time string such as 2025-03-24T18:08:17+00:00 that indicates when the embedded access will be valid until.

Must provide either validUntil or validForSeconds arguments.

validForSeconds - Int

The number of seconds from now that the embedded access will be valid for.

Must provide either validUntil or validForSeconds arguments.

options - JSONOptions to control many parts of a token user's experience. Currently only supported when type is edit-pdf-template.
metadata - JSONAny information that you would like to associate with this embedded URL request
userEid - StringThe EID of a specific tokenized User that you want to use for this access.

Example

Query
mutation generateEmbedURL(
  $type: String!,
  $eid: String!,
  $validUntil: String,
  $validForSeconds: Int,
  $options: JSON,
  $metadata: JSON,
  $userEid: String
) {
  generateEmbedURL(
    type: $type,
    eid: $eid,
    validUntil: $validUntil,
    validForSeconds: $validForSeconds,
    options: $options,
    metadata: $metadata,
    userEid: $userEid
  ) {
    requestTokenEid
    url
  }
}
Variables
{
  "type": "abc123",
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "validUntil": "abc123",
  "validForSeconds": 987,
  "options": {},
  "metadata": {},
  "userEid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "generateEmbedURL": {
      "requestTokenEid": "kQp2qd9FVUWrrE60hMbi",
      "url": "https://domain.com/page.html"
    }
  }
}

generateEtchSignURL

Description

Generate a signing URL for embedded signers. See the e-sign API guide on embedding signers for more info.

Response

Returns a String

Arguments
NameDescription
signerEid - String!
clientUserId - String!Your id for the person signing: a way to trace this signer back to a user in your system.

Example

Query
mutation generateEtchSignURL(
  $signerEid: String!,
  $clientUserId: String!
) {
  generateEtchSignURL(
    signerEid: $signerEid,
    clientUserId: $clientUserId
  )
}
Variables
{
  "signerEid": "kQp2qd9FVUWrrE60hMbi",
  "clientUserId": "abc123"
}
Response
{"data": {"generateEtchSignURL": "abc123"}}

mergeWelds

Response

Returns a Weld

Arguments
NameDescription
weldEids - [String!]
deduplicateWebformFields - Boolean!
name - String!
slug - String!
organizationEid - String!
autoPublish - Boolean
autoPublishTitle - String
autoPublishDescription - String

Example

Query
mutation mergeWelds(
  $weldEids: [String!],
  $deduplicateWebformFields: Boolean!,
  $name: String!,
  $slug: String!,
  $organizationEid: String!,
  $autoPublish: Boolean,
  $autoPublishTitle: String,
  $autoPublishDescription: String
) {
  mergeWelds(
    weldEids: $weldEids,
    deduplicateWebformFields: $deduplicateWebformFields,
    name: $name,
    slug: $slug,
    organizationEid: $organizationEid,
    autoPublish: $autoPublish,
    autoPublishTitle: $autoPublishTitle,
    autoPublishDescription: $autoPublishDescription
  ) {
    publishedSlug
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...WeldVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...WeldVersionPageFragment
    }
    id
    eid
    slug
    name
    title
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    testWeldCompleteWebhookPayload
    testSignerCompleteWebhookPayload
    hasWeldDatas
    weldDataCounts
    draftStep
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
    allowDefaultTranslations
    isTest
    styleConfig
    stylesheetURL
  }
}
Variables
{
  "weldEids": ["xyz789"],
  "deduplicateWebformFields": true,
  "name": "Weld Name",
  "slug": "weld-name",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "autoPublish": false,
  "autoPublishTitle": "xyz789",
  "autoPublishDescription": "xyz789"
}
Response
{
  "data": {
    "mergeWelds": {
      "publishedSlug": "abc123",
      "versionNumber": 987,
      "versionId": 123,
      "latestDraftVersionNumber": 987,
      "versions": WeldVersionPage,
      "isLatestVersion": false,
      "isPublishedVersion": true,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 123,
      "publishedVersionId": 123,
      "hasUnpublishedChanges": false,
      "hasBeenPublished": false,
      "publishedVersions": WeldVersionPage,
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "title": "Weld Title",
      "visibility": "xyz789",
      "config": {},
      "organization": Organization,
      "hasSigners": true,
      "forges": [Forge],
      "casts": [Cast],
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "testWeldCompleteWebhookPayload": {},
      "testSignerCompleteWebhookPayload": {},
      "hasWeldDatas": true,
      "weldDataCounts": {},
      "draftStep": "abc123",
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": [
        "xyz789"
      ],
      "remainingSubmissions": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "allowDefaultTranslations": true,
      "isTest": false,
      "styleConfig": {},
      "stylesheetURL": "https://domain.com/page.html"
    }
  }
}

notifySigner

Description

Notify a signer that it is their turn to sign. You can think of this as a "resend email" action for signers. This mutation will email signers with signerType: 'email' asking them to sign their portion of the signature packet. It will have no effect on signers with signerType: 'embedded' signers, it will error if the signer has already signed, or if it is not yet the signer's turn to sign.

Response

Returns a Signer

Arguments
NameDescription
signerEid - String!

Example

Query
mutation notifySigner($signerEid: String!) {
  notifySigner(signerEid: $signerEid) {
    id
    eid
    aliasId
    status
    provider
    name
    email
    routingOrder
    signActionType
    finishURL
    user {
      ...UserFragment
    }
    submission {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    signerTokens {
      ...SignerTokenFragment
    }
    createdAt
    updatedAt
    completedAt
    clientUserId
    allowDefaultTranslations
    supportEmail
  }
}
Variables
{"signerEid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "notifySigner": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "aliasId": "xyz789",
      "status": "abc123",
      "provider": "abc123",
      "name": "Signer Name",
      "email": "user@domain.com",
      "routingOrder": 123,
      "signActionType": "abc123",
      "finishURL": "https://domain.com/page.html",
      "user": User,
      "submission": Submission,
      "documentGroup": DocumentGroup,
      "signerTokens": [SignerToken],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "completedAt": "2007-12-03",
      "clientUserId": "xyz789",
      "allowDefaultTranslations": false,
      "supportEmail": "user@domain.com"
    }
  }
}

publishCast

Description

Publish a Cast by updating the Cast with all un-published changes.

This is required to have any changes from an updateCast take effect.

Response

Returns a Cast

Arguments
NameDescription
eid - String!The object's eid
versionNumber - IntOptionally specify a specific version to publish. If omitted, the latest draft version will be used.
title - String!A title for this version. This will be displayed in the version history.
description - String

Example

Query
mutation publishCast(
  $eid: String!,
  $versionNumber: Int,
  $title: String!,
  $description: String
) {
  publishCast(
    eid: $eid,
    versionNumber: $versionNumber,
    title: $title,
    description: $description
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...CastVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...CastVersionPageFragment
    }
    id
    eid
    type
    name
    title
    location
    isTemplate
    exampleData
    allowedAliasIds
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "versionNumber": 123,
  "title": "Cast Title",
  "description": "xyz789"
}
Response
{
  "data": {
    "publishCast": {
      "versionNumber": 987,
      "versionId": 987,
      "latestDraftVersionNumber": 987,
      "versions": CastVersionPage,
      "isLatestVersion": true,
      "isPublishedVersion": false,
      "publishedNumber": 987,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 123,
      "publishedVersionId": 987,
      "hasUnpublishedChanges": true,
      "hasBeenPublished": false,
      "publishedVersions": CastVersionPage,
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "abc123",
      "name": "Cast Name",
      "title": "Cast Title",
      "location": "abc123",
      "isTemplate": false,
      "exampleData": {},
      "allowedAliasIds": ["xyz789"],
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "parentCast": Cast,
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03"
    }
  }
}

publishWeld

Description

Publish a Weld by updating the Weld with all un-published changes.

This is required to have any changes from an updateWeld take effect.

Response

Returns a Weld

Arguments
NameDescription
eid - String!The object's eid
versionNumber - IntOptionally specify a specific version to publish. If omitted, the latest draft version will be used.
title - String!A title for this version. This will be displayed in the version history.
description - String
migrateOpenWeldDatas - BooleanA boolean indicating whether you'd like to migrate all open workflow submissions to the new published version, or leave them pegged to the version under which they were created. Default = true

Example

Query
mutation publishWeld(
  $eid: String!,
  $versionNumber: Int,
  $title: String!,
  $description: String,
  $migrateOpenWeldDatas: Boolean
) {
  publishWeld(
    eid: $eid,
    versionNumber: $versionNumber,
    title: $title,
    description: $description,
    migrateOpenWeldDatas: $migrateOpenWeldDatas
  ) {
    publishedSlug
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...WeldVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...WeldVersionPageFragment
    }
    id
    eid
    slug
    name
    title
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    testWeldCompleteWebhookPayload
    testSignerCompleteWebhookPayload
    hasWeldDatas
    weldDataCounts
    draftStep
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
    allowDefaultTranslations
    isTest
    styleConfig
    stylesheetURL
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "versionNumber": 987,
  "title": "Weld Title",
  "description": "abc123",
  "migrateOpenWeldDatas": true
}
Response
{
  "data": {
    "publishWeld": {
      "publishedSlug": "abc123",
      "versionNumber": 987,
      "versionId": 987,
      "latestDraftVersionNumber": 123,
      "versions": WeldVersionPage,
      "isLatestVersion": true,
      "isPublishedVersion": false,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 987,
      "publishedVersionId": 123,
      "hasUnpublishedChanges": false,
      "hasBeenPublished": false,
      "publishedVersions": WeldVersionPage,
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "title": "Weld Title",
      "visibility": "abc123",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "testWeldCompleteWebhookPayload": {},
      "testSignerCompleteWebhookPayload": {},
      "hasWeldDatas": false,
      "weldDataCounts": {},
      "draftStep": "abc123",
      "signatureProviderType": "abc123",
      "availableSignatureProviderTypes": [
        "abc123"
      ],
      "remainingSubmissions": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "allowDefaultTranslations": false,
      "isTest": false,
      "styleConfig": {},
      "stylesheetURL": "https://domain.com/page.html"
    }
  }
}

removeEtchPacket

Response

Returns a Boolean

Arguments
NameDescription
eid - String!

Example

Query
mutation removeEtchPacket($eid: String!) {
  removeEtchPacket(eid: $eid)
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi"}
Response
{"data": {"removeEtchPacket": false}}

removeWebhook

Response

Returns an Organization

Arguments
NameDescription
eid - String!

Example

Query
mutation removeWebhook($eid: String!) {
  removeWebhook(eid: $eid) {
    id
    eid
    name
    logo
    logoURL
    stylesheetURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...UserFragment
    }
    adminUsers {
      ...UserFragment
    }
    organizationUsers {
      ...OrganizationUserFragment
    }
    organizationUserInvites {
      ...OrganizationUserInviteFragment
    }
    isPersonal
    isInternal
    isSubscribed
    useTestSignatureProvider
    config
    createdAt
    updatedAt
    welds {
      ...WeldFragment
    }
    etchTemplates {
      ...EtchTemplateFragment
    }
    etchPackets {
      ...EtchPacketPageFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    forges {
      ...ForgeFragment
    }
    forgeMaps {
      ...ForgeMapFragment
    }
    casts {
      ...CastFragment
    }
    paymentMethods {
      ...PaymentMethodFragment
    }
    webhook {
      ...WebhookFragment
    }
    webhookActions {
      ...WebhookActionFragment
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    relatedOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
    isSso
  }
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "removeWebhook": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://domain.com/page.html",
      "stylesheetURL": "https://domain.com/page.html",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "adminUsers": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": false,
      "isInternal": true,
      "isSubscribed": false,
      "useTestSignatureProvider": false,
      "config": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookActions": [WebhookAction],
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "relatedOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 123,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": [
        "xyz789"
      ],
      "isSso": false
    }
  }
}

removeWebhookAction

Description

Remove a Webhook Action and stop receiving Webhook calls for it.

Response

Returns a Boolean

Arguments
NameDescription
eid - String!The EID of the Webhook Action you want to remove.

Example

Query
mutation removeWebhookAction($eid: String!) {
  removeWebhookAction(eid: $eid)
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi"}
Response
{"data": {"removeWebhookAction": false}}

removeWeldData

Response

Returns a Boolean

Arguments
NameDescription
eid - String!

Example

Query
mutation removeWeldData($eid: String!) {
  removeWeldData(eid: $eid)
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi"}
Response
{"data": {"removeWeldData": true}}

retryWebhookLog

Response

Returns a WebhookLog

Arguments
NameDescription
eid - String!

Example

Query
mutation retryWebhookLog($eid: String!) {
  retryWebhookLog(eid: $eid) {
    id
    eid
    action
    isError
    isRetry
    statusCode
    millisecondsToFinish
    objectEid
    rootObjectType
    rootObjectURL
    objectMetadata
    organization {
      ...OrganizationFragment
    }
    originalWebhookLog {
      ...WebhookLogFragment
    }
    createdAt
  }
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "retryWebhookLog": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "action": "xyz789",
      "isError": true,
      "isRetry": false,
      "statusCode": 987,
      "millisecondsToFinish": 123,
      "objectEid": "kQp2qd9FVUWrrE60hMbi",
      "rootObjectType": "abc123",
      "rootObjectURL": "https://domain.com/page.html",
      "objectMetadata": {},
      "organization": Organization,
      "originalWebhookLog": WebhookLog,
      "createdAt": "2024-09-24T22:51:55.860Z"
    }
  }
}

sendEtchPacket

Description

This will move a draft EtchPacket into sent mode (status == sent). If the first signer is an email signer, this will kick off an email, with a link to sign their portion of the packet.

You can call this mutation after a packet is sent to "resend" signature emails to your email signers. For example, you can send a new email via sendEtchPacket if they lose the email, or if they have an email with an expired token. This mutation will always email the first signer who has not yet signed.

When your signers are set up as embedded signers, they will not be emailed. You must generate signing URLs via the generateEtchSignURL mutation. See our e-signature guide on embedded signers for more info.

Response

Returns an EtchPacket

Arguments
NameDescription
eid - String!

Example

Query
mutation sendEtchPacket($eid: String!) {
  sendEtchPacket(eid: $eid) {
    id
    eid
    name
    status
    isTest
    isFree
    allowUpdates
    containsFillData
    payload
    numberRemainingSigners
    detailsURL
    webhookURL
    organization {
      ...OrganizationFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    etchTemplate {
      ...EtchTemplateFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    createdAt
    updatedAt
    archivedAt
    completedAt
  }
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "sendEtchPacket": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchPacket Name",
      "status": "xyz789",
      "isTest": false,
      "isFree": true,
      "allowUpdates": false,
      "containsFillData": true,
      "payload": {},
      "numberRemainingSigners": 123,
      "detailsURL": "https://domain.com/page.html",
      "webhookURL": "https://domain.com/page.html",
      "organization": Organization,
      "documentGroup": DocumentGroup,
      "etchTemplate": EtchTemplate,
      "userUploads": [UserUpload],
      "etchLogEvents": [EtchLog],
      "webhookLogs": [WebhookLog],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "completedAt": "2007-12-03"
    }
  }
}

skipSigner

Response

Returns a Signer

Arguments
NameDescription
signerEid - String!
clearNameAndEmail - BooleanDefault = true

Example

Query
mutation skipSigner(
  $signerEid: String!,
  $clearNameAndEmail: Boolean
) {
  skipSigner(
    signerEid: $signerEid,
    clearNameAndEmail: $clearNameAndEmail
  ) {
    id
    eid
    aliasId
    status
    provider
    name
    email
    routingOrder
    signActionType
    finishURL
    user {
      ...UserFragment
    }
    submission {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    signerTokens {
      ...SignerTokenFragment
    }
    createdAt
    updatedAt
    completedAt
    clientUserId
    allowDefaultTranslations
    supportEmail
  }
}
Variables
{"signerEid": "kQp2qd9FVUWrrE60hMbi", "clearNameAndEmail": "user@domain.com"}
Response
{
  "data": {
    "skipSigner": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "aliasId": "xyz789",
      "status": "abc123",
      "provider": "abc123",
      "name": "Signer Name",
      "email": "user@domain.com",
      "routingOrder": 123,
      "signActionType": "abc123",
      "finishURL": "https://domain.com/page.html",
      "user": User,
      "submission": Submission,
      "documentGroup": DocumentGroup,
      "signerTokens": [SignerToken],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "completedAt": "2007-12-03",
      "clientUserId": "abc123",
      "allowDefaultTranslations": true,
      "supportEmail": "user@domain.com"
    }
  }
}

updateCast

Description

Update a Cast with new properties. This will create a new CastVersion and:

  1. If this being used as a Template, it will require you to publish the Cast via the publishCast mutation before it will go live.
  2. If the Cast is part of a Workflow, it will require you to publish the Weld via the publishWeld mutation
Response

Returns a Cast

Arguments
NameDescription
eid - String!
name - String
title - String
isTemplate - Boolean
organizationEid - String
config - JSON
configFile - Upload
file - Upload
isArchived - Boolean
versionNumber - IntUsed to ensure that the Cast is still at the version that you believed it is. Helps to prevent performing an update without being aware that an update has already occurred in the meantime.
autoPublish - Boolean
allowedAliasIds - [String]
weldEid - String
feedbackRating - Int
feedbackMessage - String

Example

Query
mutation updateCast(
  $eid: String!,
  $name: String,
  $title: String,
  $isTemplate: Boolean,
  $organizationEid: String,
  $config: JSON,
  $configFile: Upload,
  $file: Upload,
  $isArchived: Boolean,
  $versionNumber: Int,
  $autoPublish: Boolean,
  $allowedAliasIds: [String],
  $weldEid: String,
  $feedbackRating: Int,
  $feedbackMessage: String
) {
  updateCast(
    eid: $eid,
    name: $name,
    title: $title,
    isTemplate: $isTemplate,
    organizationEid: $organizationEid,
    config: $config,
    configFile: $configFile,
    file: $file,
    isArchived: $isArchived,
    versionNumber: $versionNumber,
    autoPublish: $autoPublish,
    allowedAliasIds: $allowedAliasIds,
    weldEid: $weldEid,
    feedbackRating: $feedbackRating,
    feedbackMessage: $feedbackMessage
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...CastVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...CastVersionPageFragment
    }
    id
    eid
    type
    name
    title
    location
    isTemplate
    exampleData
    allowedAliasIds
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Cast Name",
  "title": "Cast Title",
  "isTemplate": false,
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "config": {},
  "configFile": Upload,
  "file": Upload,
  "isArchived": false,
  "versionNumber": 987,
  "autoPublish": false,
  "allowedAliasIds": ["abc123"],
  "weldEid": "kQp2qd9FVUWrrE60hMbi",
  "feedbackRating": 987,
  "feedbackMessage": "abc123"
}
Response
{
  "data": {
    "updateCast": {
      "versionNumber": 123,
      "versionId": 123,
      "latestDraftVersionNumber": 123,
      "versions": CastVersionPage,
      "isLatestVersion": false,
      "isPublishedVersion": false,
      "publishedNumber": 987,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 987,
      "publishedVersionId": 987,
      "hasUnpublishedChanges": false,
      "hasBeenPublished": true,
      "publishedVersions": CastVersionPage,
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "abc123",
      "name": "Cast Name",
      "title": "Cast Title",
      "location": "xyz789",
      "isTemplate": true,
      "exampleData": {},
      "allowedAliasIds": ["xyz789"],
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "parentCast": Cast,
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03"
    }
  }
}

updateEtchFree

Response

Returns an EtchTemplate

Arguments
NameDescription
etchTemplateEid - String!
token - String!
isEditing - Boolean
name - String
ownerName - String
ownerEmail - String
signers - JSON
fields - [JSON]
castFields - [JSON]

Example

Query
mutation updateEtchFree(
  $etchTemplateEid: String!,
  $token: String!,
  $isEditing: Boolean,
  $name: String,
  $ownerName: String,
  $ownerEmail: String,
  $signers: JSON,
  $fields: [JSON],
  $castFields: [JSON]
) {
  updateEtchFree(
    etchTemplateEid: $etchTemplateEid,
    token: $token,
    isEditing: $isEditing,
    name: $name,
    ownerName: $ownerName,
    ownerEmail: $ownerEmail,
    signers: $signers,
    fields: $fields,
    castFields: $castFields
  ) {
    id
    eid
    name
    isFree
    isRepeatable
    config
    organization {
      ...OrganizationFragment
    }
    casts {
      ...CastFragment
    }
    etchPackets {
      ...EtchPacketFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    createdAt
    updatedAt
  }
}
Variables
{
  "etchTemplateEid": "kQp2qd9FVUWrrE60hMbi",
  "token": "abc123",
  "isEditing": false,
  "name": "EtchTemplate Name",
  "ownerName": "xyz789",
  "ownerEmail": "user@domain.com",
  "signers": {},
  "fields": [{}],
  "castFields": [{}]
}
Response
{
  "data": {
    "updateEtchFree": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchTemplate Name",
      "isFree": false,
      "isRepeatable": false,
      "config": {},
      "organization": Organization,
      "casts": [Cast],
      "etchPackets": [EtchPacket],
      "userUploads": [UserUpload],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z"
    }
  }
}

updateEtchPacket

Response

Returns an EtchPacket

Arguments
NameDescription
eid - String!
token - String
isArchived - Boolean
name - String
webhookURL - String
payload - JSON
mergePayloads - BooleanIf true we treat the provided payload as a partial update to be merged with the previous payload. Any values in the payload that are set to null will be removed from the resulting merged payload. Default = false
updateDocumentGroup - BooleanIf true, a payload change will trigger an update of the Document Group. Default = true
waitForDocumentGroupUpdate - BooleanIf true and this update triggers an update of the Document Group, the mutation will wait for that update to complete before resolving. Default = true

Example

Query
mutation updateEtchPacket(
  $eid: String!,
  $token: String,
  $isArchived: Boolean,
  $name: String,
  $webhookURL: String,
  $payload: JSON,
  $mergePayloads: Boolean,
  $updateDocumentGroup: Boolean,
  $waitForDocumentGroupUpdate: Boolean
) {
  updateEtchPacket(
    eid: $eid,
    token: $token,
    isArchived: $isArchived,
    name: $name,
    webhookURL: $webhookURL,
    payload: $payload,
    mergePayloads: $mergePayloads,
    updateDocumentGroup: $updateDocumentGroup,
    waitForDocumentGroupUpdate: $waitForDocumentGroupUpdate
  ) {
    id
    eid
    name
    status
    isTest
    isFree
    allowUpdates
    containsFillData
    payload
    numberRemainingSigners
    detailsURL
    webhookURL
    organization {
      ...OrganizationFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    etchTemplate {
      ...EtchTemplateFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    createdAt
    updatedAt
    archivedAt
    completedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "token": "abc123",
  "isArchived": false,
  "name": "EtchPacket Name",
  "webhookURL": "https://domain.com/page.html",
  "payload": {},
  "mergePayloads": false,
  "updateDocumentGroup": true,
  "waitForDocumentGroupUpdate": true
}
Response
{
  "data": {
    "updateEtchPacket": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchPacket Name",
      "status": "abc123",
      "isTest": true,
      "isFree": true,
      "allowUpdates": true,
      "containsFillData": false,
      "payload": {},
      "numberRemainingSigners": 987,
      "detailsURL": "https://domain.com/page.html",
      "webhookURL": "https://domain.com/page.html",
      "organization": Organization,
      "documentGroup": DocumentGroup,
      "etchTemplate": EtchTemplate,
      "userUploads": [UserUpload],
      "etchLogEvents": [EtchLog],
      "webhookLogs": [WebhookLog],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "completedAt": "2007-12-03"
    }
  }
}

updateEtchTemplate

Response

Returns an EtchTemplate

Arguments
NameDescription
eid - String!
isRepeatable - Boolean
name - String
config - JSON

Example

Query
mutation updateEtchTemplate(
  $eid: String!,
  $isRepeatable: Boolean,
  $name: String,
  $config: JSON
) {
  updateEtchTemplate(
    eid: $eid,
    isRepeatable: $isRepeatable,
    name: $name,
    config: $config
  ) {
    id
    eid
    name
    isFree
    isRepeatable
    config
    organization {
      ...OrganizationFragment
    }
    casts {
      ...CastFragment
    }
    etchPackets {
      ...EtchPacketFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    createdAt
    updatedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "isRepeatable": true,
  "name": "EtchTemplate Name",
  "config": {}
}
Response
{
  "data": {
    "updateEtchTemplate": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchTemplate Name",
      "isFree": false,
      "isRepeatable": true,
      "config": {},
      "organization": Organization,
      "casts": [Cast],
      "etchPackets": [EtchPacket],
      "userUploads": [UserUpload],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z"
    }
  }
}

updateForge

Description

Update a Forge with new properties. This will create a new ForgeVersion and will require you to publish the Weld via the publishWeld mutation before it will go live.

Response

Returns a Forge

Arguments
NameDescription
eid - String!
name - String
slug - String
config - JSON
configFile - Upload
isArchived - Boolean
isRequired - Boolean
title - String
organizationRole - String
unauthenticatedAuthType - String
versionNumber - IntUsed to ensure that the Forge is still at the version that you believed it is. Helps to prevent performing an update without being aware that an update has already occurred in the meantime.

Example

Query
mutation updateForge(
  $eid: String!,
  $name: String,
  $slug: String,
  $config: JSON,
  $configFile: Upload,
  $isArchived: Boolean,
  $isRequired: Boolean,
  $title: String,
  $organizationRole: String,
  $unauthenticatedAuthType: String,
  $versionNumber: Int
) {
  updateForge(
    eid: $eid,
    name: $name,
    slug: $slug,
    config: $config,
    configFile: $configFile,
    isArchived: $isArchived,
    isRequired: $isRequired,
    title: $title,
    organizationRole: $organizationRole,
    unauthenticatedAuthType: $unauthenticatedAuthType,
    versionNumber: $versionNumber
  ) {
    publishedSlug
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...ForgeVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...ForgeVersionPageFragment
    }
    id
    eid
    name
    slug
    isRequired
    config
    fieldInfo
    weld {
      ...WeldFragment
    }
    organization {
      ...OrganizationFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    createdAt
    updatedAt
    archivedAt
    examplePayload
    testForgeCompleteWebhookPayload
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Forge Name",
  "slug": "forge-name",
  "config": {},
  "configFile": Upload,
  "isArchived": true,
  "isRequired": false,
  "title": "Forge Title",
  "organizationRole": "xyz789",
  "unauthenticatedAuthType": "xyz789",
  "versionNumber": 987
}
Response
{
  "data": {
    "updateForge": {
      "publishedSlug": "xyz789",
      "versionNumber": 123,
      "versionId": 123,
      "latestDraftVersionNumber": 987,
      "versions": ForgeVersionPage,
      "isLatestVersion": true,
      "isPublishedVersion": false,
      "publishedNumber": 987,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 123,
      "publishedVersionId": 987,
      "hasUnpublishedChanges": false,
      "hasBeenPublished": false,
      "publishedVersions": ForgeVersionPage,
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Forge Name",
      "slug": "forge-name",
      "isRequired": false,
      "config": {},
      "fieldInfo": {},
      "weld": Weld,
      "organization": Organization,
      "userUploads": [UserUpload],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "examplePayload": {},
      "testForgeCompleteWebhookPayload": {}
    }
  }
}

updateOrganization

Response

Returns an Organization

Arguments
NameDescription
organizationSlug - String!
name - String
logo - Upload
billingEmail - String
supportEmail - String
slug - String
defaultSourceId - String
signatureProvider - String
config - JSON
usePDFFillingAPI - Boolean
weldCompleteEmailRecipients - JSON
signerViewEmailRecipients - JSON
signerCompleteEmailRecipients - JSON
etchCompleteEmailRecipients - JSON
weldCompleteEmailEnableForTest - Boolean
stylesheetURL - String
signerOptions - JSON
isInternal - Boolean
trialExpiresIn - Int
stripeCustomerId - String
ssoId - String
useTestSignatureProvider - Boolean
isInvoiceOrg - Boolean
invoiceDaysUntilDue - Int

Example

Query
mutation updateOrganization(
  $organizationSlug: String!,
  $name: String,
  $logo: Upload,
  $billingEmail: String,
  $supportEmail: String,
  $slug: String,
  $defaultSourceId: String,
  $signatureProvider: String,
  $config: JSON,
  $usePDFFillingAPI: Boolean,
  $weldCompleteEmailRecipients: JSON,
  $signerViewEmailRecipients: JSON,
  $signerCompleteEmailRecipients: JSON,
  $etchCompleteEmailRecipients: JSON,
  $weldCompleteEmailEnableForTest: Boolean,
  $stylesheetURL: String,
  $signerOptions: JSON,
  $isInternal: Boolean,
  $trialExpiresIn: Int,
  $stripeCustomerId: String,
  $ssoId: String,
  $useTestSignatureProvider: Boolean,
  $isInvoiceOrg: Boolean,
  $invoiceDaysUntilDue: Int
) {
  updateOrganization(
    organizationSlug: $organizationSlug,
    name: $name,
    logo: $logo,
    billingEmail: $billingEmail,
    supportEmail: $supportEmail,
    slug: $slug,
    defaultSourceId: $defaultSourceId,
    signatureProvider: $signatureProvider,
    config: $config,
    usePDFFillingAPI: $usePDFFillingAPI,
    weldCompleteEmailRecipients: $weldCompleteEmailRecipients,
    signerViewEmailRecipients: $signerViewEmailRecipients,
    signerCompleteEmailRecipients: $signerCompleteEmailRecipients,
    etchCompleteEmailRecipients: $etchCompleteEmailRecipients,
    weldCompleteEmailEnableForTest: $weldCompleteEmailEnableForTest,
    stylesheetURL: $stylesheetURL,
    signerOptions: $signerOptions,
    isInternal: $isInternal,
    trialExpiresIn: $trialExpiresIn,
    stripeCustomerId: $stripeCustomerId,
    ssoId: $ssoId,
    useTestSignatureProvider: $useTestSignatureProvider,
    isInvoiceOrg: $isInvoiceOrg,
    invoiceDaysUntilDue: $invoiceDaysUntilDue
  ) {
    id
    eid
    name
    logo
    logoURL
    stylesheetURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...UserFragment
    }
    adminUsers {
      ...UserFragment
    }
    organizationUsers {
      ...OrganizationUserFragment
    }
    organizationUserInvites {
      ...OrganizationUserInviteFragment
    }
    isPersonal
    isInternal
    isSubscribed
    useTestSignatureProvider
    config
    createdAt
    updatedAt
    welds {
      ...WeldFragment
    }
    etchTemplates {
      ...EtchTemplateFragment
    }
    etchPackets {
      ...EtchPacketPageFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    forges {
      ...ForgeFragment
    }
    forgeMaps {
      ...ForgeMapFragment
    }
    casts {
      ...CastFragment
    }
    paymentMethods {
      ...PaymentMethodFragment
    }
    webhook {
      ...WebhookFragment
    }
    webhookActions {
      ...WebhookActionFragment
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    relatedOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
    isSso
  }
}
Variables
{
  "organizationSlug": "organization-slug",
  "name": "Organization Name",
  "logo": Upload,
  "billingEmail": "user@domain.com",
  "supportEmail": "user@domain.com",
  "slug": "organization-name",
  "defaultSourceId": "abc123",
  "signatureProvider": "abc123",
  "config": {},
  "usePDFFillingAPI": false,
  "weldCompleteEmailRecipients": {},
  "signerViewEmailRecipients": {},
  "signerCompleteEmailRecipients": {},
  "etchCompleteEmailRecipients": {},
  "weldCompleteEmailEnableForTest": true,
  "stylesheetURL": "https://domain.com/page.html",
  "signerOptions": {},
  "isInternal": false,
  "trialExpiresIn": 123,
  "stripeCustomerId": "xyz789",
  "ssoId": "abc123",
  "useTestSignatureProvider": true,
  "isInvoiceOrg": false,
  "invoiceDaysUntilDue": 987
}
Response
{
  "data": {
    "updateOrganization": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://domain.com/page.html",
      "stylesheetURL": "https://domain.com/page.html",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "adminUsers": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": false,
      "isInternal": false,
      "isSubscribed": false,
      "useTestSignatureProvider": true,
      "config": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookActions": [WebhookAction],
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "relatedOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 123,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": [
        "xyz789"
      ],
      "isSso": false
    }
  }
}

updateOrganizationUser

Response

Returns an Organization

Arguments
NameDescription
role - String!
externalId - String
organizationEid - String!
userEid - String!

Example

Query
mutation updateOrganizationUser(
  $role: String!,
  $externalId: String,
  $organizationEid: String!,
  $userEid: String!
) {
  updateOrganizationUser(
    role: $role,
    externalId: $externalId,
    organizationEid: $organizationEid,
    userEid: $userEid
  ) {
    id
    eid
    name
    logo
    logoURL
    stylesheetURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...UserFragment
    }
    adminUsers {
      ...UserFragment
    }
    organizationUsers {
      ...OrganizationUserFragment
    }
    organizationUserInvites {
      ...OrganizationUserInviteFragment
    }
    isPersonal
    isInternal
    isSubscribed
    useTestSignatureProvider
    config
    createdAt
    updatedAt
    welds {
      ...WeldFragment
    }
    etchTemplates {
      ...EtchTemplateFragment
    }
    etchPackets {
      ...EtchPacketPageFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    forges {
      ...ForgeFragment
    }
    forgeMaps {
      ...ForgeMapFragment
    }
    casts {
      ...CastFragment
    }
    paymentMethods {
      ...PaymentMethodFragment
    }
    webhook {
      ...WebhookFragment
    }
    webhookActions {
      ...WebhookActionFragment
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    relatedOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
    isSso
  }
}
Variables
{
  "role": "abc123",
  "externalId": "xyz789",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "userEid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "updateOrganizationUser": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://domain.com/page.html",
      "stylesheetURL": "https://domain.com/page.html",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "adminUsers": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": true,
      "isInternal": true,
      "isSubscribed": false,
      "useTestSignatureProvider": true,
      "config": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookActions": [WebhookAction],
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "relatedOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 987,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "abc123",
      "availableSignatureProviderTypes": [
        "xyz789"
      ],
      "isSso": true
    }
  }
}

updateSigner

Description

Update a Signer's name and email address. A signer's name and email can be updated as long as the signer has not completed signing or been skipped.

Name and email for a signer can be updated after a previous signer has already signed. Documents will be updated with the new signer information. Only name and email fields that have been attached to a signer will be updated. An invisible signature will be added to each updated document indicating what changed and who changed it.

This mutation can be used on signers in EtchPackets and in Workflows (attached to WeldData objects).

Response

Returns a Signer

Arguments
NameDescription
eid - String!The eid of the Signer to update.
name - StringThe signer's new name.
email - StringThe signer's new email address.
aliasId - StringOptionally provide a new or update an existing user-specified id for the Signer. This is specified as id in the createEtchPacket mutation. Note: This will only be updated if the name and/or the email are also changed.
activateIfPending - BooleanIf this is an Etch signer and they were created as pending, set this to true to activate them. Default = false

Example

Query
mutation updateSigner(
  $eid: String!,
  $name: String,
  $email: String,
  $aliasId: String,
  $activateIfPending: Boolean
) {
  updateSigner(
    eid: $eid,
    name: $name,
    email: $email,
    aliasId: $aliasId,
    activateIfPending: $activateIfPending
  ) {
    id
    eid
    aliasId
    status
    provider
    name
    email
    routingOrder
    signActionType
    finishURL
    user {
      ...UserFragment
    }
    submission {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    signerTokens {
      ...SignerTokenFragment
    }
    createdAt
    updatedAt
    completedAt
    clientUserId
    allowDefaultTranslations
    supportEmail
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Signer Name",
  "email": "user@domain.com",
  "aliasId": "xyz789",
  "activateIfPending": false
}
Response
{
  "data": {
    "updateSigner": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "aliasId": "abc123",
      "status": "abc123",
      "provider": "xyz789",
      "name": "Signer Name",
      "email": "user@domain.com",
      "routingOrder": 123,
      "signActionType": "abc123",
      "finishURL": "https://domain.com/page.html",
      "user": User,
      "submission": Submission,
      "documentGroup": DocumentGroup,
      "signerTokens": [SignerToken],
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "completedAt": "2007-12-03",
      "clientUserId": "abc123",
      "allowDefaultTranslations": false,
      "supportEmail": "user@domain.com"
    }
  }
}

updateSubmission

Response

Returns a Submission

Arguments
NameDescription
eid - String!
isExcluded - Boolean

Example

Query
mutation updateSubmission(
  $eid: String!,
  $isExcluded: Boolean
) {
  updateSubmission(
    eid: $eid,
    isExcluded: $isExcluded
  ) {
    id
    eid
    status
    resolvedPayload
    payload
    payloadValue
    currentStep
    totalSteps
    continueURL
    weldData {
      ...WeldDataFragment
    }
    forge {
      ...ForgeFragment
    }
    user {
      ...UserFragment
    }
    signer {
      ...SignerFragment
    }
    reviewData
    completionPercentage
    isExcluded
    touchedByUser
    requestMeta
    createdAt
    updatedAt
    completedAt
  }
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi", "isExcluded": false}
Response
{
  "data": {
    "updateSubmission": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "status": "abc123",
      "resolvedPayload": {},
      "payload": {},
      "payloadValue": {},
      "currentStep": 987,
      "totalSteps": 123,
      "continueURL": "https://domain.com/page.html",
      "weldData": WeldData,
      "forge": Forge,
      "user": User,
      "signer": Signer,
      "reviewData": {},
      "completionPercentage": 123.45,
      "isExcluded": false,
      "touchedByUser": false,
      "requestMeta": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "completedAt": "2007-12-03"
    }
  }
}

updateWebhook

Response

Returns an Organization

Arguments
NameDescription
eid - String!
url - String

Example

Query
mutation updateWebhook(
  $eid: String!,
  $url: String
) {
  updateWebhook(
    eid: $eid,
    url: $url
  ) {
    id
    eid
    name
    logo
    logoURL
    stylesheetURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...UserFragment
    }
    adminUsers {
      ...UserFragment
    }
    organizationUsers {
      ...OrganizationUserFragment
    }
    organizationUserInvites {
      ...OrganizationUserInviteFragment
    }
    isPersonal
    isInternal
    isSubscribed
    useTestSignatureProvider
    config
    createdAt
    updatedAt
    welds {
      ...WeldFragment
    }
    etchTemplates {
      ...EtchTemplateFragment
    }
    etchPackets {
      ...EtchPacketPageFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    forges {
      ...ForgeFragment
    }
    forgeMaps {
      ...ForgeMapFragment
    }
    casts {
      ...CastFragment
    }
    paymentMethods {
      ...PaymentMethodFragment
    }
    webhook {
      ...WebhookFragment
    }
    webhookActions {
      ...WebhookActionFragment
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    relatedOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
    isSso
  }
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi", "url": "https://domain.com/page.html"}
Response
{
  "data": {
    "updateWebhook": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://domain.com/page.html",
      "stylesheetURL": "https://domain.com/page.html",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "adminUsers": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": true,
      "isInternal": false,
      "isSubscribed": false,
      "useTestSignatureProvider": true,
      "config": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookActions": [WebhookAction],
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "relatedOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 123,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "abc123",
      "availableSignatureProviderTypes": [
        "abc123"
      ],
      "isSso": true
    }
  }
}

updateWeld

Description

Update a Weld with new properties. This will create a new WeldVersion and will require you to publish the Weld via the publishWeld mutation before it will go live.

Response

Returns a Weld

Arguments
NameDescription
eid - String!
name - String
slug - String
organizationEid - String
visibility - String
config - JSON
configFile - Upload
isArchived - Boolean
expiresAt - String
draftStep - String
entryForgeId - Int
entryButtonText - String
entryButtonCopyLink - Boolean
signatureEmailSubject - JSON
signatureEmailBody - JSON
dataDisplayTitle - JSON
signatureMode - String
signatureProvider - String
lockedTitleNew - String
lockedDescriptionNew - String
lockedTitleExisting - String
lockedDescriptionExisting - String
expireAfterDaysComplete - Int
expireAfterDaysStart - Int
planEid - String
steps - JSON
signatureStepsMode - String
versionNumber - IntUsed to ensure that the Weld is still at the version that you believed it is. Helps to prevent performing an update without being aware that an update has already occurred in the meantime.
weldCompleteEmailRecipients - JSON
weldCompleteEmailEnableForTest - Boolean
mergePDFs - Boolean
autoPublish - Boolean
autoPublishTitle - String
autoPublishDescription - String

Example

Query
mutation updateWeld(
  $eid: String!,
  $name: String,
  $slug: String,
  $organizationEid: String,
  $visibility: String,
  $config: JSON,
  $configFile: Upload,
  $isArchived: Boolean,
  $expiresAt: String,
  $draftStep: String,
  $entryForgeId: Int,
  $entryButtonText: String,
  $entryButtonCopyLink: Boolean,
  $signatureEmailSubject: JSON,
  $signatureEmailBody: JSON,
  $dataDisplayTitle: JSON,
  $signatureMode: String,
  $signatureProvider: String,
  $lockedTitleNew: String,
  $lockedDescriptionNew: String,
  $lockedTitleExisting: String,
  $lockedDescriptionExisting: String,
  $expireAfterDaysComplete: Int,
  $expireAfterDaysStart: Int,
  $planEid: String,
  $steps: JSON,
  $signatureStepsMode: String,
  $versionNumber: Int,
  $weldCompleteEmailRecipients: JSON,
  $weldCompleteEmailEnableForTest: Boolean,
  $mergePDFs: Boolean,
  $autoPublish: Boolean,
  $autoPublishTitle: String,
  $autoPublishDescription: String
) {
  updateWeld(
    eid: $eid,
    name: $name,
    slug: $slug,
    organizationEid: $organizationEid,
    visibility: $visibility,
    config: $config,
    configFile: $configFile,
    isArchived: $isArchived,
    expiresAt: $expiresAt,
    draftStep: $draftStep,
    entryForgeId: $entryForgeId,
    entryButtonText: $entryButtonText,
    entryButtonCopyLink: $entryButtonCopyLink,
    signatureEmailSubject: $signatureEmailSubject,
    signatureEmailBody: $signatureEmailBody,
    dataDisplayTitle: $dataDisplayTitle,
    signatureMode: $signatureMode,
    signatureProvider: $signatureProvider,
    lockedTitleNew: $lockedTitleNew,
    lockedDescriptionNew: $lockedDescriptionNew,
    lockedTitleExisting: $lockedTitleExisting,
    lockedDescriptionExisting: $lockedDescriptionExisting,
    expireAfterDaysComplete: $expireAfterDaysComplete,
    expireAfterDaysStart: $expireAfterDaysStart,
    planEid: $planEid,
    steps: $steps,
    signatureStepsMode: $signatureStepsMode,
    versionNumber: $versionNumber,
    weldCompleteEmailRecipients: $weldCompleteEmailRecipients,
    weldCompleteEmailEnableForTest: $weldCompleteEmailEnableForTest,
    mergePDFs: $mergePDFs,
    autoPublish: $autoPublish,
    autoPublishTitle: $autoPublishTitle,
    autoPublishDescription: $autoPublishDescription
  ) {
    publishedSlug
    versionNumber
    versionId
    latestDraftVersionNumber
    versions {
      ...WeldVersionPageFragment
    }
    isLatestVersion
    isPublishedVersion
    publishedNumber
    publishedAt
    publishedVersionNumber
    publishedVersionId
    hasUnpublishedChanges
    hasBeenPublished
    publishedVersions {
      ...WeldVersionPageFragment
    }
    id
    eid
    slug
    name
    title
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    testWeldCompleteWebhookPayload
    testSignerCompleteWebhookPayload
    hasWeldDatas
    weldDataCounts
    draftStep
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
    allowDefaultTranslations
    isTest
    styleConfig
    stylesheetURL
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Weld Name",
  "slug": "weld-name",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "visibility": "xyz789",
  "config": {},
  "configFile": Upload,
  "isArchived": false,
  "expiresAt": "xyz789",
  "draftStep": "xyz789",
  "entryForgeId": 123,
  "entryButtonText": "abc123",
  "entryButtonCopyLink": false,
  "signatureEmailSubject": {},
  "signatureEmailBody": {},
  "dataDisplayTitle": {},
  "signatureMode": "abc123",
  "signatureProvider": "xyz789",
  "lockedTitleNew": "xyz789",
  "lockedDescriptionNew": "xyz789",
  "lockedTitleExisting": "xyz789",
  "lockedDescriptionExisting": "abc123",
  "expireAfterDaysComplete": 987,
  "expireAfterDaysStart": 123,
  "planEid": "kQp2qd9FVUWrrE60hMbi",
  "steps": {},
  "signatureStepsMode": "abc123",
  "versionNumber": 987,
  "weldCompleteEmailRecipients": {},
  "weldCompleteEmailEnableForTest": true,
  "mergePDFs": true,
  "autoPublish": true,
  "autoPublishTitle": "abc123",
  "autoPublishDescription": "xyz789"
}
Response
{
  "data": {
    "updateWeld": {
      "publishedSlug": "abc123",
      "versionNumber": 987,
      "versionId": 123,
      "latestDraftVersionNumber": 987,
      "versions": WeldVersionPage,
      "isLatestVersion": true,
      "isPublishedVersion": true,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "publishedVersionNumber": 123,
      "publishedVersionId": 123,
      "hasUnpublishedChanges": false,
      "hasBeenPublished": false,
      "publishedVersions": WeldVersionPage,
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "title": "Weld Title",
      "visibility": "abc123",
      "config": {},
      "organization": Organization,
      "hasSigners": true,
      "forges": [Forge],
      "casts": [Cast],
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "testWeldCompleteWebhookPayload": {},
      "testSignerCompleteWebhookPayload": {},
      "hasWeldDatas": false,
      "weldDataCounts": {},
      "draftStep": "xyz789",
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": [
        "xyz789"
      ],
      "remainingSubmissions": {},
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "archivedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "allowDefaultTranslations": true,
      "isTest": true,
      "styleConfig": {},
      "stylesheetURL": "https://domain.com/page.html"
    }
  }
}

updateWeldData

Response

Returns a WeldData

Arguments
NameDescription
eid - String!
isTest - Boolean
isArchived - Boolean
isExpired - Boolean
pin - String
webhookURL - String

Example

Query
mutation updateWeldData(
  $eid: String!,
  $isTest: Boolean,
  $isArchived: Boolean,
  $isExpired: Boolean,
  $pin: String,
  $webhookURL: String
) {
  updateWeldData(
    eid: $eid,
    isTest: $isTest,
    isArchived: $isArchived,
    isExpired: $isExpired,
    pin: $pin,
    webhookURL: $webhookURL
  ) {
    id
    eid
    displayTitle
    status
    isTest
    isExpired
    isComplete
    isAllComplete
    continueURL
    webhookURL
    completionPercentage
    numberRemainingSigners
    payloadCanBeUpdated
    hasSigners
    nextSigner {
      ...SignerFragment
    }
    nextSigners {
      ...SignerFragment
    }
    hasPin
    pin
    agents
    files
    excludedFiles
    weld {
      ...WeldFragment
    }
    weldVersionId
    submissions {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    weldDataLogEvents {
      ...WeldDataLogFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    forgesRequiringCompletion {
      ...ForgeFragment
    }
    weldDataGroup {
      ...WeldDataGroupFragment
    }
    createdAt
    updatedAt
    dataUpdatedAt
    expiresAt
    archivedAt
    currentStepInfo
    stylesheetURL
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "isTest": false,
  "isArchived": true,
  "isExpired": false,
  "pin": "9876",
  "webhookURL": "https://domain.com/page.html"
}
Response
{
  "data": {
    "updateWeldData": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "displayTitle": "xyz789",
      "status": "abc123",
      "isTest": true,
      "isExpired": true,
      "isComplete": false,
      "isAllComplete": false,
      "continueURL": "https://domain.com/page.html",
      "webhookURL": "https://domain.com/page.html",
      "completionPercentage": 987.65,
      "numberRemainingSigners": 123,
      "payloadCanBeUpdated": false,
      "hasSigners": false,
      "nextSigner": Signer,
      "nextSigners": [Signer],
      "hasPin": false,
      "pin": "9876",
      "agents": {},
      "files": [{}],
      "excludedFiles": [{}],
      "weld": Weld,
      "weldVersionId": 123,
      "submissions": [Submission],
      "documentGroup": DocumentGroup,
      "webhookLogs": [WebhookLog],
      "etchLogEvents": [EtchLog],
      "weldDataLogEvents": [WeldDataLog],
      "userUploads": [UserUpload],
      "forgesRequiringCompletion": [Forge],
      "weldDataGroup": WeldDataGroup,
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "dataUpdatedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "archivedAt": "2007-12-03",
      "currentStepInfo": {},
      "stylesheetURL": "https://domain.com/page.html"
    }
  }
}

voidDocumentGroup

Response

Returns a DocumentGroup

Arguments
NameDescription
weldDataEid - String
eid - StringThe DocumentGroup's eid
voidedReason - String!

Example

Query
mutation voidDocumentGroup(
  $weldDataEid: String,
  $eid: String,
  $voidedReason: String!
) {
  voidDocumentGroup(
    weldDataEid: $weldDataEid,
    eid: $eid,
    voidedReason: $voidedReason
  ) {
    id
    eid
    status
    provider
    currentRoutingStep
    files
    weldData {
      ...WeldDataFragment
    }
    etchPacket {
      ...EtchPacketFragment
    }
    signers {
      ...SignerFragment
    }
    providerConfig
    finishPageConfig
    signaturePageConfig
    downloadZipURL
    createdAt
    updatedAt
    completedAt
    stylesheetURL
    orgLogo
  }
}
Variables
{
  "weldDataEid": "kQp2qd9FVUWrrE60hMbi",
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "voidedReason": "abc123"
}
Response
{
  "data": {
    "voidDocumentGroup": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "status": "xyz789",
      "provider": "abc123",
      "currentRoutingStep": 987,
      "files": [{}],
      "weldData": WeldData,
      "etchPacket": EtchPacket,
      "signers": [Signer],
      "providerConfig": {},
      "finishPageConfig": {},
      "signaturePageConfig": {},
      "downloadZipURL": "https://domain.com/page.html",
      "createdAt": "2024-09-24T22:51:55.860Z",
      "updatedAt": "2024-09-24T22:51:55.860Z",
      "completedAt": "2007-12-03",
      "stylesheetURL": "https://domain.com/page.html",
      "orgLogo": {}
    }
  }
}

Types

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

Cast

Description

A Cast holds configuration for a single PDF template. It defines the location of boxes on PDF pages, and the type of each box (e.g. date, phone number, etc.).

Cast objects are used by several API features:

Fields
Field NameDescription
versionNumber - IntCurrent version number of this Cast
versionId - Int
latestDraftVersionNumber - Int
versions - CastVersionPage
Arguments
limit - Int

The requested number of rows per page

offset - Int

The requested page number

isLatestVersion - Boolean
isPublishedVersion - Boolean
publishedNumber - IntCurrent published version number of this Cast
publishedAt - Date
publishedVersionNumber - Int
publishedVersionId - Int
hasUnpublishedChanges - Boolean
hasBeenPublished - Boolean
publishedVersions - CastVersionPage
Arguments
limit - Int

The requested number of rows per page

offset - Int

The requested page number

id - Int!
eid - StringThe eid is the Cast's object identifier. It is also the PDF template ID.
type - StringThe file's mimetype. e.g. application/pdf
name - StringThe file name
title - StringThe title shown in the UI
location - StringThe internal location of this file in cloud storage
isTemplate - Booleantrue when this Cast was created as a template. Template casts show up in the PDF Templates page on your dashboard.
exampleData - JSONExample data payload to fill this PDF. Shown on the "API Info" tab for this template
allowedAliasIds - [String]Allowed Cast field alias IDs
fieldInfo - JSONA digestable array of objects with all the details about all fields in this PDF, sorted by page, top to bottom, left to right. Shown on the "API Info" tab for this template
config - JSON
Arguments
onlyKeys - [String]

Only retrieve the specific keys provided.

organization - Organization
parentCast - CastIf this Cast was originally copied from another Cast, this will be the original Cast.
createdAt - Date
updatedAt - Date
archivedAt - Date
Example
{
  "versionNumber": 123,
  "versionId": 123,
  "latestDraftVersionNumber": 987,
  "versions": CastVersionPage,
  "isLatestVersion": true,
  "isPublishedVersion": false,
  "publishedNumber": 123,
  "publishedAt": "2007-12-03",
  "publishedVersionNumber": 987,
  "publishedVersionId": 123,
  "hasUnpublishedChanges": false,
  "hasBeenPublished": true,
  "publishedVersions": CastVersionPage,
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "type": "abc123",
  "name": "Cast Name",
  "title": "Cast Title",
  "location": "xyz789",
  "isTemplate": true,
  "exampleData": {},
  "allowedAliasIds": ["abc123"],
  "fieldInfo": {},
  "config": {},
  "organization": Organization,
  "parentCast": Cast,
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "archivedAt": "2007-12-03"
}

CastVersion

Fields
Field NameDescription
updatedColumns - [String]
name - String
type - String
title - String
location - String
config - JSON
id - Int!
eid - String!The eid is the object identifier.
number - Int
createdAt - Date
updatedAt - Date
user - User
publishedNumber - Int
publishedTitle - String
publishedDescription - String
publishedAt - Date
publishUpdatedAt - Date
publishingUser - User
Example
{
  "updatedColumns": ["abc123"],
  "name": "CastVersion Name",
  "type": "xyz789",
  "title": "CastVersion Title",
  "location": "abc123",
  "config": {},
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "number": 123,
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "user": User,
  "publishedNumber": 987,
  "publishedTitle": "xyz789",
  "publishedDescription": "abc123",
  "publishedAt": "2007-12-03",
  "publishUpdatedAt": "2007-12-03",
  "publishingUser": User
}

CastVersionPage

Fields
Field NameDescription
rowCount - IntTotal number of rows found for the query before pagination
pageCount - IntTotal number of pages of results
page - IntThe requested page number
pageSize - IntThe requested number of rows per page
items - [CastVersion]The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [CastVersion]
}

Date

Description

Datetime value represented in ISO8601.

Example
"2007-12-03"

DocumentGroup

Description

A collection of all the final files generated with data from a WeldData or EtchPacket. When your users download a zip file of PDFs, that final collection of filled, generated, uploaded, and signed files is specified by the DocumentGroup. A DocumentGroup will be connected to either a WeldData or a EtchPacket, never both. A DocumentGroup will only exist on these objects if it has been sent out for signature.

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
status - StringPossible values: sent, delivered, partial, declined, voided, completed
provider - StringPossible values: etch or docusign
currentRoutingStep - Int
files - [JSON]A file listing of all files in the DocumentGroup
weldData - WeldDataThe parent WeldData. This will only exist for DocumentGroups created by a Workflow.
etchPacket - EtchPacketThe parent EtchPacket. This will only exist for DocumentGroups created as part of an Etch signature packet.
signers - [Signer]
providerConfig - JSON
finishPageConfig - JSON
signaturePageConfig - JSON
downloadZipURL - StringThe URL to download all documents as a zip file
createdAt - Date
updatedAt - Date
completedAt - DateTimestamp of when all Signers have finished signing or when all forms have been filled when no signers.
stylesheetURL - String
orgLogo - JSON
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "status": "abc123",
  "provider": "abc123",
  "currentRoutingStep": 987,
  "files": [{}],
  "weldData": WeldData,
  "etchPacket": EtchPacket,
  "signers": [Signer],
  "providerConfig": {},
  "finishPageConfig": {},
  "signaturePageConfig": {},
  "downloadZipURL": "https://domain.com/page.html",
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "completedAt": "2007-12-03",
  "stylesheetURL": "https://domain.com/page.html",
  "orgLogo": {}
}

EtchFile

Description

An object used by createEtchPacket to specify a file. See the Etch e-sign guide for more info.

Fields
Input FieldDescription
id - String!An id string set when creating the EtchPacket.
title - String
castEid - String
file - Upload
base64File - Upload
fields - [JSON!]
pageSizes - [JSON!]
fontSize - Int
textColor - String
filename - StringFilename set when creating the EtchPacket.
includeTimestamp - BooleanFor generated PDFs, set to false to disable the "Generated at XXX" timestamp at the bottom of the document.
logo - JSONFor generated PDFs, you can specify a logo to be rendered at the top of the document.
markup - JSONHolds HTML/CSS to generate PDF
page - JSONHolds page customizations to generate PDF
Example
{
  "id": "xyz789",
  "title": "abc123",
  "castEid": "abc123",
  "file": Upload,
  "base64File": Upload,
  "fields": [{}],
  "pageSizes": [{}],
  "fontSize": 123,
  "textColor": "abc123",
  "filename": "xyz789",
  "includeTimestamp": false,
  "logo": {},
  "markup": {},
  "page": {}
}

EtchLog

Description

Represents a single action taken by a user during the signing process. For example, an EtchLog object will be created when a user signs, downloads a file, voids the packet, etc.

All actions with a short description:

accessed: Viewed
archived: Archived
completed: Signed & completed
created: Created
download-csv-all: Downloaded CSV
download-csv-individual-file: Downloaded CSV file
download-file-individual: Downloaded file
download-files-zip: Downloaded zip
emailed-completed: Emailed
emailed-by-user: Emailed sign link
emailed: Emailed
locked: Locked
pin-code-changed: Changed PIN
pin-code-failed: Access failed
pin-code-set: Set PIN
pin-code-unset: Unset PIN
pin-code-verified: Access verified
reassigned-signer: Updated signer details
saved-form: Saved form
signed: Signed
unarchived: Unarchived
unlocked: Unlocked
upload-file-accessed: Accessed file
upload-file: Uploaded
voided: Voided
Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
action - StringThe action taken.
formattedLocation - StringLocation of the user taking the action.
fileId - StringString id, often a filename, of any file related to the action taken.
metadata - JSONAny action-specific information.
user - UserThe Anvil User who took this action, if applicable.
signer - SignerThe Signer who took the action, if applicable.
createdAt - Date
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "action": "abc123",
  "formattedLocation": "xyz789",
  "fileId": "xyz789",
  "metadata": {},
  "user": User,
  "signer": Signer,
  "createdAt": "2024-09-24T22:51:55.860Z"
}

EtchPacket

Description

An EtchPacket represents a signature packet. EtchPackets packets allow you to gather signatures from multiple signers on a collection of PDFs filled with your data (see payload), and uploads such as images. See the e-signature guide for usage.

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
name - StringThe name shown in the UI.
status - StringPossible values: draft, sent, delivered, partial, declined, voided, completed.
isTest - Booleantrue when it is a test packet. You will not be charged for test packets. Filled and signed files will be watermarked.
isFree - BooleanUse etchTemplate.isFree instead
allowUpdates - BooleanWhen enabled, the EtchPacket payload can be updated. Requires a plan that allows EtchPacket updates.
containsFillData - Booleantrue when payload contains data that will fill PDFs
payload - JSONData specified to fill PDFs in the packet.
numberRemainingSigners - Int
detailsURL - StringURL to this EtchPacket in the dashboard. Any users in your organization can view this URL.
webhookURL - StringThe specific webhook notification URL for this EtchPacket. We will POST to this URL when users take various actions.
organization - Organization
documentGroup - DocumentGroupA DocumentGroup contains the documents after they have been filled and sent out for signature. The DocumentGroup will only exist here when status != 'draft', i.e when documents have been sent out for signature. See the DocumentGroup's status for lifecycle information.
etchTemplate - EtchTemplateThe EtchTemplate holds configuration for signers and files in the packet. Each EtchPacket will have an EtchTemplate.
userUploads - [UserUpload]Uploaded files like images included in the packet.
etchLogEvents - [EtchLog]An array of actions during the signing process. Details actions when files are signed, downloaded, etc.
webhookLogs - [WebhookLog]An array of webhook notification calls to your server related to this EtchPacket. Get the status codes, response times, and retry information from each WebhookLog.
createdAt - Date
updatedAt - Date
archivedAt - Date
completedAt - Date
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "EtchPacket Name",
  "status": "xyz789",
  "isTest": true,
  "isFree": true,
  "allowUpdates": false,
  "containsFillData": false,
  "payload": {},
  "numberRemainingSigners": 123,
  "detailsURL": "https://domain.com/page.html",
  "webhookURL": "https://domain.com/page.html",
  "organization": Organization,
  "documentGroup": DocumentGroup,
  "etchTemplate": EtchTemplate,
  "userUploads": [UserUpload],
  "etchLogEvents": [EtchLog],
  "webhookLogs": [WebhookLog],
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "archivedAt": "2007-12-03",
  "completedAt": "2007-12-03"
}

EtchPacketPage

Fields
Field NameDescription
rowCount - IntTotal number of rows found for the query before pagination
pageCount - IntTotal number of pages of results
page - IntThe requested page number
pageSize - IntThe requested number of rows per page
items - [EtchPacket]The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [EtchPacket]
}

EtchTemplate

Description

An EtchTemplate holds configuration for a signature packet. You should not need to interact directly with an EtchTemplate very much. See the e-signature guide for more info on sending documents out for signatures.

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
name - String
isFree - Boolean
isRepeatable - Boolean
config - JSON
organization - Organization
casts - [Cast]All Cast objects (fillable pdfs) included in this template.
etchPackets - [EtchPacket]An array of EtchPackets created from this template. At this time, this will be a 1-to-1 relationship.
userUploads - [UserUpload]
createdAt - Date
updatedAt - Date
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "EtchTemplate Name",
  "isFree": true,
  "isRepeatable": false,
  "config": {},
  "organization": Organization,
  "casts": [Cast],
  "etchPackets": [EtchPacket],
  "userUploads": [UserUpload],
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z"
}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

Forge

Description

A Forge holds configuration for a single webform. A Forge defines a webform's fields, the page fields are on, their types, webform logic, etc. Each Forge will be a member of only one Weld (Workflow).

See our Workflow API guide for more info.

Fields
Field NameDescription
publishedSlug - StringThe slug of the currently published version
versionNumber - IntCurrent version number of this Forge
versionId - Int
latestDraftVersionNumber - Int
versions - ForgeVersionPage
Arguments
limit - Int

The requested number of rows per page

offset - Int

The requested page number

isLatestVersion - Boolean
isPublishedVersion - Boolean
publishedNumber - IntCurrent published version number of this Forge
publishedAt - Date
publishedVersionNumber - Int
publishedVersionId - Int
hasUnpublishedChanges - Boolean
hasBeenPublished - Boolean
publishedVersions - ForgeVersionPage
Arguments
limit - Int

The requested number of rows per page

offset - Int

The requested page number

id - Int!
eid - StringThe eid is the Forge/Webform's object identifier.
name - String
slug - String
isRequired - BooleanIs this forge required to complete the Workflow?
config - JSON
Arguments
onlyKeys - [String]
fieldInfo - JSONA list of objects describing all the fields in this webform. The response is a more digestable way to get all the fields than digging in config.
weld - Weld
organization - Organization
userUploads - [UserUpload]
createdAt - Date
updatedAt - Date
archivedAt - Date
examplePayload - JSONExample payload to fill this webform. Shown on the "API information" page for this webform's Workflow.
testForgeCompleteWebhookPayload - JSON
Example
{
  "publishedSlug": "xyz789",
  "versionNumber": 123,
  "versionId": 123,
  "latestDraftVersionNumber": 987,
  "versions": ForgeVersionPage,
  "isLatestVersion": true,
  "isPublishedVersion": true,
  "publishedNumber": 123,
  "publishedAt": "2007-12-03",
  "publishedVersionNumber": 987,
  "publishedVersionId": 987,
  "hasUnpublishedChanges": true,
  "hasBeenPublished": true,
  "publishedVersions": ForgeVersionPage,
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Forge Name",
  "slug": "forge-name",
  "isRequired": false,
  "config": {},
  "fieldInfo": {},
  "weld": Weld,
  "organization": Organization,
  "userUploads": [UserUpload],
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "archivedAt": "2007-12-03",
  "examplePayload": {},
  "testForgeCompleteWebhookPayload": {}
}

ForgeMap

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
forgeA - Forge
forgeB - Forge
config - JSON
createdAt - Date
updatedAt - Date
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "forgeA": Forge,
  "forgeB": Forge,
  "config": {},
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z"
}

ForgeVersion

Fields
Field NameDescription
updatedColumns - [String]
name - String
slug - String
config - JSON
id - Int!
eid - String!The eid is the object identifier.
number - Int
createdAt - Date
updatedAt - Date
user - User
publishedNumber - Int
publishedTitle - String
publishedDescription - String
publishedAt - Date
publishUpdatedAt - Date
publishingUser - User
Example
{
  "updatedColumns": ["abc123"],
  "name": "ForgeVersion Name",
  "slug": "forgeversion-name",
  "config": {},
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "number": 123,
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "user": User,
  "publishedNumber": 987,
  "publishedTitle": "abc123",
  "publishedDescription": "abc123",
  "publishedAt": "2007-12-03",
  "publishUpdatedAt": "2007-12-03",
  "publishingUser": User
}

ForgeVersionPage

Fields
Field NameDescription
rowCount - IntTotal number of rows found for the query before pagination
pageCount - IntTotal number of pages of results
page - IntThe requested page number
pageSize - IntThe requested number of rows per page
items - [ForgeVersion]The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [ForgeVersion]
}

GenerateEmbedURLResponse

Fields
Field NameDescription
requestTokenEid - String!The EID for the token associated with the request you just made. Can be used later to expire the session that was created using it.
url - String!The URL to send your embedded User to. They will be logged in and then redirected to the appropriate page for their embedded access. You can direct them back to this URL if they need to access their embedded experience again as long as their session has not expired.
Example
{
  "requestTokenEid": "kQp2qd9FVUWrrE60hMbi",
  "url": "https://domain.com/page.html"
}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
123

Invoice

Fields
Field NameDescription
startDate - Date
endDate - Date
totalAmount - Float
Example
{
  "startDate": "2007-12-03",
  "endDate": "2007-12-03",
  "totalAmount": 987.65
}

JSON

Description

The JSON scalar type represents JSON values as specified by ECMA-404.

Example
{}

Organization

Description

An entity that encapsulates a set of Workflows, templates, users, etc.

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
name - String
logo - JSON
logoURL - StringURL to your logo. You can update this on your organization settings page.
stylesheetURL - StringYour organization's white-label CSS stylesheet. You can update this on your organization settings page.
parentOrganization - Organization
billingEmail - StringThe email used for all billing related correspondence.
supportEmail - StringYour organization's support email address. Used as the reply-to address for emails sent to your users by Anvil.
slug - String
users - [User]
adminUsers - [User]
organizationUsers - [OrganizationUser]
organizationUserInvites - [OrganizationUserInvite]
isPersonal - Boolean
isInternal - Boolean
isSubscribed - Boolean
useTestSignatureProvider - Boolean
config - JSON
createdAt - Date
updatedAt - Date
welds - [Weld]
Arguments
visibility - String

Filter based on the visibility of the Weld

isArchived - Boolean

Set to true to search only within archived Welds

etchTemplates - [EtchTemplate]
etchPackets - EtchPacketPage
Arguments
status - [String]
isTest - Boolean
isArchived - Boolean
limit - Int

The requested number of rows per page

offset - Int

The requested page number

weldGroups - [WeldGroup]
forges - [Forge]
Arguments
isArchived - Boolean
forgeMaps - [ForgeMap]
casts - [Cast]
Arguments
isArchived - Boolean
isTemplate - Boolean
paymentMethods - [PaymentMethod]
webhook - Webhook
webhookActions - [WebhookAction]
webhookLogs - WebhookLogPage
Arguments
limit - Int

The requested number of rows per page

offset - Int

The requested page number

childOrganizations - [Organization]
relatedOrganizations - [Organization]
Arguments
actions - [String]
subscribedPlanFeatures - JSON
subscriptionActivity - JSON
currentInvoice - Invoice
totalUsedUnits - Int
weldCompleteWebhookStats - JSON
weldCompleteStats - JSON
etchCompleteStats - JSON
remainingSubmissions - JSON
remainingEtchCompletions - JSON
signatureProviderType - String
availableSignatureProviderTypes - [String]
isSso - BooleanIs this Organization set up for SSO-based authentication or not.
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Organization Name",
  "logo": {},
  "logoURL": "https://domain.com/page.html",
  "stylesheetURL": "https://domain.com/page.html",
  "parentOrganization": Organization,
  "billingEmail": "user@domain.com",
  "supportEmail": "user@domain.com",
  "slug": "organization-name",
  "users": [User],
  "adminUsers": [User],
  "organizationUsers": [OrganizationUser],
  "organizationUserInvites": [OrganizationUserInvite],
  "isPersonal": true,
  "isInternal": true,
  "isSubscribed": false,
  "useTestSignatureProvider": false,
  "config": {},
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "welds": [Weld],
  "etchTemplates": [EtchTemplate],
  "etchPackets": EtchPacketPage,
  "weldGroups": [WeldGroup],
  "forges": [Forge],
  "forgeMaps": [ForgeMap],
  "casts": [Cast],
  "paymentMethods": [PaymentMethod],
  "webhook": Webhook,
  "webhookActions": [WebhookAction],
  "webhookLogs": WebhookLogPage,
  "childOrganizations": [Organization],
  "relatedOrganizations": [Organization],
  "subscribedPlanFeatures": {},
  "subscriptionActivity": {},
  "currentInvoice": Invoice,
  "totalUsedUnits": 123,
  "weldCompleteWebhookStats": {},
  "weldCompleteStats": {},
  "etchCompleteStats": {},
  "remainingSubmissions": {},
  "remainingEtchCompletions": {},
  "signatureProviderType": "abc123",
  "availableSignatureProviderTypes": [
    "xyz789"
  ],
  "isSso": false
}

OrganizationUser

Fields
Field NameDescription
id - Int!
role - StringRole of this user within your org. Possible values: viewer, editor, billingAdmin, admin, tokenized, api
externalId - StringA place to store your external system's unique identifier for this User.
user - User
organization - Organization
createdAt - Date
updatedAt - Date
Example
{
  "id": 987,
  "role": "xyz789",
  "externalId": "xyz789",
  "user": User,
  "organization": Organization,
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z"
}

OrganizationUserInvite

Description

An invite sent for a user to join your organization. Once accepted, an OrganizationUser will be created.

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
role - StringRole of this user within your org. Possible values: viewer, editor, billingAdmin, admin, tokenized, api
externalId - StringA place to store your external system's unique identifier for this User.
name - String
email - String
organization - Organization
acceptedAt - Date
revokedAt - Date
createdAt - Date
updatedAt - Date
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "role": "abc123",
  "externalId": "abc123",
  "name": "OrganizationUserInvite Name",
  "email": "user@domain.com",
  "organization": Organization,
  "acceptedAt": "2007-12-03",
  "revokedAt": "2007-12-03",
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z"
}

PaymentMethod

Fields
Field NameDescription
id - String!
type - String
last4 - String
providerName - String
status - String
expMonth - Int
expYear - Int
isDefault - Boolean
Example
{
  "id": "abc123",
  "type": "abc123",
  "last4": "xyz789",
  "providerName": "abc123",
  "status": "xyz789",
  "expMonth": 987,
  "expYear": 987,
  "isDefault": true
}

Signer

Description

Represents a single signer. See Signer.status to indicate where a signer is in the signing process.

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
aliasId - StringThe Signer's user-specified id set on packet creation.
status - StringPossible values: sent, viewed, delivered, voided, autoresponded, faxpending, created, skipped, pending, ignored, declined, idCheckFailed, completed
provider - StringPossible values: etch or docusign.
name - String
email - String
routingOrder - IntNumeric step in the signing process where this user signs. Signers are routed in sorted order.
signActionType - StringIndicates the method by which the user signs. Possible values: email, embedded, or in-person.
finishURL - StringThe URL the user will be redirected to when they finish signing.
user - UserA Anvil User associated with this signer.
submission - SubmissionAn associated Submission. This wil exist for signers who sign at the end of a Workflow.
documentGroup - DocumentGroupA DocumentGroup references all signers and the documents after they have been filled and sent out for signature. See the DocumentGroup's status for lifecycle information.
signerTokens - [SignerToken]Get all SignerTokens this signer has available. These can tell you when a signer's token will be expiring, which token was used for signing, etc.
createdAt - Date
updatedAt - Date
completedAt - DateTimestamp when the Signer has finished signing.
clientUserId - StringYour id for the person signing: a way to trace this signer back to a user in your system.
allowDefaultTranslations - Boolean
supportEmail - String
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "aliasId": "xyz789",
  "status": "xyz789",
  "provider": "abc123",
  "name": "Signer Name",
  "email": "user@domain.com",
  "routingOrder": 987,
  "signActionType": "xyz789",
  "finishURL": "https://domain.com/page.html",
  "user": User,
  "submission": Submission,
  "documentGroup": DocumentGroup,
  "signerTokens": [SignerToken],
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "completedAt": "2007-12-03",
  "clientUserId": "xyz789",
  "allowDefaultTranslations": true,
  "supportEmail": "user@domain.com"
}

SignerToken

Description

Represents a token used to sign documents. See Signer.signerTokens to fetch them.

We do not expose the token itself, but you can use this object to get an idea of what tokens the signer has available, whether they are valid, and their expiration dates (validUntil).

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
type - StringType of token issued. Tells you how the token was issued. Values: api, sign-now, notify-signer, view
valid - Booleantrue when this token is valid and can be used to sign.
hasSigned - Booleantrue when this token was used to sign the Signer's documents.
createdAt - DateDate when the token was created
validUntil - DateDate of token expiration.
invalidatedAt - DateDate when the token was invalidated if explicitly invalidated. If invalid due to expiration, use validUntil.
signedAt - DateDate when the token was used to sign documents.
signer - Signer
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "type": "abc123",
  "valid": true,
  "hasSigned": true,
  "createdAt": "2024-09-24T22:51:55.860Z",
  "validUntil": "2007-12-03",
  "invalidatedAt": "2007-12-03",
  "signedAt": "2007-12-03",
  "signer": Signer
}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

Submission

Description

An instance of a Forge. A Submission holds the data for one webform submission on a particular Forge.

See our Workflow API guide for more info.

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
status - StringPossible values: created, in-progress, waiting-to-sign, user-signed-and-waiting, users-turn-to-sign-ui, users-turn-to-sign-email, someone-else-signed-and-waiting, completed
resolvedPayload - JSONThe payload resolved with field aliases and field information. If you need to fetch the submission payload, use this.
payload - JSONThe raw payload
payloadValue - JSONThe raw payload without types
currentStep - Int
totalSteps - Int
continueURL - StringURL to the next step in this webform.
weldData - WeldData
forge - Forge
user - User
signer - Signer
reviewData - JSON
Arguments
targetLanguage - String
completionPercentage - Float
isExcluded - Boolean
touchedByUser - Boolean
requestMeta - JSON
createdAt - Date
updatedAt - Date
completedAt - Date
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "status": "abc123",
  "resolvedPayload": {},
  "payload": {},
  "payloadValue": {},
  "currentStep": 123,
  "totalSteps": 123,
  "continueURL": "https://domain.com/page.html",
  "weldData": WeldData,
  "forge": Forge,
  "user": User,
  "signer": Signer,
  "reviewData": {},
  "completionPercentage": 987.65,
  "isExcluded": false,
  "touchedByUser": true,
  "requestMeta": {},
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "completedAt": "2007-12-03"
}

Upload

Description

The Upload scalar type represents a file upload. This can be either an object with data, mimetype, and filename keys, or multipart request with a structure described by the GraphQL multipart requests specification.

While sending up an object structure described in the example is considerably simpler than the multipart spec, we only support request payloads of up to 1MB. Content-Type application/json requests with sizes over the 1MB size will result in a 419 Request Too Large response.

If your request is larger than 1MB, use a multipart request. A very basic multipart GraphQL + Upload example using curl:

curl https://graphql.useanvil.com \ -F operations='[{ "query": "CreateCast ($file: Upload!) { createCast(file: $file) { id } }", "variables": { "file": null } }]' \
  -F map='{ "0": ["0.variables.file"] }' \
  -F 0=@my-file.pdf

Our Node API Client uses multipart uploads by default.

Example
Upload

User

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
email - String
name - String
firstName - String
lastName - String
role - StringWhat type of role the User has. Either user or api.
verifiedEmail - Boolean
preferences - UserPreferences!
organizations - [Organization]
organizationUsers - [OrganizationUser]
createdAt - Date
updatedAt - Date
onboarding - JSON
extra - JSON
numSentEtchPackets - Int
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "email": "user@domain.com",
  "name": "User Name",
  "firstName": "Bobby",
  "lastName": "Jones",
  "role": "xyz789",
  "verifiedEmail": "user@domain.com",
  "preferences": UserPreferences,
  "organizations": [Organization],
  "organizationUsers": [OrganizationUser],
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "onboarding": {},
  "extra": {},
  "numSentEtchPackets": 123
}

UserPreferences

Fields
Field NameDescription
acceptedSignature - Boolean
name - String
initials - String
require2FA - Boolean
Example
{
  "acceptedSignature": true,
  "name": "UserPreferences Name",
  "initials": "abc123",
  "require2FA": false
}

UserUpload

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
location - String
user - User
etchPacket - EtchPacket
weldData - WeldData
forge - Forge
metadata - JSON
createdAt - Date
updatedAt - Date
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "location": "xyz789",
  "user": User,
  "etchPacket": EtchPacket,
  "weldData": WeldData,
  "forge": Forge,
  "metadata": {},
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z"
}

Webhook

Description

A Webhook represents a webhook URL. Anvil will POST to webhook URLs on specific actions. Both organization-wide and per-object webhook URLs are represented by this object. See the webhooks guide for more information.

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
type - StringWebhook URLs that accept notifications for any object will be prod. Per-object webhook URLs will have type adhoc.
status - StringProssible values: active or inactive.
url - StringThe URL Anvil will POST to.
token - StringUse this token to make sure the request is from Anvil.
webhookActions - [WebhookAction]
creationUser - User
organization - Organization
createdAt - Date
updatedAt - Date
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "type": "xyz789",
  "status": "xyz789",
  "url": "https://domain.com/page.html",
  "token": "xyz789",
  "webhookActions": [WebhookAction],
  "creationUser": User,
  "organization": Organization,
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z"
}

WebhookAction

Description

A model that represents a subscription to actions on other objects in our system that would trigger a Webhook call.

Fields
Field NameDescription
eid - String!The eid is the object identifier.
webhook - Webhook!
action - String!
objectEid - String
objectType - String
config - JSON
createdAt - Date!
updatedAt - Date!
creationUser - User!
Example
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "webhook": Webhook,
  "action": "abc123",
  "objectEid": "kQp2qd9FVUWrrE60hMbi",
  "objectType": "abc123",
  "config": {},
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "creationUser": User
}

WebhookActionConfigInput

Description

Configuration options for a Webhook Action.

Fields
Input FieldDescription
encryptData - BooleanWhether to encrypt the data payloads delivered by the Webhook call. Defaults to false. Default = false
doOnStaging - BooleanWhether actually make the webhook call on Staging
Example
{"encryptData": false, "doOnStaging": true}

WebhookLog

Description

A WebhookLog represents a single webhook call to your server. See the webhooks guide for more information.

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
action - StringThe webhook action type, e.g. signerComplete.
isError - Booleantrue when this call was considered an error. It will be an error when the status code is >= 400, or the request timed out.
isRetry - Booleantrue when this call was a retry of a previous call.
statusCode - IntThe status code returned by your server for this call.
millisecondsToFinish - IntTime it took to complete the webhook request.
objectEid - String
rootObjectType - String
rootObjectURL - StringDashboard URL to the object that triggered the webhook event. e.g. it will link to a Workflow submission or an etch packet.
objectMetadata - JSON
organization - Organization
originalWebhookLog - WebhookLogIf this call was a retry, originalWebhookLog will be WebhookLog that was retried.
createdAt - Date
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "action": "xyz789",
  "isError": false,
  "isRetry": false,
  "statusCode": 123,
  "millisecondsToFinish": 123,
  "objectEid": "kQp2qd9FVUWrrE60hMbi",
  "rootObjectType": "abc123",
  "rootObjectURL": "https://domain.com/page.html",
  "objectMetadata": {},
  "organization": Organization,
  "originalWebhookLog": WebhookLog,
  "createdAt": "2024-09-24T22:51:55.860Z"
}

WebhookLogPage

Fields
Field NameDescription
rowCount - IntTotal number of rows found for the query before pagination
pageCount - IntTotal number of pages of results
page - IntThe requested page number
pageSize - IntThe requested number of rows per page
items - [WebhookLog]The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [WebhookLog]
}

Weld

Description

A Weld is a Workflow. It holds the configuration that combines one or more Forge objects with zero or more Cast objects to create a Workflow.

See our Workflow API guide for more info.

Fields
Field NameDescription
publishedSlug - StringThe slug of the currently published version
versionNumber - IntCurrent version number of this Weld
versionId - Int
latestDraftVersionNumber - Int
versions - WeldVersionPage
Arguments
limit - Int

The requested number of rows per page

offset - Int

The requested page number

isLatestVersion - Boolean
isPublishedVersion - Boolean
publishedNumber - IntCurrent published version number of this Weld
publishedAt - Date
publishedVersionNumber - Int
publishedVersionId - Int
hasUnpublishedChanges - Boolean
hasBeenPublished - Boolean
publishedVersions - WeldVersionPage
Arguments
limit - Int

The requested number of rows per page

offset - Int

The requested page number

id - Int!
eid - StringThe eid is the Weld/Workflow's object identifier.
slug - String
name - String
title - String
visibility - String
config - JSONConfig object specifying files output, signers, etc.
Arguments
onlyKeys - [String]

Only root level keys specified here will be returned. When omitted, all keys will be returned.

organization - Organization
hasSigners - Boolean
forges - [Forge]
Arguments
isArchived - Boolean
casts - [Cast]
weldGroups - [WeldGroup]
weldDatas - WeldDataPageFetch all the Weld's WeldDatas (Workflow submissions)
Arguments
touchedByUser - Boolean
ignoreTest - Boolean
isTest - Boolean
isArchived - Boolean
statuses - [String]
fromDate - Date
toDate - Date
simpleSearchTerm - String
eids - [String]
limit - Int

The requested number of rows per page

offset - Int

The requested page number

testWeldCompleteWebhookPayload - JSON
testSignerCompleteWebhookPayload - JSON
hasWeldDatas - Boolean
weldDataCounts - JSON
draftStep - String
signatureProviderType - String
availableSignatureProviderTypes - [String]
remainingSubmissions - JSON
createdAt - Date
updatedAt - Date
archivedAt - Date
expiresAt - Date
allowDefaultTranslations - Boolean
isTest - Boolean
styleConfig - JSON
stylesheetURL - String
Example
{
  "publishedSlug": "xyz789",
  "versionNumber": 987,
  "versionId": 987,
  "latestDraftVersionNumber": 987,
  "versions": WeldVersionPage,
  "isLatestVersion": false,
  "isPublishedVersion": false,
  "publishedNumber": 123,
  "publishedAt": "2007-12-03",
  "publishedVersionNumber": 987,
  "publishedVersionId": 123,
  "hasUnpublishedChanges": false,
  "hasBeenPublished": true,
  "publishedVersions": WeldVersionPage,
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "slug": "weld-name",
  "name": "Weld Name",
  "title": "Weld Title",
  "visibility": "abc123",
  "config": {},
  "organization": Organization,
  "hasSigners": false,
  "forges": [Forge],
  "casts": [Cast],
  "weldGroups": [WeldGroup],
  "weldDatas": WeldDataPage,
  "testWeldCompleteWebhookPayload": {},
  "testSignerCompleteWebhookPayload": {},
  "hasWeldDatas": true,
  "weldDataCounts": {},
  "draftStep": "xyz789",
  "signatureProviderType": "abc123",
  "availableSignatureProviderTypes": [
    "xyz789"
  ],
  "remainingSubmissions": {},
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "archivedAt": "2007-12-03",
  "expiresAt": "2007-12-03",
  "allowDefaultTranslations": false,
  "isTest": false,
  "styleConfig": {},
  "stylesheetURL": "https://domain.com/page.html"
}

WeldData

Description

An instance of a Weld. You can think of it as a "workflow submission". A WeldData references Submissions for all the Forges (webforms) in the related Weld (workflow).

See our workflow API guide for more info.

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
displayTitle - StringThe title displayed in the UI.
status - StringPossible values: created, in-progress, ready-to-sign, awaiting-signatures, completed, declined
isTest - Booleantrue when it is a test workflow submission. You will not be charged for signatures on test submissions, and they will not count toward your monthly completed workflows.
isExpired - BooleanThis WeldData has expired, either by passing the expiredAt date, or by being locked.
isComplete - Booleantrue when all forms in the workflow have been filled. There may be signers who need to sign.
isAllComplete - Booleantrue when status is completed: All forms have been filled, all signers have signed.
continueURL - StringURL to the next form to be filled by the user. Use this after WeldData creation to get the URL to the form that should be filled first.
webhookURL - StringThe specific webhook notification URL for this WeldData. We will POST to this URL when users take various actions.
completionPercentage - FloatHow complete is this workflow submission. Will be a value between 0 and 1.
numberRemainingSigners - Int
payloadCanBeUpdated - Boolean
hasSigners - Boolean
nextSigner - Signer
nextSigners - [Signer]
hasPin - Boolean
pin - String
agents - JSON
files - [JSON]A file listing of all files available in the WeldData. If there is a DocumentGroup, this will be equal to DocumentGroup.files.
excludedFiles - [JSON]A file listing of all files excluded from the signing process.
weld - WeldThe workflow this WeldData is related to.
weldVersionId - Int
submissions - [Submission]An array of all the underlying Submission objects holding data from each webform.
documentGroup - DocumentGroupA DocumentGroup contains the documents after they have been filled and sent out for signature. The DocumentGroup will only exist here when that documents have been sent out for signature, or in the case of a workflow with no signers, when the workflow is completely finished. See the DocumentGroup's status for lifecycle information.
webhookLogs - [WebhookLog]An array of webhook notification calls to your server related to this WeldData. Get the status codes, response times, and retry information from each WebhookLog.
etchLogEvents - [EtchLog]An array of actions during the signing process when using Anvil's Etch as the signature provider. These objects detail actions when files are signed, downloaded, etc.
weldDataLogEvents - [WeldDataLog]An array of actions taken during the form filling process.
userUploads - [UserUpload]An array of files uploaded by users during the webform filling process.
forgesRequiringCompletion - [Forge]
weldDataGroup - WeldDataGroup
createdAt - Date
updatedAt - DateWhen a column on the WeldData itself was updated.
dataUpdatedAt - DateWhen a the data in any child Submission was last updated.
expiresAt - Date
archivedAt - Date
currentStepInfo - JSON
stylesheetURL - String
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "displayTitle": "abc123",
  "status": "abc123",
  "isTest": false,
  "isExpired": true,
  "isComplete": false,
  "isAllComplete": false,
  "continueURL": "https://domain.com/page.html",
  "webhookURL": "https://domain.com/page.html",
  "completionPercentage": 123.45,
  "numberRemainingSigners": 987,
  "payloadCanBeUpdated": true,
  "hasSigners": false,
  "nextSigner": Signer,
  "nextSigners": [Signer],
  "hasPin": false,
  "pin": "9876",
  "agents": {},
  "files": [{}],
  "excludedFiles": [{}],
  "weld": Weld,
  "weldVersionId": 123,
  "submissions": [Submission],
  "documentGroup": DocumentGroup,
  "webhookLogs": [WebhookLog],
  "etchLogEvents": [EtchLog],
  "weldDataLogEvents": [WeldDataLog],
  "userUploads": [UserUpload],
  "forgesRequiringCompletion": [Forge],
  "weldDataGroup": WeldDataGroup,
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "dataUpdatedAt": "2007-12-03",
  "expiresAt": "2007-12-03",
  "archivedAt": "2007-12-03",
  "currentStepInfo": {},
  "stylesheetURL": "https://domain.com/page.html"
}

WeldDataGroup

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
title - String
isTest - Boolean
dataUpdatedAt - Date
weldGroup - WeldGroup
weldDatas - [WeldData]
Arguments
isArchived - Boolean
createdAt - Date
updatedAt - Date
archivedAt - Date
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "title": "WeldDataGroup Title",
  "isTest": true,
  "dataUpdatedAt": "2007-12-03",
  "weldGroup": WeldGroup,
  "weldDatas": [WeldData],
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "archivedAt": "2007-12-03"
}

WeldDataGroupPage

Fields
Field NameDescription
rowCount - IntTotal number of rows found for the query before pagination
pageCount - IntTotal number of pages of results
page - IntThe requested page number
pageSize - IntThe requested number of rows per page
items - [WeldDataGroup]The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [WeldDataGroup]
}

WeldDataLog

Description

Represents a single action taken by a user while filling a webform within a Workflow. For example, a WeldDataLog object will be created when a user completes a webform, downloads a file, voids the packet associated packet, etc.

All actions with a short description:

accessed: Viewed
archived: Archived
completed: Completed Form
created: Created
download-csv-all: Downloaded
download-csv-individual-file: Downloaded
download-file-individual: Downloaded File
download-files-zip: Downloaded Zip
emailed-completed: Emailed
emailed: Emailed
locked: Locked
pin-code-changed: Changed PIN
pin-code-failed: Access Failed
pin-code-set: Set PIN
pin-code-unset: Unset PIN
pin-code-verified: Access Verified
saved-form: Saved form
signed: Signed
unarchived: Unarchived
unlocked: Unlocked
upload-file-accessed: Accessed file
upload-file: Uploaded
voided: Voided
Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
action - StringThe action taken.
formattedLocation - StringLocation of the user taking the action.
metadata - JSONAny action-specific information.
user - UserThe Anvil User who took this action, if applicable.
weldData - WeldData
submission - Submission
createdAt - Date
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "action": "abc123",
  "formattedLocation": "xyz789",
  "metadata": {},
  "user": User,
  "weldData": WeldData,
  "submission": Submission,
  "createdAt": "2024-09-24T22:51:55.860Z"
}

WeldDataPage

Fields
Field NameDescription
rowCount - IntTotal number of rows found for the query before pagination
pageCount - IntTotal number of pages of results
page - IntThe requested page number
pageSize - IntThe requested number of rows per page
items - [WeldData]The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [WeldData]
}

WeldFile

Description

An object used by createWeld to specify a file. See the GraphQL reference for more info.

Fields
Input FieldDescription
id - String!An id string set when creating the Weld.
title - String
castEid - String
file - Upload
mimetype - String
name - String
src - String
stamp - Float
Example
{
  "id": "abc123",
  "title": "xyz789",
  "castEid": "xyz789",
  "file": Upload,
  "mimetype": "abc123",
  "name": "abc123",
  "src": "abc123",
  "stamp": 987.65
}

WeldGroup

Fields
Field NameDescription
id - Int!
eid - StringThe eid is the object identifier.
name - String
slug - String
organization - Organization
welds - [Weld]
Arguments
isArchived - Boolean
weldDataGroups - WeldDataGroupPage
Arguments
ignoreTest - Boolean
isTest - Boolean
isArchived - Boolean
weldSlugFilter - [String]
limit - Int

The requested number of rows per page

offset - Int

The requested page number

createdAt - Date
updatedAt - Date
hasWeldDataGroups - Boolean
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "WeldGroup Name",
  "slug": "weldgroup-name",
  "organization": Organization,
  "welds": [Weld],
  "weldDataGroups": WeldDataGroupPage,
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "hasWeldDataGroups": false
}

WeldVersion

Fields
Field NameDescription
updatedColumns - [String]
name - String
slug - String
config - JSON
id - Int!
eid - String!The eid is the object identifier.
number - Int
createdAt - Date
updatedAt - Date
user - User
publishedNumber - Int
publishedTitle - String
publishedDescription - String
publishedAt - Date
publishUpdatedAt - Date
publishingUser - User
Example
{
  "updatedColumns": ["xyz789"],
  "name": "WeldVersion Name",
  "slug": "weldversion-name",
  "config": {},
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "number": 123,
  "createdAt": "2024-09-24T22:51:55.860Z",
  "updatedAt": "2024-09-24T22:51:55.860Z",
  "user": User,
  "publishedNumber": 123,
  "publishedTitle": "abc123",
  "publishedDescription": "xyz789",
  "publishedAt": "2007-12-03",
  "publishUpdatedAt": "2007-12-03",
  "publishingUser": User
}

WeldVersionPage

Fields
Field NameDescription
rowCount - IntTotal number of rows found for the query before pagination
pageCount - IntTotal number of pages of results
page - IntThe requested page number
pageSize - IntThe requested number of rows per page
items - [WeldVersion]The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [WeldVersion]
}

Get a Document AI demo (from a real person)

Request a 30-minute demo and we'll be in touch soon. During the meeting our team will listen to your use case and suggest which Anvil products can help.
    Want to try Anvil first?
    Want to try Anvil first?