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

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

API Endpoints
Production:
https://graphql.useanvil.com

Queries

cast

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

Name Description
eid - String!

Example

Query
query cast($eid: String!) {
  cast(eid: $eid) {
    id
    eid
    type
    name
    title
    isTemplate
    exampleData
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    versionNumber
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "cast": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "application/pdf",
      "name": "Cast Name",
      "title": "Cast Title",
      "isTemplate": false,
      "exampleData": {},
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "versionNumber": 987,
      "parentCast": Cast,
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

currentUser

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
Returns a User

Example

Query
query currentUser {
  currentUser {
    id
    eid
    email
    name
    firstName
    lastName
    role
    verifiedEmail
    preferences {
      ...UserPreferencesFragment
    }
    organizations {
      ...OrganizationFragment
    }
    organizationUsers {
      ...OrganizationUserFragment
    }
    createdAt
    updatedAt
    extra
  }
}
Response
{
  "data": {
    "currentUser": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "email": "user@domain.com",
      "name": "User Name",
      "firstName": "Bobby",
      "lastName": "Jones",
      "role": "user",
      "verifiedEmail": false,
      "preferences": UserPreferences,
      "organizations": [Organization],
      "organizationUsers": [OrganizationUser],
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "extra": {}
    }
  }
}

etchPacket

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
Returns an EtchPacket

Name Description
eid - String!

Example

Query
query etchPacket($eid: String!) {
  etchPacket(eid: $eid) {
    id
    eid
    name
    status
    isTest
    isFree
    containsFillData
    payload
    numberRemainingSigners
    detailsURL
    webhookURL
    organization {
      ...OrganizationFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    etchTemplate {
      ...EtchTemplateFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "etchPacket": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchPacket Name",
      "status": "completed",
      "isTest": false,
      "isFree": true,
      "containsFillData": false,
      "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": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-08-17T18:20:59.139Z"
    }
  }
}

forge

Fetch a single Forge. You must specify both the organizationSlug and eidOrSlug to fetch a Forge with this query.

A Forge holds configuration for a single web form. A Forge defines a web form's fields, the page fields are on, their types, web form 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
  }
}
Returns a Forge

Name Description
organizationSlug - String!
eidOrSlug - String!

Example

Query
query forge($organizationSlug: String!, $eidOrSlug: String!) {
  forge(organizationSlug: $organizationSlug, eidOrSlug: $eidOrSlug) {
    id
    eid
    name
    slug
    isRequired
    config
    fieldInfo
    weld {
      ...WeldFragment
    }
    organization {
      ...OrganizationFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    versionNumber
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "organizationSlug": "organization-slug",
  "eidOrSlug": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "forge": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Forge Name",
      "slug": "forge-name",
      "isRequired": false,
      "config": {},
      "fieldInfo": {},
      "weld": Weld,
      "organization": Organization,
      "userUploads": [UserUpload],
      "versionNumber": 987,
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

organization

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
  }
}
Returns an Organization

Name Description
organizationSlug - String!

Example

Query
query organization($organizationSlug: String!) {
  organization(organizationSlug: $organizationSlug) {
    id
    eid
    name
    logo
    logoURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...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
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
  }
}
Variables
{
  "organizationSlug": "organization-slug"
}
Response
{
  "data": {
    "organization": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": true,
      "isInternal": true,
      "isSubscribed": false,
      "useTestSignatureProvider": false,
      "config": {},
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 123,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "abc123",
      "availableSignatureProviderTypes": ["xyz789"]
    }
  }
}

signer

Fetches a single Signer.

A better 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

Returns a Signer

Name Description
eid - String!
token - String!

Example

