Translate Webforms into 10 different languages with 1 click.Learn more.
Anvil Logo
Products
Industries
Resources
Developers

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
Name Description
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.

Example

Query
query cast(
  $eid: String!,
  $versionNumber: Int
) {
  cast(
    eid: $eid,
    versionNumber: $versionNumber
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    type
    name
    title
    isTemplate
    exampleData
    allowedAliasIds
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi", "versionNumber": 123}
Response
{
  "data": {
    "cast": {
      "versionNumber": 987,
      "versionId": 123,
      "latestDraftVersionNumber": 123,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": true,
      "hasBeenPublished": true,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "application/pdf",
      "name": "Cast Name",
      "title": "Cast Title",
      "isTemplate": false,
      "exampleData": {},
      "allowedAliasIds": ["abc123"],
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "parentCast": Cast,
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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 {
    eid
    email
    name
    firstName
    lastName
    role
    verifiedEmail
    preferences {
      ...UserPreferencesFragment
    }
    organizations {
      ...OrganizationFragment
    }
    organizationUsers {
      ...OrganizationUserFragment
    }
    createdAt
    updatedAt
    onboarding
    extra
    numSentEtchPackets
  }
}
Response
{
  "data": {
    "currentUser": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "email": "user@domain.com",
      "name": "User Name",
      "firstName": "Bobby",
      "lastName": "Jones",
      "role": "user",
      "verifiedEmail": "user@domain.com",
      "preferences": UserPreferences,
      "organizations": [Organization],
      "organizationUsers": [OrganizationUser],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
Name Description
eid - String!

Example

Query
query etchPacket($eid: String!) {
  etchPacket(eid: $eid) {
    eid
    name
    status
    isTest
    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": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchPacket Name",
      "status": "completed",
      "isTest": true,
      "allowUpdates": true,
      "containsFillData": true,
      "payload": {
        "myPDFId": {
          "textColor": "#000000",
          "data": {"email": "hello@example.com"}
        }
      },
      "numberRemainingSigners": 987,
      "detailsURL": "https://app.useanvil.com/org/my-org/etch/nA1jH49FVUWrrE60hMbi",
      "webhookURL": "https://yoursite.com/webhooks/anvil",
      "organization": Organization,
      "documentGroup": DocumentGroup,
      "etchTemplate": EtchTemplate,
      "userUploads": [UserUpload],
      "etchLogEvents": [EtchLog],
      "webhookLogs": [WebhookLog],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
Name Description
organizationSlug - String
eidOrSlug - String
eid - String If 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 - String If 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 - String If 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.

Example

Query
query forge(
  $organizationSlug: String,
  $eidOrSlug: String,
  $eid: String,
  $weldDataEid: String,
  $submissionEid: String,
  $versionNumber: Int
) {
  forge(
    organizationSlug: $organizationSlug,
    eidOrSlug: $eidOrSlug,
    eid: $eid,
    weldDataEid: $weldDataEid,
    submissionEid: $submissionEid,
    versionNumber: $versionNumber
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    name
    slug
    isRequired
    config
    fieldInfo
    weld {
      ...WeldFragment
    }
    organization {
      ...OrganizationFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    createdAt
    updatedAt
    archivedAt
    examplePayload
  }
}
Variables
{
  "organizationSlug": "organization-slug",
  "eidOrSlug": "kQp2qd9FVUWrrE60hMbi",
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "weldDataEid": "kQp2qd9FVUWrrE60hMbi",
  "submissionEid": "kQp2qd9FVUWrrE60hMbi",
  "versionNumber": 123
}
Response
{
  "data": {
    "forge": {
      "versionNumber": 123,
      "versionId": 987,
      "latestDraftVersionNumber": 987,
      "publishedNumber": 987,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": true,
      "hasBeenPublished": false,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Forge Name",
      "slug": "forge-name",
      "isRequired": true,
      "config": {},
      "fieldInfo": {},
      "weld": Weld,
      "organization": Organization,
      "userUploads": [UserUpload],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03",
      "examplePayload": {}
    }
  }
}

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
Name Description
organizationSlug - String!

Example

Query
query organization($organizationSlug: String!) {
  organization(organizationSlug: $organizationSlug) {
    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": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "stylesheetURL": "https://example.com/anvil-styles.css",
      "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": false,
      "config": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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": 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
Name Description
eid - String!

Example

Query
query signer($eid: String!) {
  signer(eid: $eid) {
    eid
    aliasId
    status
    provider
    name
    email
    routingOrder
    signActionType
    user {
      ...UserFragment
    }
    submission {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    signerTokens {
      ...SignerTokenFragment
    }
    createdAt
    updatedAt
    completedAt
    clientUserId
  }
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "signer": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "aliasId": "signer1",
      "status": "sent",
      "provider": "etch",
      "name": "Signer Name",
      "email": "user@domain.com",
      "routingOrder": 987,
      "signActionType": "email",
      "user": User,
      "submission": Submission,
      "documentGroup": DocumentGroup,
      "signerTokens": [SignerToken],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "completedAt": "2007-12-03",
      "clientUserId": "mySigner1"
    }
  }
}

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
Name Description
organizationSlug - String!
forgeEidOrSlug - String!
eid - String!
forceCreate - Boolean
timezone - String

Example

Query
query submission(
  $organizationSlug: String!,
  $forgeEidOrSlug: String!,
  $eid: String!,
  $forceCreate: Boolean,
  $timezone: String
) {
  submission(
    organizationSlug: $organizationSlug,
    forgeEidOrSlug: $forgeEidOrSlug,
    eid: $eid,
    forceCreate: $forceCreate,
    timezone: $timezone
  ) {
    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,
  "timezone": "America/Los_Angeles"
}
Response
{
  "data": {
    "submission": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "status": "in-progress",
      "resolvedPayload": {
        "email": {
          "id": "f162136372633517",
          "aliasId": "email",
          "type": "email",
          "label": "Email",
          "value": "hello@example.com"
        }
      },
      "payload": {
        "f162136372633517": {"type": "email", "value": "hello@example.com"}
      },
      "payloadValue": {"f162136372633517": "hello@example.com"},
      "currentStep": 123,
      "totalSteps": 123,
      "continueURL": "https://app.useanvil.com/form/demo/my-form/nA1jH49FVUWrrE60hMbi",
      "weldData": WeldData,
      "forge": Forge,
      "user": User,
      "signer": Signer,
      "reviewData": {},
      "completionPercentage": 33.33,
      "isExcluded": false,
      "touchedByUser": false,
      "requestMeta": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
Name Description
eid - String The 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.

Example

Query
query weld(
  $eid: String,
  $slug: String,
  $organizationSlug: String,
  $versionNumber: Int
) {
  weld(
    eid: $eid,
    slug: $slug,
    organizationSlug: $organizationSlug,
    versionNumber: $versionNumber
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    slug
    name
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
    stylesheetURL
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "slug": "weld-name",
  "organizationSlug": "organization-slug",
  "versionNumber": 987
}
Response
{
  "data": {
    "weld": {
      "versionNumber": 987,
      "versionId": 123,
      "latestDraftVersionNumber": 123,
      "publishedNumber": 987,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": false,
      "hasBeenPublished": false,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "visibility": "live",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "signatureProviderType": "etch",
      "availableSignatureProviderTypes": ["etch", "docusign"],
      "remainingSubmissions": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "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
Name Description
eid - String!

Example

Query
query weldData($eid: String!) {
  weldData(eid: $eid) {
    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": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "displayTitle": "Sally's workflow submission",
      "status": "in-progress",
      "isTest": false,
      "isExpired": false,
      "isComplete": false,
      "isAllComplete": false,
      "continueURL": "https://app.useanvil.com/form/demo/my-form/nA1jH49FVUWrrE60hMbi",
      "webhookURL": "https://yoursite.com/webhooks/anvil",
      "completionPercentage": 0.2,
      "numberRemainingSigners": 987,
      "payloadCanBeUpdated": false,
      "hasSigners": true,
      "nextSigner": Signer,
      "nextSigners": [Signer],
      "hasPin": false,
      "pin": "9876",
      "agents": {},
      "files": [
        {
          "downloadURL": "https://app.useanvil.com/api/document-group/nA1jH49FVUWrrE60hMbi/Hello-World.pdf",
          "filename": "Hello-World.pdf",
          "name": "Hello World",
          "type": "pdf"
        }
      ],
      "excludedFiles": [
        {
          "downloadURL": "https://app.useanvil.com/api/document-group/nA1jH49FVUWrrE60hMbi/Dont-Sign-Me.pdf",
          "filename": "Dont-Sign-Me.pdf",
          "name": "Do not sign this doc",
          "type": "pdf"
        }
      ],
      "weld": Weld,
      "weldVersionId": 987,
      "submissions": [Submission],
      "documentGroup": DocumentGroup,
      "webhookLogs": [WebhookLog],
      "etchLogEvents": [EtchLog],
      "weldDataLogEvents": [WeldDataLog],
      "userUploads": [UserUpload],
      "forgesRequiringCompletion": [Forge],
      "weldDataGroup": WeldDataGroup,
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
Name Description
organizationEid - String
title - String
file - Upload!
isTemplate - Boolean Default = true
allowedAliasIds - [String]
detectFields - Boolean Default = true

Example

Query
mutation createCast(
  $organizationEid: String,
  $title: String,
  $file: Upload!,
  $isTemplate: Boolean,
  $allowedAliasIds: [String],
  $detectFields: Boolean
) {
  createCast(
    organizationEid: $organizationEid,
    title: $title,
    file: $file,
    isTemplate: $isTemplate,
    allowedAliasIds: $allowedAliasIds,
    detectFields: $detectFields
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    type
    name
    title
    isTemplate
    exampleData
    allowedAliasIds
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "title": "Cast Title",
  "file": {
    "data": "base64filestring===",
    "mimetype": "application/pdf",
    "filename": "my-file.pdf"
  },
  "isTemplate": true,
  "allowedAliasIds": ["abc123"],
  "detectFields": true
}
Response
{
  "data": {
    "createCast": {
      "versionNumber": 987,
      "versionId": 987,
      "latestDraftVersionNumber": 987,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": false,
      "hasBeenPublished": true,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "application/pdf",
      "name": "Cast Name",
      "title": "Cast Title",
      "isTemplate": false,
      "exampleData": {},
      "allowedAliasIds": ["abc123"],
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "parentCast": Cast,
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
Name Description
name - String
organizationEid - String
isDraft - Boolean When 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 - Boolean When 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 - JSON Specifies data to fill documents in the files array. See the guide for details.
replyToName - String Overrides the replyTo header on emails sent to signers. By default, this will be your organization name.
replyToEmail - String Overrides the replyTo header on emails sent to signers. By default, this will be the support email listed in your organization settings.
signatureEmailSubject - String Customizes the email subject on signer emails
signatureEmailBody - String Customizes the email body on signer emails
signaturePageOptions - JSON Allows 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 - Boolean Set to true to save uploaded PDFs to your PDF templates.
duplicateCasts - Boolean Set 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 - Boolean When enabled, merges all PDFs before users sign. All signers will sign one (potentially large) PDF.
allowUpdates - Boolean When enabled, the EtchPacket payload can be updated. Requires a plan that allows EtchPacket updates. Default = false
webhookURL - String Allows you to set a webhook URL called specifically for actions on the resulting EtchPacket
signatureProvider - String

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
) {
  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
  ) {
    eid
    name
    status
    isTest
    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": true,
  "isTest": true,
  "files": [EtchFile],
  "signers": [{}],
  "data": {},
  "replyToName": "abc123",
  "replyToEmail": "user@domain.com",
  "signatureEmailSubject": "xyz789",
  "signatureEmailBody": "xyz789",
  "signaturePageOptions": {},
  "enableEmails": {},
  "createCastTemplatesFromUploads": true,
  "duplicateCasts": false,
  "mergePDFs": false,
  "allowUpdates": false,
  "webhookURL": "https://domain.com/page.html",
  "signatureProvider": "xyz789"
}
Response
{
  "data": {
    "createEtchPacket": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchPacket Name",
      "status": "completed",
      "isTest": true,
      "allowUpdates": false,
      "containsFillData": true,
      "payload": {
        "myPDFId": {
          "textColor": "#000000",
          "data": {"email": "hello@example.com"}
        }
      },
      "numberRemainingSigners": 987,
      "detailsURL": "https://app.useanvil.com/org/my-org/etch/nA1jH49FVUWrrE60hMbi",
      "webhookURL": "https://yoursite.com/webhooks/anvil",
      "organization": Organization,
      "documentGroup": DocumentGroup,
      "etchTemplate": EtchTemplate,
      "userUploads": [UserUpload],
      "etchLogEvents": [EtchLog],
      "webhookLogs": [WebhookLog],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
Name Description
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
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    name
    slug
    isRequired
    config
    fieldInfo
    weld {
      ...WeldFragment
    }
    organization {
      ...OrganizationFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    createdAt
    updatedAt
    archivedAt
    examplePayload
  }
}
Variables
{
  "weldEid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Forge Name",
  "slug": "forge-name",
  "config": {},
  "castEid": "kQp2qd9FVUWrrE60hMbi",
  "castFieldIds": {}
}
Response
{
  "data": {
    "createForge": {
      "versionNumber": 987,
      "versionId": 123,
      "latestDraftVersionNumber": 987,
      "publishedNumber": 987,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": false,
      "hasBeenPublished": true,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Forge Name",
      "slug": "forge-name",
      "isRequired": true,
      "config": {},
      "fieldInfo": {},
      "weld": Weld,
      "organization": Organization,
      "userUploads": [UserUpload],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03",
      "examplePayload": {}
    }
  }
}

createSubmission

Response

Returns a Submission

Arguments
Name Description
forgeEid - String!
weldDataEid - String!

Example

Query
mutation createSubmission(
  $forgeEid: String!,
  $weldDataEid: String!
) {
  createSubmission(
    forgeEid: $forgeEid,
    weldDataEid: $weldDataEid
  ) {
    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": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "status": "in-progress",
      "resolvedPayload": {
        "email": {
          "id": "f162136372633517",
          "aliasId": "email",
          "type": "email",
          "label": "Email",
          "value": "hello@example.com"
        }
      },
      "payload": {
        "f162136372633517": {"type": "email", "value": "hello@example.com"}
      },
      "payloadValue": {"f162136372633517": "hello@example.com"},
      "currentStep": 123,
      "totalSteps": 123,
      "continueURL": "https://app.useanvil.com/form/demo/my-form/nA1jH49FVUWrrE60hMbi",
      "weldData": WeldData,
      "forge": Forge,
      "user": User,
      "signer": Signer,
      "reviewData": {},
      "completionPercentage": 33.33,
      "isExcluded": true,
      "touchedByUser": false,
      "requestMeta": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "completedAt": "2007-12-03"
    }
  }
}

createWebhook

Response

Returns an Organization

Arguments
Name Description
organizationEid - String
organizationSlug - String
url - String

Example

Query
mutation createWebhook(
  $organizationEid: String,
  $organizationSlug: String,
  $url: String
) {
  createWebhook(
    organizationEid: $organizationEid,
    organizationSlug: $organizationSlug,
    url: $url
  ) {
    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": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "stylesheetURL": "https://example.com/anvil-styles.css",
      "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-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
    }
  }
}

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
Name Description
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 - String The 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 - String If you want to create a new Webhook on-the-fly, you must specify the Organization eid here.
url - String If 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": "weldComplete",
  "objectType": "Weld",
  "objectEid": "yCQJfRJT1U2nFra3IO9J",
  "config": {"encryptData": false},
  "webhookEid": "XmUQ6Z49ut3MOJCazibv",
  "organizationEid": "Q1NQXJHoAbRxsl1wKEAq",
  "url": "https://yoursite.com/webhooks/anvil"
}
Response
{
  "data": {
    "createWebhookAction": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "webhook": Webhook,
      "action": "abc123",
      "objectEid": "kQp2qd9FVUWrrE60hMbi",
      "objectType": "xyz789",
      "config": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
Name Description
organizationEid - String!
name - String
slug - String
visibility - String
draftStep - String
config - JSON
castEid - String
files - [WeldFile]
createCastTemplatesFromUploads - Boolean Set to true to save uploaded PDFs to your PDF templates.

Example

Query
mutation createWeld(
  $organizationEid: String!,
  $name: String,
  $slug: String,
  $visibility: String,
  $draftStep: String,
  $config: JSON,
  $castEid: String,
  $files: [WeldFile],
  $createCastTemplatesFromUploads: Boolean
) {
  createWeld(
    organizationEid: $organizationEid,
    name: $name,
    slug: $slug,
    visibility: $visibility,
    draftStep: $draftStep,
    config: $config,
    castEid: $castEid,
    files: $files,
    createCastTemplatesFromUploads: $createCastTemplatesFromUploads
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    slug
    name
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
    stylesheetURL
  }
}
Variables
{
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Weld Name",
  "slug": "weld-name",
  "visibility": "xyz789",
  "draftStep": "xyz789",
  "config": {},
  "castEid": "kQp2qd9FVUWrrE60hMbi",
  "files": [WeldFile],
  "createCastTemplatesFromUploads": false
}
Response
{
  "data": {
    "createWeld": {
      "versionNumber": 987,
      "versionId": 123,
      "latestDraftVersionNumber": 987,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": false,
      "hasBeenPublished": false,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "visibility": "live",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "signatureProviderType": "etch",
      "availableSignatureProviderTypes": ["etch", "docusign"],
      "remainingSubmissions": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "stylesheetURL": "https://domain.com/page.html"
    }
  }
}

createWeldData

Response

Returns a WeldData

Arguments
Name Description
weldEid - String!
weldDataGroupEid - String
isTest - Boolean Default = false
webhookURL - String

Example

Query
mutation createWeldData(
  $weldEid: String!,
  $weldDataGroupEid: String,
  $isTest: Boolean,
  $webhookURL: String
) {
  createWeldData(
    weldEid: $weldEid,
    weldDataGroupEid: $weldDataGroupEid,
    isTest: $isTest,
    webhookURL: $webhookURL
  ) {
    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"
}
Response
{
  "data": {
    "createWeldData": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "displayTitle": "Sally's workflow submission",
      "status": "in-progress",
      "isTest": true,
      "isExpired": false,
      "isComplete": false,
      "isAllComplete": true,
      "continueURL": "https://app.useanvil.com/form/demo/my-form/nA1jH49FVUWrrE60hMbi",
      "webhookURL": "https://yoursite.com/webhooks/anvil",
      "completionPercentage": 0.2,
      "numberRemainingSigners": 987,
      "payloadCanBeUpdated": false,
      "hasSigners": false,
      "nextSigner": Signer,
      "nextSigners": [Signer],
      "hasPin": false,
      "pin": "9876",
      "agents": {},
      "files": [
        {
          "downloadURL": "https://app.useanvil.com/api/document-group/nA1jH49FVUWrrE60hMbi/Hello-World.pdf",
          "filename": "Hello-World.pdf",
          "name": "Hello World",
          "type": "pdf"
        }
      ],
      "excludedFiles": [
        {
          "downloadURL": "https://app.useanvil.com/api/document-group/nA1jH49FVUWrrE60hMbi/Dont-Sign-Me.pdf",
          "filename": "Dont-Sign-Me.pdf",
          "name": "Do not sign this doc",
          "type": "pdf"
        }
      ],
      "weld": Weld,
      "weldVersionId": 123,
      "submissions": [Submission],
      "documentGroup": DocumentGroup,
      "webhookLogs": [WebhookLog],
      "etchLogEvents": [EtchLog],
      "weldDataLogEvents": [WeldDataLog],
      "userUploads": [UserUpload],
      "forgesRequiringCompletion": [Forge],
      "weldDataGroup": WeldDataGroup,
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
Name Description
eid - String!

Example

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

disconnectDocusign

Response

Returns an Organization

Arguments
Name Description
organizationSlug - String!

Example

Query
mutation disconnectDocusign($organizationSlug: String!) {
  disconnectDocusign(organizationSlug: $organizationSlug) {
    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": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "stylesheetURL": "https://example.com/anvil-styles.css",
      "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": true,
      "useTestSignatureProvider": true,
      "config": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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": false
    }
  }
}

duplicateCast

Response

Returns a Cast

Arguments
Name Description
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
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    type
    name
    title
    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": 987,
      "latestDraftVersionNumber": 123,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": true,
      "hasBeenPublished": false,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "application/pdf",
      "name": "Cast Name",
      "title": "Cast Title",
      "isTemplate": true,
      "exampleData": {},
      "allowedAliasIds": ["xyz789"],
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "parentCast": Cast,
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03"
    }
  }
}

duplicateWeld

Response

Returns a Weld

Arguments
Name Description
eid - String!
organizationEid - String!
visibility - String
name - String
slug - String

Example

Query
mutation duplicateWeld(
  $eid: String!,
  $organizationEid: String!,
  $visibility: String,
  $name: String,
  $slug: String
) {
  duplicateWeld(
    eid: $eid,
    organizationEid: $organizationEid,
    visibility: $visibility,
    name: $name,
    slug: $slug
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    slug
    name
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
    stylesheetURL
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "visibility": "abc123",
  "name": "Weld Name",
  "slug": "weld-name"
}
Response
{
  "data": {
    "duplicateWeld": {
      "versionNumber": 123,
      "versionId": 987,
      "latestDraftVersionNumber": 123,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": false,
      "hasBeenPublished": false,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "visibility": "live",
      "config": {},
      "organization": Organization,
      "hasSigners": true,
      "forges": [Forge],
      "casts": [Cast],
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "signatureProviderType": "etch",
      "availableSignatureProviderTypes": ["etch", "docusign"],
      "remainingSubmissions": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "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
Name Description
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": "5rWHgjLUIuPpqWXRhB9l"}
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
Name Description
signerEid - String!

Example

Query
mutation expireSignerTokens($signerEid: String!) {
  expireSignerTokens(signerEid: $signerEid) {
    eid
    aliasId
    status
    provider
    name
    email
    routingOrder
    signActionType
    user {
      ...UserFragment
    }
    submission {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    signerTokens {
      ...SignerTokenFragment
    }
    createdAt
    updatedAt
    completedAt
    clientUserId
  }
}
Variables
{"signerEid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "expireSignerTokens": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "aliasId": "signer1",
      "status": "sent",
      "provider": "etch",
      "name": "Signer Name",
      "email": "user@domain.com",
      "routingOrder": 123,
      "signActionType": "email",
      "user": User,
      "submission": Submission,
      "documentGroup": DocumentGroup,
      "signerTokens": [SignerToken],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "completedAt": "2007-12-03",
      "clientUserId": "mySigner1"
    }
  }
}

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
Name Description
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 - Boolean Default = true
currentStep - Int
complete - Boolean
isTest - Boolean Default = false
timezone - String
webhookURL - String
groupArrayId - String
groupArrayIndex - Int

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
) {
  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
  ) {
    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": 123,
  "complete": false,
  "isTest": false,
  "timezone": "America/Los_Angeles",
  "webhookURL": "https://domain.com/page.html",
  "groupArrayId": "abc123",
  "groupArrayIndex": 123
}
Response
{
  "data": {
    "forgeSubmit": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "status": "in-progress",
      "resolvedPayload": {
        "email": {
          "id": "f162136372633517",
          "aliasId": "email",
          "type": "email",
          "label": "Email",
          "value": "hello@example.com"
        }
      },
      "payload": {
        "f162136372633517": {"type": "email", "value": "hello@example.com"}
      },
      "payloadValue": {"f162136372633517": "hello@example.com"},
      "currentStep": 123,
      "totalSteps": 123,
      "continueURL": "https://app.useanvil.com/form/demo/my-form/nA1jH49FVUWrrE60hMbi",
      "weldData": WeldData,
      "forge": Forge,
      "user": User,
      "signer": Signer,
      "reviewData": {},
      "completionPercentage": 33.33,
      "isExcluded": true,
      "touchedByUser": true,
      "requestMeta": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
Name Description
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 2024-09-09T01:38:06+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 - JSON Options to control many parts of a token user's experience. Currently only supported when type is edit-pdf-template.
metadata - JSON Any information that you would like to associate with this embedded URL request

Example

Query
mutation generateEmbedURL(
  $type: String!,
  $eid: String!,
  $validUntil: String,
  $validForSeconds: Int,
  $options: JSON,
  $metadata: JSON
) {
  generateEmbedURL(
    type: $type,
    eid: $eid,
    validUntil: $validUntil,
    validForSeconds: $validForSeconds,
    options: $options,
    metadata: $metadata
  ) {
    requestTokenEid
    url
  }
}
Variables
{
  "type": "edit-pdf-template",
  "eid": "jdWxud1HQdYigmOUzvHC",
  "validUntil": "2024-09-09T01:38:06+00:00",
  "validForSeconds": 86400,
  "options": {
    "mode": "preset-fields",
    "pageTitle": "Title of the page",
    "title": "Sidebar title",
    "description": "This supports **markdown**.",
    "selectionDescription": "Details on how to use this form",
    "fields": [
      {
        "name": "Full name",
        "type": "fullName",
        "aliasId": "name",
        "required": true
      },
      {"name": "Email", "type": "email", "aliasId": "email", "required": true},
      {
        "name": "Date of birth",
        "description": "The date the user was born",
        "type": "date",
        "aliasId": "dob",
        "format": "MMMM Do YYYY",
        "required": false
      }
    ]
  },
  "metadata": {"internalUserId": 123}
}
Response
{
  "data": {
    "generateEmbedURL": {
      "requestTokenEid": "fTu1EphZof4Gcdk31yvc",
      "url": "https://app.useanvil.com/auth/tokenized/login?token=fTu1EphZof4Gcdk31yvc"
    }
  }
}

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
Name Description
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": "xyz789"
}
Response
{"data": {"generateEtchSignURL": "xyz789"}}

mergeWelds

Response

Returns a Weld

Arguments
Name Description
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
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    slug
    name
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
    stylesheetURL
  }
}
Variables
{
  "weldEids": ["xyz789"],
  "deduplicateWebformFields": true,
  "name": "Weld Name",
  "slug": "weld-name",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "autoPublish": false,
  "autoPublishTitle": "xyz789",
  "autoPublishDescription": "abc123"
}
Response
{
  "data": {
    "mergeWelds": {
      "versionNumber": 123,
      "versionId": 987,
      "latestDraftVersionNumber": 123,
      "publishedNumber": 987,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": true,
      "hasBeenPublished": false,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "visibility": "live",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "signatureProviderType": "etch",
      "availableSignatureProviderTypes": ["etch", "docusign"],
      "remainingSubmissions": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "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
Name Description
signerEid - String!

Example

Query
mutation notifySigner($signerEid: String!) {
  notifySigner(signerEid: $signerEid) {
    eid
    aliasId
    status
    provider
    name
    email
    routingOrder
    signActionType
    user {
      ...UserFragment
    }
    submission {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    signerTokens {
      ...SignerTokenFragment
    }
    createdAt
    updatedAt
    completedAt
    clientUserId
  }
}
Variables
{"signerEid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "notifySigner": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "aliasId": "signer1",
      "status": "sent",
      "provider": "etch",
      "name": "Signer Name",
      "email": "user@domain.com",
      "routingOrder": 987,
      "signActionType": "email",
      "user": User,
      "submission": Submission,
      "documentGroup": DocumentGroup,
      "signerTokens": [SignerToken],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "completedAt": "2007-12-03",
      "clientUserId": "mySigner1"
    }
  }
}

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
Name Description
eid - String The object's eid
title - String
description - String

Example

Query
mutation publishCast(
  $eid: String,
  $title: String,
  $description: String
) {
  publishCast(
    eid: $eid,
    title: $title,
    description: $description
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    type
    name
    title
    isTemplate
    exampleData
    allowedAliasIds
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "title": "Cast Title",
  "description": "xyz789"
}
Response
{
  "data": {
    "publishCast": {
      "versionNumber": 987,
      "versionId": 987,
      "latestDraftVersionNumber": 123,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": true,
      "hasBeenPublished": true,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "application/pdf",
      "name": "Cast Name",
      "title": "Cast Title",
      "isTemplate": false,
      "exampleData": {},
      "allowedAliasIds": ["xyz789"],
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "parentCast": Cast,
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
Name Description
eid - String The object's eid
title - String
description - String
migrateOpenWeldDatas - Boolean A 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,
  $title: String,
  $description: String,
  $migrateOpenWeldDatas: Boolean
) {
  publishWeld(
    eid: $eid,
    title: $title,
    description: $description,
    migrateOpenWeldDatas: $migrateOpenWeldDatas
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    slug
    name
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
    stylesheetURL
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "title": "Weld Title",
  "description": "xyz789",
  "migrateOpenWeldDatas": true
}
Response
{
  "data": {
    "publishWeld": {
      "versionNumber": 987,
      "versionId": 123,
      "latestDraftVersionNumber": 123,
      "publishedNumber": 987,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": true,
      "hasBeenPublished": false,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "visibility": "live",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "signatureProviderType": "etch",
      "availableSignatureProviderTypes": ["etch", "docusign"],
      "remainingSubmissions": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "stylesheetURL": "https://domain.com/page.html"
    }
  }
}

removeEtchPacket

Response

Returns a Boolean

Arguments
Name Description
eid - String!

Example

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

removeWebhook

Response

Returns an Organization

Arguments
Name Description
eid - String!

Example

Query
mutation removeWebhook($eid: String!) {
  removeWebhook(eid: $eid) {
    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": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "stylesheetURL": "https://example.com/anvil-styles.css",
      "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-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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": [
        "xyz789"
      ],
      "isSso": false
    }
  }
}

removeWebhookAction

Description

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

Response

Returns a Boolean

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

Example

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

removeWeldData

Response

Returns a Boolean

Arguments
Name Description
eid - String!

Example

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

retryWebhookLog

Response

Returns a WebhookLog

Arguments
Name Description
eid - String!

Example

Query
mutation retryWebhookLog($eid: String!) {
  retryWebhookLog(eid: $eid) {
    eid
    action
    isError
    isRetry
    statusCode
    millisecondsToFinish
    objectEid
    rootObjectType
    rootObjectURL
    objectMetadata
    organization {
      ...OrganizationFragment
    }
    originalWebhookLog {
      ...WebhookLogFragment
    }
    createdAt
  }
}
Variables
{"eid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "retryWebhookLog": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "action": "weldComplete",
      "isError": false,
      "isRetry": true,
      "statusCode": 987,
      "millisecondsToFinish": 123,
      "objectEid": "kQp2qd9FVUWrrE60hMbi",
      "rootObjectType": "WeldData",
      "rootObjectURL": "https://app.useanvil.com/org/my-org/w/my-workflow/iXLRleX92vhwF8cIhsk2",
      "objectMetadata": {},
      "organization": Organization,
      "originalWebhookLog": WebhookLog,
      "createdAt": "2024-03-09T01:39:12.476Z"
    }
  }
}

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
Name Description
eid - String!

Example

Query
mutation sendEtchPacket($eid: String!) {
  sendEtchPacket(eid: $eid) {
    eid
    name
    status
    isTest
    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": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchPacket Name",
      "status": "completed",
      "isTest": true,
      "allowUpdates": true,
      "containsFillData": true,
      "payload": {
        "myPDFId": {
          "textColor": "#000000",
          "data": {"email": "hello@example.com"}
        }
      },
      "numberRemainingSigners": 987,
      "detailsURL": "https://app.useanvil.com/org/my-org/etch/nA1jH49FVUWrrE60hMbi",
      "webhookURL": "https://yoursite.com/webhooks/anvil",
      "organization": Organization,
      "documentGroup": DocumentGroup,
      "etchTemplate": EtchTemplate,
      "userUploads": [UserUpload],
      "etchLogEvents": [EtchLog],
      "webhookLogs": [WebhookLog],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03",
      "completedAt": "2007-12-03"
    }
  }
}

skipSigner

Response

Returns a Signer

Arguments
Name Description
signerEid - String!

Example

Query
mutation skipSigner($signerEid: String!) {
  skipSigner(signerEid: $signerEid) {
    eid
    aliasId
    status
    provider
    name
    email
    routingOrder
    signActionType
    user {
      ...UserFragment
    }
    submission {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    signerTokens {
      ...SignerTokenFragment
    }
    createdAt
    updatedAt
    completedAt
    clientUserId
  }
}
Variables
{"signerEid": "kQp2qd9FVUWrrE60hMbi"}
Response
{
  "data": {
    "skipSigner": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "aliasId": "signer1",
      "status": "sent",
      "provider": "etch",
      "name": "Signer Name",
      "email": "user@domain.com",
      "routingOrder": 123,
      "signActionType": "email",
      "user": User,
      "submission": Submission,
      "documentGroup": DocumentGroup,
      "signerTokens": [SignerToken],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "completedAt": "2007-12-03",
      "clientUserId": "mySigner1"
    }
  }
}

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
Name Description
eid - String!
name - String
title - String
isTemplate - Boolean
organizationEid - String
config - JSON
configFile - Upload
file - Upload
isArchived - Boolean
versionNumber - Int Used 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.
allowedAliasIds - [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,
  $allowedAliasIds: [String]
) {
  updateCast(
    eid: $eid,
    name: $name,
    title: $title,
    isTemplate: $isTemplate,
    organizationEid: $organizationEid,
    config: $config,
    configFile: $configFile,
    file: $file,
    isArchived: $isArchived,
    versionNumber: $versionNumber,
    allowedAliasIds: $allowedAliasIds
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    type
    name
    title
    isTemplate
    exampleData
    allowedAliasIds
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Cast Name",
  "title": "Cast Title",
  "isTemplate": true,
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "config": {},
  "configFile": {
    "data": "base64filestring===",
    "mimetype": "application/pdf",
    "filename": "my-file.pdf"
  },
  "file": {
    "data": "base64filestring===",
    "mimetype": "application/pdf",
    "filename": "my-file.pdf"
  },
  "isArchived": false,
  "versionNumber": 123,
  "allowedAliasIds": ["abc123"]
}
Response
{
  "data": {
    "updateCast": {
      "versionNumber": 123,
      "versionId": 987,
      "latestDraftVersionNumber": 123,
      "publishedNumber": 987,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": true,
      "hasBeenPublished": true,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "application/pdf",
      "name": "Cast Name",
      "title": "Cast Title",
      "isTemplate": true,
      "exampleData": {},
      "allowedAliasIds": ["abc123"],
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "parentCast": Cast,
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03"
    }
  }
}

updateEtchFree

Response

Returns an EtchTemplate

Arguments
Name Description
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
  ) {
    eid
    name
    isFree
    isRepeatable
    config
    organization {
      ...OrganizationFragment
    }
    casts {
      ...CastFragment
    }
    etchPackets {
      ...EtchPacketFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    createdAt
    updatedAt
  }
}
Variables
{
  "etchTemplateEid": "kQp2qd9FVUWrrE60hMbi",
  "token": "xyz789",
  "isEditing": true,
  "name": "EtchTemplate Name",
  "ownerName": "abc123",
  "ownerEmail": "user@domain.com",
  "signers": {},
  "fields": [{}],
  "castFields": [{}]
}
Response
{
  "data": {
    "updateEtchFree": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchTemplate Name",
      "isFree": false,
      "isRepeatable": false,
      "config": {},
      "organization": Organization,
      "casts": [Cast],
      "etchPackets": [EtchPacket],
      "userUploads": [UserUpload],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z"
    }
  }
}

updateEtchPacket

Response

Returns an EtchPacket

Arguments
Name Description
eid - String!
token - String
isArchived - Boolean
name - String
webhookURL - String
payload - JSON
mergePayloads - Boolean If 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

Example

Query
mutation updateEtchPacket(
  $eid: String!,
  $token: String,
  $isArchived: Boolean,
  $name: String,
  $webhookURL: String,
  $payload: JSON,
  $mergePayloads: Boolean
) {
  updateEtchPacket(
    eid: $eid,
    token: $token,
    isArchived: $isArchived,
    name: $name,
    webhookURL: $webhookURL,
    payload: $payload,
    mergePayloads: $mergePayloads
  ) {
    eid
    name
    status
    isTest
    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
}
Response
{
  "data": {
    "updateEtchPacket": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchPacket Name",
      "status": "completed",
      "isTest": true,
      "allowUpdates": false,
      "containsFillData": true,
      "payload": {
        "myPDFId": {
          "textColor": "#000000",
          "data": {"email": "hello@example.com"}
        }
      },
      "numberRemainingSigners": 123,
      "detailsURL": "https://app.useanvil.com/org/my-org/etch/nA1jH49FVUWrrE60hMbi",
      "webhookURL": "https://yoursite.com/webhooks/anvil",
      "organization": Organization,
      "documentGroup": DocumentGroup,
      "etchTemplate": EtchTemplate,
      "userUploads": [UserUpload],
      "etchLogEvents": [EtchLog],
      "webhookLogs": [WebhookLog],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03",
      "completedAt": "2007-12-03"
    }
  }
}

updateEtchTemplate

Response

Returns an EtchTemplate

Arguments
Name Description
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
  ) {
    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": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchTemplate Name",
      "isFree": true,
      "isRepeatable": true,
      "config": {},
      "organization": Organization,
      "casts": [Cast],
      "etchPackets": [EtchPacket],
      "userUploads": [UserUpload],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z"
    }
  }
}

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
Name Description
eid - String!
name - String
slug - String
config - JSON
configFile - Upload
isArchived - Boolean
isRequired - Boolean
title - String
organizationRole - String
unauthenticatedAuthType - String
versionNumber - Int Used 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
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    name
    slug
    isRequired
    config
    fieldInfo
    weld {
      ...WeldFragment
    }
    organization {
      ...OrganizationFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    createdAt
    updatedAt
    archivedAt
    examplePayload
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Forge Name",
  "slug": "forge-name",
  "config": {},
  "configFile": {
    "data": "base64filestring===",
    "mimetype": "application/pdf",
    "filename": "my-file.pdf"
  },
  "isArchived": false,
  "isRequired": true,
  "title": "Forge Title",
  "organizationRole": "abc123",
  "unauthenticatedAuthType": "xyz789",
  "versionNumber": 123
}
Response
{
  "data": {
    "updateForge": {
      "versionNumber": 123,
      "versionId": 987,
      "latestDraftVersionNumber": 123,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": true,
      "hasBeenPublished": true,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Forge Name",
      "slug": "forge-name",
      "isRequired": true,
      "config": {},
      "fieldInfo": {},
      "weld": Weld,
      "organization": Organization,
      "userUploads": [UserUpload],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03",
      "examplePayload": {}
    }
  }
}

updateOrganization

Response

Returns an Organization

Arguments
Name Description
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
useSignatureModeDraw - Boolean
acceptEachField - Boolean
enableEmails - Boolean
requireInPersonSignature - Boolean
showFinishSigningButton - Boolean
addUuid - Boolean

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,
  $useSignatureModeDraw: Boolean,
  $acceptEachField: Boolean,
  $enableEmails: Boolean,
  $requireInPersonSignature: Boolean,
  $showFinishSigningButton: Boolean,
  $addUuid: Boolean
) {
  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,
    useSignatureModeDraw: $useSignatureModeDraw,
    acceptEachField: $acceptEachField,
    enableEmails: $enableEmails,
    requireInPersonSignature: $requireInPersonSignature,
    showFinishSigningButton: $showFinishSigningButton,
    addUuid: $addUuid
  ) {
    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": {
    "data": "base64filestring===",
    "mimetype": "application/pdf",
    "filename": "my-file.pdf"
  },
  "billingEmail": "user@domain.com",
  "supportEmail": "user@domain.com",
  "slug": "organization-name",
  "defaultSourceId": "abc123",
  "signatureProvider": "xyz789",
  "config": {},
  "usePDFFillingAPI": false,
  "weldCompleteEmailRecipients": {},
  "signerViewEmailRecipients": {},
  "signerCompleteEmailRecipients": {},
  "etchCompleteEmailRecipients": {},
  "weldCompleteEmailEnableForTest": true,
  "stylesheetURL": "https://domain.com/page.html",
  "useSignatureModeDraw": false,
  "acceptEachField": true,
  "enableEmails": true,
  "requireInPersonSignature": false,
  "showFinishSigningButton": false,
  "addUuid": true
}
Response
{
  "data": {
    "updateOrganization": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "stylesheetURL": "https://example.com/anvil-styles.css",
      "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-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
    }
  }
}

updateOrganizationUser

Response

Returns an Organization

Arguments
Name Description
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
  ) {
    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": "xyz789",
  "externalId": "abc123",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "userEid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "updateOrganizationUser": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "stylesheetURL": "https://example.com/anvil-styles.css",
      "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": false,
      "config": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
    }
  }
}

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
Name Description
eid - String! The eid of the Signer to update.
name - String The signer's new name.
email - String The signer's new email address.
aliasId - String Optionally 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 - Boolean If 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
  ) {
    eid
    aliasId
    status
    provider
    name
    email
    routingOrder
    signActionType
    user {
      ...UserFragment
    }
    submission {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    signerTokens {
      ...SignerTokenFragment
    }
    createdAt
    updatedAt
    completedAt
    clientUserId
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Signer Name",
  "email": "user@domain.com",
  "aliasId": "signer1",
  "activateIfPending": false
}
Response
{
  "data": {
    "updateSigner": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "aliasId": "signer1",
      "status": "sent",
      "provider": "etch",
      "name": "Signer Name",
      "email": "user@domain.com",
      "routingOrder": 987,
      "signActionType": "email",
      "user": User,
      "submission": Submission,
      "documentGroup": DocumentGroup,
      "signerTokens": [SignerToken],
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "completedAt": "2007-12-03",
      "clientUserId": "mySigner1"
    }
  }
}

updateSubmission

Response

Returns a Submission

Arguments
Name Description
eid - String!
isExcluded - Boolean

Example

Query
mutation updateSubmission(
  $eid: String!,
  $isExcluded: Boolean
) {
  updateSubmission(
    eid: $eid,
    isExcluded: $isExcluded
  ) {
    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": true}
Response
{
  "data": {
    "updateSubmission": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "status": "in-progress",
      "resolvedPayload": {
        "email": {
          "id": "f162136372633517",
          "aliasId": "email",
          "type": "email",
          "label": "Email",
          "value": "hello@example.com"
        }
      },
      "payload": {
        "f162136372633517": {"type": "email", "value": "hello@example.com"}
      },
      "payloadValue": {"f162136372633517": "hello@example.com"},
      "currentStep": 123,
      "totalSteps": 987,
      "continueURL": "https://app.useanvil.com/form/demo/my-form/nA1jH49FVUWrrE60hMbi",
      "weldData": WeldData,
      "forge": Forge,
      "user": User,
      "signer": Signer,
      "reviewData": {},
      "completionPercentage": 33.33,
      "isExcluded": false,
      "touchedByUser": false,
      "requestMeta": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "completedAt": "2007-12-03"
    }
  }
}

updateWebhook

Response

Returns an Organization

Arguments
Name Description
eid - String!
url - String

Example

Query
mutation updateWebhook(
  $eid: String!,
  $url: String
) {
  updateWebhook(
    eid: $eid,
    url: $url
  ) {
    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": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "stylesheetURL": "https://example.com/anvil-styles.css",
      "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-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
    }
  }
}

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
Name Description
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 Used 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

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
) {
  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
  ) {
    versionNumber
    versionId
    latestDraftVersionNumber
    publishedNumber
    publishedAt
    hasUnpublishedChanges
    hasBeenPublished
    eid
    slug
    name
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
    stylesheetURL
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Weld Name",
  "slug": "weld-name",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "visibility": "xyz789",
  "config": {},
  "configFile": {
    "data": "base64filestring===",
    "mimetype": "application/pdf",
    "filename": "my-file.pdf"
  },
  "isArchived": true,
  "expiresAt": "abc123",
  "draftStep": "xyz789",
  "entryForgeId": 987,
  "entryButtonText": "abc123",
  "entryButtonCopyLink": false,
  "signatureEmailSubject": {},
  "signatureEmailBody": {},
  "dataDisplayTitle": {},
  "signatureMode": "xyz789",
  "signatureProvider": "xyz789",
  "lockedTitleNew": "abc123",
  "lockedDescriptionNew": "abc123",
  "lockedTitleExisting": "abc123",
  "lockedDescriptionExisting": "abc123",
  "expireAfterDaysComplete": 123,
  "expireAfterDaysStart": 987,
  "planEid": "kQp2qd9FVUWrrE60hMbi",
  "steps": {},
  "signatureStepsMode": "xyz789",
  "versionNumber": 987,
  "weldCompleteEmailRecipients": {},
  "weldCompleteEmailEnableForTest": false,
  "mergePDFs": true
}
Response
{
  "data": {
    "updateWeld": {
      "versionNumber": 123,
      "versionId": 123,
      "latestDraftVersionNumber": 987,
      "publishedNumber": 123,
      "publishedAt": "2007-12-03",
      "hasUnpublishedChanges": true,
      "hasBeenPublished": true,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "visibility": "live",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "signatureProviderType": "etch",
      "availableSignatureProviderTypes": ["etch", "docusign"],
      "remainingSubmissions": {},
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "archivedAt": "2007-12-03",
      "expiresAt": "2007-12-03",
      "stylesheetURL": "https://domain.com/page.html"
    }
  }
}

updateWeldData

Response

Returns a WeldData

Arguments
Name Description
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
  ) {
    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": true,
  "isArchived": true,
  "isExpired": true,
  "pin": "9876",
  "webhookURL": "https://domain.com/page.html"
}
Response
{
  "data": {
    "updateWeldData": {
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "displayTitle": "Sally's workflow submission",
      "status": "in-progress",
      "isTest": true,
      "isExpired": true,
      "isComplete": true,
      "isAllComplete": true,
      "continueURL": "https://app.useanvil.com/form/demo/my-form/nA1jH49FVUWrrE60hMbi",
      "webhookURL": "https://yoursite.com/webhooks/anvil",
      "completionPercentage": 0.2,
      "numberRemainingSigners": 123,
      "payloadCanBeUpdated": true,
      "hasSigners": false,
      "nextSigner": Signer,
      "nextSigners": [Signer],
      "hasPin": false,
      "pin": "9876",
      "agents": {},
      "files": [
        {
          "downloadURL": "https://app.useanvil.com/api/document-group/nA1jH49FVUWrrE60hMbi/Hello-World.pdf",
          "filename": "Hello-World.pdf",
          "name": "Hello World",
          "type": "pdf"
        }
      ],
      "excludedFiles": [
        {
          "downloadURL": "https://app.useanvil.com/api/document-group/nA1jH49FVUWrrE60hMbi/Dont-Sign-Me.pdf",
          "filename": "Dont-Sign-Me.pdf",
          "name": "Do not sign this doc",
          "type": "pdf"
        }
      ],
      "weld": Weld,
      "weldVersionId": 123,
      "submissions": [Submission],
      "documentGroup": DocumentGroup,
      "webhookLogs": [WebhookLog],
      "etchLogEvents": [EtchLog],
      "weldDataLogEvents": [WeldDataLog],
      "userUploads": [UserUpload],
      "forgesRequiringCompletion": [Forge],
      "weldDataGroup": WeldDataGroup,
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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
Name Description
weldDataEid - String
eid - String The DocumentGroup's eid
voidedReason - String!

Example

Query
mutation voidDocumentGroup(
  $weldDataEid: String,
  $eid: String,
  $voidedReason: String!
) {
  voidDocumentGroup(
    weldDataEid: $weldDataEid,
    eid: $eid,
    voidedReason: $voidedReason
  ) {
    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": {
      "eid": "nA1jH49FVUWrrE60hMbi",
      "status": "completed",
      "provider": "etch",
      "currentRoutingStep": 123,
      "files": [
        {
          "downloadURL": "https://app.useanvil.com/api/document-group/nA1jH49FVUWrrE60hMbi/Hello-World.pdf",
          "filename": "Hello-World.pdf",
          "name": "Hello World",
          "type": "pdf"
        }
      ],
      "weldData": WeldData,
      "etchPacket": EtchPacket,
      "signers": [Signer],
      "providerConfig": {},
      "finishPageConfig": {},
      "signaturePageConfig": {},
      "downloadZipURL": "http://app.useanvil.com/download/nA1jH49FVUWrrE60hMbi.zip",
      "createdAt": "2024-03-09T01:39:12.476Z",
      "updatedAt": "2024-03-09T01:39:12.476Z",
      "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 Name Description
versionNumber - Int Current version number of this Cast
versionId - Int
latestDraftVersionNumber - Int
publishedNumber - Int Current published version number of this Cast
publishedAt - Date
hasUnpublishedChanges - Boolean
hasBeenPublished - Boolean
eid - String The eid is the Cast's object identifier. It is also the PDF template ID.
type - String The file's mimetype. e.g. application/pdf
name - String The file name
title - String The title shown in the UI
isTemplate - Boolean true when this Cast was created as a template. Template casts show up in the PDF Templates page on your dashboard.
exampleData - JSON Example data payload to fill this PDF. Shown on the "API Info" tab for this template
allowedAliasIds - [String] Allowed Cast field alias IDs
fieldInfo - JSON A 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 - Cast If this Cast was originally copied from another Cast, this will be the original Cast.
createdAt - Date
updatedAt - Date
archivedAt - Date
Example
{
  "versionNumber": 987,
  "versionId": 987,
  "latestDraftVersionNumber": 123,
  "publishedNumber": 123,
  "publishedAt": "2007-12-03",
  "hasUnpublishedChanges": false,
  "hasBeenPublished": false,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "type": "application/pdf",
  "name": "Cast Name",
  "title": "Cast Title",
  "isTemplate": true,
  "exampleData": {},
  "allowedAliasIds": ["abc123"],
  "fieldInfo": {},
  "config": {},
  "organization": Organization,
  "parentCast": Cast,
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z",
  "archivedAt": "2007-12-03"
}

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 Name Description
eid - String The eid is the object identifier.
status - String Possible values: sent, delivered, partial, declined, voided, completed
provider - String Possible values: etch or docusign
currentRoutingStep - Int
files - [JSON] A file listing of all files in the DocumentGroup
weldData - WeldData The parent WeldData. This will only exist for DocumentGroups created by a Workflow.
etchPacket - EtchPacket The 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 - String The URL to download all documents as a zip file
createdAt - Date
updatedAt - Date
completedAt - Date Timestamp of when all Signers have finished signing or when all forms have been filled when no signers.
stylesheetURL - String
orgLogo - JSON
Example
{
  "eid": "nA1jH49FVUWrrE60hMbi",
  "status": "completed",
  "provider": "etch",
  "currentRoutingStep": 987,
  "files": [
    {
      "downloadURL": "https://app.useanvil.com/api/document-group/nA1jH49FVUWrrE60hMbi/Hello-World.pdf",
      "filename": "Hello-World.pdf",
      "name": "Hello World",
      "type": "pdf"
    }
  ],
  "weldData": WeldData,
  "etchPacket": EtchPacket,
  "signers": [Signer],
  "providerConfig": {},
  "finishPageConfig": {},
  "signaturePageConfig": {},
  "downloadZipURL": "http://app.useanvil.com/download/nA1jH49FVUWrrE60hMbi.zip",
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z",
  "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 Field Description
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 - String Filename set when creating the EtchPacket.
includeTimestamp - Boolean For generated PDFs, set to false to disable the "Generated at XXX" timestamp at the bottom of the document.
logo - JSON For generated PDFs, you can specify a logo to be rendered at the top of the document.
markup - JSON Holds HTML/CSS to generate PDF
page - JSON Holds page customizations to generate PDF
Example
{
  "id": "myDocument",
  "title": "My Document",
  "castEid": "nA1jH49FVUWrrE60hMbi",
  "file": {
    "data": "base64filestring===",
    "mimetype": "application/pdf",
    "filename": "my-file.pdf"
  },
  "base64File": {
    "data": "base64filestring===",
    "mimetype": "application/pdf",
    "filename": "my-file.pdf"
  },
  "fields": [{}],
  "pageSizes": [{}],
  "fontSize": 123,
  "textColor": "xyz789",
  "filename": "my-document.pdf",
  "includeTimestamp": true,
  "logo": {
    "src": "https://example.com/mtnlogo.png",
    "maxWidth": 200,
    "maxHeight": 200
  },
  "markup": {"html": "<h1>Hello world!</h1>", "css": "h1 { color: red; }"},
  "page": {
    "width": "1000px",
    "height": "800px",
    "marginTop": "50px",
    "marginBottom": "50px",
    "marginLeft": "100px",
    "marginRight": "100px",
    "pageCount": "bottomCenter"
  }
}

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 Name Description
eid - String The eid is the object identifier.
action - String The action taken.
formattedLocation - String Location of the user taking the action.
fileId - String String id, often a filename, of any file related to the action taken.
metadata - JSON Any action-specific information.
user - User The Anvil User who took this action, if applicable.
signer - Signer The Signer who took the action, if applicable.
createdAt - Date
Example
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "action": "completed",
  "formattedLocation": "San Francisco, CA",
  "fileId": "some-form.pdf",
  "metadata": {},
  "user": User,
  "signer": Signer,
  "createdAt": "2024-03-09T01:39:12.476Z"
}

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 Name Description
eid - String The eid is the object identifier.
name - String The name shown in the UI.
status - String Possible values: draft, sent, delivered, partial, declined, voided, completed.
isTest - Boolean true when it is a test packet. You will not be charged for test packets. Filled and signed files will be watermarked.
allowUpdates - Boolean When enabled, the EtchPacket payload can be updated. Requires a plan that allows EtchPacket updates.
containsFillData - Boolean true when payload contains data that will fill PDFs
payload - JSON Data specified to fill PDFs in the packet.
numberRemainingSigners - Int
detailsURL - String URL to this EtchPacket in the dashboard. Any users in your organization can view this URL.
webhookURL - String The specific webhook notification URL for this EtchPacket. We will POST to this URL when users take various actions.
organization - Organization
documentGroup - DocumentGroup A 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 - EtchTemplate The 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
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "EtchPacket Name",
  "status": "completed",
  "isTest": false,
  "allowUpdates": true,
  "containsFillData": false,
  "payload": {
    "myPDFId": {"textColor": "#000000", "data": {"email": "hello@example.com"}}
  },
  "numberRemainingSigners": 123,
  "detailsURL": "https://app.useanvil.com/org/my-org/etch/nA1jH49FVUWrrE60hMbi",
  "webhookURL": "https://yoursite.com/webhooks/anvil",
  "organization": Organization,
  "documentGroup": DocumentGroup,
  "etchTemplate": EtchTemplate,
  "userUploads": [UserUpload],
  "etchLogEvents": [EtchLog],
  "webhookLogs": [WebhookLog],
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z",
  "archivedAt": "2007-12-03",
  "completedAt": "2007-12-03"
}

EtchPacketPage

Fields
Field Name Description
rowCount - Int Total number of rows found for the query before pagination
pageCount - Int Total number of pages of results
page - Int The requested page number
pageSize - Int The 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 Name Description
eid - String The 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
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "EtchTemplate Name",
  "isFree": false,
  "isRepeatable": true,
  "config": {},
  "organization": Organization,
  "casts": [Cast],
  "etchPackets": [EtchPacket],
  "userUploads": [UserUpload],
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z"
}

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 Name Description
versionNumber - Int Current version number of this Forge
versionId - Int
latestDraftVersionNumber - Int
publishedNumber - Int Current published version number of this Forge
publishedAt - Date
hasUnpublishedChanges - Boolean
hasBeenPublished - Boolean
eid - String The eid is the Forge/Webform's object identifier.
name - String
slug - String
isRequired - Boolean Is this forge required to complete the Workflow?
config - JSON
Arguments
onlyKeys - [String]
fieldInfo - JSON A 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 - JSON Example payload to fill this webform. Shown on the "API information" page for this webform's Workflow.
Example
{
  "versionNumber": 123,
  "versionId": 987,
  "latestDraftVersionNumber": 123,
  "publishedNumber": 123,
  "publishedAt": "2007-12-03",
  "hasUnpublishedChanges": true,
  "hasBeenPublished": true,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Forge Name",
  "slug": "forge-name",
  "isRequired": false,
  "config": {},
  "fieldInfo": {},
  "weld": Weld,
  "organization": Organization,
  "userUploads": [UserUpload],
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z",
  "archivedAt": "2007-12-03",
  "examplePayload": {}
}

ForgeMap

Fields
Field Name Description
eid - String The eid is the object identifier.
forgeA - Forge
forgeB - Forge
config - JSON
createdAt - Date
updatedAt - Date
Example
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "forgeA": Forge,
  "forgeB": Forge,
  "config": {},
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z"
}

GenerateEmbedURLResponse

Fields
Field Name Description
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": "fTu1EphZof4Gcdk31yvc",
  "url": "https://app.useanvil.com/auth/tokenized/login?token=fTu1EphZof4Gcdk31yvc"
}

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
987

Invoice

Fields
Field Name Description
startDate - Date
endDate - Date
totalAmount - Float
Example
{
  "startDate": "2007-12-03",
  "endDate": "2007-12-03",
  "totalAmount": 123.45
}

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 Name Description
eid - String The eid is the object identifier.
name - String
logo - JSON
logoURL - String URL to your logo. You can update this on your organization settings page.
stylesheetURL - String Your organization's white-label CSS stylesheet. You can update this on your organization settings page.
parentOrganization - Organization
billingEmail - String The email used for all billing related correspondence.
supportEmail - String Your 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 - Boolean Is this Organization set up for SSO-based authentication or not.
Example
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Organization Name",
  "logo": {},
  "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
  "stylesheetURL": "https://example.com/anvil-styles.css",
  "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-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z",
  "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": [
    "xyz789"
  ],
  "isSso": false
}

OrganizationUser

Fields
Field Name Description
role - String Role of this user within your org. Possible values: viewer, editor, billingAdmin, admin, tokenized, api
externalId - String A place to store your external system's unique identifier for this User.
user - User
organization - Organization
createdAt - Date
updatedAt - Date
Example
{
  "role": "admin",
  "externalId": "abc123",
  "user": User,
  "organization": Organization,
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z"
}

OrganizationUserInvite

Description

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

Fields
Field Name Description
eid - String The eid is the object identifier.
role - String Role of this user within your org. Possible values: viewer, editor, billingAdmin, admin, tokenized, api
externalId - String A 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
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "role": "admin",
  "externalId": "xyz789",
  "name": "OrganizationUserInvite Name",
  "email": "user@domain.com",
  "organization": Organization,
  "acceptedAt": "2007-12-03",
  "revokedAt": "2007-12-03",
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z"
}

PaymentMethod

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

Signer

Description

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

Fields
Field Name Description
eid - String The eid is the object identifier.
aliasId - String The Signer's user-specified id set on packet creation.
status - String Possible values: sent, viewed, delivered, voided, autoresponded, faxpending, created, skipped, pending, ignored, declined, idCheckFailed, completed
provider - String Possible values: etch or docusign.
name - String
email - String
routingOrder - Int Numeric step in the signing process where this user signs. Signers are routed in sorted order.
signActionType - String Indicates the method by which the user signs. Possible values: email, embedded, or in-person.
user - User A Anvil User associated with this signer.
submission - Submission An associated Submission. This wil exist for signers who sign at the end of a Workflow.
documentGroup - DocumentGroup A 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 - Date Timestamp when the Signer has finished signing.
clientUserId - String Your id for the person signing: a way to trace this signer back to a user in your system.
Example
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "aliasId": "signer1",
  "status": "sent",
  "provider": "etch",
  "name": "Signer Name",
  "email": "user@domain.com",
  "routingOrder": 987,
  "signActionType": "email",
  "user": User,
  "submission": Submission,
  "documentGroup": DocumentGroup,
  "signerTokens": [SignerToken],
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z",
  "completedAt": "2007-12-03",
  "clientUserId": "mySigner1"
}

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 Name Description
eid - String The eid is the object identifier.
type - String Type of token issued. Tells you how the token was issued. Values: api, sign-now, notify-signer, view
valid - Boolean true when this token is valid and can be used to sign.
hasSigned - Boolean true when this token was used to sign the Signer's documents.
createdAt - Date Date when the token was created
validUntil - Date Date of token expiration.
invalidatedAt - Date Date when the token was invalidated if explicitly invalidated. If invalid due to expiration, use validUntil.
signedAt - Date Date when the token was used to sign documents.
signer - Signer
Example
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "type": "api",
  "valid": true,
  "hasSigned": true,
  "createdAt": "2024-03-09T01:39:12.476Z",
  "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
"abc123"

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 Name Description
eid - String The eid is the object identifier.
status - String Possible 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 - JSON The payload resolved with field aliases and field information. If you need to fetch the submission payload, use this.
payload - JSON The raw payload
payloadValue - JSON The raw payload without types
currentStep - Int
totalSteps - Int
continueURL - String URL 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
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "status": "in-progress",
  "resolvedPayload": {
    "email": {
      "id": "f162136372633517",
      "aliasId": "email",
      "type": "email",
      "label": "Email",
      "value": "hello@example.com"
    }
  },
  "payload": {
    "f162136372633517": {"type": "email", "value": "hello@example.com"}
  },
  "payloadValue": {"f162136372633517": "hello@example.com"},
  "currentStep": 123,
  "totalSteps": 123,
  "continueURL": "https://app.useanvil.com/form/demo/my-form/nA1jH49FVUWrrE60hMbi",
  "weldData": WeldData,
  "forge": Forge,
  "user": User,
  "signer": Signer,
  "reviewData": {},
  "completionPercentage": 33.33,
  "isExcluded": false,
  "touchedByUser": true,
  "requestMeta": {},
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z",
  "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
{
  "data": "base64filestring===",
  "mimetype": "application/pdf",
  "filename": "my-file.pdf"
}

User

Fields
Field Name Description
eid - String The eid is the object identifier.
email - String
name - String
firstName - String
lastName - String
role - String What 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
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "email": "user@domain.com",
  "name": "User Name",
  "firstName": "Bobby",
  "lastName": "Jones",
  "role": "user",
  "verifiedEmail": "user@domain.com",
  "preferences": UserPreferences,
  "organizations": [Organization],
  "organizationUsers": [OrganizationUser],
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z",
  "onboarding": {},
  "extra": {},
  "numSentEtchPackets": 987
}

UserPreferences

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

UserUpload

Fields
Field Name Description
eid - String The eid is the object identifier.
location - String
user - User
etchPacket - EtchPacket
weldData - WeldData
forge - Forge
metadata - JSON
createdAt - Date
updatedAt - Date
Example
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "location": "abc123",
  "user": User,
  "etchPacket": EtchPacket,
  "weldData": WeldData,
  "forge": Forge,
  "metadata": {},
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z"
}

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 Name Description
eid - String The eid is the object identifier.
type - String Webhook URLs that accept notifications for any object will be prod. Per-object webhook URLs will have type adhoc.
status - String Prossible values: active or inactive.
url - String The URL Anvil will POST to.
token - String Use this token to make sure the request is from Anvil.
webhookActions - [WebhookAction]
creationUser - User
organization - Organization
createdAt - Date
updatedAt - Date
Example
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "type": "prod",
  "status": "active",
  "url": "https://domain.com/page.html",
  "token": "xyz789",
  "webhookActions": [WebhookAction],
  "creationUser": User,
  "organization": Organization,
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z"
}

WebhookAction

Description

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

Fields
Field Name Description
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": "xyz789",
  "config": {},
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z",
  "creationUser": User
}

WebhookActionConfigInput

Description

Configuration options for a Webhook Action.

Fields
Input Field Description
encryptData - Boolean Whether to encrypt the data payloads delivered by the Webhook call. Defaults to false. Default = false
Example
{"encryptData": false}

WebhookLog

Description

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

Fields
Field Name Description
eid - String The eid is the object identifier.
action - String The webhook action type, e.g. signerComplete.
isError - Boolean true when this call was considered an error. It will be an error when the status code is >= 400, or the request timed out.
isRetry - Boolean true when this call was a retry of a previous call.
statusCode - Int The status code returned by your server for this call.
millisecondsToFinish - Int Time it took to complete the webhook request.
objectEid - String
rootObjectType - String
rootObjectURL - String Dashboard 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 - WebhookLog If this call was a retry, originalWebhookLog will be WebhookLog that was retried.
createdAt - Date
Example
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "action": "weldComplete",
  "isError": false,
  "isRetry": false,
  "statusCode": 123,
  "millisecondsToFinish": 123,
  "objectEid": "kQp2qd9FVUWrrE60hMbi",
  "rootObjectType": "WeldData",
  "rootObjectURL": "https://app.useanvil.com/org/my-org/w/my-workflow/iXLRleX92vhwF8cIhsk2",
  "objectMetadata": {},
  "organization": Organization,
  "originalWebhookLog": WebhookLog,
  "createdAt": "2024-03-09T01:39:12.476Z"
}

WebhookLogPage

Fields
Field Name Description
rowCount - Int Total number of rows found for the query before pagination
pageCount - Int Total number of pages of results
page - Int The requested page number
pageSize - Int The 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 Name Description
versionNumber - Int Current version number of this Weld
versionId - Int
latestDraftVersionNumber - Int
publishedNumber - Int Current published version number of this Weld
publishedAt - Date
hasUnpublishedChanges - Boolean
hasBeenPublished - Boolean
eid - String The eid is the Weld/Workflow's object identifier.
slug - String
name - String
visibility - String
config - JSON Config 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 - WeldDataPage Fetch 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

signatureProviderType - String
availableSignatureProviderTypes - [String]
remainingSubmissions - JSON
createdAt - Date
updatedAt - Date
archivedAt - Date
expiresAt - Date
stylesheetURL - String
Example
{
  "versionNumber": 987,
  "versionId": 987,
  "latestDraftVersionNumber": 123,
  "publishedNumber": 987,
  "publishedAt": "2007-12-03",
  "hasUnpublishedChanges": false,
  "hasBeenPublished": false,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "slug": "weld-name",
  "name": "Weld Name",
  "visibility": "live",
  "config": {},
  "organization": Organization,
  "hasSigners": false,
  "forges": [Forge],
  "casts": [Cast],
  "weldGroups": [WeldGroup],
  "weldDatas": WeldDataPage,
  "signatureProviderType": "etch",
  "availableSignatureProviderTypes": ["etch", "docusign"],
  "remainingSubmissions": {},
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z",
  "archivedAt": "2007-12-03",
  "expiresAt": "2007-12-03",
  "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 Name Description
eid - String The eid is the object identifier.
displayTitle - String The title displayed in the UI.
status - String Possible values: created, in-progress, ready-to-sign, awaiting-signatures, completed, declined
isTest - Boolean true 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 - Boolean This WeldData has expired, either by passing the expiredAt date, or by being locked.
isComplete - Boolean true when all forms in the workflow have been filled. There may be signers who need to sign.
isAllComplete - Boolean true when status is completed: All forms have been filled, all signers have signed.
continueURL - String URL 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 - String The specific webhook notification URL for this WeldData. We will POST to this URL when users take various actions.
completionPercentage - Float How 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 - Weld The workflow this WeldData is related to.
weldVersionId - Int
submissions - [Submission] An array of all the underlying Submission objects holding data from each webform.
documentGroup - DocumentGroup A 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 - Date When a column on the WeldData itself was updated.
dataUpdatedAt - Date When a the data in any child Submission was last updated.
expiresAt - Date
archivedAt - Date
currentStepInfo - JSON
stylesheetURL - String
Example
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "displayTitle": "Sally's workflow submission",
  "status": "in-progress",
  "isTest": false,
  "isExpired": false,
  "isComplete": true,
  "isAllComplete": true,
  "continueURL": "https://app.useanvil.com/form/demo/my-form/nA1jH49FVUWrrE60hMbi",
  "webhookURL": "https://yoursite.com/webhooks/anvil",
  "completionPercentage": 0.2,
  "numberRemainingSigners": 123,
  "payloadCanBeUpdated": false,
  "hasSigners": true,
  "nextSigner": Signer,
  "nextSigners": [Signer],
  "hasPin": false,
  "pin": "9876",
  "agents": {},
  "files": [
    {
      "downloadURL": "https://app.useanvil.com/api/document-group/nA1jH49FVUWrrE60hMbi/Hello-World.pdf",
      "filename": "Hello-World.pdf",
      "name": "Hello World",
      "type": "pdf"
    }
  ],
  "excludedFiles": [
    {
      "downloadURL": "https://app.useanvil.com/api/document-group/nA1jH49FVUWrrE60hMbi/Dont-Sign-Me.pdf",
      "filename": "Dont-Sign-Me.pdf",
      "name": "Do not sign this doc",
      "type": "pdf"
    }
  ],
  "weld": Weld,
  "weldVersionId": 987,
  "submissions": [Submission],
  "documentGroup": DocumentGroup,
  "webhookLogs": [WebhookLog],
  "etchLogEvents": [EtchLog],
  "weldDataLogEvents": [WeldDataLog],
  "userUploads": [UserUpload],
  "forgesRequiringCompletion": [Forge],
  "weldDataGroup": WeldDataGroup,
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z",
  "dataUpdatedAt": "2007-12-03",
  "expiresAt": "2007-12-03",
  "archivedAt": "2007-12-03",
  "currentStepInfo": {},
  "stylesheetURL": "https://domain.com/page.html"
}

WeldDataGroup

Fields
Field Name Description
eid - String The 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
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "title": "WeldDataGroup Title",
  "isTest": true,
  "dataUpdatedAt": "2007-12-03",
  "weldGroup": WeldGroup,
  "weldDatas": [WeldData],
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z",
  "archivedAt": "2007-12-03"
}

WeldDataGroupPage

Fields
Field Name Description
rowCount - Int Total number of rows found for the query before pagination
pageCount - Int Total number of pages of results
page - Int The requested page number
pageSize - Int The 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 Name Description
eid - String The eid is the object identifier.
action - String The action taken.
formattedLocation - String Location of the user taking the action.
metadata - JSON Any action-specific information.
user - User The Anvil User who took this action, if applicable.
weldData - WeldData
submission - Submission
createdAt - Date
Example
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "action": "completed",
  "formattedLocation": "San Francisco, CA",
  "metadata": {},
  "user": User,
  "weldData": WeldData,
  "submission": Submission,
  "createdAt": "2024-03-09T01:39:12.476Z"
}

WeldDataPage

Fields
Field Name Description
rowCount - Int Total number of rows found for the query before pagination
pageCount - Int Total number of pages of results
page - Int The requested page number
pageSize - Int The 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 Field Description
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": "myDocument",
  "title": "My Document",
  "castEid": "nA1jH49FVUWrrE60hMbi",
  "file": {
    "data": "base64filestring===",
    "mimetype": "application/pdf",
    "filename": "my-file.pdf"
  },
  "mimetype": "xyz789",
  "name": "xyz789",
  "src": "xyz789",
  "stamp": 123.45
}

WeldGroup

Fields
Field Name Description
eid - String The 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
Example
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "WeldGroup Name",
  "slug": "weldgroup-name",
  "organization": Organization,
  "welds": [Weld],
  "weldDataGroups": WeldDataGroupPage,
  "createdAt": "2024-03-09T01:39:12.476Z",
  "updatedAt": "2024-03-09T01:39:12.476Z"
}

Sign up for a live demo

Request a 30-minute live demo today and we'll get in touch shortly. During the meeting our Sales team will help you find the right solution, including:
  • Simplifying data gathering
  • Streamlining document preparation
  • Requesting e-signatures
  • Building and scaling your business
Want to try Anvil first?Sign up for free
Want to try Anvil first?Sign up for free