integrations.sh
← all integrations

DocuSign REST API

OpenAPI apis-guru ecommerce

The DocuSign REST API provides you with a powerful, convenient, and simple Web services API for interacting with DocuSign.

Homepage
https://api.apis.guru/v2/specs/docusign.net/v2.1.json
Provider
docusign.net
OpenAPI version
3.0.0
Spec (JSON)
https://api.apis.guru/v2/specs/docusign.net/v2.1/openapi.json
Spec (YAML)
https://api.apis.guru/v2/specs/docusign.net/v2.1/openapi.yaml

Tools (395)

Extracted live via the executor SDK.

  • accountBrands.brandDeleteBrand

    This method deletes a brand from an account.

    Note: Branding for either signing or sending must be enabled for the account (canSelfBrandSend , canSelfBrandSign, or both of these account settings must be true).

  • accountBrands.brandExportGetBrandExportFile

    This method exports information about a brand to an XML file.

    Note: Branding for either signing or sending must be enabled for the account (canSelfBrandSend , canSelfBrandSign, or both of these account settings must be true).

  • accountBrands.brandGetBrand

    This method returns details about an account brand.

    Note: Branding for either signing or sending must be enabled for the account (canSelfBrandSend , canSelfBrandSign, or both of these account settings must be true).

  • accountBrands.brandLogoDeleteBrandLogo

    This method deletes a single logo from an account brand.

    Note: Branding for either signing or sending must be enabled for the account (canSelfBrandSend , canSelfBrandSign, or both of these account settings must be true).

  • accountBrands.brandLogoGetBrandLogo

    This method returns a specific logo that is used in a brand.

    Note: Branding for either signing or sending must be enabled for the account (canSelfBrandSend , canSelfBrandSign, or both of these account settings must be true).

  • accountBrands.brandLogoPutBrandLogo

    This method updates a single brand logo.

    You pass in the new version of the resource in the Content-Disposition header. Example:

    Content-Disposition: form-data; name="file"; filename="logo.jpg"

    Note: Branding for either signing or sending must be enabled for the account (canSelfBrandSend , canSelfBrandSign, or both of these account settings must be true).

  • accountBrands.brandPutBrand

    This method updates an account brand.

    Note: Branding for either signing or sending must be enabled for the account (canSelfBrandSend , canSelfBrandSign, or both of these account settings must be true).

  • accountBrands.brandResourcesGetBrandResources

    This method returns a specific branding resource file.

    A brand uses a set of brand resource files to control the sending, signing, email message, and captive (embedded) signing experiences. You can modify the default email messages and formats in these files and upload them to your brand to customize the user experience.

    Important: When you upload a modified resource file, only the elements that differ from the master resource file are saved as your resource file. Similarly, when you download your resource files, only the modified elements are included in the file.

    Note: Branding for either signing or sending must be enabled for the account (canSelfBrandSend , canSelfBrandSign, or both of these account settings must be true).

  • accountBrands.brandResourcesGetBrandResourcesList

    This method returns metadata about the branding resources that are associated with an account.

    Note: Branding for either signing or sending must be enabled for the account (canSelfBrandSend , canSelfBrandSign, or both of these account settings must be true).

  • accountBrands.brandResourcesPutBrandResources

    This method updates a branding resource file.

    You pass in the new version of the resource file in the Content-Disposition header. Example:

    Content-Disposition: form-data; name="file"; filename="DocuSign_SigningResource_4328673.xml"

    Note: Branding for either signing or sending must be enabled for the account (canSelfBrandSend , canSelfBrandSign, or both of these account settings must be true).

    Important: Customizing resource files is an advanced branding configuration option which can significantly impact your account, and should be done only by someone with expertise in XML and HTML. The master resource files are subject to change without notice. If you customize your resource files, after each release, DocuSign recommends you review any changes and update your custom files as needed.

    When you upload a modified resource file, only the elements that differ from the master resource file are saved as your resource file. Similarly, when you download your resource files, only the modified elements are included in the file.

  • accountBrands.brandsDeleteBrands

    This method deletes one or more brand profiles from an account, based on the brand IDs that you include in the brandsRequest.

    Either or both of the following settings must be enabled for the account to use this method:

    • canSelfBrandSign
    • canSelfBrandSend

    Related topics

  • accountBrands.brandsGetBrands

    This method returns details about all of the brands associated with an account, including the default brand profiles.

    Either or both of the following settings must be enabled for the account to use this method:

    • canSelfBrandSign
    • canSelfBrandSend

    Related topics

  • accountBrands.brandsPostBrands

    This method creates one or more brand profile files for an account.

    To specify logos for the brand, use the method after you create the brand.

    Either or both of the following settings must be enabled for the account to use this method:

    • canSelfBrandSign
    • canSelfBrandSend

    Related topics

  • accountConsumerDisclosures.consumerDisclosureGetConsumerDisclosure

    Retrieves the default, HTML-formatted Electronic Record and Signature Disclosure (ERSD) associated with the account.

    This is the default ERSD disclosure that DocuSign provides for the convenience of U.S.-based customers only. This default disclosure is only valid for transactions between U.S.-based parties.

    To set the language of the disclosure that you want to retrieve, use the optional langCode query parameter.

  • accountConsumerDisclosures.consumerDisclosureGetConsumerDisclosureLangCode

    Retrieves the HTML-formatted Electronic Record and Signature Disclosure (ERSD) associated with the account.

    To set the language of the disclosure that you want to retrieve, use the optional langCode query parameter.

    Note: The text of the default disclosure is always in English, but if you are using a custom disclosure and have created versions of it in different signer languages, you can use the langCode parameter to specify the signer language version that you want to retrieve.

  • accountConsumerDisclosures.consumerDisclosurePutConsumerDisclosure

    Account administrators can use this method to perform the following tasks:

    • Customize values in the default disclosure.
    • Switch to a custom disclosure that uses your own text and HTML formatting.
    • Change values in your existing consumer disclosure.

    To specify the signer language version of the disclosure that you are updating, use the optional langCode query parameter.

    Note: Only account administrators can use this method. Each time you change the disclosure content, all unsigned recipients of outstanding documents will be required to accept a new version.

    Updating the default disclosure

    When you update the default disclosure, you can edit all properties except for the following ones:

    • accountEsignId: This property is read-only.
    • custom: The default value is false. Editing this property causes the default disclosure to switch to a custom disclosure.
    • esignAgreement: This property is read-only.
    • esignText: You cannot edit this property when custom is set to false. The API returns a 200 OK HTTP response, but does not update the esignText.
    • Metadata properties: These properties are read-only.

    Note: The text of the default disclosure is always in English.

    Switching to a custom disclosure

    To switch to a custom disclosure, set the custom property to true and customize the value for the eSignText property.

    You can also edit all of the other properties except for the following ones:

    • accountEsignId: This property is read-only.
    • esignAgreement: This property is read-only.
    • Metadata properties: These properties are read-only.

    Note: When you use a custom disclosure, you can create versions of it in different signer languages and se the langCode parameter to specify the signer language version that you are updating.

    Important: When you switch from a default to a custom disclosure, note the following information:

    • You will not be able to return to using the default disclosure.
    • Only the disclosure for the currently selected signer language is saved. DocuSign will not automatically translate your custom disclosure. You must create a disclosure for each language that your signers use.

    Updating a custom disclosure

    When you update a custom disclosure, you can update all of the properties except for the following ones:

    • accountEsignId: This property is read-only.
    • esignAgreement: This property is read-only.
    • Metadata properties: These properties are read-only.

    Important: Only the disclosure for the currently selected signer language is saved. DocuSign will not automatically translate your custom disclosure. You must create a disclosure for each language that your signers use.

  • accountCustomFields.accountCustomFieldsDeleteAccountCustomFields

    This method deletes an existing account custom field.

  • accountCustomFields.accountCustomFieldsGetAccountCustomFields

    This method returns a list of the envelope and document custom fields associated with an account.

  • accountCustomFields.accountCustomFieldsPostAccountCustomFields

    This method creates a custom field and makes it available for all new envelopes associated with an account.

  • accountCustomFields.accountCustomFieldsPutAccountCustomFields

    This method updates an existing account custom field.

  • accountPasswordRules.accountPasswordRulesGetAccountPasswordRules

    This method retrieves the password rules for an account.

  • accountPasswordRules.accountPasswordRulesPutAccountPasswordRules

    This method updates the password rules for an account.

    Note: To update the password rules for an account, you must be an account administrator.

  • accountPasswordRules.passwordRulesGetPasswordRules
  • accountPermissionProfiles.permissionProfilesDeletePermissionProfiles

    This method deletes a permission profile from an account.

    To delete a permission profile, it must not have any users associated with it. When you use this method to delete a permission profile, you can reassign the users associated with it to a new permission profile at the same time by using the move_users_to query parameter.

    Related topics

  • accountPermissionProfiles.permissionProfilesGetPermissionProfile

    This method returns information about a specific permission profile that is associated with an account.

    Related topics

  • accountPermissionProfiles.permissionProfilesGetPermissionProfiles

    This method returns a list of permission profiles that are associated with an account.

    Example:

    json
    {  "permissionProfiles": [    {      "permissionProfileId": "1665536",      "permissionProfileName": "Account Administrator",      "modifiedDateTime": "2018-03-26T03:54:40.4470000Z",      "modifiedByUsername": ""    },    {      "permissionProfileId": "1665537",      "permissionProfileName": "DocuSign Sender",      "modifiedDateTime": "2018-03-26T03:54:40.4470000Z",      "modifiedByUsername": ""    },    {      "permissionProfileId": "1665538",      "permissionProfileName": "DocuSign Viewer",      "modifiedDateTime": "2016-06-02T01:53:15.6830000Z",      "modifiedByUsername": ""    },    {      "permissionProfileId": "10325926",      "permissionProfileName": "DS Manage Company Member Accounts",      "modifiedDateTime": "2020-05-15T00:28:36.8230000Z",      "modifiedByUsername": "Nat Irving"    }  ]}
  • accountPermissionProfiles.permissionProfilesPostPermissionProfiles

    This method creates a new permission profile for an account.

    Related topics

  • accountPermissionProfiles.permissionProfilesPutPermissionProfiles

    This method updates an account permission profile.

    Related topics

  • accounts.accountsDeleteAccount

    This closes the specified account. You must be an account admin to close your account. Once closed, an account must be reopened by DocuSign.

  • accounts.accountsGetAccount

    Retrieves the account information for the specified account.

  • accounts.accountsGetProvisioning

    Retrieves the account provisioning information for the account.

  • accounts.accountsPostAccounts

    Creates new DocuSign accounts. You can use this method to create a single account or up to 100 accounts at a time.

    Note: This method is restricted to partner integrations. You must work with DocuSign Professional Services or DocuSign Business Development, who will provide you with the Distributor Code and Distributor Password that you need to include in the request body.

    When creating a single account, the body of the request is a [newAccountRequest][newAccountRequest] object.

    Example:

    {  "newAccountRequest": [    {      "accountName":"Test Account",      "distributorCode":"MY_DIST_CODE",      "distributorPassword":"MY_DIST_PWD",      "initialUser":{        "email":"user@emaildomain.com",        "firstName":"John",        "middleName": "Harry",        "lastName":"Doe",        "suffixName": "",        "userName": "John Doe",        "jobTitle": "Engineer",        "company": "Test Company"      },      "addressInformation":{        "address1": "1234 Main Street",        "address2": "Suite 100",        "city": "Seattle",        "state": "WA",        "postalCode": "98101",        "country": "US",        "phone": "1234567890",        "fax": "1234567891"      },      "planInformation":{        "planId":"37085696-xxxx-xxxx-xxxx-7ea067752959"      },      "referralInformation":{        "includedSeats": "1",        "referralCode": "code",        "referrerName": "name"      }    }  ]}

    If the request succeeds, it returns a 201 (Created) HTTP response code. The response returns the new account ID, password, and the default user information for each newly created account.

    When creating multiple accounts, the body of the request is a newAccountRequests object, which contains one or more [newAccountDefinition][newAccountDefinition] objects. You can create up to 100 new accounts at a time this way.

    The body for a multi-account creation request looks like this in JSON:

    {  "newAccountRequests": [    {      "accountName": "accountone",      . . .    },    {      "accountName": "accounttwo",      . . .    }  ]}

    A multi-account request looks like this in XML:

    <newAccountsDefinition xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.docusign.com/restapi">  <newAccountRequests>    <newAccountDefinition>      . . .    </newAccountDefinition>    <newAccountDefinition>      . . .    </newAccountDefinition>  </newAccountRequests></newAccountsDefinition>

    A multi-account creation request may succeed (report a 201 code) even if some accounts could not be created. In this case, the errorDetails property in the response contains specific information about the failure.

  • accounts.billingChargesGetAccountBillingCharges

    Retrieves the list of recurring and usage charges for the account. This can be used to determine the charge structure and usage of charge plan items.

    Privileges required: account administrator

  • accounts.captiveRecipientsDeleteCaptiveRecipientsPart

    This method deletes the signature for one or more captive recipient records. It is primarily used for testing. This functionality provides a way to reset the signature associated with a client user ID so that a new signature can be created the next time the client user ID is used.

  • accounts.envelopePurgeConfigurationGetEnvelopePurgeConfiguration

    An envelope purge configuration enables account administrators to permanently remove documents and their field data from completed and voided envelopes after a specified retention period (retentionDays). This method retrieves the current envelope purge configuration for your account.

    Note: To use this method, you must be an account administrator.

  • accounts.envelopePurgeConfigurationPutEnvelopePurgeConfiguration

    An envelope purge configuration enables account administrators to permanently remove documents and their field data from completed and voided envelopes after a specified retention period (retentionDays). This method sets the envelope purge configuration for your account.

    Note: To use this method, you must be an account administrator.

    For more information, see .

  • accounts.notificationDefaultsGetNotificationDefaults

    This method returns the default settings for the email notifications that signers and senders receive about envelopes.

  • accounts.notificationDefaultsPutNotificationDefaults

    This method changes the default settings for the email notifications that signers and senders receive about envelopes.

  • accounts.recipientNamesGetRecipientNames

    Retrieves a list of all of the names associated with the email address that you pass in. This list can include variants of a single recipient's name that are used for signing, as well as the names of multiple different recipients.

  • accounts.settingsGetSettings

    Retrieves the account settings information for the specified account.

  • accounts.settingsPutSettings

    Updates the account settings for the specified account.

    Although the request body for this method is a complete accountSettingsInformation object, you only need to provide the properties that you are updating.

  • accounts.sharedAccessGetSharedAccess

    Retrieves shared item status for one or more users and types of items.

    Users with account administration privileges can retrieve shared access information for all account users. Users without account administrator privileges can only retrieve shared access information for themselves, and the returned information is limited to retrieving the status of the members of the account that are sharing their folders to the user. This is equivalent to setting the shared parameter to shared_from.

  • accounts.sharedAccessPutSharedAccess

    This sets the shared access status for one or more users or templates.

    When setting user shared access, only users with account administration privileges can set shared access status for envelopes.

    When setting template shared access, only users who own a template and have sharing permission or with account administration privileges can set shared access for templates.

    Changes to the shared items status are not additive. The change always replaces the current status.

    To change template shared access, add the query parameter item_type = templates to the request. When this is set, the user and envelopes properties are not required.

    Note: This functionality is a newer version of the functionality.

  • accounts.supportedLanguagesGetSupportedLanguages

    Retrieves a list of supported languages that you can set for an individual recipient when creating an envelope, as well as their simple type enumeration values. These are the languages that you can set for the standard email format and signing view for each recipient.

    For example, in the recipient's email notification, this setting affects elements such as the standard introductory text describing the request to sign. It also determines the language used for buttons and tabs in both the email notification and the signing experience.

    Note: Setting a language for a recipient affects only the DocuSign standard text. Any custom text that you enter for the emailBody and emailSubject of the notification is not translated, and appears exactly as you enter it.

    For more information, see .

  • accounts.unsupportedFileTypesGetUnsupportedFileTypes

    Retrieves a list of file types (mime-types and file-extensions) that are not supported for upload through the DocuSign system.

  • accountSealProviders.accountSignatureProvidersGetSealProviders
  • accountSignatureProviders.accountSignatureProvidersGetSignatureProviders

    Returns a list of signature providers that the specified account can use.

  • accountSignatures.accountSignaturesDeleteAccountSignature

    Deletes a stamp specified by signatureId.

  • accountSignatures.accountSignaturesDeleteAccountSignatureImage

    Deletes the image for a stamp specified by signatureId.

  • accountSignatures.accountSignaturesGetAccountSignature

    Returns information about the specified stamp.

  • accountSignatures.accountSignaturesGetAccountSignatureImage

    Returns the image for an account stamp.

  • accountSignatures.accountSignaturesGetAccountSignatures

    Returns a list of stamps available in the account.

  • accountSignatures.accountSignaturesPostAccountSignatures

    Adds or updates one or more account stamps.

  • accountSignatures.accountSignaturesPutAccountSignature

    Adds or updates one or more account stamps. This request may include images in multi-part format.

  • accountSignatures.accountSignaturesPutAccountSignatureById

    Updates an account stamp specified by the signatureId query parameter.

  • accountSignatures.accountSignaturesPutAccountSignatureImage

    Sets a signature image, initials, or stamp.

  • accountTabSettings.tabSettingsGetTabSettings

    This method returns information about the tab types and tab functionality that is currently enabled for an account.

  • accountTabSettings.tabSettingsPutSettings

    This method modifies the tab types and tab functionality that is enabled for an account.

  • accountWatermarks.watermarkGetWatermark

    Enables you to preview a watermark specified by the request.

  • accountWatermarks.watermarkPreviewPutWatermarkPreview

    Update the watermark for the account.

    Note: Many of the request fields must be set to specific values. If you use an invalid value for one of these fields, the endpoint may return 200 OK but set the field to a default value. See the request body for more information.

  • accountWatermarks.watermarkPutWatermark

    Returns information about the watermark for the account.

  • bccEmailArchive.bccEmailArchiveDeleteBccEmailArchive

    This method deletes a BCC email archive configuration from an account.

    When you use this method, the status of the BCC email archive configuration switches to closed and the BCC email address is no longer used to archive DocuSign-generated email messages.

  • bccEmailArchive.bccEmailArchiveGetBccEmailArchiveHistoryList

    This method returns a specific BCC email archive configuration for an account, as well as the history of changes to the email address.

  • bccEmailArchive.bccEmailArchiveGetBccEmailArchiveList

    This method retrieves all of the BCC email archive configurations associated with an account.

  • bccEmailArchive.bccEmailArchivePostBccEmailArchive

    This method creates a BCC email archive configuration for an account (adds a BCC email address to the account for archiving the emails that DocuSign generates).

    The only property that you must set in the request body is the BCC email address that you want to use.

    Note: An account can have up to five active and pending email archive addresses combined, but you must use this method to add them to the account one at a time. Each email address is considered a separate BCC email archive configuration.

  • billingPlans.billingPlanGetBillingPlan

    Retrieves the billing plan information for the specified account, including the current billing plan, successor plans, billing address, and billing credit card.

    By default the successor plan and credit card information is included in the response. You can exclude this information from the response by adding the appropriate optional query string and setting it to false.

    Response

    The response returns the billing plan information, including the currency code, for the plan. The billingPlan and succesorPlans property values are the same as those shown in the reference. the billingAddress and creditCardInformation property values are the same as those shown in the reference.

    Note: When credit card number information displays, a mask is applied to the response so that only the last 4 digits of the card number are visible.

  • billingPlans.billingPlanGetCreditCardInfo

    This method returns information about a credit card associated with an account.

  • billingPlans.billingPlanGetDowngradeRequestBillingInfo
  • billingPlans.billingPlanPutBillingPlan

    Updates the billing plan information, billing address, and credit card information for the specified account.

  • billingPlans.billingPlanPutDowngradeAccountBillingPlan
  • billingPlans.billingPlansGetBillingPlan

    Retrieves the billing plan details for the specified billing plan ID.

  • billingPlans.billingPlansGetBillingPlans

    Retrieves a list of the billing plans associated with a distributor.

  • billingPlans.purchasedEnvelopesPutPurchasedEnvelopes

    Reserved: At this time, this endpoint is limited to DocuSign internal use only. Completes the purchase of envelopes for your account. The actual purchase is done as part of an internal workflow interaction with an envelope vendor.

  • bulkSend.bulkSendV2BatchGetBulkSendBatches

    Returns a summary of bulk send batches.

    Use the batch_ids query parameter to narrow the list of batches.

  • bulkSend.bulkSendV2BatchGetBulkSendBatchStatus

    Gets the general status of a specific bulk send batch such as:

    • number of successes
    • number pending
    • number of errors

    The bulkErrors property of the response object contains more information about the errors.

    Related topics

  • bulkSend.bulkSendV2BatchPutBulkSendBatchAction

    Use this endpoint to resend, correct, or void all envelopes from a specified bulk send.

  • bulkSend.bulkSendV2BatchPutBulkSendBatchStatus

    Updates the name of a bulk send batch.

  • bulkSend.bulkSendV2CrudDeleteBulkSendList

    This method deletes a bulk send list.

  • bulkSend.bulkSendV2CrudGetBulkSendList

    This method returns all of the details associated with a specific bulk send list that belongs to the current user.

  • bulkSend.bulkSendV2CrudGetBulkSendLists

    This method returns a list of bulk send lists belonging to the current user, as well as basic information about each list.

  • bulkSend.bulkSendV2CrudPostBulkSendList

    This method creates a bulk send list that you can use to send an envelope to up to 1,000 recipients at once.

    Related topics

    Errors

    Error codeDescription
    BULK_SEND_MAX_COPIES_EXCEEDEDA bulk sending list cannot specify more than XXX copies in the mailing list. Call the settings API endpoint to find the maximum number of copies in a batch allowed for your account. In almost all cases, the default limit is 1000.
    BULK_SEND_RECIPIENT_IDS_MUST_BE_UNIQUENo two recipientIds can be same within a bulkCopy. Same restriction as a regular envelope applies. Specify unique recipient IDs for each recipient within a bulkCopy (model for envelope in mailing list).
    BULK_SEND_RECIPIENT_ID_REQUIREDIf no RoleName is present, recipientID is required in mailing list's bulkCopy. Add a roleName (that coalesces with template/envelope) or a recipientID.
    BULK_SEND_RECIPIENT_NAME_REQUIREDRecipient {0} has no name. Specify a name for the recipient.
    BULK_SEND_EMAIL_ADDRESS_REQUIRED_FOR_EMAIL_RECIPIENTRecipient {0} is an email recipient with no email address. Specify an email for the email recipient.
    BULK_SEND_FAX_NUMBER_REQUIRED_FOR_FAX_RECIPIENTRecipient {0} is a fax recipient with no fax number. Specify a fax number for the fax recipient.
    BULK_SEND_FAX_NUMBER_NOT_VALIDRecipient {0} specifies fax number {1}, which is not valid. Specify a valid fax number for the fax recipient.
    BULK_SEND_EMAIL_ADDRESS_NOT_VALIDRecipient {0} specifies email address {1}, which is not a valid email address. Specify a valid email address for the recipient.
    BULK_SEND_PHONE_NUMBER_REQURED_FOR_SMS_AUTHRecipient {0} specifies SMS auth, but no number was provided. Specify a phone number for the SMS auth recipient.
    BULK_SEND_PHONE_NUMBER_INVALID_FOR_SMS_AUTHRecipient {0} specifies phone number {1} for SMS auth, which is not valid. Specify a valid phone number for the SMS auth recipient.
    BULK_SEND_ROLE_NAMES_MUST_BE_UNIQUERecipient role names cannot be duplicated; role {duplicateRecipientRole} appears multiple times. Use unique roleNames for recipients.
    BULK_SEND_CANNOT_USE_BOTH_ROLE_AND_ID_ON_SAME_RECIPIENTRecipients cannot have both ID and Role; {0} has both. Specify a roleName or recipientId, but not both for the same recipient.
    BULK_SEND_CANNOT_USE_BOTH_ROLE_AND_ID_IN_SAME_LISTCannot use both recipient role and ID in the same list. Specify a roleName or recipientId, but not both in the same list.
    BULK_SEND_INVALID_ID_CHECK_CONFIGURATIONRecipient {0} specified SMS authentication, but no SMS auth settings were provided. Provide an SMS auth setting (proper ID configuration) if SMS auth is specified.
    BULK_SEND_INVALID_SBS_INPUT_CONFIGURATIONRecipient {0} has more than one signature provider specified. Or signingProviderName is not specified. Or Signature provider : {0} is either unknown or not an available pen for this account. One or more SBS configuration is missing or invalid. The error details provide specifics.
    BULK_SEND_TAB_LABELS_MUST_BE_UNIQUETab label {0} is duplicated. Needs to be unique. Use a unique tab label.
    BULK_SEND_TAB_LABEL_REQUIREDTab label is required. Specify a tab label.
    BULK_SEND_TAB_VALUE_REQUIREDTab Label value is required. Specify a value for the tab label.
    BULK_SEND_ENVELOPE_CUSTOM_FIELD_NAME_MUST_BE_UNIQUECustom fields must have distinct names. The field {0} appears more than once in a copy. Use unique names for custom fields.
    BULK_SEND_ENVELOPE_CUSTOM_FIELD_NAME_REQUIREDAll custom fields must have names. Specify a name for the custom field.
    BULK_SEND_ENVELOPE_CUSTOM_FIELD_VALUE_REQUIREDCustom field {0} has no value. A custom field can have an empty value, but it cannot have a null value. Specify a value for the custom field.
  • bulkSend.bulkSendV2CrudPutBulkSendList

    This method replaces the definition of an existing bulk send list.

  • bulkSend.bulkSendV2EnvelopesGetBulkSendBatchEnvelopes

    This method returns a list of envelopes in a specified bulk batch. Use the query parameters to filter and sort the envelopes by different attributes.

  • bulkSend.bulkSendV2SendPostBulkSendRequest

    This method initiates the bulk send process. It generates a bulk send request based on an [existing bulk send list][create_list] and an envelope or template.

    Consider using the [BulkSend::createBulkSendTestRequest][create_test] method to test your bulk send list for compatibility with the envelope or template that you want to send first. To learn about the complete bulk send flow, see the [Bulk Send overview][BulkSendOverview].

    If the envelopes were successfully queued for asynchronous processing, the response contains a batchId that you can use to get the status of the batch. If a failure occurs, the API returns an error message.

    Note: Partial success or failure generally does not occur. Only the entire batch is queued for asynchronous processing.

    Related topics

    Errors

    This method returns the following errors:

    Error codeDescription
    BULK_SEND_ENVELOPE_NOT_IN_SENDABLE_STATEEnvelope {0} is not in a sendable state. The envelope is not complete. Make sure it has a sendable status, such as created.
    BULK_SEND_ENVELOPE_LIST_CONTAINS_NO_COPIESCannot send an envelope with a bulk sending list which contains no copies. The list you're trying to bulk send is empty. Make sure the bulk sending list you're using contains recipients.
    BULK_SEND_ENVELOPE_LIST_CONTAINS_TOO_MANY_COPIESBulk sending list contains more than {0} copies. The list you're trying to bulk send will cause your account to exceed the 1,000-copy limit imposed for all accounts. Try sending two or more separate lists.
    BULK_SEND_ENVELOPE_CANNOT_BE_NULLCannot send a bulk list without an envelope. Specify the envelope ID or template ID for the envelope you want to bulk send.
    BULK_SEND_BLOB_STORE_ERRORCould not save copy of bulk sending list. An error writing to the database occurred. Try again. If the error persists, contact DocuSign Support.
    BULK_SEND_ACCOUNT_HAS_TOO_MANY_QUEUED_ENVELOPESCannot send this bulk sending list because doing so would exceed the maximum of {maxCopies} in-flight envelopes. This account currently has {unprocessedEnvelopes} envelopes waiting to be processed. Please try again later." .Try again later, or contact DocuSign Support to request a higher tier.
    BULK_SEND_ENVELOPE_NOT_FOUNDEnvelope {envelopeOrTemplateId} does not exist or you do not have permission to access it. The envelopeId or templateId specified could not be found. Specify a valid value.
    BULK_SEND_LIST_NOT_FOUNDBulk Sending list {listId} does not exist or you do not have permission to access it. The mailingListId specified could not be found. Specify a valid value.
    BULK_SEND_ENVELOPE_HAS_NO_RECIPIENTSBulk sending copy contains recipients, but the specified envelope does not. The recipients on the envelope and the bulk send list do not match. Make sure the envelope and list are compatible for sending.
    BULK_SEND_RECIPIENT_ID_DOES_NOT_EXIST_IN_ENVELOPERecipient {0} does not exist in the envelope. Add the missing recipient to the envelope.
    BULK_SEND_RECIPIENT_ID_DOES_NOT_MATCHRecipient ID {envelopeMember.ID} does not match. Make sure the recipient information in the list and the envelope match up.
    BULK_SEND_ENVELOPE_HAS_BULK_RECIPIENTRecipient {0} is a bulk recipient. This is not supported. No legacy 'bulk recipient' allowed. In v2.1 of the eSignature API, you must use a bulk send list instead of a bulk recipient. See the API documentation for details.
    BULK_SEND_RECIPIENT_ROLE_DOES_NOT_MATCHRecipient Role {envelopeMember.RoleName} does not match. Make sure the recipient information in the list and the envelope is compatible.
    BULK_SEND_DUPLICATE_RECIPIENT_DETECTEDDuplicate recipients ({0}) not allowed, unless recipients have unique routing order specified on envelope.
    BULK_SEND_ENVELOPE_HAS_NO_TABSBulk sending copy contains tabs, but the specified envelope does not. List and envelope tabs cannot be coalesced. Make sure they are compatible for sending.
    BULK_SEND_TAB_LABEL_DOES_NOT_EXIST_IN_ENVELOPETab with label {0} does not exist in envelope. Add the tab label to the envelope, remove the label from the list, or make sure you're specifying the correct list and envelope.
    BULK_SEND_TAB_DOES_NOT_MATCHTab {0} does not match {0} in envelope. A tab exists on the list that does not match or is missing on the envelope. Make sure the tabs on the list and the envelope match.
    BULK_SEND_ENVELOPE_HAS_NO_ENVELOPE_CUSTOM_FIELDSBulk sending copy contains custom fields, but the specified envelope does not. There are custom fields on the list that the envelope does not have. Make sure that any custom fields on the list and the envelope match.
    BULK_SEND_ENVELOPE_CUSTOM_FIELD_DOES_NOT_EXIST_IN_ENVELOPECustom field {0} does not exist in the envelope. Either add the custom field on the list to the envelope, remove the custom field from the list, or make sure you're specifying the correct list and envelope.
    BULK_SEND_ENVELOPE_CUSTOM_FIELD_NAME_DOES_NOT_MATCHCustom field names must match. {0} and {1} do not match. The custom field names on the list and the envelope do not match. Use identical names for both.
  • bulkSend.bulkSendV2TestPostBulkSendTestRequest

    This method tests a bulk send list for compatibility with the envelope or template that you want to send. For example, a template that has three roles is not compatible with a bulk send list that has only two recipients. For this reason, you might want to test compatibility first.

    A successful test result returns true for the canBeSent property. An unsuccessful test returns a JSON response that contains information about the errors that occurred.

    If the test is successful, you can then send the envelope or template by using the [BulkSend::createBulkSendRequest][BulkSendRequest] method.

    Envelope Compatibility Checks

    This section describes the envelope compatibility checks that the system performs.

    Top-Level Issues

    • Envelopes must be in a sendable state.
    • The bulk send list must contain at least one copy (instance of an envelope), and no more than the maximum number of copies allowed for the account.
    • The envelope must not be null and must be visible to the current user.
    • The account cannot have more queued envelopes than the maximum number configured for the account.
    • The bulk send list must exist.

    Recipients

    • The envelope must have recipients.
    • If you are using an envelope, all of the recipients defined in the bulk send list must have corresponding recipient IDs in the envelope definition. If you are using a template, you must either match the recipient IDs or role IDs.
    • The envelope cannot contain a bulk recipient (an artifact of the legacy version of DocuSign's bulk send functionality).

    Recipient Tabs

    • Every recipient ID, tab label pair in the bulk send list must correspond to a tab in the envelope.

    Custom Fields

    • Each envelope-level custom field in the bulk send list must correspond to the name of a customField in the envelope definition. You do not have to match the recipient-level custom fields.
  • chunkedUploads.chunkedUploadsDeleteChunkedUpload

    Deletes a chunked upload that has been committed but not yet consumed.

    This method cannot be used to delete the following types of chunked uploads, which the system deletes automatically:

    • Chunked uploads that have been consumed by use in another API call.
    • Expired chunked uploads.

    Note: If you are aware of a chunked upload that can be discarded, the best practice is to explicitly delete it. If you wait for the system to automatically delete it after it expires, the chunked upload will continue to count against your quota.

  • chunkedUploads.chunkedUploadsGetChunkedUpload

    Returns the details (but not the content) about a chunked upload.

    Note: You cannot obtain details about a chunked upload that has expired, been deleted, or consumed by other actions.

  • chunkedUploads.chunkedUploadsPostChunkedUploads

    This method initiates a new chunked upload with the first part of the content.

  • chunkedUploads.chunkedUploadsPutChunkedUploadPart

    Adds a chunk or part to an existing chunked upload. After you use the Create method to initiate a new chunked upload and upload the first part, use this method to upload subsequent parts.

    For simplicity, DocuSign recommends that you upload the parts in their sequential order ( 1,2, 3, 4, etc.). The Create method adds the first part and assigns it the sequence value 0. As a result, DocuSign recommends that you start with a sequence value of 1 when you use this method, and continue uploading parts contiguously until you have uploaded the entirety of the original content to DocuSign.

    Example:

    PUT /v2.1/accounts/{accountId}/chunked_uploads/{chunkedUploadId}/1PUT /v2.1/accounts/{accountId}/chunked_uploads/{chunkedUploadId}/2PUT /v2.1/accounts/{accountId}/chunked_uploads/{chunkedUploadId}/3

    Note: You cannot replace a part that DocuSign has already received, or add parts to a chunked upload that is already successfully committed.

  • chunkedUploads.chunkedUploadsPutChunkedUploads

    This method checks the integrity of a chunked upload and then commits it. When this request is successful, the chunked upload is then ready to be referenced in other API calls.

    If the request is unsuccessful, ensure that you have uploaded all of the parts by using the Update method.

    Note: After you commit a chunked upload, it no longer accepts additional parts.

  • cloudStorage.cloudStorageFolderGetCloudStorageFolder

    Retrieves a list of the user's items from the specified cloud storage provider.

    To limit the scope of the items returned, provide a comma-separated list of folder IDs in the request.

  • cloudStorage.cloudStorageFolderGetCloudStorageFolderAll

    Retrieves a list of all the items in a specified folder from the specified cloud storage provider.

  • cloudStorageProviders.cloudStorageDeleteCloudStorage

    Deletes the user authentication information for the specified cloud storage provider. The next time the user tries to access the cloud storage provider, they must pass normal authentication for this cloud storage provider.

  • cloudStorageProviders.cloudStorageDeleteCloudStorageProviders

    Deletes the user authentication information for one or more cloud storage providers. The next time the user tries to access the cloud storage provider, they must pass normal authentication.

  • cloudStorageProviders.cloudStorageGetCloudStorage

    Retrieves the list of cloud storage providers enabled for the account and the configuration information for the user.

  • cloudStorageProviders.cloudStorageGetCloudStorageProviders

    Retrieves the list of cloud storage providers enabled for the account and the configuration information for the user.

  • cloudStorageProviders.cloudStoragePostCloudStorage

    Configures the redirect URL information for one or more cloud storage providers for the specified user. The redirect URL is added to the authentication URL to complete the return route.

  • comments.commentsGetCommentsTranscript

    Retrieves a PDF file containing all of the comments that senders and recipients have added to the documents in an envelope.

    The response body of this method is the PDF file as a byte stream.

    Note: Comments are disabled by default. To use the comments feature, an account administrator must enable comments on the account (in the accountSettingsInformation object, set the enableSigningExtensionComments property to true).

  • connectConfigurations.connectDeleteConnectConfig

    Deletes the specified DocuSign Connect configuration.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectConfigurations.connectGetConnectAllUsers

    Returns all users from the configured Connect service.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectConfigurations.connectGetConnectConfig

    Retrieves the information for the specified DocuSign Connect configuration.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectConfigurations.connectGetConnectConfigs

    Retrieves all the DocuSign Custom Connect definitions for the specified account.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectConfigurations.connectGetConnectUsers

    Returns users from the configured Connect service.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectConfigurations.connectOAuthConfigDeleteConnectOAuthConfig

    Deletes the Connect OAuth configuration for the specified account.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

    Related topics:

  • connectConfigurations.connectOAuthConfigGetConnectOAuthConfig

    Gets the Connect OAuth configuration for the specified account.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

    Related topics:

  • connectConfigurations.connectOAuthConfigPostConnectOAuthConfig

    Sets up Connect OAuth for the specified account using an authorization server of your choice. To use this endpoint, get the client ID and client secret from your authorization server.

    When you call this endpoint, DocuSign requests an access token from your authorization server. DocuSign will use that token in the Authorization HTTP header of your account's Connect messages. Finally, your listener will be responsible for validating the token by calling the authorization server.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

    Related topics:

  • connectConfigurations.connectOAuthConfigPutConnectOAuthConfig
  • connectConfigurations.connectPostConnectConfiguration

    Creates a custom Connect configuration for the specified account.

    Connect is a webhook service that provides updates when certain events occur in your eSignature workflows. You can use this endpoint to create:

    • Account-level Connect configurations to listen for events related to any envelopes sent by one or more account users
    • Recipient Connect configurations that are triggered when one or more of your account users receive an envelope

    To set an account-level configuration, set configurationType to custom. To set a Recipient Connect configuration, set configurationType to customrecipient.

    If you want to listen for events on only one envelope, use the object instead.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

    Data models

    There are four possible data models for your Connect configuration. Consider:

    • Do you want the data in JSON or XML?
    • Do you want events sent individually (SIM) or in aggregate?

    DocuSign recommends using the .

    JSON SIM (Recommended)

    Set deliveryMode to SIM and eventData.version to restv2.1. Use the events property to set the event statuses that will trigger your configuration.

    The following sample request shows how to create an envelope-level configuration using JSON SIM:

    {  "configurationType": "custom",  "urlToPublishTo": "YOUR-WEBHOOK-URL",  "allUsers": "true",  "name": "jsonSimTest",  "deliveryMode": "SIM",  "allowEnvelopePublish": "true",  "enableLog": "true",  "eventData": {      "version": "restv2.1"  },  "events": [      "envelope-sent",      "envelope-delivered",      "envelope-completed"  ]}

    The following sample request shows how to create a Recipient Connect configuration using JSON SIM:

    {  "configurationType": "customrecipient",  "urlToPublishTo": "YOUR-WEBHOOK-URL",  "allUsers": "true",  "name": "jsonSimTest",  "deliveryMode": "SIM",  "allowEnvelopePublish": "true",  "enableLog": "true",  "eventData": {      "version": "restv2.1"  },  "events": [      "recipient-sent",      "recipient-completed"  ]}

    JSON Aggregate

    Set deliveryMode to aggregate and eventData.version to restv2.1. Use the envelopeEvents or recipientEvents property to set the event statuses that will trigger your configuration.

    XML Aggregate

    Set deliveryMode to aggregate. Use the envelopeEvents or recipientEvents property to set the event statuses that will trigger your configuration.

    XML SIM (Legacy apps only)

    Note: This model .

    Set deliveryMode to SIM. Use the envelopeEvents or recipientEvents property to set the event statuses that will trigger your configuration.

    Troubleshooting

    If your configuration is not working, check the following.

    • Connect must be enabled for your account to use this function.
    • If you are using envelopeEvents or recipientEvents, make sure that the event values are sentence case, not lowercase.
    • Make sure you have either set allUsers to true or set userIds to a non-empty array of IDs.
    • By default, this endpoint creates a disabled configuration. To enable the configuration immediately, set the body parameter allowEnvelopePublish to true. You can also enable the configuration in the UI.
    • To check if events are being emitted, set enableLog to true to view event logs in the Connect console.

    Related topics

    • For more information about Connect, see the .
    • Use the MyAPICalls sample app to see an using the JSON SIM model.
  • connectConfigurations.connectPutConnectConfiguration

    Updates the specified DocuSign Connect configuration in your account. To enable the configuration, set the allowEnvelopePublish property to true.

    After any updates, test your configuration to make sure it works as expected.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectEvents.connectFailuresDeleteConnectFailureLog

    Deletes the Connect failure log information for the specified entry.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectEvents.connectFailuresGetConnectLogs

    Retrieves the Connect failure log information. You can use this log to determine which envelopes failed to post, in order to create a republish request.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectEvents.connectLogDeleteConnectLog

    Deletes a specified entry from the Connect Log.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectEvents.connectLogDeleteConnectLogs

    Deletes a list of Connect log entries for your account.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectEvents.connectLogGetConnectLog

    Retrieves the specified Connect log entry for your account.

    The enableLog setting in the Connect configuration must be set to true to enable logging. If logging is not enabled, then no log entries are recorded.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectEvents.connectLogGetConnectLogs

    Retrieves a list of the 100 most recent connect log entries for your account.

    The enableLog setting in the Connect configuration must be set to true to enable logging. If logging is not enabled, then no log entries are recorded.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectEvents.connectPublishPutConnectRetry

    Republishes Connect information for the specified set of envelopes. The primary use is to republish Connect post failures by including envelope IDs for the envelopes that failed to post in the request. The list of envelope IDs that failed to post correctly can be retrieved by calling to retrieve the failure log.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • connectEvents.connectPublishPutConnectRetryByEnvelope

    Republishes Connect information for the specified envelope.

    Note: To use this function, you must be an account administrator and Connect must be enabled on your account.

  • contacts.contactsDeleteContacts

    This method deletes multiple contacts associated with an account.

  • contacts.contactsDeleteContactWithId

    This method deletes a contact associated with an account.

  • contacts.contactsGetContactById

    This method returns one or more contacts associated with a DocuSign account. You can also retrieve contacts from connected [cloud storage][CloudStorage] providers by using the cloud_provider query parameter. By default, contacts are retrieved from the DocuSign account's default address book.

    To return a specific contact, use the contactId query parameter. To return all contacts associated with an account, omit this parameter.

  • contacts.contactsPostContacts

    This method adds multiple contacts into a contacts list.

  • contacts.contactsPutContacts

    This method updates one or more contacts associated with an account.

  • customTabs.tabDeleteCustomTab

    Deletes the custom from the specified account.

  • customTabs.tabGetCustomTab

    Retrieves information about the requested custom tab on the specified account.

  • customTabs.tabPutCustomTab

    Updates the information in a custom tab for the specified account.

  • customTabs.tabsGetTabDefinitions

    Retrieves a list of all tabs associated with the account.

  • customTabs.tabsPostTabDefinitions

    Creates a tab with pre-defined properties, such as a text tab with a certain font type and validation pattern. Users can access the custom tabs when sending documents through the DocuSign web application.

    Custom tabs can be created for approve, checkbox, company, date, date signed, decline, email, email address, envelope ID, first name, formula, full name, initial here, last name, list, note, number, radio, sign here, signer attachment, SSN, text, title, and zip tabs.

  • documentResponsiveHtmlPreview.responsiveHtmlPostDocumentResponsiveHtmlPreview

    Creates a preview of the HTML version of a specific document. This method enables you to preview a PDF document conversion to responsive HTML across device types prior to sending.

    The request body is a documentHtmlDefinition object, which holds the responsive signing parameters that define how to generate the HTML version of the signing document.

  • eNoteConfigurations.eNoteConfigurationDeleteENoteConfiguration
  • eNoteConfigurations.eNoteConfigurationGetENoteConfiguration
  • eNoteConfigurations.eNoteConfigurationPutENoteConfiguration
  • envelopeAttachments.attachmentsDeleteAttachments

    Deletes one or more attachments from a draft envelope.

  • envelopeAttachments.attachmentsGetAttachment

    Retrieves an attachment from an envelope.

  • envelopeAttachments.attachmentsGetAttachments

    Returns a list of attachments associated with a specified envelope.

  • envelopeAttachments.attachmentsPutAttachment

    Adds an attachment to a draft or in-process envelope.

  • envelopeAttachments.attachmentsPutAttachments

    Adds one or more attachments to a draft or in-process envelope.

    Envelope attachments are files that an application can include in an envelope. They are not converted to PDF. Envelope attachments are available only through the API. There is no user interface in the DocuSign web application for them.

    For a list of supported file formats, see .

  • envelopeConsumerDisclosures.consumerDisclosureGetConsumerDisclosureEnvelopeIdRecipientId

    Retrieves the default, HTML-formatted Electronic Record and Signature Disclosure (ERSD) for the envelope that you specify.

    This is the default ERSD disclosure that DocuSign provides for the convenience of U.S.-based customers only. This default disclosure is only valid for transactions between U.S.-based parties.

    To set the language of the disclosure that you want to retrieve, use the optional langCode query parameter.

  • envelopeConsumerDisclosures.consumerDisclosureGetConsumerDisclosureEnvelopeIdRecipientIdLangCode

    Retrieves the HTML-formatted Electronic Record and Signature Disclosure (ERSD) for the envelope recipient that you specify. This disclosure might differ from the account-level disclosure, based on the signing brand applied to the envelope and the recipient's language settings.

    To set the language of the disclosure that you want to retrieve, specify the langCode as either a path or query parameter.

  • envelopeCustomFields.customFieldsDeleteCustomFields

    Deletes envelope custom fields for draft and in-process envelopes.

  • envelopeCustomFields.customFieldsGetCustomFields

    Retrieves the custom field information for the specified envelope. You can use these fields in the envelopes for your account to record information about the envelope, help search for envelopes, and track information. The envelope custom fields are shown in the Envelope Settings section when a user is creating an envelope in the DocuSign member console. The envelope custom fields are not seen by the envelope recipients.

    There are two types of envelope custom fields, text, and list. A text custom field lets the sender enter the value for the field. With a list custom field, the sender selects the value of the field from a pre-made list.

    Related topics

  • envelopeCustomFields.customFieldsPostCustomFields

    Updates the envelope custom fields for draft and in-process envelopes.

    Related topics

  • envelopeCustomFields.customFieldsPutCustomFields

    Updates the envelope custom fields in draft and in-process envelopes.

    Each custom field used in an envelope must have a unique name.

  • envelopeDocumentFields.documentFieldsDeleteDocumentFields

    Deletes custom document fields from an existing envelope document.

  • envelopeDocumentFields.documentFieldsGetDocumentFields

    Retrieves the custom document field information from an existing envelope document.

  • envelopeDocumentFields.documentFieldsPostDocumentFields

    Creates custom document fields in an existing envelope document.

  • envelopeDocumentFields.documentFieldsPutDocumentFields

    Updates existing custom document fields in an existing envelope document.

  • envelopeDocumentHtmlDefinitions.responsiveHtmlGetEnvelopeDocumentHtmlDefinitions

    Retrieves the HTML definition used to generate a dynamically sized responsive document.

    If the document was not created as a signable HTML document, this endpoint will return a 200-OK response and an empty JSON body.

    Note: The documentId query parameter is a GUID value, not an integer document ID. If an invalid document ID is provided, this endpoint will return a 200-OK response and an empty JSON body.

    Related topics

  • envelopeDocuments.documentsDeleteDocuments

    Deletes one or more documents from an existing envelope that has not yet been completed.

    To delete a document, use only the relevant parts of the . For example, this request body specifies that you want to delete the document whose documentId is "1".

    text
    {  "documents": [    {      "documentId": "1"    }  ]}

    The envelope status must be one of:

    • created
    • sent
    • delivered
  • envelopeDocuments.documentsGetDocument

    Retrieves a single document or all documents from an envelope.

    To retrieve a single document, provide the ID of the document in the documentId path parameter. Alternatively, by setting the documentId parameter to special keyword values, you can retrieve all the documents (as a combined PDF, portfolio PDF, or ZIP archive) or just the certificate of completion. See the documentId description for how to retrieve each format.

    The response body of this method is a file. If you request multiple documents, the result is a ZIP archive that contains all of the documents.

    In all other cases, the response is a PDF file or PDF portfolio.

    You can get the file name and document ID from the response's Content-Disposition header:

    Content-Disposition: file; filename="NDA.pdf"; documentid="1

    By default, the response is the PDF file as a byte stream. For example a request/response in curl looks like this:

    $ curl --request GET 'https://demo.docusign.net/restapi/v2/accounts/0cdb3ff3-xxxx-xxxx-xxxx-e43af011006d/envelopes/ea4cc25b-xxxx-xxxx-xxxx-a67a0a2a4f6c/documents/1/' \       --header 'Authorization: Bearer eyJ...bqg'
    
    HTTP/1.1 200 OKContent-Length: 167539Content-Type: application/pdf. . .Content-Disposition: file; filename="Lorem_Ipsum.pdf"; documentid="1"Date: Tue, 23 Aug 2022 01:13:15 GMT
    %PDF-1.4%˚¸˝˛6 0 obj<</Length 14>>stream. . .

    By using the Content-Transfer-Encoding header in the request, you can obtain the PDF file encoded in base64. The same curl request with the base64 header would look like this:

    $ curl --request GET 'https://demo.docusign.net/restapi/v2/accounts/0cdb3ff3-xxxx-xxxx-xxxx-e43af011006d/envelopes/ea4cc25b-xxxx-xxxx-xxxx-a67a0a2a4f6c/documents/1/' \       --header 'Authorization: Bearer eyJ...bqg' \       --header 'Content-Transfer-Encoding: base64'
    
    HTTP/1.1 200 OKContent-Length: 223384Content-Type: application/pdf. . .Content-Disposition: file; filename="Lorem_Ipsum.pdf"; documentid="1"Content-Transfer-Encoding: base64Date: Tue, 23 Aug 2022 01:12:30 GMT
    JVBERi0xLjQKJfv8/f4KNiAwIG9iago8PC9MZW. . .==

    (In an actual curl request you would use the --output switch to save the byte stream into a file.)

    Related topics

  • envelopeDocuments.documentsGetDocuments

    Retrieves a list of documents associated with the specified envelope.

    Related topics

  • envelopeDocuments.documentsPutDocument

    Adds or replaces a document in an existing draft or in-process envelope. An in-process envelope is one that has been sent but not yet completed or voided.

    Note: When adding or modifying documents for an in-process envelope, DocuSign recommends prior to making any changes.

    To add a new document, set the documentId path parameter to a new document ID.

    To replace a document, set the documentId path parameter to the document ID of the existing document. The tabs of the original document will be applied to the new document. For example, a request in cURL looks like this:

    $ curl --location --request PUT 'https://demo.docusign.net/restapi/v2.1/accounts/0cdb3ff3-xxxx-xxxx-xxxx-e43af011006d/envelopes/ea4cc25b-xxxx-xxxx-xxxx-a67a0a2a4f6c/documents/1' \    --header 'Authorization: Bearer eyJ...bqg' \    --header 'Content-Disposition: filename="newDocument"' \    --header 'Content-Type: application/pdf' \    --data-binary '@/location/of/document.pdf'
  • envelopeDocuments.documentsPutDocuments

    Adds one or more documents to an existing envelope. The tabs of the original document will be applied to the new document.

    Note: When adding or modifying documents for an in-process envelope, DocuSign recommends prior to making any changes.

    If the file name of a document contains Unicode characters, you need to include a Content-Disposition header. Example:

    Header: Content-Disposition

    Value: file; filename=\"name\";fileExtension=ext;documentId=1

  • envelopeDocumentTabs.tabsDeleteDocumentTabs

    Deletes tabs from the document specified by documentId in the envelope specified by envelopeId.

  • envelopeDocumentTabs.tabsGetDocumentTabs

    Returns the tabs on the document specified by documentId in the envelope specified by envelopeId.

  • envelopeDocumentTabs.tabsGetPageTabs

    Returns the tabs from the page specified by pageNumber of the document specified by documentId in the envelope specified by envelopeId.

  • envelopeDocumentTabs.tabsPostDocumentTabs

    Adds tabs to the document specified by documentId in the envelope specified by envelopeId.

    In the request body, you only need to specify the tabs that your are adding. For example, to add a text , your request body might look like this:

    {  "prefillTabs": {    "textTabs": [      {        "value": "a prefill text tab",        "pageNumber": "1",        "documentId": "1",        "xPosition": 316,        "yPosition": 97      }    ]  }}
  • envelopeDocumentTabs.tabsPutDocumentTabs

    Updates tabs in the document specified by documentId in the envelope specified by envelopeId.

  • envelopeDocumentVisibility.recipientsGetRecipientDocumentVisibility

    This method returns information about document visibility for a recipient.

  • envelopeDocumentVisibility.recipientsPutRecipientDocumentVisibility

    This method updates document visibility for a recipient.

    Note: A document cannot be hidden from a recipient if the recipient has tabs assigned to them on the document. Carbon Copy, Certified Delivery (Needs to Sign), Editor, and Agent recipients can always see all documents.

  • envelopeDocumentVisibility.recipientsPutRecipientsDocumentVisibility

    This method updates document visibility for one or more recipients based on the recipientId and visible values that you include in the request body.

    Note: A document cannot be hidden from a recipient if the recipient has tabs assigned to them on the document. Carbon Copy, Certified Delivery (Needs to Sign), Editor, and Agent recipients can always see all documents.

  • envelopeEmailSettings.emailSettingsDeleteEmailSettings

    Deletes all existing email override settings for the envelope. If you want to delete an individual email override setting, use the PUT and set the value to an empty string. Note that deleting email settings will only affect email communications that occur after the deletion and the normal account email settings are used for future email communications.

  • envelopeEmailSettings.emailSettingsGetEmailSettings

    Retrieves the email override settings for the specified envelope.

  • envelopeEmailSettings.emailSettingsPostEmailSettings

    Adds email override settings, changing the email address to reply to an email address, name, or the BCC for email archive information, for the envelope. Note that adding email settings will only affect email communications that occur after the addition was made.

    The BCC Email address feature is designed to provide a copy of all email communications for external archiving purposes. To send a copy of the envelope to a recipient who does not need to sign, use a Carbon Copy or Certified Delivery recipient type.

    Note: DocuSign recommends that envelopes sent using the BCC for Email Archive feature, including the BCC Email Override option, include additional signer authentication options.

  • envelopeEmailSettings.emailSettingsPutEmailSettings

    Updates the existing email override settings for the specified envelope. Note that modifying email settings will only affect email communications that occur after the modification was made.

    This can also be used to delete an individual email override setting by using an empty string for the value to be deleted.

  • envelopeFormData.formDataGetFormData

    This method downloads the envelope and tab data (also called form data) from any in-process, completed, or canceled envelope that you sent or that is shared with you. Recipients who are also full administrators on an account can view form data for any envelopes that another user on the account has sent to them.

    Note: To use this feature, the Sending Setting "Allow sender to download form data" must be enabled for the account.

    Related topics

  • envelopeHtmlDefinitions.responsiveHtmlGetEnvelopeHtmlDefinitions
  • envelopeLocks.lockDeleteEnvelopeLock

    Deletes the lock from the specified envelope. The user deleting the lock must be the same user who locked the envelope.

    You must include the X-DocuSign-Edit header as described in .

    This method takes an optional query parameter that lets you specify whether changes made while the envelope was locked are kept or discarded.

    Query ParameterDescription
    save_changesWhen true (the default), any changes made while the lock was active are saved. When false, any changes made while the envelope was locked are discarded.

    Related topics

  • envelopeLocks.lockGetEnvelopeLock

    Retrieves general information about an envelope lock.

    The user requesting the information must be the same user who locked the envelope.

    You can use this method to recover the lock information, including the lockToken, for a locked envelope. The X-DocuSign-Edit header is included in the response.

    See for a description of the X-DocuSign-Edit header.

    Related topics

  • envelopeLocks.lockPostEnvelopeLock

    This method locks the specified envelope and sets the time until the lock expires to prevent other users or recipients from changing the envelope.

    The response to this request includes a lockToken parameter that you must use in the X-DocuSign-Edit header for every PUT method (typically a method that updates an envelope) while the envelope is locked.

    If you do not provide the lockToken when accessing a locked envelope, you will get the following error:

    {   "errorCode": "EDIT_LOCK_NOT_LOCK_OWNER",   "message": "The user is not the owner of the lock. The template is locked by another user or in another application"}

    The X-DocuSign-Edit header

    The X-DocuSign-Edit header looks like this and can be specified in either JSON or XML.

    JSON

    {  "LockToken": "token-from-response",  "LockDurationInSeconds": "600"}

    XML

    <DocuSignEdit>  <LockToken>token-from-response</LockToken>  <LockDurationInSeconds>600</LockDurationInSeconds></DocuSignEdit>

    In the actual HTTP header, you would remove the linebreaks:

    X-DocuSign-Edit: {"LockToken": "token-from-response", "LockDurationInSeconds": "600" }    orX-DocuSign-Edit:<DocuSignEdit><LockToken>token-from-response</LockToken><LockDurationInSeconds>600</LockDurationInSeconds></DocuSignEdit>

    Related topics

  • envelopeLocks.lockPutEnvelopeLock

    Updates the lock information for a locked envelope.

    You must include the X-DocuSign-Edit header as described in .

    Use this method to change the duration of the lock (lockDurationInSeconds) or the lockedByApp string.

    The request body is a full lockRequest object, but you only need to specify the properties that you are updating. For example:

    {  "lockDurationInSeconds": "3600",  "lockedByApp": "My Application"}
  • envelopePublish.historicalEnvelopePublishPostHistoricalEnvelopePublishTransaction

    This endpoint submits a batch of existing envelopes to a webhook of your choice. Set the webhook address with the urlToPublishTo request body parameter.

    This endpoint does not call an existing Connect configuration or create a new Connect listener to monitor new activity. It simply uses an ad hoc configuration to submit existing envelopes. You must include all the configuration data in the request body.

    The envelope data will always be transmitted in JSON format. XML, Salesforce, and eOriginal configuration types are not supported.

    Your request should match the following format:

    {    "envelopes": ["4280f274-xxxx-xxxx-xxxx-b218b7eeda08", "8373a938-xxxx-xxxx-xxxx-e992a2abae01"],    "config": {        "configurationType":"custom",        "name": "Test",        "urlToPublishTo":"YOUR-WEBHOOK-URL",        "allowEnvelopePublish": "true",        "enableLog": "true",        "requiresAcknowledgement": "true",        "IncludeHMAC": "true",        "SignMessageWithX509Cert": "true",        "deliveryMode": "SIM",        "eventData": {            "version": "restv2.1",            "format": "json",            "includedata": ["tabs","payment_tabs","custom_fields","powerform","recipients","folde rs","extensions","attachments", "prefill_tabs", "documents"]        }    }}

    If the request succeeds, it returns a 201 (Created) HTTP response code and the response body property processingStatus will be set to processing. You can then view the status of each historical republish request in the .

  • envelopeRecipients.recipientsDeleteRecipient

    Deletes a recipient from a draft or sent envelope.

    If the envelope is "In Process" (has been sent and is not completed or voided), recipients that have completed their actions cannot be deleted.

  • envelopeRecipients.recipientsDeleteRecipients

    Deletes one or more recipients from a draft or sent envelope. List the recipients that you want to delete in the body of the request. This method uses the recipientId as the key for deleting recipients.

    If the envelope is In Process, meaning that it has been sent and has not been completed or voided, recipients that have completed their actions cannot be deleted.

  • envelopeRecipients.recipientsGetRecipients

    Retrieves the status of all recipients in a single envelope and identifies the current recipient in the routing list. This method can also be used to retrieve the tab values.

    The currentRoutingOrder property of the response contains the routingOrder value of the current recipient indicating that the envelope has been sent to the recipient, but the recipient has not completed their actions.

    Related topics

  • envelopeRecipients.recipientsPostRecipientProofFileResourceToken

    Creates a resource token for a sender. This token allows a sender to return identification data for a recipient using the .

  • envelopeRecipients.recipientsPostRecipients

    Adds one or more recipients to an envelope.

    For an in-process envelope, one that has been sent and has not been completed or voided, an email is sent to a new recipient when they are reached in the routing order. If the new recipient's routing order is before or the same as the envelope's next recipient, an email is only sent if the optional resend_envelope query string is set to true.

    Note: This method works on recipients only. To add recipient tabs, use methods from the [EnvelopeRecipientTabs][recipientTabs] resource. For example, this request body will add a recipient (astanton@example.com) but NOT the Sign Here recipient tab.

    json
    {  "signers": [    {      "email": "astanton@example.com",      "name": "Anne Stanton",      "recipientId": "1",      "tabs": {           // These tabs will NOT be added        "signHereTabs": [ // with this method. See note above.          {            "anchorString": "below",            "tooltip": "please sign here"          },          . . .        ]      }    }  ]}

    Related topics

  • envelopeRecipients.recipientsPutRecipients

    Updates the recipients of a draft envelope or corrects recipient information for an in-process envelope.

    If you send information for a recipient that does not already exist in a draft envelope, the recipient is added to the envelope (similar to the [EnvelopeRecipients: Create][EnvelopeRecipients-create] method).

    You can also use this method to resend an envelope to a recipient by using the resend_envelope option.

    Updating Sent Envelopes

    After an envelope has been sent, you can edit only the following properties:

    • accessCode
    • agentCanEditName
    • agentCanEditEmail
    • customFields
    • deliveryMethod
    • documentVisibility
    • email (If you provide an email address in this method, it will be treated as a new email address, even if it is exactly the same as the current address. Do not provide an email address if you do not want a correction email sent.)
    • emailNotification
    • idCheckConfigurationName
    • identityVerification
    • name
    • note
    • phoneAuthentication
    • recipientType (For this to work, you must also change the recipient object to match the recipient type.)
    • requireIdLookup
    • routingOrder
    • routingOrder
    • signingGroupId (You can change this ID to switch to a different signing group and its corresponding set of recipients.)
    • smsAuthentication
    • suppressEmails
    • userName

    If the recipient has signed, but the envelope is still active, the method will return success, but the recipientUpdateResults property in the response will include an error that the recipient could not be updated:

    {  "recipientUpdateResults": [    {      "recipientId": "999",      "errorDetails": {        "errorCode": "RECIPIENT_UPDATE_FAILED",        "message": "The recipient could not be updated.  Recipient not in state that allows correction."      }    }  ]}

    If the envelope is completed, and you try to change a recipient's address, the method will fail with this error:

    {  "errorCode": "ENVELOPE_INVALID_STATUS",  "message": "Invalid envelope status. Envelope status is not one of: Created, Sent, Delivered, Correct."}

    Note: This method works on recipients only. To add recipient tabs, use methods from the [EnvelopeRecipientTabs][recipientTabs] resource. For example, this request body will add a recipient (astanton@example.com) but NOT the Sign Here recipient tab.

    json
    {  "signers": [    {      "email": "astanton@example.com",      "name": "Anne Stanton",      "recipientId": "1",// THIS WILL NOT WORK      "tabs": {        "signHereTabs": [          {            "anchorString": "below",            "tooltip": "please sign here3"          },          . . .        ]      }    }  ]}
  • envelopeRecipients.viewsPostEnvelopeRecipientPreview

    Returns a URL to preview the recipients' view of a draft envelope or template. You can embed this view in your application to enable the sender to preview the recipients' experience.

    For more information, see .

  • envelopeRecipients.viewsPostRecipientManualReviewView

    This method returns the URL of the page that allows a sender to the ID of a recipient.

  • envelopeRecipientTabs.recipientsDeleteRecipientTabs

    Deletes one or more tabs associated with a recipient in a draft envelope.

  • envelopeRecipientTabs.recipientsGetRecipientTabs

    Retrieves information about the tabs associated with a recipient. You can make a single API call to get all the tab values and information from a given, completed envelope in addition to draft ones. Tab values can be retrieved by using the with query parameter include_tabs set to true.

  • envelopeRecipientTabs.recipientsPostRecipientTabs

    Adds one or more tabs for a recipient.

  • envelopeRecipientTabs.recipientsPutRecipientTabs

    Updates one or more tabs for a recipient in a draft envelope. A draft envelope is one that is not yet complete.

    Note: It is an error to update a tab that has the templateLocked property set to true. This property corresponds to the Restrict changes option in the web app.

  • envelopes.auditEventsGetAuditEvents

    Gets the envelope audit events for the specified envelope.

  • envelopes.envelopesGetEnvelope

    Retrieves the overall status for the specified envelope. To get the status of a list of envelopes, use .

    Related topics

  • envelopes.envelopesGetEnvelopes

    This method lets you in your accounts. A large set of filters let you narrow the scope of your search by date, by envelope ID, or by status codes. Your request must include one or more of the following parameters:

    • from_date
    • envelope_ids
    • transaction_ids

    To avoid unnecessary database queries, the DocuSign signature platform first checks requests to ensure that the filter set supplied does not result in a zero-size response before querying the database.

    For example, for a request with a from_to_status of delivered and a current status of created,sent, DocuSign will always return an empty list. This is because the request translates to: find the envelopes that were delivered between the from_date and to_date dates that have a current status of created or sent. Since an envelope that has been delivered can never have a status of created or sent, a zero-size response would be generated. In this case, DocuSign does not query the database and returns an empty list immediately.

    Getting envelope status using transaction_ids is useful for offline signing situations where it can be used determine if an envelope was created or not. It can be used for the cases where a network connection was lost, before the envelope status could be returned.

    The following table shows the valid current envelope statuses (status parameter) for the different status qualifiers (from_to_status parameter) in the request. If the status and status qualifiers in the API request do not contain any of the values shown in the Valid Current Statuses column, then an empty list is returned.

    Client applications should check that the statuses (status parameter) they are requesting make sense for a given from_to_status parameter value.

    Status Qualifier
    (from_to_status)
    Effective Status QualifierValid Current Statuses
    any (changed)StatusChangedany, created, sent, delivered, signed, completed, declined, voided, deleted
    createdCreatedany, created, sent, delivered, signed, completed, declined, voided, deleted
    sentSentany, sent, delivered, signed, completed, declined, voided, deleted
    deliveredStatusChangedany, delivered, signed, completed, declined, voided, deleted
    signedStatusChangedany, signed, completed, declined, voided, deleted
    completedCompletedany, completed, declined, voided, deleted
    declinedStatusChangedany, declined, voided, deleted
    timedout
    always return zero results
    StatusChangedany, voided, deleted
    voidedVoidedany, voided, deleted
    deletedStatusChangedany, deleted

    Extraneous results

    In some cases, a request for a specific envelope status will include envelopes with additional statuses. For example, in a request with a from_date of 2017-01-01, a to_date of 2017-01-07 and the status qualifier (from_to_status) set to delivered, the response set might contain envelopes that were created during that time period, but not delivered during the time period. As a workaround, check the envelope status values in the result set as needed.

    Related topics

  • envelopes.envelopesPostEnvelopes

    Creates and sends an envelope or creates a draft envelope. Envelopes are fundamental resources in the DocuSign platform.

    With this method you can:

    • Create and send an envelope with [documents][], [recipients][], and [tabs][].
    • .
    • .
    • Create a draft envelope.

    When you use this method to create and send an envelope in a single request, the following parameters in the request body (an [envelopeDefinition][envelopeDefinition] object) are required:

    ParameterDescription
    statusSet to sent to send the envelope to recipients.
    Set to created (or don't set at all) to save the envelope as a draft.
    emailSubjectThe subject of the email used to send the envelope.
    documentsThe [documents][] to be signed.
    recipientsThe email addresses of the envelope [recipients][].

    When you create an envelope by using a , you should specify the envelope custom fields in the inline template. Any custom fields that you specify at the root level are ignored.

    If the envelope has a workflow definition and the workflowStatus is paused, the envelope will not be sent immediately, even if the envelope's status is sent.

    Related topics

    [Envelope][envelopes] and [template][templates] objects along with [documents][documents], [recipients][recipients], and [tabs][tabs] are the five object models at the core of the eSignature API. The describes how the five object models work together.

    The following how-to articles contain practical examples that show you how to to configure this method's [envelopeDefinition][envelopeDefinition] request body to perform common tasks.

    Requesting signatures

    Requiring authentication

    Sending envelopes

    Setting tab values

    Applying brands

    Documents, conditional recipients, pausing a workflow

    __

  • envelopes.envelopesPutEnvelope

    This method enables you to make changes to an envelope. You can use it to:

    Although the request body for this method is a complete envelope definition, you only need to provide the properties that you're updating.

    Sending a draft envelope

    To send a draft envelope, include the following code in the request body:

    json
    {  "status": "sent"}

    You can attach a workflow before sending the envelope:

    json
    {  "status": "sent",  "workflow": {    "workflowSteps": [      {        "action": "pause_before",        "description": "pause_before routing order 2",        "itemId": 2,        "triggerOnItem": "routing_order"      }    ]  }}

    Working with workflows

    To unpause a workflow, the request body should include this:

    json
    {  "workflow": {    "workflowStatus": "in_progress"  }}

    Voiding an in-process envelope

    To void an in-process envelope, include the following code in the request body:

    json
    {  "status": "voided",  "voidedReason": "The reason for voiding the envelope"}

    Modifying envelope email information

    To change the email subject and message of a draft envelope, include the following code in the request body:

    json
    {  "emailSubject": "new email subject",  "emailBlurb": "new email message"}

    Purging documents from docusign

    To place only the documents in the purge queue, leaving any corresponding attachments and tabs in the DocuSign platform, set the purgeState property to documents_queued.

    json
    {  "envelopeId": "222e6847-xxxx-xxxx-xxxx-72a3c9c16fca",  "purgeState": "documents_queued"}

    To place documents, attachments, and tabs in the purge queue, set the purgeState property to documents_and_metadata_queued.

    json
    {  "envelopeId": "222e6847-xxxx-xxxx-xxxx-72a3c9c16fca",  "purgeState": "documents_and_metadata_queued"}

    To place documents, attachments, and tabs in the purge queue and to redact personal information, set the purgeState property to documents_and_metadata_and_redact_queued.

    json
    {  "envelopeId": "222e6847-xxxx-xxxx-xxxx-72a3c9c16fca",  "purgeState": "documents_and_metadata_and_redact_queued"}

    You can purge documents only from completed envelopes that are not marked as the authoritative copy. The user requesting the purge must have permission to purge documents and must be the sender or be acting on behalf of the sender.

    When the purge request is initiated the items to be purged are placed in the purge queue for deletion in 14 days. The sender and all recipients with DocuSign accounts associated with the envelope get an email notification the documents will be deleted in 14 days. The notification contains a link to the documents. A second email notification is sent 7 days later. At the end of the 14-day period the documents are deleted from the system. Recipients without DocuSign accounts do not receive email notifications.

    If your account has a Document Retention policy, envelope documents are automatically placed in the purge queue, and notification emails are sent at the end of the retention period. Setting a Document Retention policy is the same as setting a schedule for purging documents.

    Removing documents from the purge queue

    To remove documents from the purge queue, include the following code in the request body:

    json
    {  "envelopeId": "222e6847-xxxx-xxxx-xxxx-72a3c9c16fca",  "purgeState": "documents_dequeued"}

    Related topics

    • ()
  • envelopes.envelopesPutStatus

    Retrieves envelope statuses for a set of envelopes.

    You must specify exactly one of the following query parameters:

    ParameterDescription
    from_datea valid UTC DateTime: 2016-01-01
    envelope_idsA comma-separated list of envelope IDs
    or the special value request_body
    transaction_idsA comma-separated list of transaction IDs
    or the special value request_body

    When you use the special value request_body, the request body looks like this:

    {  "envelopeIds": [    "44c5ad6c-xxxx-xxxx-xxxx-ebda5e2dfe15",    "8e26040d-xxxx-xxxx-xxxx-1e29b924d237",    "c8b40a2d-xxxx-xxxx-xxxx-4fe56fe10f95"  ]}

    Note: Omitting the request body altogether causes the endpoint to return an error. The request body must be at least {}.

  • envelopes.notificationGetEnvelopesEnvelopeIdNotification

    Retrieves the envelope notification, reminders and expirations, information for an existing envelope.

  • envelopes.notificationPutEnvelopesEnvelopeIdNotification

    This method sets the notifications (reminders and expirations) for an existing envelope. The request body sends a structure containing reminders and expirations settings. It also specifies whether to use the settings specified in the request, or the account default notification settings for the envelope.

    Note that this request only specifies when notifications are sent; it does not initiate sending of email messages.

  • envelopes.pagesDeletePage

    Deletes a page from a document in an envelope based on the page number.

  • envelopes.pagesGetPageImage

    Returns an image of a page in a document for display.

  • envelopes.pagesGetPageImages

    Returns images of the pages in a document for display based on the parameters that you specify.

  • envelopes.pagesPutPageImage

    Rotates page image from an envelope for display. The page image can be rotated to the left or right.

  • envelopes.recipientsGetRecipientInitialsImage

    Retrieves the initials image for the specified user. The image is returned in the same format as it was uploaded. In the request you can specify if the chrome (the added line and identifier around the initial image) is returned with the image.

    The userId specified in the endpoint must match the authenticated user's user ID and the user must be a member of the account.

    The signatureIdOrName parameter accepts signature ID or signature name. DocuSign recommends you use signature ID (signatureId), since some names contain characters that do not properly URL encode. If you use the user name, it is likely that the name includes spaces and you might need to URL encode the name before using it in the endpoint.

    For example: "Bob Smith" to "Bob%20Smith"

    Older envelopes might only contain chromed images. If getting the non-chromed image fails, try getting the chromed image.

  • envelopes.recipientsGetRecipientSignature

    Retrieves signature information for a signer or sign-in-person recipient.

  • envelopes.recipientsGetRecipientSignatureImage

    Retrieves the specified user signature image. The image is returned in the same format as uploaded. In the request you can specify if the chrome (the added line and identifier around the initial image) is returned with the image.

    The userId specified in the endpoint must match the authenticated user's user ID and the user must be a member of the account.

    The signatureIdOrName parameter accepts signature ID or signature name. DocuSign recommends you use signature ID (signatureId), since some names contain characters that don't properly URL encode. If you use the user name, it is likely that the name includes spaces and you might need to URL encode the name before using it in the endpoint.

    For example: "Bob Smith" to "Bob%20Smith"

    Older envelopes might only have chromed images. If getting the non-chromed image fails, try getting the chromed image.

  • envelopes.recipientsPutRecipientInitialsImage

    Updates the initials image for a signer that does not have a DocuSign account. The supported image formats for this file are: gif, png, jpeg, and bmp. The file size must be less than 200K.

    For the Authentication/Authorization for this call, the credentials must match the sender of the envelope, the recipient must be an accountless signer or in person signer. The account must have the CanSendEnvelope property set to true and the ExpressSendOnly property in SendingUser structure must be set to false.

  • envelopes.recipientsPutRecipientSignatureImage

    Updates the signature image for an accountless signer. The supported image formats for this file are: gif, png, jpeg, and bmp. The file size must be less than 200K.

    For the Authentication/Authorization for this call, the credentials must match the sender of the envelope, the recipient must be an accountless signer or in person signer. The account must have the CanSendEnvelope property set to true and the ExpressSendOnly property in SendingUser structure must be set to false.

  • envelopeTemplates.templatesDeleteDocumentTemplates

    Deletes the specified template from a document in an existing envelope.

  • envelopeTemplates.templatesGetDocumentTemplates

    Retrieves the templates associated with a document in the specified envelope.

  • envelopeTemplates.templatesGetEnvelopeTemplates

    This returns a list of the server-side templates, their name and ID, used in an envelope.

  • envelopeTemplates.templatesPostDocumentTemplates

    Adds templates to a document in the specified envelope.

  • envelopeTemplates.templatesPostEnvelopeTemplates

    Adds templates to the specified envelope.

  • envelopeTransferRules.envelopeTransferRulesDeleteEnvelopeTransferRules

    This method deletes an envelope transfer rule.

    Note: Only Administrators can delete envelope transfer rules. In addition, to use envelope transfer rules, the Transfer Custody feature must be enabled for your account.

  • envelopeTransferRules.envelopeTransferRulesGetEnvelopeTransferRules

    This method retrieves a list of envelope transfer rules associated with an account.

    Note: Only Administrators can create and use envelope transfer rules. In addition, to use envelope transfer rules, the Transfer Custody feature must be enabled for your account.

  • envelopeTransferRules.envelopeTransferRulesPostEnvelopeTransferRules

    This method creates an envelope transfer rule.

    When you create an envelope transfer rule, you specify the following properties:

    • eventType
    • fromGroups
    • toUser
    • toFolder
    • carbonCopyOriginalOwner
    • enabled

    Note: Only Administrators can create envelope transfer rules. In addition, to use envelope transfer rules, the Transfer Custody feature must be enabled for your account.

  • envelopeTransferRules.envelopeTransferRulesPutEnvelopeTransferRule

    This method changes the status of an envelope transfer rule. You use this method to change whether or not the rule is enabled.

    You must include the envelopeTransferRuleId both as a query parameter, and in the request body.

    Note: You cannot change any other information about the envelope transfer rule. Only Administrators can update an envelope transfer rule. In addition, to use envelope transfer rules, the Transfer Custody feature must be enabled for your account.

  • envelopeTransferRules.envelopeTransferRulesPutEnvelopeTransferRules

    This method changes the status for one or more envelope transfer rules based on the envelopeTransferRuleIds in the request body. You use this method to change whether or not the rules are enabled.

    Note: You cannot change any other information about the envelope transfer rule. Only Administrators can update envelope transfer rules. In addition, to use envelope transfer rules, the Transfer Custody feature must be enabled for your account.

  • envelopeViews.viewsDeleteEnvelopeCorrectView

    Revokes the correction view URL to the Envelope UI.

  • envelopeViews.viewsPostAccountConsoleView

    Returns a URL that enables you to embed the DocuSign UI in your applications. To view a specific envelope, set the envelopeId property in the request body.

    Revoking the URL

    You can revoke this URL by making a HTTP DELETE request to the URL with no request body.

    Information security notice

    This method provides full access to the sending account.

    Related topics

  • envelopeViews.viewsPostEnvelopeCorrectView

    Returns a URL that allows you to embed the envelope correction view of the DocuSign UI. To customize the appearance of the correction view, you can add special query parameters to the returned URL when you use it in your application.

    You can revoke this URL by calling the endpoint.

    Best practices

    The returned URL expires after 10 minutes and can only be used once. Therefore, request the URL immediately before you redirect your user to it.

    Due to screen space issues, do not use an <iframe> for embedded operations on mobile devices. For iOS devices, DocuSign recommends using a WebView.

    Customizing the correction view

    To customize the appearance of the correction view, you can add query parameters to the URL that is returned by this endpoint and used in your application. Do not add these query parameters to the URL of the endpoint itself.

    For example, adding the following query parameters to the URL returned by this method causes the sending view to:

    • start in the tagging screen
    • hide the Edit Pages command
    • hide all of the options under the Actions dropdown except Save, Close, and Discard
    https://demo.docusign.net/Member/StartInSession.aspx?StartConsole=1&t=dd3b7c4c-xxxx-xxxx-xxxx-50cd195a3401&DocuEnvelope=f37489d3-xxxx-xxxx-xxxx-4de057063d0e&\        advcorrect=1&\        showEditPages=false&\        showHeaderActions=false

    The default value reflects what happens if you omit the customization query parameter. You can use the interactive to see the effect of using different query parameters.

    Query ParameterDefault ValueAlternate Value
    sendButtonActionsend

    The Send button operates normally.
    redirect

    The text of the button changes to Continue. Clicking it redirects to the returnUrl in the request object. If you intend to modify the envelope after redirection, see .
    backButtonActionpreviousPage

    The back arrow and back button operate normally.
    redirect

    Clicking the back arrow and back button redirects to the returnUrl in the request object. If you intend to modify the envelope after redirection, see .
    showBackButtontrue

    Shows the back arrow and the back button.
    false

    Hides the back arrow and the back button.
    showEditRecipientstrue

    Shows the Edit Recipients command in the action menu and in the Conditional Recipients settings.
    false

    Hides the Edit Recipients command.
    showEditDocumentstrue

    Shows the Edit Documents command in the action menu and removes the Documents Gear icon.
    false

    Hides the Edit Documents command.
    showEditDocumentVisibilitytrue

    Shows the Documents Gear icon where the sender can edit document visibility.
    false

    Hides the Documents Gear icon.
    showEditPagestrue

    Shows the Edit Pages command under the document thumbnail.
    false

    Hides the Edit Pages command.
    showMatchingTemplatesPrompttrue

    Shows the matching template prompt.
    false

    Hides the matching template prompt.
    showHeaderActionstrue

    Shows all options under the Actions dropdown.
    false

    Hides all options under the Actions dropdown except Save, Close, and Discard.
    showDiscardActiontrue

    Shows the Discard command under the Actions dropdown.
    false

    Hides the Discard command.
    advcorrect1

    Starts the signer in the tagging screen.
    0

    Starts the signer in the prepare screen.
    tabPaletteTypestandard

    Displays the standard tab palette.
    custom
    merge
    notary
    seals
    smartcontracts
    annotations
    smartSections

    Displays the specified tab palette before the standard palette.

    Modifying the envelope after redirection

    If you use sendButtonAction=redirect or backButtonAction=redirect, and you intend to modify the envelope after redirection, you will need to lock the envelope and add an extra query parameter:

    1. [Create a lock token][createLock] for the envelope.
    2. Add the new lock token to the URL with the lockToken query parameter.
      ...&sendButtonAction=redirect&lockToken=MDgxZxabUVBiMWUzZWYz
      Note: The lockToken query parameter is case-sensitive.

    After clicking Continue, your user is redirected back to your integration. You can then [delete the lock token][deleteLock].

    Information security notice

    This method provides full access to the sending account. When you use this view, the current user has full access to the account. If the account has administrative privileges, then this method also provides administrator access.

    If your use case needs to enable a sender to update a draft envelope before it is sent or make other changes, take one of the following steps:

    • Configure each sender to have their own individual user account to use this API method.
    • Enhance your API integration so that this method is not needed. Your integration can create the tabs, recipients, and other envelope settings as needed.

    Related topics

  • envelopeViews.viewsPostEnvelopeEditView

    Returns a URL that enables you to embed the edit view of the DocuSign UI in your applications. This is a one-time use login token that allows the user to be placed into the DocuSign editing view. Upon sending completion, the user is returned to the return URL provided by the API application.

    See to learn more about embedding.

    Due to screen space issues, do not use an <iframe> for embedded operations on mobile devices. For iOS devices, DocuSign recommends using a WebView.

    Revoking the URL

    You can revoke this URL by making a DELETE HTTP request to the URL with no request body.

    Information security notice

    This method provides full access to the sending account. When you use this view, the current user has full access to the account. If the account has administrative privileges, then this method also provides administrator access.

    If your use case needs to enable a sender to update a draft envelope before it is sent or make other changes, take one of the following steps:

    • Configure each sender to have their own individual user account to use this API method.
    • Enhance your API integration so that this method is not needed. Your integration can create the tabs, recipients, and other envelope settings as needed.

    Related topics

  • envelopeViews.viewsPostEnvelopeRecipientSharedView

    Returns a URL that enables you to embed the DocuSign UI recipient view of a in your applications. This is the view that a user sees of an envelope that a recipient on the same account has shared with them.

    Due to screen space issues, do not use an <iframe> for embedded operations on mobile devices. For iOS devices, DocuSign recommends using a WebView.

    Revoking the URL

    You can revoke this URL by making a DELETE HTTP request to the URL with no request body.

    Related topics

  • envelopeViews.viewsPostEnvelopeRecipientView

    Returns a URL that enables you to of the DocuSign UI in your applications. If the recipient is a signer, then the view will provide the signing ceremony.

    This method is only used with envelopes in the sent status.

    Due to screen space issues, do not use an <iframe> for embedded operations on mobile devices. For iOS devices, DocuSign recommends using a WebView.

    Revoking the URL

    You can revoke this URL by making a DELETE HTTP request to the URL with no request body.

    Authentication

    Your application is responsible for authenticating the identity of the recipient or signer when you use this method. Use the following parameters to record how the recipient was authenticated.

    • assertionId
    • authenticationInstant
    • authenticationMethod
    • clientUserId
    • securityDomain

    At a minimum, authenticationMethod and clientUserId are required. The information that you provide is included in the envelope's certificate of completion.

    Redirects

    After the signer completes or ends the signing ceremony, DocuSign redirects the user's browser back to your app via the returnUrl that you supply.

    Note: The user may be redirected through various DocuSign subdomains, depending on the region of the account sending the envelope. Please consult the Allowlists for DocuSign eSignature service section in when setting up your allowlists.

    The event status parameter

    DocuSign appends an event query parameter to the returnUrl with the outcome of the signing ceremony. Your app can use this event parameter to determine the next step for the envelope. Do not fetch the envelope status by using or a similar method because doing so could break the DocuSign rule against polling.

    Note: Because a user can cancel redirection, close their browser after signing, or spoof the landing URL, the returnUrl should not be the single source of truth for envelope status for your integration.

    The URL is time-limited

    The URL returned in this method's response is valid for one use, and you must use or display it within a couple of minutes after it is generated. After the recipient is redirected to the recipient view, they must interact with the DocuSign system periodically or their session will time out.

    Because the URL is time-limited, it should not be stored or sent through email. After you receive it, immediately redirect the user's browser to the URL.

    If you want to invite someone to an embedded signing session via email, the email invitation's URL must be to your application. When invoked, your app should request a recipientView URL from DocuSign and then redirect the signer to that URL.

    Maintaining State

    After the recipient completes the recipient view (or signing ceremony), they are redirected to your application. Your application can recover state information about the transaction by storing information in a cookie, or by including query parameters in the returnUrl field. For example. https://myapp.example.com/docusign_return?myState=12345 When the user is redirected to your app, the event query parameter will be appended. In this example, prevent spoofing by not using a guessable value as the state value.

    How to specify the default language

    The language for the recipient view follows this order or precedence:

    • The language specified by the sender for the recipient.
    • The locale parameter appended to the URL.
    • The account language if the signer has a DocuSign account.
    • The language used in a previous signing if the signer is return signer.
    • The browser language.

    You can append the locale query parameter to the URL returned by this method to specify a language. For example, to set the default language to Canadian French, you would set it like this:

    ...?locale=fr_CA

    Sending to a remote signer

    You can request a signing session for a remote recipient who has a DocuSign account.

    Authenticate the request using the recipient's credentials, and do not specify a clientUserId. This differs from the typical behavior where the request is authenticated using the sender's credentials, and the recipient has a clientUserId defined.

    Related topics

  • envelopeViews.viewsPostEnvelopeSenderView

    Returns a URL that enables you to embed the sender view of the DocuSign UI in your applications.

    See to learn more about embedding.

    The returned URL can only be redirected to immediately after it is generated. It can only be used once. Therefore, request the URL immediately before you redirect your user to it.

    Due to screen space issues, do not use an <iframe> for embedded operations on mobile devices. For iOS devices, DocuSign recommends using a WebView.

    After the user has completed the sending view, the browser is redirected to the returnUrl supplied.

    By default, if the envelope already contains one or more documents, DocuSign will initially show the document tagging view when you redirect to the URL.

    To start with the envelope's recipients and documents view instead, examine the URL in the method's response. Then change the query parameter from send=1 to send=0 to start with the recipients/documents view.

    Revoking the URL

    You can revoke this URL by making a DELETE HTTP request to the URL with no request body.

    Customizing the sending view

    You can add query parameters to customize the appearance of the sending view. For example, adding the following query parameters to the URL returned by this method causes the sending view to:

    • start in the tagging screen
    • hide the Edit Pages command
    • hide all of the options under the Actions dropdown except Save, Close, and Discard
    https://demo.docusign.net/Member/StartInSession.aspx?StartConsole=1&t=dd3b7c4c-xxxx-xxxx-xxxx-50cd195a3401&DocuEnvelope=f37489d3-xxxx-xxxx-xxxx-4de057063d0e&\        send=1&\        showEditPages=false&\        showHeaderActions=false

    The default value reflects what happens if you omit the customization query parameter. You can use the interactive to see the effect of using different query parameters.

    Query ParameterDefault ValueAlternate Value
    sendButtonActionsend

    The Send button operates normally.
    redirect

    The text of the button changes to Continue. Clicking it redirects to the returnUrl in the request object. If you intend to modify the envelope after redirection, see .
    backButtonActionpreviousPage

    The back arrow and back button operate normally.
    redirect

    Clicking the back arrow and back button redirects to the returnUrl in the request object. If you intend to modify the envelope after redirection, see .
    showBackButtontrue

    Shows the back arrow and the back button.
    false

    Hides the back arrow and the back button.
    showEditRecipientstrue

    Shows the Edit Recipients command in the action menu and in the Conditional Recipients settings.
    false

    Hides the Edit Recipients command.
    showEditDocumentstrue

    Shows the Edit Documents command in the action menu and removes the Documents Gear icon.
    false

    Hides the Edit Documents command.
    showEditDocumentVisibilitytrue

    Shows the Documents Gear icon where the sender can edit document visibility.
    false

    Hides the Documents Gear icon.
    showEditPagestrue

    Shows the Edit Pages command under the document thumbnail.
    false

    Hides the Edit Pages command.
    showMatchingTemplatesPrompttrue

    Shows the matching template prompt.
    false

    Hides the matching template prompt.
    showHeaderActionstrue

    Shows all options under the Actions dropdown.
    false

    Hides all options under the Actions dropdown except Save, Close, and Discard.
    showDiscardActiontrue

    Shows the Discard command under the Actions dropdown.
    false

    Hides the Discard command.
    send1

    Starts the signer in the tagging screen.
    0

    Starts the signer in the prepare screen.
    tabPaletteTypestandard

    Displays the standard tab palette.
    custom
    merge
    notary
    seals
    smartcontracts
    annotations
    smartSections

    Displays the specified tab palette before the standard palette.

    Modifying the envelope after redirection

    If you use sendButtonAction=redirect or backButtonAction=redirect, and you intend to modify the envelope after redirection, you will need to lock the envelope and add an extra query parameter:

    1. [Create a lock token][createLock] for the envelope.
    2. Add the new lock token to the URL with the lockToken query parameter.
      ...&sendButtonAction=redirect&lockToken=MDgxZxabUVBiMWUzZWYz
      Note: The lockToken query parameter is case-sensitive.

    After clicking Continue, your user is redirected back to your integration. You can then [delete the lock token][deleteLock].

    Information security notice

    This method provides full access to the sending account. When you use this view, the current user has full access to the account. If the account has administrative privileges, then this method also provides administrator access.

    If your use case needs to enable a sender to update a draft envelope before it is sent or make other changes, take one of the following steps:

    • Configure each sender to have their own individual user account to use this API method.
    • Enhance your API integration so that this method is not needed. Your integration can create the tabs, recipients, and other envelope settings as needed.

    Related topics

  • envelopeWorkflowDefinition.envelopeWorkflowDefinitionV2DeleteEnvelopeWorkflowDefinition

    Deletes the specified envelope's workflow definition if it has one.

    Note: If the envelope was scheduled to be sent, this endpoint will cancel the scheduled send and the envelope status will be reset to created. To resend the envelope, call the update the status to sent with the method.

  • envelopeWorkflowDefinition.envelopeWorkflowDefinitionV2GetEnvelopeWorkflowDefinition

    Returns the workflow definition for the envelope specified by envelopeId. If the envelope does not have a workflow object, this method returns a 404.

  • envelopeWorkflowDefinition.envelopeWorkflowDefinitionV2PutEnvelopeWorkflowDefinition

    Updates the specified envelope's workflow.

    You can use this endpoint to add scheduled sending to a draft envelope. You can also update the scheduled sending for a sent envelope if the scheduled sending countdown is in progress. In that case, the envelope will be reset to a draft state.

    You can also add delayed routing to a draft envelope or a sent envelope that has not started workflow processing.

  • envelopeWorkflowDefinition.envelopeWorkflowDelayedRoutingDeleteEnvelopeDelayedRoutingDefinition

    Delete the delayed routing object for an envelope's workflow step. You cannot call this endpoint once the delay is in progress. As a workaround, you can update the delay or send time to one minute in the future using the endpoint.

    Note: After deleting the delayed routing object, the workflow step still contains the pause_before action. Once the workflow step is reached, you will need to . If you want to delete the step entirely, use instead.

  • envelopeWorkflowDefinition.envelopeWorkflowDelayedRoutingGetEnvelopeDelayedRoutingDefinition

    Given an envelope and a workflow step, returns the delayed routing rules for that workflow step.

    Note: If the workflow step does not have a delayed routing object, this method returns a 404.

  • envelopeWorkflowDefinition.envelopeWorkflowDelayedRoutingPutEnvelopeDelayedRoutingDefinition

    Updates the delayed routing rules for an envelope's workflow step definition.

    You can use this endpoint to add delayed routing to a draft envelope or a sent envelope (as long as the previous workflow step has not yet been completed). You can also update the delayed routing rule for an envelope, as long as the delay is not yet complete. If you update the delayed routing rule while the delay is already in progress, the countdown will reset.

  • envelopeWorkflowDefinition.envelopeWorkflowScheduledSendingDeleteEnvelopeScheduledSendingDefinition

    Deletes the scheduled sending rules for an envelope's workflow. You cannot call this endpoint once the scheduled sending countdown has begun.

  • envelopeWorkflowDefinition.envelopeWorkflowScheduledSendingGetEnvelopeScheduledSendingDefinition

    Given a template and a workflow step, returns the scheduled sending rules for that workflow step.

    Note: If the workflow step does not have a scheduled sending object, this method returns a 404.

  • envelopeWorkflowDefinition.envelopeWorkflowScheduledSendingPutEnvelopeScheduledSendingDefinition

    Updates the scheduled sending rules for an envelope's workflow. The envelope must have an existing workflow object.

  • envelopeWorkflowDefinition.envelopeWorkflowStepDeleteEnvelopeWorkflowStepDefinition

    Deletes the workflow step specified by workflowStepId from an envelope specified by envelopeId.

  • envelopeWorkflowDefinition.envelopeWorkflowStepGetEnvelopeWorkflowStepDefinition

    Returns a workflow step specified by workflowStepId for an envelope specified by envelopeId.

  • envelopeWorkflowDefinition.envelopeWorkflowStepPostEnvelopeWorkflowStepDefinition

    Adds a new step to an envelope's workflow.

  • envelopeWorkflowDefinition.envelopeWorkflowStepPutEnvelopeWorkflowStepDefinition

    Updates the workflow step specified by workflowStepId for an envelope.

    You can use this endpoint to add or update delayed routing for a draft envelope. You can add or update delayed routing for a sent envelope as long as the previous workflow step has not been completed.

  • envelopeWorkflowDefinition.templateWorkflowDefinitionDeleteTemplateWorkflowDefinition

    Deletes the specified template's workflow definition if it has one.

    Note: If the specified template does not have a workflow definition, this endpoint returns a 200 response.

  • envelopeWorkflowDefinition.templateWorkflowDefinitionGetTemplateWorkflowDefinition

    Returns the workflow definition for the template specified by templateId. If the template does not have a workflow object, this method returns a 404.

  • envelopeWorkflowDefinition.templateWorkflowDefinitionPutTemplateWorkflowDefinition

    Updates the specified template's workflow definition.

  • envelopeWorkflowDefinition.templateWorkflowDelayedRoutingDeleteTemplateDelayedRoutingDefinition

    Deletes the delayed routing rules for the specified template workflow step.

  • envelopeWorkflowDefinition.templateWorkflowDelayedRoutingGetTemplateDelayedRoutingDefinition

    Given a template and a workflow step, returns the delayed routing rules for that workflow step.

    Note: If the workflow step does not have a delayed routing object, this method returns a 404.

  • envelopeWorkflowDefinition.templateWorkflowDelayedRoutingPutTemplateDelayedRoutingDefinition

    Updates the scheduled sending rules for a template's workflow.

  • envelopeWorkflowDefinition.templateWorkflowScheduledSendingDeleteTemplateScheduledSendingDefinition

    Deletes the scheduled sending rules for the template's workflow.

  • envelopeWorkflowDefinition.templateWorkflowScheduledSendingGetTemplateScheduledSendingDefinition

    Given a template specified by templateId, returns the scheduled sending rules for that template's workflow object.

    Note: If the template's workflow does not have a scheduled sending object, this method returns a 404.

  • envelopeWorkflowDefinition.templateWorkflowScheduledSendingPutTemplateScheduledSendingDefinition
  • envelopeWorkflowDefinition.templateWorkflowStepDeleteTemplateWorkflowStepDefinition

    Deletes a workflow step from an template's workflow definition.

  • envelopeWorkflowDefinition.templateWorkflowStepGetTemplateWorkflowStepDefinition

    Returns a workflow step specified by workflowStepId for a template specified by templateId.

  • envelopeWorkflowDefinition.templateWorkflowStepPostTemplateWorkflowStepDefinition

    Adds a new step to a template's workflow.

  • envelopeWorkflowDefinition.templateWorkflowStepPutTemplateWorkflowStepDefinition

    Updates a specified workflow step for a template.

  • favoriteTemplates.favoriteTemplatesGetFavoriteTemplates

    Retrieves the list of favorite templates for the account.

  • favoriteTemplates.favoriteTemplatesPutFavoriteTemplate

    Set one or more templates as account favorites.

    Your request should include each template as a separate favoriteTemplatesContentItem JSON object, like this:

    {    "favoriteTemplates": [        {            "templateId": "6bc0584f-xxxx-xxxx-xxxx-35ab28cc44e1"        },        {            "templateId": "8ae9b3452-xxxx-xxxx-xxx-ac0de23fa57f"        }    ]}
  • favoriteTemplates.favoriteTemplatesUnFavoriteTemplate

    Remove one or more templates from the account favorites.

    Your request should include each template to remove as a separate favoriteTemplatesContentItem JSON object, like this:

    {    "favoriteTemplates": [        {            "templateId": "6bc0584f-xxxx-xxxx-xxxx-35ab28cc44e1"        },        {            "templateId": "8ae9b3452-xxxx-xxxx-xxx-ac0de23fa57f"        }    ]}

    The response includes the IDs of the templates that were successfully removed from your favorites. To get the account's remaining favorite templates, use the endpoint.

  • folders.foldersGetFolderItems

    Gets information about the specified folder. To include a list of the items in the folder, set the include_items query parameter to true.

    Related topics

  • folders.foldersGetFolders

    Retrieves a list of the folders for the account.

    Use the include query parameter to specify the kinds of folders to return.

    By default, only the first level of subfolders is shown. Set the sub_folder_depth query parameter to -1 to return the entire folder hierarchy.

    Default returns only top-level folders.

    GET 'https://demo.docusign.net/restapi/v2.1/accounts/624e3e00-xxxx-xxxx-xxxx-43918c520dab/folders'

    json
    {  "resultSetSize": "5",  "startPosition": "0",  "endPosition": "4",  "totalSetSize": "5",  "folders": [    {      "name": "Draft",      "type": "draft",      "itemCount": "1",      "subFolderCount": "0",      "hasSubFolders": "false"    },    {      "name": "Inbox",      "type": "inbox",      "itemCount": "0",      "subFolderCount": "1",      "hasSubFolders": "true",      "folders": [        {          "name": "Project Fair",          "type": "normal",          "hasSubFolders": "false",          "parentFolderId": "3ed02ee3-xxxx-xxxx-xxxx-e6795f96a840",          "parentFolderUri": "/folders/3ed02ee3-xxxx-xxxx-xxxx-e6795f96a840"        }      ]    },    {      "name": "Deleted Items",      "type": "recyclebin",      "itemCount": "0",      "subFolderCount": "0",      "hasSubFolders": "false"    },    {      "name": "Sent Items",      "type": "sentitems",      "itemCount": "3",      "subFolderCount": "0",      "hasSubFolders": "false"    }  ]}

    Setting sub_folder_depth to -1 returns the entire folder hierarchy.

    GET 'https://demo.docusign.net/restapi/v2.1/accounts/624e3e00-xxxx-xxxx-xxxx-43918c520dab/folders?sub_folder_depth=-1'

    One envelope has been moved from the Inbox folder to the Project Fair/Phase 1 folder, and the endpoint is invoked with sub_folder_depth=-1.

    json
    {  "resultSetSize": "5",  "startPosition": "0",  "endPosition": "4",  "totalSetSize": "4",  "folders": [    {      "name": "Draft",      "type": "draft",      "itemCount": "1",      "hasSubFolders": "false"    },    {      "name": "Inbox",      "type": "inbox",      "itemCount": "0",      "hasSubFolders": "true",      "folders": [        {          "name": "Project Fair",          "type": "normal",          "itemCount": "0",          "hasSubFolders": "true",          "parentFolderId": "3ed02ee3-xxxx-xxxx-xxxx-e6795f96a840",          "parentFolderUri": "/folders/3ed02ee3-xxxx-xxxx-xxxx-e6795f96a840",          "folders": [            {              "name": "NDAs",              "type": "normal",              "itemCount": "0",              "hasSubFolders": "false",              "parentFolderId": "12882f2f-xxxx-xxxx-xxxx-e04a714f8e2d",              "parentFolderUri": "/folders/12882f2f-xxxx-xxxx-xxxx-e04a714f8e2d"            },            {              "name": "Phase 1",              "type": "normal",              "itemCount": "1",              "hasSubFolders": "false",              "parentFolderId": "12882f2f-xxxx-xxxx-xxxx-e04a714f8e2d",              "parentFolderUri": "/folders/12882f2f-xxxx-xxxx-xxxx-e04a714f8e2d"            }          ]        }      ]    },    {      "name": "Deleted Items",      "type": "recyclebin",      "itemCount": "0",      "hasSubFolders": "false"    },    {      "name": "Sent Items",      "type": "sentitems",      "itemCount": "1",      "hasSubFolders": "false"    }  ]}

    Related topics

  • folders.foldersPutFolderById

    Moves an envelope from its current folder to the specified folder.

    You can use this method to delete envelopes by specifying recyclebin in the folderId parameter. Placing an in-process envelope (envelope status of sent or delivered) in the recycle bin voids the envelope.

    You can also use this method to delete templates by specifying a template ID instead of an envelope ID in the envelopeIds property and specifying recyclebin in the folderId parameter.

    Related topics

  • folders.searchFoldersGetSearchFolderContents

    This method is deprecated in API v2.1.

    Use instead.

    Retrieves a list of items that match the criteria specified in the query.

    If the user ID of the user making the call is the same as the user ID for any returned recipient, then the userId property is added to the returned information for those recipients.

  • groupBrands.brandsDeleteGroupBrands

    This method deletes one or more brands from a group.

  • groupBrands.brandsGetGroupBrands

    This method returns information about the brands associated with a group.

  • groupBrands.brandsPutGroupBrands

    This method adds one or more existing brands to a group based on the groupId.

  • groups.groupsDeleteGroups

    Deletes an existing user group.

    When you delete a group, you include only the groupId in the request body.

    Example:

    {  "groups": [    {      "groupId": "12345"    }}
  • groups.groupsGetGroups

    Retrieves information about groups associated with the account.

    Note: To retrieve a group's users, use this endpoint to get the group ID and then call the endpoint.

    Related topics

  • groups.groupsPostGroups

    Creates one or more groups for the account.

    Groups can be used to help manage users by associating users with a group. You can associate a group with a Permission Profile, which sets the user permissions for users in that group without having to set the userSettings property for each user. You are not required to set Permission Profiles for a group, but it makes it easier to manage user permissions for a large number of users. You can also use groups with template sharing to limit user access to templates.

  • groups.groupsPutGroups

    Updates the group name and modifies, or sets, the permission profile for the group.

    Related topics

  • groupUsers.groupsDeleteGroupUsers

    Deletes one or more users from a group. This request takes a userInfoList that contains the users that you want to delete.

  • groupUsers.groupsGetGroupUsers

    Retrieves a list of users in a group.

  • groupUsers.groupsPutGroupUsers

    Adds one or more existing DocuSign users to an existing group.

  • identityVerifications.accountIdentityVerificationGetAccountIdentityVerification

    This method returns a list of Identity Verification workflows that are available to an account.

    Note: To use this method, you must either be an account administrator or a sender.

    Related topics

  • invoices.billingInvoicesGetBillingInvoice

    Retrieves the specified invoice.

    Note: If the pdfAvailable property in the response is set to true, you can download a PDF version of the invoice. To download the PDF, make the call again and change the value of the Accept property in the header to Accept: application/pdf.

    Privileges required: account administrator

    The response returns a list of charges and information about the charges. Quantities are usually shown as 'unlimited' or an integer. Amounts are shown in the currency set for the account.

    Response The following table provides a description of the different chargeName property values. The information will grow as more chargeable items are added to the system.

    chargeNameDescription
    id_checkID Check Charge
    in_person_signingIn Person Signing charge
    envelopes IncludedSent Envelopes for the account
    age_verifyAge verification check
    ofacOFAC Check
    id_confirmID confirmation check
    student_authenticationSTAN PIN authentication check
    wet_sign_faxPages for returning signed documents by fax
    attachment_faxPages for returning attachments by fax
    phone_authenticationPhone authentication charge
    powerformsPowerForm envelopes sent
    signer_paymentsPayment processing charge
    outbound_faxSend by fax charge
    bulk_recipient_envelopesBulk Recipient Envelopes sent
    sms_authenticationsSMS authentication charge
    saml_authenticationsSAML authentication charge
    express_signer_certificateDocuSign Express Certificate charge
    personal_signer_certificatePersonal Signer Certificate charge
    safe_certificateSAFE BioPharma Signer Certificate charge
    seatsIncluded active seats charge
    open_trust_certificateOpenTrust Signer Certificate charge
  • invoices.billingInvoicesGetBillingInvoices

    Retrieves a list of invoices for the account. If the from date or to date queries are not specified, the response returns invoices for the last 365 days.

    Privileges required: account administrator

  • invoices.billingInvoicesGetBillingInvoicesPastDue

    Returns a list past due invoices for the account and notes if payment can be made through the REST API.

    Privileges Required: account administrator

  • notary.notaryGetNotary

    Gets settings for a notary user. The current user must be a notary.

  • notary.notaryPostNotary

    Registers the current user as a notary.

  • notary.notaryPutNotary

    Updates notary information for the current user.

  • notaryJournals.notaryJournalsGetNotaryJournals
  • notaryJurisdiction.notaryJurisdictionsDeleteNotaryJurisdiction

    Deletes the specified jurisdiction.

  • notaryJurisdiction.notaryJurisdictionsGetNotaryJurisdiction

    Gets a jurisdiction object for the current user. The following restrictions apply:

    • The current user must be a notary.
    • The jurisdictionId must be a jurisdiction that the notary is registered for.
  • notaryJurisdiction.notaryJurisdictionsGetNotaryJurisdictions

    Returns a list of jurisdictions that the notary is registered in. The current user must be a notary.

  • notaryJurisdiction.notaryJurisdictionsPostNotaryJurisdictions

    Creates a jurisdiction object.

  • notaryJurisdiction.notaryJurisdictionsPutNotaryJurisdiction

    Updates the jurisdiction information about a notary.

    The following restrictions apply:

    • The current user must be a notary.
    • The jurisdictionId path parameter must be a jurisdiction that the notary is registered for.
    • The jurisdictionId path parameter must match the request body's jurisdiction.jurisdictionId.

    The request body must have a full jurisdiction object for the jurisdiction property. The best way to do this is to use getNotaryJurisdiction to obtain the current values and update the properties you want to change.

    For example, assume getNotaryJurisdiction returns this:

    {    "jurisdiction": {        "jurisdictionId": "15",        "name": "Iowa",        "county": "",        "enabled": "true",        "countyInSeal": "false",        "commissionIdInSeal": "true",        "stateNameInSeal": "true",        "notaryPublicInSeal": "true",        "allowSystemCreatedSeal": "true",        "allowUserUploadedSeal": "false"    },    "commissionId": "123456",    "commissionExpiration": "2020-08-31T07:00:00.0000000Z",    "registeredName": "Bob Notary",    "county": "Adams",    "sealType": "system_created"}

    If you want to change the name of the notary from "Bob Notary" to "Robert Notary", your request body would be:

    {    "jurisdiction": {        "jurisdictionId": "15",        "name": "Iowa",        "county": "",        "enabled": "true",        "countyInSeal": "false",        "commissionIdInSeal": "true",        "stateNameInSeal": "true",        "notaryPublicInSeal": "true",        "allowSystemCreatedSeal": "true",        "allowUserUploadedSeal": "false"    },    "commissionId": "123456",    "commissionExpiration": "2020-08-31T07:00:00.0000000Z",    "registeredName": "Robert Notary",    "county": "Adams",    "sealType": "system_created"}
  • paymentGatewayAccounts.paymentGatewayAccountsGetAllPaymentGatewayAccounts

    This method returns a list of payment gateway accounts and basic information about them.

  • payments.billingPaymentsGetPayment

    Retrieves the information for a specified payment.

    Privileges required: account administrator

  • payments.billingPaymentsGetPaymentList

    Retrieves a list containing information about one or more payments. If the from date or to date queries are not used, the response returns payment information for the last 365 days.

    Privileges required: account administrator

  • payments.billingPaymentsPostPayment

    Posts a payment to a past due invoice.

    This method can only be used if the paymentAllowed value for a past due invoice is true. This can be determined calling .

    The response returns information for a single payment if a payment ID was used in the endpoint, or a list of payments. If the from date or to date queries or payment ID are not used, the response returns payment information for the last 365 days.

    If the request was for a single payment ID, the nextUri and previousUri properties are not returned.

    Privileges required: account administrator

  • powerFormData.powerFormsGetPowerFormFormData

    This method enables Powerform Administrators or the sender of a PowerForm to download the data that recipients have entered into a PowerForm.

    You specify the format in which you want to retrieve the data in the Accept header. This header accepts the following values:

    • application/json: JSON format
    • application/xml: XML format
    • text/csv: Comma-separated value (CSV) format

    Note: Only PowerForm Administrators or the PowerForm Sender can download the data associated with a PowerForm.

  • powerForms.powerFormsDeletePowerForm

    This method deletes a PowerForm.

  • powerForms.powerFormsDeletePowerFormsList

    This method deletes one or more PowerForms. The request body takes an array of PowerForm objects that are deleted based on the powerFormId.

  • powerForms.powerFormsGetPowerForm

    This method returns detailed information about a specific PowerForm.

  • powerForms.powerFormsGetPowerFormsList

    This method returns a list of PowerForms that are available to the user.

  • powerForms.powerFormsGetPowerFormsSenders

    This method returns a list of users who have sent PowerForms.

  • powerForms.powerFormsPostPowerForm

    This method creates a new PowerForm.

    You create a PowerForm from an existing DocuSign , based on the templateId in the request body.

    PowerForms that you create from a template are referred to as web PowerForms.

    Note: The DocuSign Admin console also supports creating a PowerForm by uploading a PDF file that has active form fields (referred to as a PDF PowerForm). However, PDF PowerForms are deprecated and are not supported in the API.

    Note: A PowerForm can have only one sender. (Because PowerForms are not necessarily sent by email, this user is also referred to as the PowerForm initiator.) If you need to associate multiple senders with a PowerForm, create multiple copies of the PowerForm by using the same template (one copy for each sender). By default, the sender is the PowerForm Administrator who creates the PowerForm.

    Signing modes

    You can use one of the following signing modes for a PowerForm:

    email

    This mode verifies the recipient's identity by using email authentication before the recipient can sign a document. The recipient enters their email address on the landing page and then clicks Begin Signing to begin the signing process. The system then sends an email message with a validation code to the recipient. If the recipient does not provide a valid email address, they do not receive the email message containing the access code and are not able to open and sign the document.

    Alternatively, you can make the process easier for signers by using email authentication only and omitting the access code. To do this, you append the activateonly flag to the PowerForm URL and set it to true by passing in the value 1. When the flag is active, the first recipient receives an email with a link that initiates the signing session without having to enter access code.

    Example: activateonly=1

    direct

    This mode does not require any verification. After a recipient enters their email address on the landing page and clicks Begin Signing, a new browser tab opens and the recipient can immediately begin the signing process.

    Because the direct signing mode does not verify the recipient's identity by using email authentication, we strongly recommend that you use this mode only when the PowerForm is accessible behind a secure portal where the recipient's identity is already authenticated, or where another form of authentication is specified for the recipient in the DocuSign template (for example, an access code, phone authentication, or ID check).

    Note: In the account settings, enablePowerFormDirect must be true to use direct as the signingMode.

    Redirect URLs

    You can control the URL to which signers are redirected after signing your PowerForm. However, the URL is specified elsewhere, outside of the PowerForm creation process. For details, see .

    More information

    For more information about creating PowerForms, see .

  • powerForms.powerFormsPutPowerForm

    This method updates an existing PowerForm.

  • requestLogs.apiRequestLogDeleteRequestLogs

    Deletes the request log files.

  • requestLogs.apiRequestLogGetRequestLog

    Retrieves information for a single log entry.

    Request The requestLogId property can be retrieved by getting the list of log entries. The Content-Transfer-Encoding header can be set to base64 to retrieve the API request/response as base 64 string. Otherwise the bytes of the request/response are returned.

    Response If the Content-Transfer-Encoding header was set to base64, the log is returned as a base64 string.

  • requestLogs.apiRequestLogGetRequestLogs

    Retrieves a list of log entries as a JSON or XML object or as a zip file containing the entries.

    If the Accept header is set to application/zip, the response is a zip file containing individual text files, each representing an API request.

    If the Accept header is set to application/json or application/xml, the response returns list of log entries in either JSON or XML. An example JSON response body is shown below.

  • requestLogs.apiRequestLogGetRequestLogSettings

    Retrieves the current API request logging setting for the user and remaining log entries.

    Response The response includes the current API request logging setting for the user, along with the maximum log entries and remaining log entries.

  • requestLogs.apiRequestLogPutRequestLogSettings

    Enables or disables API request logging for troubleshooting.

    When enabled (apiRequestLogging is true), REST API requests and responses for the user are added to a log. A log can have up to 50 requests/responses and the current number of log entries can be determined by getting the settings. Logging is automatically disabled when the log limit of 50 is reached.

    You can call or to download the log files (individually or as a zip file). Call to clear the log by deleting current entries.

    Private information, such as passwords and integration key information, which is normally located in the call header is omitted from the request/response log.

    API request logging only captures requests from the authenticated user. Any call that does not authenticate the user and resolve a userId is not logged.

  • resources.serviceInformationGetResourceInformation

    Retrieves the base resources available for the eSignature REST API.

    You do not need an integrator key to view the REST API versions and resources.

  • responsiveHtmlPreview.responsiveHtmlPostResponsiveHtmlPreview

    Creates a preview of the , HTML versions of all of the documents in an envelope. This method enables you to preview the PDF document conversions to responsive HTML across device types prior to sending.

    The request body is a documentHtmlDefinition object, which holds the responsive signing parameters that define how to generate the HTML version of the documents.

  • services.serviceInformationGetServiceInformation

    Retrieves the available REST API versions.

    DocuSign Production system: DocuSign Demo system:

    You do not need an integration key to view the REST API versions and resources.

  • signingGroups.signingGroupsDeleteSigningGroups

    Deletes one or more signing groups in the specified account.

  • signingGroups.signingGroupsGetSigningGroup

    Retrieves information, including group member information, for the specified signing group.

  • signingGroups.signingGroupsGetSigningGroups

    Retrieves a list of all signing groups in the specified account.

  • signingGroups.signingGroupsPostSigningGroups

    Creates one or more signing groups.

    Multiple signing groups can be created in one call. Only users with account administrator privileges can create signing groups.

    An account can have a maximum of 50 signing groups. Each signing group can have a maximum of 50 group members.

    Signing groups can be used by any account user.

  • signingGroups.signingGroupsPutSigningGroup

    Updates signing group name and member information. You can also add new members to the signing group. A signing group can have a maximum of 50 members.

  • signingGroups.signingGroupsPutSigningGroups

    Updates the name of one or more existing signing groups.

  • signingGroupUsers.signingGroupsDeleteSigningGroupUsers

    Deletes one or more members from the specified signing group.

  • signingGroupUsers.signingGroupsGetSigningGroupUsers

    Retrieves the list of members in the specified Signing Group.

  • signingGroupUsers.signingGroupsPutSigningGroupUsers

    Adds one or more new members to a signing group. A signing group can have a maximum of 50 members.

  • tabsBlob.tabsBlobGetTabsBlob

    This endpoint has been deprecated.

  • tabsBlob.tabsBlobPutTabsBlob

    This endpoint has been deprecated.

  • templateBulkRecipients.recipientsDeleteTemplateBulkRecipientsFile

    Deletes the bulk recipient list on a template.

  • templateCustomFields.customFieldsDeleteTemplateCustomFields

    Deletes envelope custom fields in a template.

  • templateCustomFields.customFieldsGetTemplateCustomFields

    Retrieves the custom document field information from an existing template.

  • templateCustomFields.customFieldsPostTemplateCustomFields

    Creates custom document fields in an existing template document.

  • templateCustomFields.customFieldsPutTemplateCustomFields

    Updates the custom fields in a template.

    Each custom field used in a template must have a unique name.

  • templateDocumentFields.documentFieldsDeleteTemplateDocumentFields

    Deletes custom document fields from an existing template document.

  • templateDocumentFields.documentFieldsGetTemplateDocumentFields

    This method retrieves the custom document fields for an existing template document.

  • templateDocumentFields.documentFieldsPostTemplateDocumentFields

    Creates custom document fields in an existing template document.

  • templateDocumentFields.documentFieldsPutTemplateDocumentFields

    Updates existing custom document fields in an existing template document.

  • templateDocumentHtmlDefinitions.responsiveHtmlGetTemplateDocumentHtmlDefinitions
  • templateDocumentResponsiveHtmlPreview.responsiveHtmlPostTemplateDocumentResponsiveHtmlPreview

    Creates a preview of the , HTML version of a specific template document. This method enables you to preview a PDF document conversion to responsive HTML across device types prior to sending.

    The request body is a documentHtmlDefinition object, which holds the responsive signing parameters that define how to generate the HTML version of the signing document.

  • templateDocuments.documentsDeleteTemplateDocuments

    This method deletes one or more documents from an existing template.

    To delete a document, use only the relevant parts of the . For example, this request body specifies that you want to delete the document whose documentId is "1".

    text
    {  "documents": [    {      "documentId": "1"    }  ]}
  • templateDocuments.documentsGetTemplateDocument

    This method retrieves one or more PDF documents from the template that you specify.

    You can specify the ID of the document to retrieve, or pass in the value combined to retrieve all documents in the template as a single PDF file.

  • templateDocuments.documentsGetTemplateDocuments

    Retrieves a list of documents associated with the specified template.

  • templateDocuments.documentsPutTemplateDocument

    This methods updates an existing template document.

  • templateDocuments.documentsPutTemplateDocuments

    Adds one or more documents to an existing template document.

  • templateDocumentTabs.tabsDeleteTemplateDocumentTabs

    Deletes tabs from the document specified by documentId in the template specified by templateId.

  • templateDocumentTabs.tabsGetTemplateDocumentTabs

    Returns the tabs on the document specified by documentId in the template specified by templateId.

  • templateDocumentTabs.tabsGetTemplatePageTabs

    Returns the tabs from the page specified by pageNumber of the document specified by documentId in the template specified by templateId.

  • templateDocumentTabs.tabsPostTemplateDocumentTabs

    Adds tabs to the document specified by documentId in the template specified by templateId.

    In the request body, you only need to specify the tabs that your are adding. For example, to add a text , your request body might look like this:

    {  "prefillTabs": {    "textTabs": [      {        "value": "a prefill text tab",        "pageNumber": "1",        "documentId": "1",        "xPosition": 316,        "yPosition": 97      }    ]  }}
  • templateDocumentTabs.tabsPutTemplateDocumentTabs

    Updates tabs in the document specified by documentId in the template specified by templateId.

  • templateDocumentVisibility.recipientsGetTemplateRecipientDocumentVisibility

    This method returns information about document visibility for a template recipient.

  • templateDocumentVisibility.recipientsPutTemplateRecipientDocumentVisibility

    This method updates the document visibility for a template recipient.

    Note: A document cannot be hidden from a recipient if the recipient has tabs assigned to them on the document. Carbon Copy, Certified Delivery (Needs to Sign), Editor, and Agent recipients can always see all documents.

  • templateDocumentVisibility.recipientsPutTemplateRecipientsDocumentVisibility

    This method updates document visibility for one or more template recipients based on the recipientId and visible values that you include in the request body.

    Note: A document cannot be hidden from a recipient if the recipient has tabs assigned to them on the document. Carbon Copy, Certified Delivery (Needs to Sign), Editor, and Agent recipients can always see all documents.

  • templateHtmlDefinitions.responsiveHtmlGetTemplateHtmlDefinitions
  • templateLocks.lockDeleteTemplateLock

    Deletes the lock from the specified template. The user deleting the lock must be the same user who locked the template.

    You must include the X-DocuSign-Edit header as described in .

    This method takes an optional query parameter that lets you specify whether changes made while the template was locked are kept or discarded.

    Query ParameterDescription
    save_changesWhen true (the default), any changes made while the lock was active are saved. When false, any changes made while the template was locked are discarded.

    Related topics

  • templateLocks.lockGetTemplateLock

    Retrieves general information about a template lock.

    The user requesting the information must be the same user who locked the template.

    You can use this method to recover the lock information, including the lockToken, for a locked template. The X-DocuSign-Edit header is included in the response.

    See for a description of the X-DocuSign-Edit header.

    Related topics

  • templateLocks.lockPostTemplateLock

    This method locks the specified template and sets the time until the lock expires to prevent other users or recipients from changing the template.

    The response to this request includes a lockToken parameter that you must use in the X-DocuSign-Edit header for every PUT method (typically a method that updates a template) while the template is locked.

    If you do not provide the lockToken when accessing a locked template, you will get the following error:

    {   "errorCode": "EDIT_LOCK_NOT_LOCK_OWNER",   "message": "The user is not the owner of the lock. The template is locked by another user or in another application"}

    The X-DocuSign-Edit header

    The X-DocuSign-Edit header looks like this and can be specified in either JSON or XML.

    JSON

    {  "LockToken": "token-from-response",  "LockDurationInSeconds": "600"}

    XML

    <DocuSignEdit>  <LockToken>token-from-response</LockToken>  <LockDurationInSeconds>600</LockDurationInSeconds></DocuSignEdit>

    In the actual HTTP header, you would remove the linebreaks:

    X-DocuSign-Edit: {"LockToken": "token-from-response", "LockDurationInSeconds": "600" }    orX-DocuSign-Edit:<DocuSignEdit><LockToken>token-from-response</LockToken><LockDurationInSeconds>600</LockDurationInSeconds></DocuSignEdit>

    Related topics

  • templateLocks.lockPutTemplateLock

    Updates the lock information for a locked template.

    You must include the X-DocuSign-Edit header as described in .

    Use this method to change the duration of the lock (lockDurationInSeconds) or the lockedByApp string.

    The request body is a full lockRequest object, but you only need to specify the properties that you are updating. For example:

    {  "lockDurationInSeconds": "3600",  "lockedByApp": "My Application"}
  • templateRecipients.recipientsDeleteTemplateRecipient

    Deletes the specified recipient file from the specified template.

  • templateRecipients.recipientsDeleteTemplateRecipients

    Deletes one or more recipients from a template. Recipients to be deleted are listed in the request, with the recipientId being used as the key for deleting recipients.

  • templateRecipients.recipientsGetTemplateRecipients

    Retrieves the information for all recipients in the specified template.

  • templateRecipients.recipientsPostTemplateRecipients

    Adds one or more recipients to a template.

  • templateRecipients.recipientsPutTemplateRecipients

    Updates recipients in a template.

    You can edit the following properties: email, userName, routingOrder, faxNumber, deliveryMethod, accessCode, and requireIdLookup.

  • templateRecipients.viewsPostTemplateRecipientPreview

    This method returns a URL for a template recipient preview in the DocuSign UI that you can embed in your application. You use this method to enable the sender to preview the recipients' experience.

    For more information, see .

  • templateRecipientTabs.recipientsDeleteTemplateRecipientTabs

    Deletes one or more tabs associated with a recipient in a template.

  • templateRecipientTabs.recipientsGetTemplateRecipientTabs

    Gets the tabs information for a signer or sign-in-person recipient in a template.

  • templateRecipientTabs.recipientsPostTemplateRecipientTabs

    Adds one or more tabs for a recipient.

  • templateRecipientTabs.recipientsPutTemplateRecipientTabs

    Updates one or more tabs for a recipient in a template.

  • templateResponsiveHtmlPreview.responsiveHtmlPostTemplateResponsiveHtmlPreview

    Creates a preview of the , HTML versions of all of the documents associated with a template. This method enables you to preview the PDF document conversions to responsive HTML across device types prior to sending.

    The request body is a documentHtmlDefinition object, which holds the responsive signing parameters that define how to generate the HTML version of the documents.

  • templates.notificationGetTemplatesTemplateIdNotification

    Retrieves the envelope notification, reminders and expirations, information for an existing template.

  • templates.notificationPutTemplatesTemplateIdNotification

    Updates the notification structure for an existing template. Use this endpoint to set reminder and expiration notifications.

  • templates.pagesDeleteTemplatePage

    Deletes a page from a document in a template based on the page number.

  • templates.pagesGetTemplatePageImage

    Retrieves a page image for display from the specified template.

  • templates.pagesGetTemplatePageImages

    Returns images of the pages in a template document for display based on the parameters that you specify.

  • templates.pagesPutTemplatePageImage

    Rotates page image from a template for display. The page image can be rotated to the left or right.

  • templates.templatesDeleteTemplatePart

    Removes a member group's sharing permissions for a specified template.

  • templates.templatesGetTemplate

    Retrieves the definition of the specified template.

  • templates.templatesGetTemplates

    Retrieves the list of templates for the specified account. The request can be limited to a specific folder.

    Related topics

  • templates.templatesPostTemplates

    Creates one or more template definitions, using a multipart request for each template.

    help streamline the sending process when you frequently send the same or similar documents, or send different documents to the same group of people.

    When you create a template, you define placeholder roles. Rather than specifying a person, you specify a role that regularly participates in a transaction that uses the template. Then, when you create or send an envelope based on the template, you assign actual recipients to the template roles. The recipients automatically inherit all of the workflow that is defined for that role in the template, such as the tabs and routing information.

    Template Email Subject Merge Fields

    Placeholder roles have associated merge fields that personalize the email notification that DocuSign sends. For example, the template automatically personalizes the email message by adding placeholders for the recipient's name and email address within the email subject line, based on the recipient's role. When the sender adds the name and email information for the recipient and sends the envelope, the recipient information is automatically merged into the appropriate fields in the email subject line.

    Both the sender and the recipients will see the information in the email subject line for any emails associated with the template. This provides an easy way for senders to organize their envelope emails without having to open an envelope to find out who the recipient is.

    Use the following placeholders to insert a recipient's name or email address in the subject line

    To insert a recipient's name into the subject line, use the [[<roleName>_UserName]] placholder in the emailSubject property when you create the template:

    To include a recipient's name or email address in the subject line, use the following placeholders in the emailSubject property:

    • [[<roleName>_UserName]]
    • [[<roleName>_Email]]

    For example, if the role name is Signer 1, you might set emailSubject to one of these strings:

    • "[[Signer 1_UserName]], Please sign this NDA"
    • "[[Signer 1_Email]], Please sign this NDA"

    Note: The maximum length of the subject line is 100 characters, including any merged text.

    Creating multiple templates

    To create multiple templates, you provide a zip file of JSON files. You can also use the Templates::ListTemplates method with the is_download query parameter to download a zip file containing your existing templates and use that as a guide. The API supports both .zip and .gzip file formats as input.

    You also need to set the Content-Length, Content-Type, and Content-Disposition headers:

    Content-Length: 71068Content-Type: application/zipContent-Disposition: file; filename="DocuSignTemplates_Nov_25_2019_20_40_21.zip"; fileExtension=.zip

    Related topics

  • templates.templatesPutTemplate

    Updates an existing template.

  • templates.templatesPutTemplatePart

    Shares a template with the specified members group.

    Note: For a newer version of this functionality, see .

  • templateViews.viewsPostTemplateEditView

    This method returns a URL for starting an edit view of a template that uses the DocuSign Template UI. The URL can only be used once.

    To prevent the user from accessing the sending account, set the returnUrl value in the request body.

    Information security notice

    If the returnUrl value is not set, this method provides full access to the sending account. If the account has administrative privileges, then this method also provides administrator access.

  • userCustomSettings.userCustomSettingsDeleteCustomSettings

    Deletes the specified custom user settings for a single user.

    If the custom user settings you want to delete are grouped, you must include the X-DocuSign-User-Settings-Key header in the request:

    X-DocuSign-User-Settings-Key:group_name

    Where the group_name is your designated name for the group of customer user settings.

    If the X-DocuSign-User-Settings-Key header is not included, only the custom user settings that were added without a group are deleted.

  • userCustomSettings.userCustomSettingsGetCustomSettings

    Retrieves a list of custom user settings for a single user.

    Custom settings provide a flexible way to store and retrieve custom user information that can be used in your own system.

    Note: Custom user settings are not the same as user account settings.

    If the custom user settings you want to retrieve are grouped, you must include the X-DocuSign-User-Settings-Key header in the request:

    X-DocuSign-User-Settings-Key:group_name

    Where the group_name is your designated name for the group of customer user settings.

    If the X-DocuSign-User-Settings-Key header is not included, only the custom user settings that were added without a group are retrieved.

  • userCustomSettings.userCustomSettingsPutCustomSettings

    Adds or updates custom user settings for the specified user.

    Note: Custom user settings are not the same as user account settings.

    Custom settings provide a flexible way to store and retrieve custom user information that you can use in your own system.

    Important: There is a limit on the size for all the custom user settings for a single user. The limit is 4,000 characters, which includes the XML and JSON structure for the settings.

    You can group custom user settings when adding them. Grouping allows you to retrieve settings that are in a specific group, instead of retrieving all the user custom settings.

    To group custom user settings, include the X-DocuSign-User-Settings-Key header in the request:

    X-DocuSign-User-Settings-Key:group_name

    Where the group_name is your designated name for the group of customer user settings.

    When getting or deleting grouped custom user settings, you must include the X-DocuSign-User-Settings-Key header information.

    Grouping custom user settings is not required and if the X-DocuSign-User-Settings-Key header information is not included, the custom user settings are added normally and can be retrieved or deleted without including the X-DocuSign-User-Settings-Key header.

  • userProfiles.userProfileGetProfile

    Retrieves the user profile information, the privacy settings and personal information (address, phone number, etc.) for the specified user.

    The userId parameter specified in the endpoint must match the authenticated user's user ID and the user must be a member of the specified account.

  • userProfiles.userProfilePutProfile

    Updates the user's detail information, profile information, privacy settings, and personal information in the user ID card.

    You can also change a user's name by changing the information in the userDetails property. When changing a user's name, you can either change the information in the userName property OR change the information in firstName, middleName, lastName, suffixName, and title properties. Changes to firstName, middleName, lastName, suffixName, and title properties take precedence over changes to the userName property.

  • users.userGetUser

    Retrieves the user information for the specified user. For example:

    json
    {  "userName": "Tania Morales",  "userId": "6b67a1ee-xxxx-xxxx-xxxx-385763624163",  "userType": "CompanyUser",  "isAdmin": "False",  "isNAREnabled": "false",  "userStatus": "Active",  "uri": "/users/6b67a1ee-xxxx-xxxx-xxxx-385763624163",  "email": "examplename42@orobia.net",  "createdDateTime": "2019-04-01T22:11:56.4570000Z",  "userAddedToAccountDateTime": "0001-01-01T08:00:00.0000000Z",  "firstName": "Tania",  "lastName": "Morales",  "jobTitle": "",  "company": "Company",  "permissionProfileId": "12345678",  "permissionProfileName": "DocuSign Viewer",  "userSettings": {. . .},  "sendActivationOnInvalidLogin": "false",  "enableConnectForUser": "false",  "groupList": [. . .],  "workAddress": {. . .},  "homeAddress": {. . .},  "signatureImageUri": "/users/6b67a1ee-xxxx-xxxx-xxxx-385763624163/signatures/0304c47b-xxxx-xxxx-xxxx-c9673963bb50/signature_image",  "initialsImageUri": "/users/6b67a1ee-xxxx-xxxx-xxxx-385763624163/signatures/0304c47b-xxxx-xxxx-xxxx-c9673963bb50/initials_image",  "defaultAccountId": "f636f297-xxxx-xxxx-xxxx-8e7a14715950"}
  • users.userProfileImageDeleteUserProfileImage

    Deletes the user profile image from the specified user's profile.

    The userId parameter specified in the endpoint must match the authenticated user's user ID and the user must be a member of the specified account.

  • users.userProfileImageGetUserProfileImage

    Retrieves the user profile picture for the specified user.

    The userId path parameter must match the authenticated user's user ID, and the user must be a member of the specified account.

    Return valueMeaning
    200 OKThe response contains the profile image in the same format as it was uploaded.
    404 Not foundThe user does not have a profile image.
    400 Bad requestThere was an error in the request. The response has more information.
  • users.userProfileImagePutUserProfileImage

    Updates the user profile image by uploading an image to the user profile.

    The supported image formats are: gif, png, jpeg, and bmp. The file must be less than 200K. For best viewing results, DocuSign recommends that the image is no more than 79 pixels wide and high.

  • users.userPutUser

    To update user information for a specific user, submit a object with updated field values in the request body of this operation.

  • users.usersDeleteUsers

    Closes one or more users in the account, preventing them from accessing account features. Users are not permanently deleted.

    The request body requires only the IDs of the users to close:

    json
    {    "users": [        { "userId": "6b67a1ee-xxxx-xxxx-xxxx-385763624163" },        { "userId": "b6c74c52-xxxx-xxxx-xxxx-457a81d88926" },        { "userId": "464f7988-xxxx-xxxx-xxxx-781ee556ab7a" }    ]}

    You can use to re-open a closed user.

  • users.userSettingsGetUserSettings

    Retrieves a list of the account settings and email notification information for the specified user.

    The response returns the account setting name/value information and the email notification settings for the specified user. For more information, see .

  • users.userSettingsPutUserSettings

    Updates the account settings list and email notification types for the specified user.

  • users.usersGetUsers

    Retrieves the list of users for the specified account.

    The response returns the list of users for the account, with information about the result set. If the additional_info query is added to the endpoint and set to true, full user information is returned for each user.

  • users.usersPostUsers

    Adds new users to an account.

    The body of this request is an array of newUsers objects. For each new user, you must provide at least the userName and email properties. The maximum number of users you can create in one request is 500 users.

    The userSettings property specifies the actions users can perform. In the example below, Tal Mason will be able to send envelopes, and the activation email will be in French because the locale is set to fr.

    POST /restapi/v2.1/accounts/{accountId}/usersContent-Type: application/json
    {  "newUsers": [    {      "userName": "Claire Horace",      "email": "claire@example.com"    },    {      "userName": "Tal Mason",      "email": "talmason@example.com",      "company": "TeleSel",      "userSettings": {        "locale": "fr",        "canSendEnvelope": true      }    }  ]}

    A successful response is a newUsers array with information about the newly created users. If there was a problem in creating a user, that user entry will contain an errorDetails property that describes what went wrong.

    json
    {  "newUsers": [    {      "userId": "18f3be12-xxxx-xxxx-xxxx-883d8f9b8ade",      "uri": "/users/18f3be12-xxxx-xxxx-xxxx-883d8f9b8ade",      "email": "claire@example.com",      "userName": "Claire Horace",      "createdDateTime": "0001-01-01T08:00:00.0000000Z",      "errorDetails": {        "errorCode": "USER_ALREADY_EXISTS_IN_ACCOUNT",        "message": "Username and email combination already exists for this account."      }    },    {      "userId": "be9899a3-xxxx-xxxx-xxxx-2c8dd7156e33",      "uri": "/users/be9899a3-xxxx-xxxx-xxxx-2c8dd7156e33",      "email": "talmason@example.com",      "userName": "Tal Mason",      "userStatus": "ActivationSent",      "createdDateTime": "2020-05-26T23:25:30.7330000Z"    }  ]}
  • users.usersPutUsers

    This method updates the information about one or more account users.

  • userSignatures.userSignaturesDeleteUserSignature

    Removes the signature information for the user.

    The userId parameter specified in the endpoint must match the authenticated user's user ID and the user must be a member of the account.

    The signatureId accepts a signature ID or a signature name. DocuSign recommends you use signature ID (signatureId), since some names contain characters that do not properly encode into a URL. If you use the user name, it is likely that the name includes spaces. In that case, URL encode the name before using it in the endpoint.

    For example encode "Bob Smith" as "Bob%20Smith".

  • userSignatures.userSignaturesDeleteUserSignatureImage

    Deletes the specified initials image or signature image for the specified user.

    The function deletes one or the other of the image types, to delete both the initials image and signature image you must call the endpoint twice.

    The userId parameter specified in the endpoint must match the authenticated user's user ID and the user must be a member of the account.

    The signatureId parameter accepts a signature ID or a signature name. DocuSign recommends you use signature ID (signatureId), since some names contain characters that do not properly encode into a URL. If you use the user name, it is likely that the name includes spaces. In that case, URL encode the name before using it in the endpoint.

    For example encode "Bob Smith" as "Bob%20Smith".

  • userSignatures.userSignaturesGetUserSignature

    Retrieves the structure of a single signature with a known signature name.

    The userId specified in the endpoint must match the authenticated user's user ID and the user must be a member of the account.

    The signatureId parameter accepts a signature ID or a signature name. DocuSign recommends you use signature ID (signatureId), since some names contain characters that do not properly encode into a URL. If you use the user name, it is likely that the name includes spaces. In that case, URL encode the name before using it in the endpoint.

    For example encode "Bob Smith" as "Bob%20Smith".

  • userSignatures.userSignaturesGetUserSignatureImage

    Retrieves the specified initials image or signature image for the specified user. The image is returned in the same format in which it was uploaded. In the request you can specify if the chrome (the added line and identifier around the initial image) is returned with the image.

    The userId property specified in the endpoint must match the authenticated user's user ID and the user must be a member of the account.

    The signatureId parameter accepts a signature ID or a signature name. DocuSign recommends you use signature ID (signatureId), since some names contain characters that do not properly encode into a URL. If you use the user name, it is likely that the name includes spaces. In that case, URL encode the name before using it in the endpoint.

    For example encode "Bob Smith" as "Bob%20Smith".

    Note: Older envelopes might only have chromed images. If getting the non-chromed image fails, try getting the chromed image.

  • userSignatures.userSignaturesGetUserSignatures

    This method retrieves the signature definitions for the user that you specify.

    The userId parameter specified in the endpoint must match the authenticated user's user ID, and the user must be a member of the account.

    The signatureId parameter accepts a signature ID or a signature name. DocuSign recommends you use signature ID (signatureId), since some names contain characters that do not properly encode into a URL. If you use the user name, it is likely that the name includes spaces. In that case, URL encode the name before using it in the endpoint.

    For example, encode "Bob Smith" as "Bob%20Smith".

  • userSignatures.userSignaturesPostUserSignatures

    Adds a user signature image and/or user initials image to the specified user.

    The userId property specified in the endpoint must match the authenticated user's userId and the user must be a member of the account.

    The rules and processes associated with this are:

    • If Content-Type is set to application/json, then the default behavior for creating a default signature image, based on the name and a DocuSign font, is used.
    • If Content-Type is set to multipart/form-data, then the request must contain a first part with the user signature information, followed by parts that contain the images.

    For each Image part, the Content-Disposition header has a "filename" value that is used to map to the signatureName and/or signatureInitials properties in the JSON to the image.

    For example: Content-Disposition: file; filename="Ron Test20121127083900"

    If no matching image (by filename value) is found, then the image is not set. One, both, or neither of the signature and initials images can be set with this call.

    The Content-Transfer-Encoding: base64 header, set in the header for the part containing the image, can be set to indicate that the images are formatted as base64 instead of as binary.

    If successful, 200-OK is returned, and a JSON structure containing the signature information is provided, note that the signatureId can change with each API POST, PUT, or DELETE since the changes to the signature structure cause the current signature to be closed, and a new signature record to be created.

  • userSignatures.userSignaturesPutUserSignature
  • userSignatures.userSignaturesPutUserSignatureById

    Creates, or updates, the signature font and initials for the specified user. When creating a signature, you use this resource to create the signature name and then add the signature and initials images into the signature.

    Note: This will also create a default signature for the user when one does not exist.

    The userId property specified in the endpoint must match the authenticated user's user ID and the user must be a member of the account.

    The signatureId parameter accepts a signature ID. DocuSign recommends you use signature ID (signatureId), since some names contain characters that do not properly encode into a URL. If you use the user name, it is likely that the name includes spaces. In that case, URL encode the name before using it in the endpoint.

    For example encode "Bob Smith" as "Bob%20Smith".

  • userSignatures.userSignaturesPutUserSignatureImage

    Updates the user signature image or user initials image for the specified user. The supported image formats for this file are: gif, png, jpeg, and bmp. The file must be less than 200K.

    The userId property specified in the endpoint must match the authenticated user's user ID and the user must be a member of the account.

    The signatureId parameter accepts a signature ID or a signature name. DocuSign recommends you use signature ID (signatureId), since some names contain characters that do not properly encode into a URL. If you use the user name, it is likely that the name includes spaces. In that case, URL encode the name before using it in the endpoint.

    For example encode "Bob Smith" as "Bob%20Smith".

  • workspaceItems.workspaceFileGetWorkspaceFile

    This method returns a binary version of a file in a workspace.

  • workspaceItems.workspaceFilePagesGetWorkspaceFilePages

    This method returns a workspace file as rasterized pages.

  • workspaceItems.workspaceFilePostWorkspaceFiles

    This method adds a file to a workspace.

  • workspaceItems.workspaceFilePutWorkspaceFile

    This method updates the metadata for one or more specific files or folders in a workspace.

  • workspaceItems.workspaceFolderDeleteWorkspaceItems

    This method deletes one or more files or sub-folders from a workspace folder or root.

    Note: To delete items from a workspace, the status of the workspace must be active.

  • workspaceItems.workspaceFolderGetWorkspaceFolder

    This method returns the contents of a workspace folder, which can include sub-folders and files.

  • workspaces.workspaceDeleteWorkspace

    Deletes an existing workspace (logically).

  • workspaces.workspaceGetWorkspace

    Retrieves properties about a workspace given a unique workspaceId.

  • workspaces.workspaceGetWorkspaces

    Gets information about the Workspaces that have been created.

  • workspaces.workspacePostWorkspace

    This method creates a new workspace.

  • workspaces.workspacePutWorkspace

    Updates information about a specific workspace.

  • openapi.previewSpec

    Preview an OpenAPI document before adding it as a source

  • openapi.addSource

    Add an OpenAPI source and register its operations as tools