Query
query signer($eid: String!, $token: String!) {
  signer(eid: $eid, token: $token) {
    id
    eid
    aliasId
    status
    provider
    name
    email
    routingOrder
    signActionType
    user {
      ...UserFragment
    }
    submission {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    createdAt
    updatedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "token": "abc123"
}
Response
{
  "data": {
    "signer": {
      "id": 987,
      "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,
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z"
    }
  }
}

submission

Fetches a single Submission. A Submission holds data submitted to a web form. 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
  }
}
Returns a Submission

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) {
    id
    eid
    status
    resolvedPayload
    payload
    payloadValue
    currentStep
    totalSteps
    continueURL
    weldData {
      ...WeldDataFragment
    }
    forge {
      ...ForgeFragment
    }
    user {
      ...UserFragment
    }
    signer {
      ...SignerFragment
    }
    reviewData
    completionPercentage
    isExcluded
    touchedByUser
    requestMeta
    createdAt
    updatedAt
    completedAt
  }
}
Variables
{
  "organizationSlug": "organization-slug",
  "forgeEidOrSlug": "kQp2qd9FVUWrrE60hMbi",
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "forceCreate": false,
  "timezone": "America/Los_Angeles"
}
Response
{
  "data": {
    "submission": {
      "id": 987,
      "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": true,
      "requestMeta": {},
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "completedAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

weld

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

Returns a Weld

Name Description
eid - String
slug - String
organizationSlug - String

Example

Query
query weld($eid: String, $slug: String, $organizationSlug: String) {
  weld(eid: $eid, slug: $slug, organizationSlug: $organizationSlug) {
    id
    eid
    slug
    name
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    versionNumber
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    hasWeldDatas
    weldDataCounts
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "slug": "weld-name",
  "organizationSlug": "organization-slug"
}
Response
{
  "data": {
    "weld": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "visibility": "live",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "versionNumber": 987,
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "hasWeldDatas": true,
      "weldDataCounts": {},
      "signatureProviderType": "etch",
      "availableSignatureProviderTypes": [
        [etch, docusign]
      ],
      "remainingSubmissions": {},
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-08-17T18:20:59.139Z",
      "expiresAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

weldData

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

Returns a WeldData

Name Description
eid - String!

Example

Query
query weldData($eid: String!) {
  weldData(eid: $eid) {
    id
    eid
    displayTitle
    status
    isTest
    isExpired
    isComplete
    isCompleteAndSigned
    continueURL
    webhookURL
    completionPercentage
    numberRemainingSigners
    payloadCanBeUpdated
    hasSigners
    nextSigner {
      ...SignerFragment
    }
    hasPin
    pin
    agents
    files
    excludedFiles
    weld {
      ...WeldFragment
    }
    submissions {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    weldDataLogEvents {
      ...WeldDataLogFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    forgesRequiringCompletion {
      ...ForgeFragment
    }
    weldDataGroup {
      ...WeldDataGroupFragment
    }
    createdAt
    updatedAt
    dataUpdatedAt
    expiresAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "weldData": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "displayTitle": "Sally's workflow submission",
      "status": "in-progress",
      "isTest": false,
      "isExpired": true,
      "isComplete": true,
      "isCompleteAndSigned": true,
      "continueURL": "https://app.useanvil.com/form/demo/my-form/nA1jH49FVUWrrE60hMbi",
      "webhookURL": "https://yoursite.com/webhooks/anvil",
      "completionPercentage": 0.2,
      "numberRemainingSigners": 987,
      "payloadCanBeUpdated": true,
      "hasSigners": false,
      "nextSigner": Signer,
      "hasPin": false,
      "pin": "9876",
      "agents": {},
      "files": [
        [
          {
            "filename": Hello World.pdf,
            "name": Hello World,
            "type": pdf
          }
        ]
      ],
      "excludedFiles": [
        [
          {
            "filename": Dont Sign Me.pdf,
            "name": Don't sign this doc,
            "type": pdf
          }
        ]
      ],
      "weld": Weld,
      "submissions": [Submission],
      "documentGroup": DocumentGroup,
      "webhookLogs": [WebhookLog],
      "etchLogEvents": [EtchLog],
      "weldDataLogEvents": [WeldDataLog],
      "userUploads": [UserUpload],
      "forgesRequiringCompletion": [Forge],
      "weldDataGroup": WeldDataGroup,
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "dataUpdatedAt": "2021-02-17T19:20:59.139Z",
      "expiresAt": "2021-08-17T18:20:59.139Z",
      "archivedAt": "2021-08-17T18:20:59.139Z"
    }
  }
}

Mutations

createCast

Returns a Cast

Name Description
organizationEid - String
title - String
file - Upload!
isTemplate - Boolean Default = true

Example

Query
mutation createCast($organizationEid: String, $title: String, $file: Upload!, $isTemplate: Boolean) {
  createCast(organizationEid: $organizationEid, title: $title, file: $file, isTemplate: $isTemplate) {
    id
    eid
    type
    name
    title
    isTemplate
    exampleData
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    versionNumber
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "title": "Cast Title",
  "file": Upload,
  "isTemplate": true
}
Response
{
  "data": {
    "createCast": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "application/pdf",
      "name": "Cast Name",
      "title": "Cast Title",
      "isTemplate": true,
      "exampleData": {},
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "versionNumber": 987,
      "parentCast": Cast,
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-08-17T18:20:59.139Z"
    }
  }
}

createEtchPacket

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

Name Description
name - String
organizationEid - String
files - [EtchFile!]
isDraft - Boolean
isTest - Boolean
signatureEmailSubject - String
signatureEmailBody - String
signatureProvider - String
signaturePageOptions - JSON
signers - [JSON!]
data - JSON
webhookURL - String

Example

Query
mutation createEtchPacket($name: String, $organizationEid: String, $files: [EtchFile!], $isDraft: Boolean, $isTest: Boolean, $signatureEmailSubject: String, $signatureEmailBody: String, $signatureProvider: String, $signaturePageOptions: JSON, $signers: [JSON!], $data: JSON, $webhookURL: String) {
  createEtchPacket(name: $name, organizationEid: $organizationEid, files: $files, isDraft: $isDraft, isTest: $isTest, signatureEmailSubject: $signatureEmailSubject, signatureEmailBody: $signatureEmailBody, signatureProvider: $signatureProvider, signaturePageOptions: $signaturePageOptions, signers: $signers, data: $data, webhookURL: $webhookURL) {
    id
    eid
    name
    status
    isTest
    isFree
    containsFillData
    payload
    numberRemainingSigners
    detailsURL
    webhookURL
    organization {
      ...OrganizationFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    etchTemplate {
      ...EtchTemplateFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "name": "EtchPacket Name",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "files": [EtchFile],
  "isDraft": false,
  "isTest": false,
  "signatureEmailSubject": "xyz789",
  "signatureEmailBody": "xyz789",
  "signatureProvider": "xyz789",
  "signaturePageOptions": {},
  "signers": [{}],
  "data": {},
  "webhookURL": "https://domain.com/page.html"
}
Response
{
  "data": {
    "createEtchPacket": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchPacket Name",
      "status": "completed",
      "isTest": true,
      "isFree": true,
      "containsFillData": false,
      "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": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

createForge

Returns a Forge

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) {
    id
    eid
    name
    slug
    isRequired
    config
    fieldInfo
    weld {
      ...WeldFragment
    }
    organization {
      ...OrganizationFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    versionNumber
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "weldEid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Forge Name",
  "slug": "forge-name",
  "config": {},
  "castEid": "kQp2qd9FVUWrrE60hMbi",
  "castFieldIds": {}
}
Response
{
  "data": {
    "createForge": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Forge Name",
      "slug": "forge-name",
      "isRequired": true,
      "config": {},
      "fieldInfo": {},
      "weld": Weld,
      "organization": Organization,
      "userUploads": [UserUpload],
      "versionNumber": 123,
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-08-17T18:20:59.139Z"
    }
  }
}

createSubmission

Returns a Submission

Name Description
forgeEid - String!
weldDataEid - String!

Example

Query
mutation createSubmission($forgeEid: String!, $weldDataEid: String!) {
  createSubmission(forgeEid: $forgeEid, weldDataEid: $weldDataEid) {
    id
    eid
    status
    resolvedPayload
    payload
    payloadValue
    currentStep
    totalSteps
    continueURL
    weldData {
      ...WeldDataFragment
    }
    forge {
      ...ForgeFragment
    }
    user {
      ...UserFragment
    }
    signer {
      ...SignerFragment
    }
    reviewData
    completionPercentage
    isExcluded
    touchedByUser
    requestMeta
    createdAt
    updatedAt
    completedAt
  }
}
Variables
{
  "forgeEid": "kQp2qd9FVUWrrE60hMbi",
  "weldDataEid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "createSubmission": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "status": "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": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "completedAt": "2021-08-17T18:20:59.139Z"
    }
  }
}

createWebhook

Returns an Organization

Name Description
organizationSlug - String!
url - String

Example

Query
mutation createWebhook($organizationSlug: String!, $url: String) {
  createWebhook(organizationSlug: $organizationSlug, url: $url) {
    id
    eid
    name
    logo
    logoURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...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
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
  }
}
Variables
{
  "organizationSlug": "organization-slug",
  "url": "https://domain.com/page.html"
}
Response
{
  "data": {
    "createWebhook": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": true,
      "isInternal": false,
      "isSubscribed": false,
      "useTestSignatureProvider": false,
      "config": {},
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 987,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": ["xyz789"]
    }
  }
}

createWeld

Returns a Weld

Name Description
organizationEid - String!
name - String!
slug - String
visibility - String
draftStep - String
config - JSON
castEid - String

Example

Query
mutation createWeld($organizationEid: String!, $name: String!, $slug: String, $visibility: String, $draftStep: String, $config: JSON, $castEid: String) {
  createWeld(organizationEid: $organizationEid, name: $name, slug: $slug, visibility: $visibility, draftStep: $draftStep, config: $config, castEid: $castEid) {
    id
    eid
    slug
    name
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    versionNumber
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    hasWeldDatas
    weldDataCounts
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
  }
}
Variables
{
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Weld Name",
  "slug": "weld-name",
  "visibility": "abc123",
  "draftStep": "abc123",
  "config": {},
  "castEid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "createWeld": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "visibility": "live",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "versionNumber": 123,
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "hasWeldDatas": true,
      "weldDataCounts": {},
      "signatureProviderType": "etch",
      "availableSignatureProviderTypes": [
        [etch, docusign]
      ],
      "remainingSubmissions": {},
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-02-17T19:20:59.139Z",
      "expiresAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

createWeldData

Returns a WeldData

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) {
    id
    eid
    displayTitle
    status
    isTest
    isExpired
    isComplete
    isCompleteAndSigned
    continueURL
    webhookURL
    completionPercentage
    numberRemainingSigners
    payloadCanBeUpdated
    hasSigners
    nextSigner {
      ...SignerFragment
    }
    hasPin
    pin
    agents
    files
    excludedFiles
    weld {
      ...WeldFragment
    }
    submissions {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    weldDataLogEvents {
      ...WeldDataLogFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    forgesRequiringCompletion {
      ...ForgeFragment
    }
    weldDataGroup {
      ...WeldDataGroupFragment
    }
    createdAt
    updatedAt
    dataUpdatedAt
    expiresAt
    archivedAt
  }
}
Variables
{
  "weldEid": "kQp2qd9FVUWrrE60hMbi",
  "weldDataGroupEid": "kQp2qd9FVUWrrE60hMbi",
  "isTest": false,
  "webhookURL": "https://domain.com/page.html"
}
Response
{
  "data": {
    "createWeldData": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "displayTitle": "Sally's workflow submission",
      "status": "in-progress",
      "isTest": false,
      "isExpired": false,
      "isComplete": true,
      "isCompleteAndSigned": 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,
      "hasPin": true,
      "pin": "9876",
      "agents": {},
      "files": [
        [
          {
            "filename": Hello World.pdf,
            "name": Hello World,
            "type": pdf
          }
        ]
      ],
      "excludedFiles": [
        [
          {
            "filename": Dont Sign Me.pdf,
            "name": Don't sign this doc,
            "type": pdf
          }
        ]
      ],
      "weld": Weld,
      "submissions": [Submission],
      "documentGroup": DocumentGroup,
      "webhookLogs": [WebhookLog],
      "etchLogEvents": [EtchLog],
      "weldDataLogEvents": [WeldDataLog],
      "userUploads": [UserUpload],
      "forgesRequiringCompletion": [Forge],
      "weldDataGroup": WeldDataGroup,
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "dataUpdatedAt": "2021-08-17T18:20:59.139Z",
      "expiresAt": "2021-08-17T18:20:59.139Z",
      "archivedAt": "2021-08-17T18:20:59.139Z"
    }
  }
}

destroySubmission

Returns a Boolean

Name Description
eid - String!

Example

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

disconnectDocusign

Returns an Organization

Name Description
organizationSlug - String!

Example

Query
mutation disconnectDocusign($organizationSlug: String!) {
  disconnectDocusign(organizationSlug: $organizationSlug) {
    id
    eid
    name
    logo
    logoURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...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
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
  }
}
Variables
{
  "organizationSlug": "organization-slug"
}
Response
{
  "data": {
    "disconnectDocusign": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": true,
      "isInternal": false,
      "isSubscribed": true,
      "useTestSignatureProvider": true,
      "config": {},
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 987,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "abc123",
      "availableSignatureProviderTypes": ["xyz789"]
    }
  }
}

duplicateCast

Returns a Cast

Name Description
eid - String!
organizationEid - String!

Example

Query
mutation duplicateCast($eid: String!, $organizationEid: String!) {
  duplicateCast(eid: $eid, organizationEid: $organizationEid) {
    id
    eid
    type
    name
    title
    isTemplate
    exampleData
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    versionNumber
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "duplicateCast": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "application/pdf",
      "name": "Cast Name",
      "title": "Cast Title",
      "isTemplate": true,
      "exampleData": {},
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "versionNumber": 123,
      "parentCast": Cast,
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-08-17T18:20:59.139Z"
    }
  }
}

duplicateWeld

Returns a Weld

Name Description
eid - String!
organizationEid - String!
visibility - String

Example

Query
mutation duplicateWeld($eid: String!, $organizationEid: String!, $visibility: String) {
  duplicateWeld(eid: $eid, organizationEid: $organizationEid, visibility: $visibility) {
    id
    eid
    slug
    name
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    versionNumber
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    hasWeldDatas
    weldDataCounts
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "visibility": "xyz789"
}
Response
{
  "data": {
    "duplicateWeld": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "visibility": "live",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "versionNumber": 987,
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "hasWeldDatas": false,
      "weldDataCounts": {},
      "signatureProviderType": "etch",
      "availableSignatureProviderTypes": [
        [etch, docusign]
      ],
      "remainingSubmissions": {},
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-02-17T19:20:59.139Z",
      "expiresAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

forgeSubmit

Submits data to a workflow's web form (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

Returns a Submission

Name Description
forgeEid - String!
weldDataEid - String
submissionEid - String
payload - JSON!

A { key: value } object where key is the id or field alias of the web form (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) {
    id
    eid
    status
    resolvedPayload
    payload
    payloadValue
    currentStep
    totalSteps
    continueURL
    weldData {
      ...WeldDataFragment
    }
    forge {
      ...ForgeFragment
    }
    user {
      ...UserFragment
    }
    signer {
      ...SignerFragment
    }
    reviewData
    completionPercentage
    isExcluded
    touchedByUser
    requestMeta
    createdAt
    updatedAt
    completedAt
  }
}
Variables
{
  "forgeEid": "kQp2qd9FVUWrrE60hMbi",
  "weldDataEid": "kQp2qd9FVUWrrE60hMbi",
  "submissionEid": "kQp2qd9FVUWrrE60hMbi",
  "payload": {},
  "enforcePayloadValidOnCreate": true,
  "currentStep": 987,
  "complete": true,
  "isTest": false,
  "timezone": "America/Los_Angeles",
  "webhookURL": "https://domain.com/page.html",
  "groupArrayId": "xyz789",
  "groupArrayIndex": 123
}
Response
{
  "data": {
    "forgeSubmit": {
      "id": 123,
      "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": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "completedAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

generateEtchSignURL

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

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": "abc123"
}
Response
{"data": {"generateEtchSignURL": "abc123"}}

removeEtchPacket

Returns a Boolean

Name Description
eid - String!

Example

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

removeWebhook

Returns an Organization

Name Description
eid - String!

Example

Query
mutation removeWebhook($eid: String!) {
  removeWebhook(eid: $eid) {
    id
    eid
    name
    logo
    logoURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...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
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "removeWebhook": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": false,
      "isInternal": false,
      "isSubscribed": false,
      "useTestSignatureProvider": false,
      "config": {},
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 987,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": ["abc123"]
    }
  }
}

removeWeldData

Returns a Boolean

Name Description
eid - String!

Example

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

retryWebhookLog

Returns a WebhookLog

Name Description
eid - String!

Example

Query
mutation retryWebhookLog($eid: String!) {
  retryWebhookLog(eid: $eid) {
    id
    eid
    action
    isError
    isRetry
    statusCode
    millisecondsToFinish
    objectEid
    rootObjectType
    rootObjectURL
    objectMetadata
    organization {
      ...OrganizationFragment
    }
    originalWebhookLog {
      ...WebhookLogFragment
    }
    createdAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "retryWebhookLog": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "action": "weldComplete",
      "isError": true,
      "isRetry": true,
      "statusCode": 123,
      "millisecondsToFinish": 987,
      "objectEid": "kQp2qd9FVUWrrE60hMbi",
      "rootObjectType": "WeldData",
      "rootObjectURL": "https://app.useanvil.com/org/my-org/w/my-workflow/iXLRleX92vhwF8cIhsk2",
      "objectMetadata": {},
      "organization": Organization,
      "originalWebhookLog": WebhookLog,
      "createdAt": "2021-08-17T18:20:59.368Z"
    }
  }
}

sendEtchPacket

Returns an EtchPacket

Name Description
eid - String!

Example

Query
mutation sendEtchPacket($eid: String!) {
  sendEtchPacket(eid: $eid) {
    id
    eid
    name
    status
    isTest
    isFree
    containsFillData
    payload
    numberRemainingSigners
    detailsURL
    webhookURL
    organization {
      ...OrganizationFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    etchTemplate {
      ...EtchTemplateFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "sendEtchPacket": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchPacket Name",
      "status": "completed",
      "isTest": false,
      "isFree": 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": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

skipSigner

Returns a Signer

Name Description
signerEid - String!

Example

Query
mutation skipSigner($signerEid: String!) {
  skipSigner(signerEid: $signerEid) {
    id
    eid
    aliasId
    status
    provider
    name
    email
    routingOrder
    signActionType
    user {
      ...UserFragment
    }
    submission {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    createdAt
    updatedAt
  }
}
Variables
{
  "signerEid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "skipSigner": {
      "id": 987,
      "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,
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z"
    }
  }
}

updateCast

Returns a Cast

Name Description
eid - String!
name - String
title - String
config - JSON
configFile - Upload
file - Upload
isArchived - Boolean
versionNumber - Int

Example

Query
mutation updateCast($eid: String!, $name: String, $title: String, $config: JSON, $configFile: Upload, $file: Upload, $isArchived: Boolean, $versionNumber: Int) {
  updateCast(eid: $eid, name: $name, title: $title, config: $config, configFile: $configFile, file: $file, isArchived: $isArchived, versionNumber: $versionNumber) {
    id
    eid
    type
    name
    title
    isTemplate
    exampleData
    fieldInfo
    config
    organization {
      ...OrganizationFragment
    }
    versionNumber
    parentCast {
      ...CastFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Cast Name",
  "title": "Cast Title",
  "config": {},
  "configFile": Upload,
  "file": Upload,
  "isArchived": true,
  "versionNumber": 123
}
Response
{
  "data": {
    "updateCast": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "type": "application/pdf",
      "name": "Cast Name",
      "title": "Cast Title",
      "isTemplate": true,
      "exampleData": {},
      "fieldInfo": {},
      "config": {},
      "organization": Organization,
      "versionNumber": 987,
      "parentCast": Cast,
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-08-17T18:20:59.139Z"
    }
  }
}

updateEtchFree

Returns an EtchTemplate

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) {
    id
    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": "xyz789",
  "ownerEmail": "user@domain.com",
  "signers": {},
  "fields": [{}],
  "castFields": [{}]
}
Response
{
  "data": {
    "updateEtchFree": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchTemplate Name",
      "isFree": false,
      "isRepeatable": false,
      "config": {},
      "organization": Organization,
      "casts": [Cast],
      "etchPackets": [EtchPacket],
      "userUploads": [UserUpload],
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z"
    }
  }
}

updateEtchPacket

Returns an EtchPacket

Name Description
eid - String!
isArchived - Boolean
name - String
webhookURL - String

Example

Query
mutation updateEtchPacket($eid: String!, $isArchived: Boolean, $name: String, $webhookURL: String) {
  updateEtchPacket(eid: $eid, isArchived: $isArchived, name: $name, webhookURL: $webhookURL) {
    id
    eid
    name
    status
    isTest
    isFree
    containsFillData
    payload
    numberRemainingSigners
    detailsURL
    webhookURL
    organization {
      ...OrganizationFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    etchTemplate {
      ...EtchTemplateFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "isArchived": false,
  "name": "EtchPacket Name",
  "webhookURL": "https://domain.com/page.html"
}
Response
{
  "data": {
    "updateEtchPacket": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchPacket Name",
      "status": "completed",
      "isTest": true,
      "isFree": true,
      "containsFillData": false,
      "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": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-08-17T18:20:59.139Z"
    }
  }
}

updateEtchTemplate

Returns an EtchTemplate

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) {
    id
    eid
    name
    isFree
    isRepeatable
    config
    organization {
      ...OrganizationFragment
    }
    casts {
      ...CastFragment
    }
    etchPackets {
      ...EtchPacketFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    createdAt
    updatedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "isRepeatable": false,
  "name": "EtchTemplate Name",
  "config": {}
}
Response
{
  "data": {
    "updateEtchTemplate": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "EtchTemplate Name",
      "isFree": false,
      "isRepeatable": true,
      "config": {},
      "organization": Organization,
      "casts": [Cast],
      "etchPackets": [EtchPacket],
      "userUploads": [UserUpload],
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z"
    }
  }
}

updateForge

Returns a Forge

Name Description
eid - String!
name - String
slug - String
config - JSON
configFile - Upload
isArchived - Boolean
isRequired - Boolean
title - String
organizationRole - String
unauthenticatedAuthType - String
versionNumber - Int

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) {
    id
    eid
    name
    slug
    isRequired
    config
    fieldInfo
    weld {
      ...WeldFragment
    }
    organization {
      ...OrganizationFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    versionNumber
    createdAt
    updatedAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Forge Name",
  "slug": "forge-name",
  "config": {},
  "configFile": Upload,
  "isArchived": true,
  "isRequired": false,
  "title": "Forge Title",
  "organizationRole": "xyz789",
  "unauthenticatedAuthType": "xyz789",
  "versionNumber": 987
}
Response
{
  "data": {
    "updateForge": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Forge Name",
      "slug": "forge-name",
      "isRequired": false,
      "config": {},
      "fieldInfo": {},
      "weld": Weld,
      "organization": Organization,
      "userUploads": [UserUpload],
      "versionNumber": 987,
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

updateOrganization

Returns an Organization

Name Description
organizationSlug - String!
isInternal - Boolean
useTestSignatureProvider - Boolean
name - String
logo - Upload
billingEmail - String
supportEmail - String
slug - String
defaultSourceId - String
signatureProvider - String
config - JSON
trialExpiresIn - Int
usePDFFillingAPI - Boolean

Example

Query
mutation updateOrganization($organizationSlug: String!, $isInternal: Boolean, $useTestSignatureProvider: Boolean, $name: String, $logo: Upload, $billingEmail: String, $supportEmail: String, $slug: String, $defaultSourceId: String, $signatureProvider: String, $config: JSON, $trialExpiresIn: Int, $usePDFFillingAPI: Boolean) {
  updateOrganization(organizationSlug: $organizationSlug, isInternal: $isInternal, useTestSignatureProvider: $useTestSignatureProvider, name: $name, logo: $logo, billingEmail: $billingEmail, supportEmail: $supportEmail, slug: $slug, defaultSourceId: $defaultSourceId, signatureProvider: $signatureProvider, config: $config, trialExpiresIn: $trialExpiresIn, usePDFFillingAPI: $usePDFFillingAPI) {
    id
    eid
    name
    logo
    logoURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...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
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
  }
}
Variables
{
  "organizationSlug": "organization-slug",
  "isInternal": false,
  "useTestSignatureProvider": true,
  "name": "Organization Name",
  "logo": Upload,
  "billingEmail": "user@domain.com",
  "supportEmail": "user@domain.com",
  "slug": "organization-name",
  "defaultSourceId": "abc123",
  "signatureProvider": "xyz789",
  "config": {},
  "trialExpiresIn": 123,
  "usePDFFillingAPI": false
}
Response
{
  "data": {
    "updateOrganization": {
      "id": 123,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": true,
      "isInternal": true,
      "isSubscribed": true,
      "useTestSignatureProvider": false,
      "config": {},
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 987,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": ["xyz789"]
    }
  }
}

updateOrganizationUser

Returns an Organization

Name Description
role - String!
organizationEid - String!
userEid - String!

Example

Query
mutation updateOrganizationUser($role: String!, $organizationEid: String!, $userEid: String!) {
  updateOrganizationUser(role: $role, organizationEid: $organizationEid, userEid: $userEid) {
    id
    eid
    name
    logo
    logoURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...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
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
  }
}
Variables
{
  "role": "xyz789",
  "organizationEid": "kQp2qd9FVUWrrE60hMbi",
  "userEid": "kQp2qd9FVUWrrE60hMbi"
}
Response
{
  "data": {
    "updateOrganizationUser": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": false,
      "isInternal": true,
      "isSubscribed": false,
      "useTestSignatureProvider": false,
      "config": {},
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 987,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "xyz789",
      "availableSignatureProviderTypes": ["xyz789"]
    }
  }
}

updateSubmission

Returns a Submission

Name Description
eid - String!
isExcluded - Boolean

Example

Query
mutation updateSubmission($eid: String!, $isExcluded: Boolean) {
  updateSubmission(eid: $eid, isExcluded: $isExcluded) {
    id
    eid
    status
    resolvedPayload
    payload
    payloadValue
    currentStep
    totalSteps
    continueURL
    weldData {
      ...WeldDataFragment
    }
    forge {
      ...ForgeFragment
    }
    user {
      ...UserFragment
    }
    signer {
      ...SignerFragment
    }
    reviewData
    completionPercentage
    isExcluded
    touchedByUser
    requestMeta
    createdAt
    updatedAt
    completedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "isExcluded": true
}
Response
{
  "data": {
    "updateSubmission": {
      "id": 123,
      "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": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "completedAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

updateWebhook

Returns an Organization

Name Description
eid - String!
url - String

Example

Query
mutation updateWebhook($eid: String!, $url: String) {
  updateWebhook(eid: $eid, url: $url) {
    id
    eid
    name
    logo
    logoURL
    parentOrganization {
      ...OrganizationFragment
    }
    billingEmail
    supportEmail
    slug
    users {
      ...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
    }
    webhookLogs {
      ...WebhookLogPageFragment
    }
    childOrganizations {
      ...OrganizationFragment
    }
    subscribedPlanFeatures
    subscriptionActivity
    currentInvoice {
      ...InvoiceFragment
    }
    totalUsedUnits
    weldCompleteWebhookStats
    weldCompleteStats
    etchCompleteStats
    remainingSubmissions
    remainingEtchCompletions
    signatureProviderType
    availableSignatureProviderTypes
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "url": "https://domain.com/page.html"
}
Response
{
  "data": {
    "updateWebhook": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "name": "Organization Name",
      "logo": {},
      "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
      "parentOrganization": Organization,
      "billingEmail": "user@domain.com",
      "supportEmail": "user@domain.com",
      "slug": "organization-name",
      "users": [User],
      "organizationUsers": [OrganizationUser],
      "organizationUserInvites": [OrganizationUserInvite],
      "isPersonal": true,
      "isInternal": true,
      "isSubscribed": true,
      "useTestSignatureProvider": true,
      "config": {},
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "welds": [Weld],
      "etchTemplates": [EtchTemplate],
      "etchPackets": EtchPacketPage,
      "weldGroups": [WeldGroup],
      "forges": [Forge],
      "forgeMaps": [ForgeMap],
      "casts": [Cast],
      "paymentMethods": [PaymentMethod],
      "webhook": Webhook,
      "webhookLogs": WebhookLogPage,
      "childOrganizations": [Organization],
      "subscribedPlanFeatures": {},
      "subscriptionActivity": {},
      "currentInvoice": Invoice,
      "totalUsedUnits": 123,
      "weldCompleteWebhookStats": {},
      "weldCompleteStats": {},
      "etchCompleteStats": {},
      "remainingSubmissions": {},
      "remainingEtchCompletions": {},
      "signatureProviderType": "abc123",
      "availableSignatureProviderTypes": ["xyz789"]
    }
  }
}

updateWeld

Returns a Weld

Name Description
eid - String!
name - String
slug - 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
signatureProvider - String
lockedTitleNew - String
lockedDescriptionNew - String
lockedTitleExisting - String
lockedDescriptionExisting - String
expireAfterDaysComplete - Int
expireAfterDaysStart - Int
planEid - String
versionNumber - Int

Example

Query
mutation updateWeld($eid: String!, $name: String, $slug: 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, $signatureProvider: String, $lockedTitleNew: String, $lockedDescriptionNew: String, $lockedTitleExisting: String, $lockedDescriptionExisting: String, $expireAfterDaysComplete: Int, $expireAfterDaysStart: Int, $planEid: String, $versionNumber: Int) {
  updateWeld(eid: $eid, name: $name, slug: $slug, visibility: $visibility, config: $config, configFile: $configFile, isArchived: $isArchived, expiresAt: $expiresAt, draftStep: $draftStep, entryForgeId: $entryForgeId, entryButtonText: $entryButtonText, entryButtonCopyLink: $entryButtonCopyLink, signatureEmailSubject: $signatureEmailSubject, signatureEmailBody: $signatureEmailBody, dataDisplayTitle: $dataDisplayTitle, signatureProvider: $signatureProvider, lockedTitleNew: $lockedTitleNew, lockedDescriptionNew: $lockedDescriptionNew, lockedTitleExisting: $lockedTitleExisting, lockedDescriptionExisting: $lockedDescriptionExisting, expireAfterDaysComplete: $expireAfterDaysComplete, expireAfterDaysStart: $expireAfterDaysStart, planEid: $planEid, versionNumber: $versionNumber) {
    id
    eid
    slug
    name
    visibility
    config
    organization {
      ...OrganizationFragment
    }
    hasSigners
    forges {
      ...ForgeFragment
    }
    casts {
      ...CastFragment
    }
    versionNumber
    weldGroups {
      ...WeldGroupFragment
    }
    weldDatas {
      ...WeldDataPageFragment
    }
    hasWeldDatas
    weldDataCounts
    signatureProviderType
    availableSignatureProviderTypes
    remainingSubmissions
    createdAt
    updatedAt
    archivedAt
    expiresAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Weld Name",
  "slug": "weld-name",
  "visibility": "xyz789",
  "config": {},
  "configFile": Upload,
  "isArchived": false,
  "expiresAt": "xyz789",
  "draftStep": "xyz789",
  "entryForgeId": 987,
  "entryButtonText": "xyz789",
  "entryButtonCopyLink": true,
  "signatureEmailSubject": {},
  "signatureEmailBody": {},
  "dataDisplayTitle": {},
  "signatureProvider": "xyz789",
  "lockedTitleNew": "abc123",
  "lockedDescriptionNew": "xyz789",
  "lockedTitleExisting": "xyz789",
  "lockedDescriptionExisting": "abc123",
  "expireAfterDaysComplete": 987,
  "expireAfterDaysStart": 987,
  "planEid": "kQp2qd9FVUWrrE60hMbi",
  "versionNumber": 123
}
Response
{
  "data": {
    "updateWeld": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "slug": "weld-name",
      "name": "Weld Name",
      "visibility": "live",
      "config": {},
      "organization": Organization,
      "hasSigners": false,
      "forges": [Forge],
      "casts": [Cast],
      "versionNumber": 123,
      "weldGroups": [WeldGroup],
      "weldDatas": WeldDataPage,
      "hasWeldDatas": false,
      "weldDataCounts": {},
      "signatureProviderType": "etch",
      "availableSignatureProviderTypes": [
        [etch, docusign]
      ],
      "remainingSubmissions": {},
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "archivedAt": "2021-08-17T18:20:59.139Z",
      "expiresAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

updateWeldData

Returns a WeldData

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) {
    id
    eid
    displayTitle
    status
    isTest
    isExpired
    isComplete
    isCompleteAndSigned
    continueURL
    webhookURL
    completionPercentage
    numberRemainingSigners
    payloadCanBeUpdated
    hasSigners
    nextSigner {
      ...SignerFragment
    }
    hasPin
    pin
    agents
    files
    excludedFiles
    weld {
      ...WeldFragment
    }
    submissions {
      ...SubmissionFragment
    }
    documentGroup {
      ...DocumentGroupFragment
    }
    webhookLogs {
      ...WebhookLogFragment
    }
    etchLogEvents {
      ...EtchLogFragment
    }
    weldDataLogEvents {
      ...WeldDataLogFragment
    }
    userUploads {
      ...UserUploadFragment
    }
    forgesRequiringCompletion {
      ...ForgeFragment
    }
    weldDataGroup {
      ...WeldDataGroupFragment
    }
    createdAt
    updatedAt
    dataUpdatedAt
    expiresAt
    archivedAt
  }
}
Variables
{
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "isTest": true,
  "isArchived": false,
  "isExpired": false,
  "pin": "9876",
  "webhookURL": "https://domain.com/page.html"
}
Response
{
  "data": {
    "updateWeldData": {
      "id": 987,
      "eid": "kQp2qd9FVUWrrE60hMbi",
      "displayTitle": "Sally's workflow submission",
      "status": "in-progress",
      "isTest": false,
      "isExpired": false,
      "isComplete": false,
      "isCompleteAndSigned": false,
      "continueURL": "https://app.useanvil.com/form/demo/my-form/nA1jH49FVUWrrE60hMbi",
      "webhookURL": "https://yoursite.com/webhooks/anvil",
      "completionPercentage": 0.2,
      "numberRemainingSigners": 987,
      "payloadCanBeUpdated": true,
      "hasSigners": false,
      "nextSigner": Signer,
      "hasPin": false,
      "pin": "9876",
      "agents": {},
      "files": [
        [
          {
            "filename": Hello World.pdf,
            "name": Hello World,
            "type": pdf
          }
        ]
      ],
      "excludedFiles": [
        [
          {
            "filename": Dont Sign Me.pdf,
            "name": Don't sign this doc,
            "type": pdf
          }
        ]
      ],
      "weld": Weld,
      "submissions": [Submission],
      "documentGroup": DocumentGroup,
      "webhookLogs": [WebhookLog],
      "etchLogEvents": [EtchLog],
      "weldDataLogEvents": [WeldDataLog],
      "userUploads": [UserUpload],
      "forgesRequiringCompletion": [Forge],
      "weldDataGroup": WeldDataGroup,
      "createdAt": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z",
      "dataUpdatedAt": "2021-02-17T19:20:59.139Z",
      "expiresAt": "2021-02-17T19:20:59.139Z",
      "archivedAt": "2021-02-17T19:20:59.139Z"
    }
  }
}

voidDocumentGroup

Returns a DocumentGroup

Name Description
weldDataEid - String
eid - String
voidedReason - String!

Example

Query
mutation voidDocumentGroup($weldDataEid: String, $eid: String, $voidedReason: String!) {
  voidDocumentGroup(weldDataEid: $weldDataEid, eid: $eid, voidedReason: $voidedReason) {
    id
    eid
    status
    provider
    currentRoutingStep
    files
    weldData {
      ...WeldDataFragment
    }
    etchPacket {
      ...EtchPacketFragment
    }
    signers {
      ...SignerFragment
    }
    providerConfig
    finishPageConfig
    signaturePageConfig
    downloadZipURL
    createdAt
    updatedAt
  }
}
Variables
{
  "weldDataEid": "kQp2qd9FVUWrrE60hMbi",
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "voidedReason": "xyz789"
}
Response
{
  "data": {
    "voidDocumentGroup": {
      "id": 123,
      "eid": "nA1jH49FVUWrrE60hMbi",
      "status": "completed",
      "provider": "etch",
      "currentRoutingStep": 123,
      "files": [
        [
          {
            "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": "2021-08-17T18:20:59.368Z",
      "updatedAt": "2021-08-17T18:20:59.368Z"
    }
  }
}

Types

Boolean

The Boolean scalar type represents true or false.

Example
true

Cast

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:

Field Name Description
id - Int!
eid - String
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
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] default = null

Only retrieve the specific keys provided.

organization - Organization
versionNumber - Int The current version number of this Cast
parentCast - Cast If this Cast was originally copied from another Cast, this will be the original Cast.
createdAt - Date
updatedAt - Date
archivedAt - Date
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "type": "application/pdf",
  "name": "Cast Name",
  "title": "Cast Title",
  "isTemplate": true,
  "exampleData": {},
  "fieldInfo": {},
  "config": {},
  "organization": Organization,
  "versionNumber": 987,
  "parentCast": Cast,
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z",
  "archivedAt": "2021-02-17T19:20:59.139Z"
}

CastPage

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 - [Cast] The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [Cast]
}

CastVersion

Field Name Description
id - Int!
number - Int
updatedColumns - [String]
name - String
type - String
title - String
config - JSON
createdAt - Date
updatedAt - Date
user - User
Example
{
  "id": 987,
  "number": 123,
  "updatedColumns": [config],
  "name": "CastVersion Name",
  "type": "application/pdf",
  "title": "CastVersion Title",
  "config": {},
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z",
  "user": User
}

CastVersionPage

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 - [CastVersion] The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [CastVersion]
}

Date

Datetime value represented in ISO8601.

Example
2021-02-17T19:20:59.139Z

DocumentGroup

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.

Field Name Description
id - Int!
eid - String
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
Example
{
  "id": 987,
  "eid": "nA1jH49FVUWrrE60hMbi",
  "status": "completed",
  "provider": "etch",
  "currentRoutingStep": 987,
  "files": [
    {
      "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": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z"
}

DocumentGroupPage

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 - [DocumentGroup] The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [DocumentGroup]
}

EtchFile

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

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.

Example
{
  "id": "xyz789",
  "title": "xyz789",
  "castEid": "xyz789",
  "file": Upload,
  "base64File": Upload,
  "fields": [{}],
  "pageSizes": [{}],
  "fontSize": 123,
  "textColor": "xyz789",
  "filename": "abc123",
  "includeTimestamp": true,
  "logo": {}
}

EtchLog

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: 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
Field Name Description
id - Int!
eid - String
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
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "action": "completed",
  "formattedLocation": "San Francisco, CA",
  "fileId": "some-form.pdf",
  "metadata": {},
  "user": User,
  "signer": Signer,
  "createdAt": "2021-08-17T18:20:59.368Z"
}

EtchPacket

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.

Field Name Description
id - Int!
eid - String
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.
isFree - Boolean true when the packet adheres to the free criteria: 1 PDF with up to 2 signers created with the API.
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
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "EtchPacket Name",
  "status": "completed",
  "isTest": false,
  "isFree": 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": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z",
  "archivedAt": "2021-08-17T18:20:59.139Z"
}

EtchPacketPage

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

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.

Field Name Description
id - Int!
eid - String
name - String
isFree - Boolean
isRepeatable - Boolean
config - JSON
organization - Organization
casts - [Cast] All Cast objects (fillable pdfs) included in this template.
etchPackets - [EtchPacket] An array of EtchPackets created from this template. At this time, this will be a 1-to-1 relationship.
userUploads - [UserUpload]
createdAt - Date
updatedAt - Date
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "EtchTemplate Name",
  "isFree": true,
  "isRepeatable": false,
  "config": {},
  "organization": Organization,
  "casts": [Cast],
  "etchPackets": [EtchPacket],
  "userUploads": [UserUpload],
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z"
}

File

Field Name Description
src - String!
key - String!
name - String!
mimetype - String!
encoding - String!
Example
{
  "src": "abc123",
  "key": "xyz789",
  "name": "File Name",
  "mimetype": "abc123",
  "encoding": "xyz789"
}

Float

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

Example
987.65

Forge

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

See our workflow API guide for more info.

Field Name Description
id - Int!
eid - String
name - String
slug - String
isRequired - Boolean Is this forge required to complete the workflow?
config - JSON

Arguments

onlyKeys - [String] default = null

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]
versionNumber - Int The current version number of this Forge
createdAt - Date
updatedAt - Date
archivedAt - Date
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Forge Name",
  "slug": "forge-name",
  "isRequired": false,
  "config": {},
  "fieldInfo": {},
  "weld": Weld,
  "organization": Organization,
  "userUploads": [UserUpload],
  "versionNumber": 987,
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z",
  "archivedAt": "2021-02-17T19:20:59.139Z"
}

ForgeMap

Field Name Description
id - Int!
eid - String
forgeA - Forge
forgeB - Forge
config - JSON
createdAt - Date
updatedAt - Date
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "forgeA": Forge,
  "forgeB": Forge,
  "config": {},
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z"
}

ForgePage

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 - [Forge] The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [Forge]
}

ForgeVersion

Field Name Description
id - Int!
number - Int
updatedColumns - [String]
name - String
slug - String
config - JSON
createdAt - Date
updatedAt - Date
user - User
Example
{
  "id": 987,
  "number": 987,
  "updatedColumns": ["xyz789"],
  "name": "ForgeVersion Name",
  "slug": "forgeversion-name",
  "config": {},
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z",
  "user": User
}

ForgeVersionPage

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 - [ForgeVersion] The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [ForgeVersion]
}

Int

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

Field Name Description
startDate - Date
endDate - Date
totalAmount - Float
Example
{
  "startDate": "2021-08-17T18:20:59.139Z",
  "endDate": "2021-08-17T18:20:59.139Z",
  "totalAmount": 123.45
}

InvoiceUnitItem

Field Name Description
unitType - String
baseUnits - Int
usedUnits - Int
unitAmount - Float
totalAmount - Float
Example
{
  "unitType": "abc123",
  "baseUnits": 987,
  "usedUnits": 123,
  "unitAmount": 987.65,
  "totalAmount": 123.45
}

JSON

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

Example
{}

Organization

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

Field Name Description
id - Int!
eid - String
name - String
logo - JSON
logoURL - String URL to your logo. 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]
organizationUsers - [OrganizationUser]
organizationUserInvites - [OrganizationUserInvite]
isPersonal - Boolean
isInternal - Boolean
isSubscribed - Boolean
useTestSignatureProvider - Boolean
config - JSON
createdAt - Date
updatedAt - Date
welds - [Weld]

Arguments

visibility - String default = "live"

Filter based on the visibility of the Weld

isArchived - Boolean default = false

Set to true to search only within archived Welds

etchTemplates - [EtchTemplate]
etchPackets - EtchPacketPage

Arguments

status - [String]

isTest - Boolean default = false

isArchived - Boolean default = false

limit - Int default = 5

The requested number of rows per page

offset - Int default = 1

The requested page number

weldGroups - [WeldGroup]
forges - [Forge]

Arguments

isArchived - Boolean default = false

forgeMaps - [ForgeMap]
casts - [Cast]

Arguments

isArchived - Boolean default = false

isTemplate - Boolean default = null

paymentMethods - [PaymentMethod]
webhook - Webhook
webhookLogs - WebhookLogPage

Arguments

limit - Int default = 10

The requested number of rows per page

offset - Int default = 1

The requested page number

childOrganizations - [Organization]
subscribedPlanFeatures - JSON
subscriptionActivity - JSON
currentInvoice - Invoice
totalUsedUnits - Int
weldCompleteWebhookStats - JSON
weldCompleteStats - JSON
etchCompleteStats - JSON
remainingSubmissions - JSON
remainingEtchCompletions - JSON
signatureProviderType - String
availableSignatureProviderTypes - [String]
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "Organization Name",
  "logo": {},
  "logoURL": "https://app.useanvil.com/uploads/nA1jH49FVUWrrE60hMbi.png",
  "parentOrganization": Organization,
  "billingEmail": "user@domain.com",
  "supportEmail": "user@domain.com",
  "slug": "organization-name",
  "users": [User],
  "organizationUsers": [OrganizationUser],
  "organizationUserInvites": [OrganizationUserInvite],
  "isPersonal": false,
  "isInternal": false,
  "isSubscribed": true,
  "useTestSignatureProvider": true,
  "config": {},
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z",
  "welds": [Weld],
  "etchTemplates": [EtchTemplate],
  "etchPackets": EtchPacketPage,
  "weldGroups": [WeldGroup],
  "forges": [Forge],
  "forgeMaps": [ForgeMap],
  "casts": [Cast],
  "paymentMethods": [PaymentMethod],
  "webhook": Webhook,
  "webhookLogs": WebhookLogPage,
  "childOrganizations": [Organization],
  "subscribedPlanFeatures": {},
  "subscriptionActivity": {},
  "currentInvoice": Invoice,
  "totalUsedUnits": 987,
  "weldCompleteWebhookStats": {},
  "weldCompleteStats": {},
  "etchCompleteStats": {},
  "remainingSubmissions": {},
  "remainingEtchCompletions": {},
  "signatureProviderType": "xyz789",
  "availableSignatureProviderTypes": ["xyz789"]
}

OrganizationPage

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 - [Organization] The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [Organization]
}

OrganizationUser

Field Name Description
id - Int!
role - String Role of this user within your org. Possible values: admin or user
user - User
organization - Organization
Example
{
  "id": 123,
  "role": "admin",
  "user": User,
  "organization": Organization
}

OrganizationUserInvite

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

Field Name Description
id - Int!
eid - String
role - String Role of this user within your org. Possible values: admin or user
name - String
email - String
organization - Organization
acceptedAt - Date
revokedAt - Date
createdAt - Date
updatedAt - Date
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "role": "admin",
  "name": "OrganizationUserInvite Name",
  "email": "user@domain.com",
  "organization": Organization,
  "acceptedAt": "2021-08-17T18:20:59.139Z",
  "revokedAt": "2021-02-17T19:20:59.139Z",
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z"
}

PaymentMethod

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": true
}

Signer

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

Field Name Description
id - Int!
eid - String
aliasId - String The Signer's user-specified id set on packet creation.
status - String Possible values: sent, delivered, voided, autoresponded, faxpending, created, skipped, 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.
createdAt - Date
updatedAt - Date
Example
{
  "id": 123,
  "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,
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z"
}

SignerPage

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 - [Signer] The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [Signer]
}

String

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.

Submission

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

See our workflow API guide for more info.

Field Name Description
id - Int!
eid - String
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
completionPercentage - Float
isExcluded - Boolean
touchedByUser - Boolean
requestMeta - JSON
createdAt - Date
updatedAt - Date
completedAt - Date
Example
{
  "id": 123,
  "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": true,
  "requestMeta": {},
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z",
  "completedAt": "2021-08-17T18:20:59.139Z"
}

SubmissionPage

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 - [Submission] The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [Submission]
}

Upload

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

Field Name Description
id - Int!
eid - String
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
extra - JSON
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "email": "user@domain.com",
  "name": "User Name",
  "firstName": "Bobby",
  "lastName": "Jones",
  "role": "user",
  "verifiedEmail": false,
  "preferences": UserPreferences,
  "organizations": [Organization],
  "organizationUsers": [OrganizationUser],
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z",
  "extra": {}
}

UserPage

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 - [User] The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [User]
}

UserPreferences

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

UserUpload

Field Name Description
id - Int!
eid - String
location - String
user - User
etchPacket - EtchPacket
weldData - WeldData
forge - Forge
metadata - JSON
createdAt - Date
updatedAt - Date
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "location": "xyz789",
  "user": User,
  "etchPacket": EtchPacket,
  "weldData": WeldData,
  "forge": Forge,
  "metadata": {},
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z"
}

Webhook

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.

Field Name Description
id - Int!
eid - String
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.
creationUser - User
organization - Organization
createdAt - Date
updatedAt - Date
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "type": "prod",
  "status": "active",
  "url": "https://domain.com/page.html",
  "token": "abc123",
  "creationUser": User,
  "organization": Organization,
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z"
}

WebhookLog

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

Field Name Description
id - Int!
eid - String
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
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "action": "weldComplete",
  "isError": true,
  "isRetry": true,
  "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": "2021-08-17T18:20:59.368Z"
}

WebhookLogPage

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

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.

Field Name Description
id - Int!
eid - String
slug - String
name - String
visibility - String
config - JSON Config object specifying files output, signers, etc.

Arguments

onlyKeys - [String] default = null

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 default = false

casts - [Cast]
versionNumber - Int Current version number of this weld
weldGroups - [WeldGroup]
weldDatas - WeldDataPage Fetch all the Weld's WeldDatas (workflow submissions)

Arguments

touchedByUser - Boolean default = true

ignoreTest - Boolean default = true

isTest - Boolean default = false

isArchived - Boolean default = false

statuses - [String]

fromDate - Date

toDate - Date

simpleSearchTerm - String

limit - Int default = 5

The requested number of rows per page

offset - Int default = 1

The requested page number

hasWeldDatas - Boolean
weldDataCounts - JSON
signatureProviderType - String
availableSignatureProviderTypes - [String]
remainingSubmissions - JSON
createdAt - Date
updatedAt - Date
archivedAt - Date
expiresAt - Date
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "slug": "weld-name",
  "name": "Weld Name",
  "visibility": "live",
  "config": {},
  "organization": Organization,
  "hasSigners": true,
  "forges": [Forge],
  "casts": [Cast],
  "versionNumber": 123,
  "weldGroups": [WeldGroup],
  "weldDatas": WeldDataPage,
  "hasWeldDatas": false,
  "weldDataCounts": {},
  "signatureProviderType": "etch",
  "availableSignatureProviderTypes": [
    etch,
    docusign
  ],
  "remainingSubmissions": {},
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z",
  "archivedAt": "2021-08-17T18:20:59.139Z",
  "expiresAt": "2021-02-17T19:20:59.139Z"
}

WeldData

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

See our workflow API guide for more info.

Field Name Description
id - Int!
eid - String
displayTitle - String The title displayed in the UI.
status - String Possible values: created, in-progress, ready-to-sign, awaiting-signatures, declined, completed
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.
isCompleteAndSigned - 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
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.
submissions - [Submission] An array of all the underlying Submission objects holding data from each web form.
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 web form 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
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "displayTitle": "Sally's workflow submission",
  "status": "in-progress",
  "isTest": false,
  "isExpired": false,
  "isComplete": false,
  "isCompleteAndSigned": 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": false,
  "nextSigner": Signer,
  "hasPin": false,
  "pin": "9876",
  "agents": {},
  "files": [
    {
      "filename": Hello World.pdf,
      "name": Hello World,
      "type": pdf
    }
  ],
  "excludedFiles": [
    {
      "filename": Dont Sign Me.pdf,
      "name": Don't sign this doc,
      "type": pdf
    }
  ],
  "weld": Weld,
  "submissions": [Submission],
  "documentGroup": DocumentGroup,
  "webhookLogs": [WebhookLog],
  "etchLogEvents": [EtchLog],
  "weldDataLogEvents": [WeldDataLog],
  "userUploads": [UserUpload],
  "forgesRequiringCompletion": [Forge],
  "weldDataGroup": WeldDataGroup,
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z",
  "dataUpdatedAt": "2021-08-17T18:20:59.139Z",
  "expiresAt": "2021-08-17T18:20:59.139Z",
  "archivedAt": "2021-02-17T19:20:59.139Z"
}

WeldDataGroup

Field Name Description
id - Int!
eid - String
title - String
isTest - Boolean
dataUpdatedAt - Date
weldGroup - WeldGroup
weldDatas - [WeldData]

Arguments

isArchived - Boolean default = false

createdAt - Date
updatedAt - Date
archivedAt - Date
Example
{
  "id": 987,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "title": "WeldDataGroup Title",
  "isTest": false,
  "dataUpdatedAt": "2021-02-17T19:20:59.139Z",
  "weldGroup": WeldGroup,
  "weldDatas": [WeldData],
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z",
  "archivedAt": "2021-08-17T18:20:59.139Z"
}

WeldDataGroupPage

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

Represents a single action taken by a user while filling a web form 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
Field Name Description
id - Int!
eid - String
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
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "action": "completed",
  "formattedLocation": "San Francisco, CA",
  "metadata": {},
  "user": User,
  "weldData": WeldData,
  "submission": Submission,
  "createdAt": "2021-08-17T18:20:59.368Z"
}

WeldDataPage

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]
}

WeldGroup

Field Name Description
id - Int!
eid - String
name - String
slug - String
organization - Organization
welds - [Weld]

Arguments

isArchived - Boolean default = false

weldDataGroups - WeldDataGroupPage

Arguments

ignoreTest - Boolean default = true

isTest - Boolean default = false

isArchived - Boolean default = false

weldSlugFilter - [String]

limit - Int default = 10

The requested number of rows per page

offset - Int default = 1

The requested page number

hasWeldDataGroups - Boolean
createdAt - Date
updatedAt - Date
Example
{
  "id": 123,
  "eid": "kQp2qd9FVUWrrE60hMbi",
  "name": "WeldGroup Name",
  "slug": "weldgroup-name",
  "organization": Organization,
  "welds": [Weld],
  "weldDataGroups": WeldDataGroupPage,
  "hasWeldDataGroups": false,
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z"
}

WeldPage

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 - [Weld] The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [Weld]
}

WeldVersion

Field Name Description
id - Int!
number - Int
updatedColumns - [String]
name - String
slug - String
config - JSON
createdAt - Date
updatedAt - Date
user - User
Example
{
  "id": 123,
  "number": 987,
  "updatedColumns": ["abc123"],
  "name": "WeldVersion Name",
  "slug": "weldversion-name",
  "config": {},
  "createdAt": "2021-08-17T18:20:59.368Z",
  "updatedAt": "2021-08-17T18:20:59.368Z",
  "user": User
}

WeldVersionPage

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 - [WeldVersion] The actual records for the requested page
Example
{
  "rowCount": 20,
  "pageCount": 2,
  "page": 1,
  "pageSize": 10,
  "items": [WeldVersion]
}

Get started today

Start filling, generating, and signing PDFs from your app. Every account comes with free access to the Developer API.