Skip to content
Proud to collaborate with Microsoft for Startups

Docusign ​

WorkflowTypeDescription
docusign.account-brands.delete-brandAtomicThis 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).
docusign.account-brands.delete-brand-logoAtomicThis 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).
docusign.account-brands.delete-brandsAtomicThis 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 - How to create a brand
docusign.account-brands.get-brandAtomicThis 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).
docusign.account-brands.get-brand-export-fileAtomicThis 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).
docusign.account-brands.get-brand-logoAtomicThis 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).
docusign.account-brands.get-brand-resourcesAtomicThis 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).
docusign.account-brands.get-brand-resources-listAtomicThis 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).
docusign.account-brands.get-brandsAtomicThis 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 - How to create a brand - How to apply a brand to an envelope
docusign.account-brands.post-brandsAtomicThis method creates one or more brand profile files for an account. To specify logos for the brand, use the AccountBrands: updateLogo 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 - How to create a brand
docusign.account-brands.put-brandAtomicThis 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).
docusign.account-brands.put-brand-logoAtomicThis 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).
docusign.account-brands.put-brand-resourcesAtomicThis 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.
docusign.account-consumer-disclosures.get-consumer-disclosureAtomicRetrieves 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.
docusign.account-consumer-disclosures.get-consumer-disclosure-lang-codeAtomicRetrieves 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.
docusign.account-consumer-disclosures.put-consumer-disclosureAtomicAccount 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.
docusign.account-custom-fields.delete-account-custom-fieldsAtomicThis method deletes an existing account custom field.
docusign.account-custom-fields.get-account-custom-fieldsAtomicThis method returns a list of the envelope and document custom fields associated with an account.
docusign.account-custom-fields.post-account-custom-fieldsAtomicThis method creates a custom field and makes it available for all new envelopes associated with an account.
docusign.account-custom-fields.put-account-custom-fieldsAtomicThis method updates an existing account custom field.
docusign.account-password-rules.get-account-password-rulesAtomicThis method retrieves the password rules for an account.
docusign.account-password-rules.get-password-rulesAtomicGets membership account password rules.
docusign.account-password-rules.put-account-password-rulesAtomicThis method updates the password rules for an account. Note: To update the password rules for an account, you must be an account administrator.
docusign.account-permission-profiles.delete-permission-profilesAtomicThis 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 - How to delete a permission profile
docusign.account-permission-profiles.get-permission-profileAtomicThis method returns information about a specific permission profile that is associated with an account. ### Related topics - How to set a permission profile
docusign.account-permission-profiles.get-permission-profilesAtomicThis 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" } ] }
docusign.account-permission-profiles.post-permission-profilesAtomicThis method creates a new permission profile for an account. ### Related topics - How to create a permission profile
docusign.account-permission-profiles.put-permission-profilesAtomicThis method updates an account permission profile. ### Related topics - How to update individual permission settings
docusign.account-seal-providers.get-seal-providersAtomicReturns available seals for specified account.
docusign.account-signature-providers.get-signature-providersAtomicReturns a list of signature providers that the specified account can use.
docusign.account-signatures.delete-account-signatureAtomicDeletes a stamp specified by signatureId.
docusign.account-signatures.delete-account-signature-imageAtomicDeletes the image for a stamp specified by signatureId.
docusign.account-signatures.get-account-signatureAtomicReturns information about the specified stamp.
docusign.account-signatures.get-account-signature-imageAtomicReturns the image for an account stamp.
docusign.account-signatures.get-account-signaturesAtomicReturns a list of stamps available in the account.
docusign.account-signatures.post-account-signaturesAtomicAdds or updates one or more account stamps.
docusign.account-signatures.put-account-signatureAtomicAdds or updates one or more account stamps. This request may include images in multi-part format.
docusign.account-signatures.put-account-signature-by-idAtomicUpdates an account stamp specified by the signatureId query parameter.
docusign.account-signatures.put-account-signature-imageAtomicSets a signature image, initials, or stamp.
docusign.account-tab-settings.get-tab-settingsAtomicThis method returns information about the tab types and tab functionality that is currently enabled for an account.
docusign.account-tab-settings.put-settingsAtomicThis method modifies the tab types and tab functionality that is enabled for an account.
docusign.account-watermarks.get-watermarkAtomicEnables you to preview a watermark specified by the request.
docusign.account-watermarks.put-watermarkAtomicReturns information about the watermark for the account.
docusign.account-watermarks.put-watermark-previewAtomicUpdate 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.
docusign.accounts.delete-accountAtomicThis closes the specified account. You must be an account admin to close your account. Once closed, an account must be reopened by Docusign.
docusign.accounts.delete-captive-recipients-partAtomicThis 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.
docusign.accounts.get-accountAtomicRetrieves the account information for the specified account.
docusign.accounts.get-account-billing-chargesAtomicRetrieves 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
docusign.accounts.get-envelope-purge-configurationAtomicAn 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.
docusign.accounts.get-notification-defaultsAtomicThis method returns the default settings for the email notifications that signers and senders receive about envelopes.
docusign.accounts.get-provisioningAtomicRetrieves the account provisioning information for the account.
docusign.accounts.get-settingsAtomicRetrieves the account settings information for the specified account.
docusign.accounts.get-shared-accessAtomicRetrieves 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. Note: This endpoint returns the shared status for the legacy Shared Envelopes feature. To use the new Shared Access feature, use the Authorizations resource. ### Related topics - How to share access to a Docusign envelope inbox
docusign.accounts.get-supported-languagesAtomicRetrieves 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 Set Recipient Language and Specify Custom Email Messages.
docusign.accounts.get-unsupported-file-typesAtomicRetrieves a list of file types (mime-types and file-extensions) that are not supported for upload through the Docusign system.
docusign.accounts.post-accountsAtomicCreates 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. [newAccountDefinition]: #/definitions/newAccountDefinition [nameValue]: #/definitions/nameValue [newAccountRequest]: #/definitions/newAccountRequest
docusign.accounts.put-envelope-purge-configurationAtomicAn 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 Purge Envelopes.
docusign.accounts.put-notification-defaultsAtomicThis method changes the default settings for the email notifications that signers and senders receive about envelopes.
docusign.accounts.put-settingsAtomicUpdates 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.
docusign.accounts.put-shared-accessAtomicThis 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 Update Group Share functionality. ### Related topics - How to share access to a Docusign envelope inbox
docusign.archive-completed-envelopeDagVerify a DocuSign envelope is completed, then stream its signed PDF and certificate of completion into the customer bucket as audit-tracked objects (verify → presign → download)
docusign.authorizations.create-user-authorizationAtomicCreates an authorization allowing one user to send and/or manage envelopes on behalf of another user. The agent user acts on behalf of the principal user. The principal user is specified by the userId path parameter. The agent user is specified in the request body. Each principal user can only share signing permission with one agent user. Specify in the request the level of access to share with the agent user. If you share signing access, the agent user will receive an email notification. To call this endpoint: * You must be an account administrator or you must be the principal user. * The agent user and principal user must belong to the same account. * At least one of the following account settings must be enabled: AllowDelegatedSigning, AllowManagingEnvelopesOnBehalfOfOthers, AllowEditingEnvelopesOnBehalfOfOthers, AllowSendingEnvelopesOnBehalfOfOthers. These settings correspond to the level of access you can set for the authorization.
docusign.authorizations.delete-user-authorizationAtomicDeletes the user authorization specified by the authorizationId. To call this endpoint, you must be an account administrator or you must be the principal user for the specified authorization.
docusign.authorizations.delete-user-authorizationsAtomicDelete one or more user authorizations for a given principal user. The principal user is specified by the userId path parameter. To call this endpoint, you must be an account administrator or you must be the principal user for the specified authorizations.
docusign.authorizations.get-agent-user-authorizationsAtomicReturns the user authorizations for which the user specified by userId is the agent user. If the calling user is an account administrator, the full results will be returned. Otherwise, only authorizations for which the calling user is the principal user will be returned.
docusign.authorizations.get-principal-user-authorizationsAtomicReturns the user authorizations for which the user specified by userId is the principal user. To call this endpoint, you must be an account administrator or you must be the specified principal user.
docusign.authorizations.get-user-authorizationAtomicReturns the details for the user authorization specified by the authorizationId. To call this endpoint, you must be an account administrator or you must be the principal user for the specified authorization.
docusign.authorizations.post-user-authorizationsAtomicCreate or update multiple user authorizations in a single request. The body of the request is a list of userAuthorizationSomething objects. To create a new authorization, specify the agentUser and permission fields, with the optional startDate and endDate fields. To update an existing authorization, specify the authorizationId field and the startDate and/or endDate fields. For example, to create a new authorization and update the end date of an existing authorization, your request body might look like this: { "authorizations": [ { "agentUser": { "userId": "1470ff66-xxxx-xxxx-xxxx-8c46f140da37", "accountId": "230546a7-xxxx-xxxx-xxxx-af205d5494ad" }, "permission": "manage" }, { "authorizationId": "b73ac983-xxxx-xxxx-xxxx-b3c0ea5b09d3", "endDate": "2023-05-09T21:36:27.0000000+00:00" } ] } The principal user is specified by the userId path parameter. To call this endpoint, you must be an account administrator or the principal user. Note: To create an authorization with signing permission, the AllowDelegationSigning setting must be enabled on the account. If you share signing access, the agent user will receive an email notification. Each principal user can only share signing permission with one agent user.
docusign.authorizations.update-user-authorizationAtomicUpdates the start and/or end date for a given user authorization. Specify the user authorization and principal user with the path parameters. To call this endpoint, you must be an account administrator or you must be the principal user for the specified authorization.
docusign.bcc-email-archive.delete-bcc-email-archiveAtomicThis 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.
docusign.bcc-email-archive.get-bcc-email-archive-history-listAtomicThis method returns a specific BCC email archive configuration for an account, as well as the history of changes to the email address.
docusign.bcc-email-archive.get-bcc-email-archive-listAtomicThis method retrieves all of the BCC email archive configurations associated with an account.
docusign.bcc-email-archive.post-bcc-email-archiveAtomicThis 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.
docusign.billing-plans.get-billing-planAtomicRetrieves 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 Billing: getBillingPlan reference. the billingAddress and creditCardInformation property values are the same as those shown in the Billing: updatePlan 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.
docusign.billing-plans.get-billing-plan-v2-1AtomicRetrieves the billing plan details for the specified billing plan ID.
docusign.billing-plans.get-billing-plansAtomicRetrieves a list of the billing plans associated with a distributor.
docusign.billing-plans.get-credit-card-infoAtomicThis method returns information about a credit card associated with an account.
docusign.billing-plans.get-downgrade-request-billing-infoAtomicReturns downgrade plan information for the specified account.
docusign.billing-plans.put-billing-planAtomicUpdates the billing plan information, billing address, and credit card information for the specified account.
docusign.billing-plans.put-downgrade-account-billing-planAtomicQueues downgrade billing plan request for an account.
docusign.billing-plans.put-purchased-envelopesAtomicReserved: 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.
docusign.bulk-send.delete-bulk-send-listAtomicThis method deletes a bulk send list.
docusign.bulk-send.get-bulk-send-batch-envelopesAtomicThis method returns a list of envelopes in a specified bulk batch. Use the query parameters to filter and sort the envelopes by different attributes.
docusign.bulk-send.get-bulk-send-batch-statusAtomicGets 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 - How to bulk send envelopes
docusign.bulk-send.get-bulk-send-batchesAtomicReturns a summary of bulk send batches. Use the batch_ids query parameter to narrow the list of batches. You must specify exactly one of the following query parameters to get back a list of batch summaries:
docusign.bulk-send.get-bulk-send-listAtomicThis method returns all of the details associated with a specific bulk send list that belongs to the current user.
docusign.bulk-send.get-bulk-send-listsAtomicThis method returns a list of bulk send lists belonging to the current user, as well as basic information about each list.
docusign.bulk-send.post-bulk-send-listAtomicThis method creates a bulk send list that you can use to send an envelope to up to 1,000 recipients at once. ### Related topics - How to bulk send envelopes ### Errors
docusign.bulk-send.post-bulk-send-requestAtomicThis 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 - How to bulk send envelopes ### Errors This method returns the following errors:
docusign.bulk-send.post-bulk-send-test-requestAtomicThis 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. [BulkSendRequest]: /docs/esign-rest-api/reference/bulkenvelopes/bulksend/createbulksendrequest/
docusign.bulk-send.put-bulk-send-batch-actionAtomicUse this endpoint to resend, correct, or void all envelopes from a specified bulk send.
docusign.bulk-send.put-bulk-send-batch-statusAtomicUpdates the name of a bulk send batch.
docusign.bulk-send.put-bulk-send-listAtomicThis method replaces the definition of an existing bulk send list.
docusign.chunked-uploads.delete-chunked-uploadAtomicDeletes 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.
docusign.chunked-uploads.get-chunked-uploadAtomicReturns 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.
docusign.chunked-uploads.post-chunked-uploadsAtomicThis method initiates a new chunked upload with the first part of the content.
docusign.chunked-uploads.put-chunked-upload-partAtomicAdds 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}/1 PUT /v2.1/accounts/{accountId}/chunked_uploads/{chunkedUploadId}/2 PUT /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.
docusign.chunked-uploads.put-chunked-uploadsAtomicThis 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.
docusign.cloud-storage-providers.delete-cloud-storageAtomicDeletes 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.
docusign.cloud-storage-providers.delete-cloud-storage-providersAtomicDeletes 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.
docusign.cloud-storage-providers.get-cloud-storageAtomicRetrieves the list of cloud storage providers enabled for the account and the configuration information for the user.
docusign.cloud-storage-providers.get-cloud-storage-providersAtomicRetrieves the list of cloud storage providers enabled for the account and the configuration information for the user.
docusign.cloud-storage-providers.post-cloud-storageAtomicConfigures 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.
docusign.cloud-storage.get-cloud-storage-folderAtomicRetrieves 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.
docusign.cloud-storage.get-cloud-storage-folder-allAtomicRetrieves a list of all the items in a specified folder from the specified cloud storage provider.
docusign.comments.get-comments-transcriptAtomicRetrieves 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).
docusign.connect-configurations.create-connect-secretAtomicGenerates a new connect HMAC Secret.
docusign.connect-configurations.delete-connect-configAtomicDeletes the specified Docusign Connect configuration. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage>
docusign.connect-configurations.delete-connect-oauth-configAtomicDeletes the Connect OAuth configuration for the specified account. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage> ## Related topics: - OAuth for Docusign Connect
docusign.connect-configurations.delete-connect-secretAtomicDeletes the connect HMAC Secret for specified account.
docusign.connect-configurations.get-connect-all-usersAtomicReturns all users from the configured Connect service. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage>
docusign.connect-configurations.get-connect-configAtomicRetrieves the information for the specified Docusign Connect configuration. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage>
docusign.connect-configurations.get-connect-configsAtomicRetrieves all the Docusign Custom Connect definitions for the specified account. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage>
docusign.connect-configurations.get-connect-oauth-configAtomicGets the Connect OAuth configuration for the specified account. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage> ## Related topics: - OAuth for Docusign Connect
docusign.connect-configurations.get-connect-secretAtomicdocusign.connect-configurations.get-connect-secret
docusign.connect-configurations.get-connect-usersAtomicReturns users from the configured Connect service. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage>
docusign.connect-configurations.post-connect-configurationAtomicCreates a custom Connect configuration for the specified account. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage> 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 eventNotification object instead. ## 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 event model. <ds-column> <ds-step open="false" hideIcon="true"> <h3>JSON SIM (Recommended)</h3> <div> 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" ] } </div></ds-step> <ds-step open="false" hideIcon="true"> <h3>JSON Aggregate</h3> <div> 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. </div></ds-step> <ds-step open="false" hideIcon="true"> <h3>XML Aggregate</h3> <div> Set deliveryMode to aggregate. Use the envelopeEvents or recipientEvents property to set the event statuses that will trigger your configuration. </div></ds-step> <ds-step open="false" hideIcon="true"> <h3>XML SIM (Legacy apps only)</h3> <div> Note: This model is deprecated. Set deliveryMode to SIM. Use the envelopeEvents or recipientEvents property to set the event statuses that will trigger your configuration. </div></ds-step> </ds-column> ## 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 Docusign Connect guide. * Use the MyAPICalls sample app to see an example of this endpoint using the JSON SIM model.
docusign.connect-configurations.post-connect-oauth-configAtomicSets 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. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage> ## Related topics: - OAuth for Docusign Connect
docusign.connect-configurations.put-connect-configurationAtomicUpdates 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. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage>
docusign.connect-configurations.put-connect-oauth-configAtomicUpdates the existing Connect OAuth configuration for the account.
docusign.connect-events.delete-connect-failure-logAtomicDeletes a Connect failure log entry. To delete all the Connect failure log entries, specify all for the failureId path parameter. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage>
docusign.connect-events.delete-connect-logAtomicDeletes a specified entry from the Connect Log. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage>
docusign.connect-events.delete-connect-logsAtomicDeletes a list of Connect log entries for your account. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage>
docusign.connect-events.get-connect-logAtomicRetrieves the specified Connect log entry for your account. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage> 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.
docusign.connect-events.get-connect-logsAtomicRetrieves the Connect failure log information. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage> Use this method to determine which envelopes failed to post. You can then use [ConnectEvents: retryForEnvelopes][retry] to create a republish request. [retry]: /docs/esign-rest-api/reference/connect/connectevents/retryforenvelopes/
docusign.connect-events.get-connect-logs-v2-1AtomicRetrieves a list of the 100 most recent Connect log entries for your account. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage> The enableLog setting in the Connect configuration must be set to true to enable logging. Log entries are deleted after 15 days.
docusign.connect-events.put-connect-retryAtomicRepublishes Connect information for the specified set of envelopes. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage> 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 Connect::listEventLogs retrieve the failure log.
docusign.connect-events.put-connect-retry-by-envelopeAtomicRepublishes Connect information for the specified envelope. <ds-inlinemessage> To use this method, you must be an account administrator and Connect must be enabled on your account. </ds-inlinemessage>
docusign.contacts.delete-contact-with-idAtomicThis method deletes a contact associated with an account.
docusign.contacts.delete-contactsAtomicThis method deletes multiple contacts associated with an account.
docusign.contacts.get-contact-by-idAtomicThis 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. [CloudStorage]: /docs/esign-rest-api/reference/cloudstorage/
docusign.contacts.post-contactsAtomicThis method adds multiple contacts into a contacts list.
docusign.contacts.put-contactsAtomicThis method updates one or more contacts associated with an account.
docusign.create-envelopeAtomicCreate a DocuSign envelope from documents fetched by presigned URL — draft by default, sent with send=true
docusign.create-envelope-from-templateAtomicCreate a DocuSign envelope from a server template with role assignments — draft by default, sent with send=true
docusign.custom-tabs.delete-custom-tabAtomicDeletes the custom from the specified account.
docusign.custom-tabs.get-custom-tabAtomicRetrieves information about the requested custom tab on the specified account.
docusign.custom-tabs.get-tab-definitionsAtomicRetrieves a list of all tabs associated with the account.
docusign.custom-tabs.post-tab-definitionsAtomicCreates 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.
docusign.custom-tabs.put-custom-tabAtomicUpdates the information in a custom tab for the specified account.
docusign.document-generation.get-envelope-doc-gen-form-fieldsAtomicGiven an envelopeId, this method returns the sender fields found in that envelope's documents. After you retrieve the sender fields, use the DocumentGeneration::updateEnvelopeDocGenFormFields method to populate the fields. If the specified envelope does not contain a document with sender fields, the method will return success (200) and an empty object ({}) in the response. ### Next steps - Learn about document generation in the eSignature concepts guide. - Learn how to send an envelope with document generation in your preferred coding language.
docusign.document-generation.put-envelope-doc-gen-form-fieldsAtomicThis method dynamically generates an envelope's documents by populating its sender fields. The envelope must be in a draft state. Use the DocumentGeneration::getEnvelopeDocGenFormFields response to retrieve the list of sender fields for your envelope. Use that list to build the request for this method. For each field, specify the field name and the value to populate. For example, your request body might look like this: json { "docGenFormFields": [ { "documentId": "bf3202e1-xxxx-xxxx-xxxx-af4f41366879", "docGenFormFieldList": [ { "name": "Candidate_Name", "value": "Peggy Olson" }, { "name": "Job_Title", "value": "Technical Writer" }, { "name": "Manager_Name", "value": "Donald Draper" }, { "name": "Start_Date", "value": "1960-02-28" }, { "name": "Salary", "value": "3380" } ] } ] } ### Important notes * If update_docgen_formfields_only is false (the default), the documentId changes after the update. * This endpoint does not validate number, date, or select data field values. The request can succeed even if a number or date field value is not a valid number or date, or if a select field value is not one of the allowed values. ### Related topics - Learn about document generation in the eSignature concepts guide. - See this method in use in your preferred coding language.
docusign.document-responsive-html-preview.post-document-responsive-html-previewAtomicCreates a preview of the responsive 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.
docusign.download-documentsAtomicStream a DocuSign envelope artifact (combined PDF or certificate of completion) into a presigned upload URL — bytes never enter workflow state
docusign.e-note-configurations.delete-e-note-configurationAtomicDeletes configuration information for the eNote eOriginal integration.
docusign.e-note-configurations.get-e-note-configurationAtomicReturns the configuration information for the eNote eOriginal integration.
docusign.e-note-configurations.put-e-note-configurationAtomicUpdates configuration information for the eNote eOriginal integration.
docusign.envelope-attachments.delete-attachmentsAtomicDeletes one or more envelope attachments from a draft envelope. <!-- std notice DEVDOCS-114911 --> <ds-inlinemessage kind="information" markdown="1"> It's easy to confuse envelope attachments, which are developer-only files associated with an envelope, with signer attachments. To learn about the different types of attachments, see Attachments in the concept guide. </ds-inlinemessage> <!-- end notice DEVDOCS-114911 -->
docusign.envelope-attachments.get-attachmentAtomicRetrieves an envelope attachment from an envelope. <!-- std notice DEVDOCS-114911 --> <ds-inlinemessage kind="information" markdown="1"> It's easy to confuse envelope attachments, which are developer-only files associated with an envelope, with signer attachments. To learn about the different types of attachments, see Attachments in the concept guide. </ds-inlinemessage> <!-- end notice DEVDOCS-114911 -->
docusign.envelope-attachments.get-attachmentsAtomicReturns a list of envelope attachments associated with a specified envelope. <!-- std notice DEVDOCS-114911 --> <ds-inlinemessage kind="information" markdown="1"> It's easy to confuse envelope attachments, which are developer-only files associated with an envelope, with signer attachments. To get a list of user-visible attachments, use EnvelopeDocuments: get. To learn about the different types of attachments, see Attachments in the concept guide. </ds-inlinemessage> <!-- end notice DEVDOCS-114911 -->
docusign.envelope-attachments.put-attachmentAtomicUpdates an envelope attachment to a draft or in-process envelope. <!-- std notice DEVDOCS-114911 --> <ds-inlinemessage kind="information" markdown="1"> It's easy to confuse envelope attachments, which are developer-only files associated with an envelope, with signer attachments. To learn about the different types of attachments, see Attachments in the concept guide. </ds-inlinemessage> <!-- end notice DEVDOCS-114911 -->
docusign.envelope-attachments.put-attachmentsAtomicAdds one or more envelope attachments to a draft or in-process envelope. Each envelope can have a maximum of 12 attachments. 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 Supported File Formats. <!-- std notice DEVDOCS-114911 --> <ds-inlinemessage kind="information" markdown="1"> It's easy to confuse envelope attachments, which are developer-only files associated with an envelope, with signer attachments. To learn about the different types of attachments, see Attachments in the concept guide. </ds-inlinemessage> <!-- end notice DEVDOCS-114911 -->
docusign.envelope-consumer-disclosures.get-consumer-disclosure-envelope-id-recipient-idAtomicRetrieves 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.
docusign.envelope-consumer-disclosures.get-consumer-disclosure-envelope-id-recipient-id-lang-codeAtomicRetrieves 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.
docusign.envelope-custom-fields.delete-custom-fieldsAtomicDeletes envelope custom fields for draft and in-process envelopes.
docusign.envelope-custom-fields.get-custom-fieldsAtomicRetrieves 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 - How to get envelope custom tab values
docusign.envelope-custom-fields.post-custom-fieldsAtomicUpdates the envelope custom fields for draft and in-process envelopes. ### Related topics - How to bulk send envelopes
docusign.envelope-custom-fields.put-custom-fieldsAtomicUpdates the envelope custom fields in draft and in-process envelopes. Each custom field used in an envelope must have a unique name.
docusign.envelope-document-fields.delete-document-fieldsAtomicDeletes custom document fields from an existing envelope document.
docusign.envelope-document-fields.get-document-fieldsAtomicRetrieves the custom document field information from an existing envelope document.
docusign.envelope-document-fields.post-document-fieldsAtomicCreates custom document fields in an existing envelope document.
docusign.envelope-document-fields.put-document-fieldsAtomicUpdates existing custom document fields in an existing envelope document.
docusign.envelope-document-html-definitions.get-envelope-document-html-definitionsAtomicRetrieves 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 - Responsive signing
docusign.envelope-document-tabs.delete-document-tabsAtomicDeletes tabs from the document specified by documentId in the envelope specified by envelopeId.
docusign.envelope-document-tabs.get-document-tabsAtomicReturns the tabs on the document specified by documentId in the envelope specified by envelopeId.
docusign.envelope-document-tabs.get-page-tabsAtomicReturns the tabs from the page specified by pageNumber of the document specified by documentId in the envelope specified by envelopeId.
docusign.envelope-document-tabs.post-document-tabsAtomicAdds tabs to the document specified by documentId in the envelope specified by envelopeId. <ds-inlinemessage kind="information" markdown="1"> This method operates only on <a href="/docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#schema__enveloperecipienttabs_smartsectiontabs"><code>smartSection</code></a> and <a href="/docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#schema__enveloperecipienttabs_polylineoverlaytabs"><code>polyLineOverlay</code></a> tabs. </ds-inlinemessage>
docusign.envelope-document-tabs.put-document-tabsAtomicUpdates tabs in the document specified by documentId in the envelope specified by envelopeId. <ds-inlinemessage kind="information" markdown="1"> This method operates only on <a href="/docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#schema__enveloperecipienttabs_smartsectiontabs"><code>smartSection</code></a> and <a href="/docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#schema__enveloperecipienttabs_polylineoverlaytabs"><code>polyLineOverlay</code></a> tabs. </ds-inlinemessage>
docusign.envelope-document-visibility.get-recipient-document-visibilityAtomicThis method returns information about document visibility for a recipient.
docusign.envelope-document-visibility.put-recipient-document-visibilityAtomicThis 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.
docusign.envelope-document-visibility.put-recipients-document-visibilityAtomicThis 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.
docusign.envelope-documents.delete-documentsAtomicDeletes 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 envelopeDefinition. 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
docusign.envelope-documents.get-documentAtomicRetrieves 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 OK Content-Length: 167539 Content-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 OK Content-Length: 223384 Content-Type: application/pdf . . . Content-Disposition: file; filename="Lorem_Ipsum.pdf"; documentid="1" Content-Transfer-Encoding: base64 Date: 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 - How to download envelope documents
docusign.envelope-documents.get-documentsAtomicRetrieves a list of documents associated with the specified envelope. ### Related topics - How to list envelope documents
docusign.envelope-documents.put-documentAtomicAdds 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 locking the envelope 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' <ds-inlinemessage kind="warning"> If HTML document files contain <code><img></code> elements with the <code>src</code> attribute set to a path or URL, those images will not be displayed. Images in HTML files must be encoded in Base64 format, like this:<br/> <code><img src="data:image/gif;base64,R0lGODlh...IQAAOw==" alt="Base64 encoded image" width="150" height="150"/></code> </ds-inlinemessage>
docusign.envelope-documents.put-documentsAtomicAdds 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 locking the envelope 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 Note: This method works on documents only. To add recipient or document tabs, use methods from the EnvelopeRecipientTabs resource. <ds-inlinemessage kind="warning"> If HTML document files contain <code><img></code> elements with the <code>src</code> attribute set to a path or URL, those images will not be displayed. Images in HTML files must be encoded in Base64 format, like this:<br/> <code><img src="data:image/gif;base64,R0lGODlh...IQAAOw==" alt="Base64 encoded image" width="150" height="150"/></code> </ds-inlinemessage>
docusign.envelope-email-settings.delete-email-settingsAtomicDeletes 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.
docusign.envelope-email-settings.get-email-settingsAtomicRetrieves the email override settings for the specified envelope.
docusign.envelope-email-settings.post-email-settingsAtomicAdds 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.
docusign.envelope-email-settings.put-email-settingsAtomicUpdates 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.
docusign.envelope-form-data.get-form-dataAtomicThis 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 - How to get envelope tab values
docusign.envelope-html-definitions.get-envelope-html-definitionsAtomicGets the Original HTML Definition used to generate the Responsive HTML for the envelope.
docusign.envelope-locks.delete-envelope-lockAtomicDeletes 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 EnvelopeLocks: create. This method takes an optional query parameter that lets you specify whether changes made while the envelope was locked are kept or discarded.
docusign.envelope-locks.get-envelope-lockAtomicRetrieves 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 EnvelopeLocks: create for a description of the X-DocuSign-Edit header. ### Related topics - Common API Tasks: Locking and unlocking envelopes
docusign.envelope-locks.post-envelope-lockAtomicThis 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" } or X-DocuSign-Edit:<DocuSignEdit><LockToken>token-from-response</LockToken><LockDurationInSeconds>600</LockDurationInSeconds></DocuSignEdit> ### Related topics - Common API Tasks: Locking and unlocking envelopes
docusign.envelope-locks.put-envelope-lockAtomicUpdates the lock information for a locked envelope. You must include the X-DocuSign-Edit header as described in EnvelopeLocks: create. 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" }
docusign.envelope-publish.post-historical-envelope-publish-transactionAtomicThis 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","folders","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 Bulk Actions Log.
docusign.envelope-recipient-tabs.delete-recipient-tabsAtomicDeletes one or more tabs associated with a recipient in a draft envelope.
docusign.envelope-recipient-tabs.get-recipient-tabsAtomicRetrieves 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 EnvelopeRecipients:list method with query parameter include_tabs set to true.
docusign.envelope-recipient-tabs.post-recipient-tabsAtomicAdds one or more tabs for a recipient.
docusign.envelope-recipient-tabs.put-recipient-tabsAtomicUpdates 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.
docusign.envelope-recipients.delete-recipientAtomicDeletes 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.
docusign.envelope-recipients.delete-recipientsAtomicDeletes 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.
docusign.envelope-recipients.get-recipientsAtomicRetrieves 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 - How to list envelope recipients - How to retrieve ID Evidence events - How to retrieve ID Evidence media
docusign.envelope-recipients.post-envelope-recipient-previewAtomicReturns 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. You must specify a returnUrl value in the request body. For more information, see Preview and Send.
docusign.envelope-recipients.post-recipient-manual-review-viewAtomicThis method returns the URL of the page that allows a sender to manually review the ID of a recipient.
docusign.envelope-recipients.post-recipient-proof-file-resource-tokenAtomicCreates a resource token for a sender. This token allows a sender to return identification data for a recipient using the ID Evidence API. ### Related topics - How to retrieve ID Evidence events - How to retrieve ID Evidence media
docusign.envelope-recipients.post-recipientsAtomicAdds 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" }, . . . ] } } ] } [recipientTabs]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/ ### Related topics - How to bulk send envelopes - How to request a signature by email - How to request a signature through your app
docusign.envelope-recipients.put-recipientsAtomicUpdates 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 - 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-create]: /docs/esign-rest-api/reference/envelopes/enveloperecipients/create/ [recipientTabs]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
docusign.envelope-shares.delete-envelopes-shareAtomicdocusign.envelope-shares.delete-envelopes-share
docusign.envelope-shares.delete-envelopes-sharesAtomicdocusign.envelope-shares.delete-envelopes-shares
docusign.envelope-shares.get-envelopes-shareAtomicdocusign.envelope-shares.get-envelopes-share
docusign.envelope-shares.get-envelopes-sharesAtomicdocusign.envelope-shares.get-envelopes-shares
docusign.envelope-shares.get-shared-envelopesAtomicdocusign.envelope-shares.get-shared-envelopes
docusign.envelope-shares.post-envelopes-sharesAtomicdocusign.envelope-shares.post-envelopes-shares
docusign.envelope-shares.put-envelopes-shareAtomicdocusign.envelope-shares.put-envelopes-share
docusign.envelope-shares.put-envelopes-sharesAtomicdocusign.envelope-shares.put-envelopes-shares
docusign.envelope-templates.delete-document-templatesAtomicDeletes the specified template from a document in an existing envelope.
docusign.envelope-templates.get-document-templatesAtomicRetrieves the templates associated with a document in the specified envelope.
docusign.envelope-templates.get-envelope-templatesAtomicThis returns a list of the server-side templates, their name and ID, used in an envelope.
docusign.envelope-templates.post-document-templatesAtomicAdds templates to a document in the specified envelope.
docusign.envelope-templates.post-envelope-templatesAtomicAdds templates to the specified envelope.
docusign.envelope-transfer-rules.delete-envelope-transfer-rulesAtomicThis 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.
docusign.envelope-transfer-rules.get-envelope-transfer-rulesAtomicThis 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.
docusign.envelope-transfer-rules.post-envelope-transfer-rulesAtomicThis 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.
docusign.envelope-transfer-rules.put-envelope-transfer-ruleAtomicThis 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.
docusign.envelope-transfer-rules.put-envelope-transfer-rulesAtomicThis 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.
docusign.envelope-views.delete-envelope-correct-viewAtomicThis API method is obsolete. Your application should not call it. It acts as a null operation.
docusign.envelope-views.post-account-console-viewAtomicReturns 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. ## Information security notice This method provides full access to the sending account. ### Related topics - How to embed the Docusign UI in your app
docusign.envelope-views.post-envelope-correct-viewAtomicReturns a URL that enables you to embed the envelope sender view of the Docusign UI. You can customize the appearance of the view via the settings request attribute. You can embed the view in an iframe. API request update The request object for this API method was updated in June 2024. The new API request format is described below. Existing applications must update to the new version; it solves a security issue with the old version. The deprecation schedule has been announced in the Docusign Core Release Notes. While backwards compatibility will be provided for a while for existing applications, all applications must be updated to be secure. See below for migration information. Best practices The returned URL expires after 10 minutes. 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 mobile applications, use a WebView (Android) or WKWebView (iOS). ## Customizing the user experience By default, the view includes two pages: the Prepare and Tagger pages. The settings object is used to control the user experience. For example, to limit the user to the Tagger page, and not allow the user to change the recipient information: * "startingScreen": "Tagger" * "showBackButton": "false" * "showEditRecipients": "false" Use the Embedded Views Test Too to try the different UX controls. Some UI settings attributes are not yet implemented. ### The envelope must be in the correct state for the Embedded View To use the Correct View, the envelope must be in the sent or delivered state. Otherwise, a 400 error will be returned with an error message in the response body: { "errorCode": "ENVELOPE_INVALID_STATUS", "message": "Invalid envelope status. Correct view cannot be created for an envelope in a Created state." } ### Modifying the envelope after redirection If you set "sendButtonAction": "redirect" or "backButtonAction": "redirect", and your app will modify the envelope before or after the view completes, you must lock the envelope before the API call and provide the lock as the lockToken attribute in the API request object. Delete the lock token after the browser has been redirected to your application. ### Closing the view's iframe If you choose to embed the view in your application via an iframe, Docusign recommends this software pattern to close the iframe after the view has completed: * (One time) create a standalone “return” page that you will use as the returnUrl target for the view. The view will redirect the iframe to this URL when it has completed. Here's an example return page. In this page, use JavaScript and the postMessage method to send a message to your application with the results of the view. * In your application, use window.addEventListener("message", function_name) to register a listener for incoming messages. * To show the view, use this API method, then set the iframe to load the URL from the API response. * In your application, receive the completion message, validate it, and then close the iframe. ### Information security This view only has write access to the specific envelope referenced in the API call. It also has read access to templates and other secondary information that a user can access to modify the envelope. The read access corresponds to the access rights of the user associated with the access token used for the API call. >Recommendations: >* Use the access token of a service user who can access the templates appropriate for your use case. >* Do not use the access token of a user with administrator privileges. ## Migrating to the current version of the request object This section only applies to existing applications that use the older version of the request object. Migrating from the old API request object to the new version will take under a day of developer time. Step 1. Does your application set the returnUrl attribute? Yes: continue with step 2. No: In this case, your users first update the envelope, and then the Docusign eSignature home screen is shown. To accomplish this UI pattern with the new API request format: * Set the returnUrl to a new endpoint for your application. You can use query parameters or session data to manage state. Remember to authenticate the incoming requests. * When the new endpoint is called, use the EnvelopeViews:createConsole API call to obtain and then display the Docusign eSignature home page to your application's user. Step 2. Does your application modify the default UI of the view? No: continue with step 3. Yes: With the new API request object, UI controls for the view are now set when you make the API call via the settings attribute. * Note the UI settings your application is currently modifying by adding and updating query parameters on the URL returned by the API method. * Using the reference documentation below, create a settings object that accomplishes your UI goals. You can use the Embedded Views Test tool to check your UI settings. Note that the settings object includes multiple objects and subobjects for various UI settings. * Delete the code in your application that modifies and adds query parameters to the URL returned by the API. With the new API format, your application will not make any changes to the returned URL. Exception: If you set the view's locale specifically, that is still accomplished by appending the locale query parameter. Step 3. Is the envelope always in the right state before you call the Embedded View? If your software may try to create the Embedded View when the envelope is not in the right state (see above), then you must add additional checks and logic to prevent this. Step 4. Check that these API attributes are set: * "view" = "envelope" * The returnUrl is set Step 5. All done! Test your application.
docusign.envelope-views.post-envelope-edit-viewAtomicThis API method has been replaced by the EnvelopeViews:createSender API method. The two API methods work exactly the same, Migration required To solve an application security issue, you must migrate to the new API request format. See the EnvelopeViews:createSender API method for more information. Backwards compatibility will be provided for a limited time.
docusign.envelope-views.post-envelope-recipient-shared-viewAtomicReturns a URL that enables you to embed the Docusign UI recipient view of a shared envelope 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. ### Related topics - Embedded signing and sending - How to send an envelope via your app - How to embed the Docusign UI in your app
docusign.envelope-views.post-envelope-recipient-viewAtomicReturns a URL that enables you to embed the recipient view 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. <ds-inlinemessage kind="information" markdown="1"> Due to screen space issues, do not use an <code><iframe></code> for embedded operations on mobile devices. For iOS devices, Docusign recommends using a WebView. </ds-inlinemessage> ### The returned URL The URL returned in this method's response is intended to be used immediately to redirect the signer to the recipient view. You can open the recipient view in the current browser or in a new tab. After the signer is redirected to the recipient view, they must interact with the Docusign system periodically or their session will time out. <ds-inlinemessage kind="warning" markdown="1"> The returned URL can be used only once and expires after 5 minutes. Do not store or email the returned URL. </ds-inlinemessage> 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. ### How to specify the default language You can append the locale query parameter to the URL returned by this method to specify a 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. For example, to set the default language to Canadian French, you would add this query parameter to the returned URL: ...&locale=fr_CA ## 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. ## 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. ## Redirecting back to returnUrl After the signer completes or ends the signing ceremony, Docusign redirects the user's browser back to your app via the returnUrl that you supplied in the request. The signer may be redirected through various Docusign subdomains, depending on the region of the account sending the envelope. Please consult Allowlists for Docusign eSignature service in Security for Docusign eSignature 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 Envelopes: get or a similar method because doing so will probably hit request and polling limits.
docusign.envelope-views.post-envelope-sender-viewAtomicReturns a URL that enables you to embed the envelope sender view of the Docusign UI. You can customize the appearance of the view via the settings request attribute. You can embed the view in an iframe. API request update The request object for this API method was updated in June 2024. The new API request format is described below. Existing applications must update to the new version; it solves a security issue with the old version. The deprecation schedule has been announced in the Docusign Core Release Notes. While backwards compatibility will be provided for a while for existing applications, all applications must be updated to be secure. See below for migration information. Best practices The returned URL expires after 10 minutes. 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 mobile applications, use a WebView (Android) or WKWebView (iOS). ## Customizing the user experience By default, the view includes two pages: the Prepare and Tagger pages. The settings object is used to control the user experience. For example, to limit the user to the Tagger page, and not allow the user to change the recipient information: * "startingScreen": "Tagger" * "showBackButton": "false" * "showEditRecipients": "false" Use the Embedded Views Test Too to try the different UX controls. Some UI settings attributes are not yet implemented. ### The envelope must be in the correct state for the Embedded View To use the Sender View, the envelope must be in the created state. Otherwise, a 400 error will be returned with an error message in the response body: { "errorCode": "ENVELOPE_INVALID_STATUS", "message": "Invalid envelope status. Sender view cannot be created for an envelope that is not in a draft state." } ### Closing the view's iframe If you choose to embed the view in your application via an iframe, Docusign recommends this software pattern to close the iframe after the view has completed: * (One time) create a standalone “return” page that you will use as the returnUrl target for the view. The view will redirect the iframe to this URL when it has completed. Here's an example return page. In this page, use JavaScript and the postMessage method to send a message to your application with the results of the view. * In your application, use window.addEventListener("message", function_name) to register a listener for incoming messages. * To show the view, use this API method, then set the iframe to load the URL from the API response. * In your application, receive the completion message, validate it, and then close the iframe. ### Information security This view only has write access to the specific envelope referenced in the API call. It also has read access to templates and other secondary information that a user can access to modify the envelope. The read access corresponds to the access rights of the user associated with the access token used for the API call. >Recommendations: >* Use the access token of a service user who can access the templates appropriate for your use case. >* Do not use the access token of a user with administrator privileges. ## Migrating to the current version of the request object This section only applies to existing applications that use the older version of the request object. Migrating from the old API request object to the new version will take under a day of developer time. Step 1. Does your application set the returnUrl attribute? Yes: continue with step 2. No: In this case, your users first update the envelope, and then the Docusign eSignature home screen is shown. To accomplish this UI pattern with the new API request format: * Set the returnUrl to a new endpoint for your application. You can use query parameters or session data to manage state. Remember to authenticate the incoming requests. * When the new endpoint is called, use the EnvelopeViews:createConsole API call to obtain and then display the Docusign eSignature home page to your application's user. Step 2. Does your application modify the default UI of the view? No: continue with step 3. Yes: With the new API request object, UI controls for the view are now set when you make the API call via the settings attribute. * Note the UI settings your application is currently modifying by adding and updating query parameters on the URL returned by the API method. * Using the reference documentation below, create a settings object that accomplishes your UI goals. You can use the Embedded Views Test tool to check your UI settings. Note that the settings object includes multiple objects and subobjects for various UI settings. * Delete the code in your application that modifies and adds query parameters to the URL returned by the API. With the new API format, your application will not make any changes to the returned URL. Exception: If you set the view's locale specifically, that is still accomplished by appending the locale query parameter. Step 3. Is the envelope always in the right state before you call the Embedded View? If your software may try to create the Embedded View when the envelope is not in the right state (see above), then you must add additional checks and logic to prevent this. Step 4. Check that these API attributes are set: * "view" = "envelope" * The returnUrl is set Step 5. All done! Test your application.
docusign.envelope-workflow-definition.delete-envelope-delayed-routing-definitionAtomicDelete 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 updateEnvelopeDelayedRoutingDefinition 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 unpause the envelope. If you want to delete the step entirely, use deleteEnvelopeWorkflowStepDefinition instead.
docusign.envelope-workflow-definition.delete-envelope-scheduled-sending-definitionAtomicDeletes the scheduled sending rules for an envelope's workflow. You cannot call this endpoint once the scheduled sending countdown has begun.
docusign.envelope-workflow-definition.delete-envelope-workflow-definitionAtomicDeletes 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 Envelopes::Update method.
docusign.envelope-workflow-definition.delete-envelope-workflow-step-definitionAtomicDeletes the workflow step specified by workflowStepId from an envelope specified by envelopeId.
docusign.envelope-workflow-definition.delete-template-delayed-routing-definitionAtomicDeletes the delayed routing rules for the specified template workflow step.
docusign.envelope-workflow-definition.delete-template-scheduled-sending-definitionAtomicDeletes the scheduled sending rules for the template's workflow.
docusign.envelope-workflow-definition.delete-template-workflow-definitionAtomicDeletes 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.
docusign.envelope-workflow-definition.delete-template-workflow-step-definitionAtomicDeletes a workflow step from an template's workflow definition.
docusign.envelope-workflow-definition.get-envelope-delayed-routing-definitionAtomicGiven 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.
docusign.envelope-workflow-definition.get-envelope-scheduled-sending-definitionAtomicGiven 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.
docusign.envelope-workflow-definition.get-envelope-workflow-definitionAtomicReturns the workflow definition for the envelope specified by envelopeId. If the envelope does not have a workflow object, this method returns a 404.
docusign.envelope-workflow-definition.get-envelope-workflow-step-definitionAtomicReturns a workflow step specified by workflowStepId for an envelope specified by envelopeId.
docusign.envelope-workflow-definition.get-template-delayed-routing-definitionAtomicGiven 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.
docusign.envelope-workflow-definition.get-template-scheduled-sending-definitionAtomicGiven 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.
docusign.envelope-workflow-definition.get-template-workflow-definitionAtomicReturns the workflow definition for the template specified by templateId. If the template does not have a workflow object, this method returns a 404.
docusign.envelope-workflow-definition.get-template-workflow-step-definitionAtomicReturns a workflow step specified by workflowStepId for a template specified by templateId.
docusign.envelope-workflow-definition.post-envelope-workflow-step-definitionAtomicAdds a new step to an envelope's workflow.
docusign.envelope-workflow-definition.post-template-workflow-step-definitionAtomicAdds a new step to a template's workflow.
docusign.envelope-workflow-definition.put-envelope-delayed-routing-definitionAtomicUpdates 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.
docusign.envelope-workflow-definition.put-envelope-scheduled-sending-definitionAtomicUpdates the scheduled sending rules for an envelope's workflow. The envelope must have an existing workflow object.
docusign.envelope-workflow-definition.put-envelope-workflow-definitionAtomicUpdates 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.
docusign.envelope-workflow-definition.put-envelope-workflow-step-definitionAtomicUpdates 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.
docusign.envelope-workflow-definition.put-template-delayed-routing-definitionAtomicUpdates the scheduled sending rules for a template's workflow.
docusign.envelope-workflow-definition.put-template-scheduled-sending-definitionAtomicUpdates the scheduled sending rules for a template's workflow definition.
docusign.envelope-workflow-definition.put-template-workflow-definitionAtomicUpdates the specified template's workflow definition.
docusign.envelope-workflow-definition.put-template-workflow-step-definitionAtomicUpdates a specified workflow step for a template.
docusign.envelopes.delete-pageAtomicDeletes a page from a document in an envelope based on the page number.
docusign.envelopes.get-audit-eventsAtomicGets the envelope audit events for the specified envelope.
docusign.envelopes.get-envelopeAtomicRetrieves the overall status for the specified envelope. To get the status of a list of envelopes, use Envelope: listStatusChanges . ### Related topics - How to get envelope information
docusign.envelopes.get-envelopesAtomicThis method lets you search for envelopes 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 ### Restrictions The number of envelopes returned is limited to 1,000 per call. To retrieve the next or previous set of envelopes, use the nextUri and previousUri parameters returned in the original call's response. If no from_date query parameter is specified, envelopes from more than two years ago will not be returned. To fetch older envelopes, set the specific date range using the from_date and to_date parameters. 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. ### Envelope statuses This 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.
docusign.envelopes.get-envelopes-envelope-id-notificationAtomicRetrieves the envelope notification, reminders and expirations, information for an existing envelope.
docusign.envelopes.get-page-imageAtomicReturns an image of a page in a document for display.
docusign.envelopes.get-page-imagesAtomicReturns images of the pages in a document for display based on the parameters that you specify.
docusign.envelopes.get-recipient-initials-imageAtomicRetrieves the initials image for the specified recipient.
docusign.envelopes.get-recipient-signatureAtomicRetrieves signature information for a signer or sign-in-person recipient.
docusign.envelopes.get-recipient-signature-imageAtomicRetrieves the specified recipient signature image.
docusign.envelopes.post-envelopesAtomicCreates 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 and send an envelope from a template. * Create and send an envelope from a combination of documents and templates. * 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:
docusign.envelopes.put-envelopeAtomicThis method enables you to make changes to an envelope. You can use it to: * Send a draft envelope * Void an in-process envelope * Modify a draft envelope * Purge documents and envelope metadata from the Docusign platform 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 - Void an envelope (Common API Tasks) - Purging documents (eSignature Concepts) - Purging documents in an envelope (blog post) - How to unpause a signature workflow
docusign.envelopes.put-envelopes-envelope-id-notificationAtomicThis 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.
docusign.envelopes.put-page-imageAtomicRotates page image from an envelope for display. The page image can be rotated to the left or right.
docusign.envelopes.put-recipient-initials-imageAtomicUpdates 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.
docusign.envelopes.put-recipient-signature-imageAtomicUpdates 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.
docusign.envelopes.put-statusAtomicRetrieves envelope statuses for a set of envelopes. Envelopes: listStatus has both a GET and a PUT implementation: * PUT /restapi/v2.1/accounts/{accountId}/envelopes/status is passed a set of envelope IDs in the request body. This version of the method returns a smaller subset of envelope information. * GET /restapi/v2.1/accounts/{accountId}/envelopes/status is passed a list of envelope IDs in a query string. <ds-inlinemessage> To search for envelopes using a broad range of filters, use <a href="/docs/esign-rest-api/reference/envelopes/envelopes/liststatuschanges/">Envelopes: listStatusChanges</a> instead of this method. </ds-inlinemessage> You must specify exactly one of the following query parameters:
docusign.favorite-templates.get-favorite-templatesAtomicRetrieves the list of favorite templates for the account.
docusign.favorite-templates.put-favorite-templateAtomicSet 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" } ] }
docusign.favorite-templates.un-favorite-templateAtomicRemove 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 getFavoriteTemplates endpoint.
docusign.folders.get-folder-itemsAtomicGets information about items in the specified folder. To include a list of the items in the folder, set the include_items query parameter to true. ### Related topics - Searching for envelopes - Sharing templates
docusign.folders.get-foldersAtomicReturns a list of the account's folders. 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. <ds-column> <ds-step open="false" hideIcon="true"> Default returns only top-level folders. Click to show. <div> 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" } ] } </div></ds-step> <ds-step open="false" hideIcon="true"> Setting sub_folder_depth to -1 returns the entire folder hierarchy. Click to show. <div> 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" } ] } </div></ds-step> </ds-column> ### Related topics - Searching for envelopes - Sharing templates
docusign.folders.get-search-folder-contentsAtomic<ds-inlinemessage kind="warning" markdown="1"> <strong>This method is deprecated in API v2.1</strong> Use Envelopes: listStatusChanges instead. </ds-inlinemessage> 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.
docusign.folders.put-folder-by-idAtomicMoves a set of envelopes from their current folder to another folder. The folderId path parameter is the destination folder. The request body has an array of envelope IDs and the ID of the source folder. <ds-inlinemessage kind="warning" markdown="1"> Do not use the <code>folders</code> property in the request body. </ds-inlinemessage> If folderId is the special value recyclebin the envelopes are moved to the Deleted folder. Moving an in-process envelope (envelope status of sent or delivered) to the recyclebin voids the envelope. ### Related topics - Searching for envelopes - Sharing templates
docusign.get-envelopeAtomicRead one DocuSign envelope's status and timestamps (respect the 15-minute polling rule)
docusign.get-form-dataAtomicRead the filled tab values of a DocuSign envelope as name/value pairs
docusign.group-brands.delete-group-brandsAtomicThis method deletes one or more brands from a group.
docusign.group-brands.get-group-brandsAtomicThis method returns information about the brands associated with a group.
docusign.group-brands.put-group-brandsAtomicThis method adds one or more existing brands to a group based on the groupId.
docusign.group-users.delete-group-usersAtomicDeletes one or more users from a group. This request takes a userInfoList that contains the users that you want to delete.
docusign.group-users.get-group-usersAtomicRetrieves a list of users in a group.
docusign.group-users.put-group-usersAtomicAdds one or more existing Docusign users to an existing group.
docusign.groups.delete-groupsAtomicDeletes an existing user group. When you delete a group, you include only the groupId in the request body. Example: { "groups": [ { "groupId": "12345" } }
docusign.groups.get-groupsAtomicGets information about groups associated with the account. <ds-inlinemessage kind="information" markdown="1"> To get the users in a group: 1. Use this endpoint to get the group ID. 2. Use listGroupUsers to get the list of users. </ds-inlinemessage> ### Related topics - How to set a permission profile
docusign.groups.post-groupsAtomicCreates one or more groups for the account. Groups help you manage users. For example, you can use groups to limit user access to templates. 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. <ds-inlinemessage kind="warning" markdown="1"> This endpoint uses only the <code>groupName</code> and <code>permissionProfileId</code> properties in the request body. All other properties are ignored. </ds-inlinemessage> Example request: json { "groups": [ { "groupName": "montagues" }, { "groupName": "capulets" }, { "groupName": "nobles", "permissionProfileId": 1597 } ] } Use AccountPermissionProfiles: list to get a list of permission profiles and their IDs. It is an error if the permissionProfileId does not exist. ### Related topics - How-To Set Up a Permission Profile
docusign.groups.put-groupsAtomicUpdates the group name and modifies, or sets, the permission profile for the group. ### Related topics - How-To Set Up a Permission Profile
docusign.identity-verifications.get-account-identity-verificationAtomicThis 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 - How to require ID Verification (IDV) for a recipient
docusign.invoices.get-billing-invoiceAtomicRetrieves 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.
docusign.invoices.get-billing-invoicesAtomicRetrieves 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
docusign.invoices.get-billing-invoices-past-dueAtomicReturns a list past due invoices for the account and notes if payment can be made through the REST API. Privileges Required: account administrator
docusign.list-envelopesAtomicList envelopes in the connected DocuSign account since a date, with status and timestamps
docusign.list-recipientsAtomicList a DocuSign envelope's signers with per-recipient status and the refs corrections need
docusign.list-templatesAtomicList the DocuSign account's envelope templates, the refs create-from-template needs
docusign.notary-journals.get-notary-journalsAtomicGets notary jurisdictions for a user.
docusign.notary-jurisdiction.delete-notary-jurisdictionAtomicDeletes the specified jurisdiction.
docusign.notary-jurisdiction.get-notary-jurisdictionAtomicGets 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.
docusign.notary-jurisdiction.get-notary-jurisdictionsAtomicReturns a list of jurisdictions that the notary is registered in. The current user must be a notary.
docusign.notary-jurisdiction.post-notary-jurisdictionsAtomicCreates a jurisdiction object.
docusign.notary-jurisdiction.put-notary-jurisdictionAtomicUpdates 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" }
docusign.notary.get-notaryAtomicGets settings for a notary user. The current user must be a notary.
docusign.notary.post-notaryAtomicRegisters the current user as a notary.
docusign.notary.put-notaryAtomicUpdates notary information for the current user.
docusign.payment-gateway-accounts.get-all-payment-gateway-accountsAtomicThis method returns a list of payment gateway accounts and basic information about them.
docusign.payments.get-paymentAtomicRetrieves the information for a specified payment. Privileges required: account administrator
docusign.payments.get-payment-listAtomicRetrieves 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
docusign.payments.post-paymentAtomicPosts 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 Billing::listInvoicesPastDue. 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
docusign.power-form-data.get-power-form-form-dataAtomicThis 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 You can further specify the type of CSV format in the data_layout query parameter. Note: Only PowerForm Administrators or the PowerForm Sender can download the data associated with a PowerForm.
docusign.power-forms.delete-power-formAtomicThis method deletes a PowerForm.
docusign.power-forms.delete-power-forms-listAtomicThis method deletes one or more PowerForms. The request body takes an array of PowerForm objects that are deleted based on the powerFormId.
docusign.power-forms.get-power-formAtomicThis method returns detailed information about a specific PowerForm.
docusign.power-forms.get-power-forms-listAtomicThis method returns a list of PowerForms that are available to the user.
docusign.power-forms.get-power-forms-sendersAtomicThis method returns a list of users who have sent PowerForms.
docusign.power-forms.post-power-formAtomicThis method creates a new PowerForm. You create a PowerForm from an existing Docusign template, 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 How do I specify a URL to redirect to when a PowerForm is completed?. ### More information For more information about creating PowerForms, see Create a PowerForm.
docusign.power-forms.put-power-formAtomicThis method updates an existing PowerForm.
docusign.request-logs.delete-request-logsAtomicDeletes the request log files.
docusign.request-logs.get-request-logAtomicRetrieves 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.
docusign.request-logs.get-request-log-settingsAtomicRetrieves 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.
docusign.request-logs.get-request-logsAtomicRetrieves 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.
docusign.request-logs.put-request-log-settingsAtomicEnables 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 Diagnostics: getRequestLog or Diagnostics: listRequestLogs to download the log files (individually or as a zip file). Call Diagnostics: deleteRequestLogs 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.
docusign.resend-envelopeAtomicRe-notify the recipients still pending on a sent DocuSign envelope
docusign.resources.get-resource-informationAtomicRetrieves the base resources available for the eSignature REST API. You do not need an integrator key to view the REST API versions and resources.
docusign.responsive-html-preview.post-responsive-html-previewAtomicCreates a preview of the responsive, 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.
docusign.send-envelopeAtomicSend a drafted DocuSign envelope to its recipients
docusign.send-from-storageDagSend (or draft) a DocuSign envelope from one audit-tracked storage object — presigned GET in layer 1, envelope creation in layer 2, no bytes in workflow state
docusign.services.get-service-informationAtomicRetrieves the available REST API versions. Docusign Production system: https://www.docusign.net/restapi/service_information Docusign Demo system: https://demo.docusign.net/restapi/service_information You do not need an integration key to view the REST API versions and resources.
docusign.signing-group-users.delete-signing-group-usersAtomicDeletes one or more members from the specified signing group.
docusign.signing-group-users.get-signing-group-usersAtomicRetrieves the list of members in the specified Signing Group.
docusign.signing-group-users.put-signing-group-usersAtomicAdds one or more new members to a signing group. A signing group can have a maximum of 50 members.
docusign.signing-groups.delete-signing-groupsAtomicDeletes one or more signing groups in the specified account.
docusign.signing-groups.get-signing-groupAtomicRetrieves information, including group member information, for the specified signing group.
docusign.signing-groups.get-signing-groupsAtomicRetrieves a list of all signing groups in the specified account.
docusign.signing-groups.post-signing-groupsAtomicCreates 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.
docusign.signing-groups.put-signing-groupAtomicUpdates 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.
docusign.signing-groups.put-signing-groupsAtomicUpdates the name of one or more existing signing groups.
docusign.tabs-blob.get-tabs-blobAtomicThis endpoint has been deprecated.
docusign.tabs-blob.put-tabs-blobAtomicThis endpoint has been deprecated.
docusign.template-custom-fields.delete-template-custom-fieldsAtomicDeletes envelope custom fields in a template.
docusign.template-custom-fields.get-template-custom-fieldsAtomicRetrieves the custom document field information from an existing template.
docusign.template-custom-fields.post-template-custom-fieldsAtomicCreates custom document fields in an existing template document.
docusign.template-custom-fields.put-template-custom-fieldsAtomicUpdates the custom fields in a template. Each custom field used in a template must have a unique name.
docusign.template-document-fields.delete-template-document-fieldsAtomicDeletes custom document fields from an existing template document.
docusign.template-document-fields.get-template-document-fieldsAtomicThis method retrieves the custom document fields for an existing template document.
docusign.template-document-fields.post-template-document-fieldsAtomicCreates custom document fields in an existing template document.
docusign.template-document-fields.put-template-document-fieldsAtomicUpdates existing custom document fields in an existing template document.
docusign.template-document-html-definitions.get-template-document-html-definitionsAtomicGets the Original HTML Definition used to generate the Responsive HTML for a given document in a template.
docusign.template-document-responsive-html-preview.post-template-document-responsive-html-previewAtomicCreates a preview of the responsive, 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.
docusign.template-document-tabs.delete-template-document-tabsAtomicDeletes tabs from the document specified by documentId in the template specified by templateId.
docusign.template-document-tabs.get-template-document-tabsAtomicReturns the tabs on the document specified by documentId in the template specified by templateId.
docusign.template-document-tabs.get-template-page-tabsAtomicReturns the tabs from the page specified by pageNumber of the document specified by documentId in the template specified by templateId.
docusign.template-document-tabs.post-template-document-tabsAtomicAdds 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 prefill tab, your request body might look like this: { "prefillTabs": { "textTabs": [ { "value": "a prefill text tab", "pageNumber": "1", "documentId": "1", "xPosition": 316, "yPosition": 97 } ] } }
docusign.template-document-tabs.put-template-document-tabsAtomicUpdates tabs in the document specified by documentId in the template specified by templateId.
docusign.template-document-visibility.get-template-recipient-document-visibilityAtomicThis method returns information about document visibility for a template recipient.
docusign.template-document-visibility.put-template-recipient-document-visibilityAtomicThis 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.
docusign.template-document-visibility.put-template-recipients-document-visibilityAtomicThis 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.
docusign.template-documents.delete-template-documentsAtomicThis method deletes one or more documents from an existing template. To delete a document, use only the relevant parts of the envelopeDefinition. For example, this request body specifies that you want to delete the document whose documentId is "1". text { "documents": [ { "documentId": "1" } ] }
docusign.template-documents.get-template-documentAtomicThis 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.
docusign.template-documents.get-template-documentsAtomicRetrieves a list of documents associated with the specified template.
docusign.template-documents.put-template-documentAtomicThis methods updates an existing template document.
docusign.template-documents.put-template-documentsAtomicAdds one or more documents to an existing template document.
docusign.template-html-definitions.get-template-html-definitionsAtomicGets the Original HTML Definition used to generate the Responsive HTML for the template.
docusign.template-locks.delete-template-lockAtomicDeletes 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 TemplateLocks: create. This method takes an optional query parameter that lets you specify whether changes made while the template was locked are kept or discarded.
docusign.template-locks.get-template-lockAtomicRetrieves 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 TemplateLocks: create for a description of the X-DocuSign-Edit header. ### Related topics - Common API Tasks: Locking and unlocking envelopes
docusign.template-locks.post-template-lockAtomicThis 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" } or X-DocuSign-Edit:<DocuSignEdit><LockToken>token-from-response</LockToken><LockDurationInSeconds>600</LockDurationInSeconds></DocuSignEdit> ### Related topics - Common API Tasks: Locking and unlocking envelopes
docusign.template-locks.put-template-lockAtomicUpdates the lock information for a locked template. You must include the X-DocuSign-Edit header as described in TemplateLocks: create. 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" }
docusign.template-recipient-tabs.delete-template-recipient-tabsAtomicDeletes one or more tabs associated with a recipient in a template.
docusign.template-recipient-tabs.get-template-recipient-tabsAtomicGets the tabs information for a signer or sign-in-person recipient in a template.
docusign.template-recipient-tabs.post-template-recipient-tabsAtomicAdds one or more tabs for a recipient.
docusign.template-recipient-tabs.put-template-recipient-tabsAtomicUpdates one or more tabs for a recipient in a template.
docusign.template-recipients.delete-template-recipientAtomicDeletes the specified recipient file from the specified template.
docusign.template-recipients.delete-template-recipientsAtomicDeletes 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.
docusign.template-recipients.get-template-recipientsAtomicRetrieves the information for all recipients in the specified template.
docusign.template-recipients.post-template-recipient-previewAtomicThis 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 Preview and Send.
docusign.template-recipients.post-template-recipientsAtomicAdds one or more recipients to a template.
docusign.template-recipients.put-template-recipientsAtomicUpdates recipients in a template. You can edit the following properties: email, userName, routingOrder, faxNumber, deliveryMethod, accessCode, and requireIdLookup.
docusign.template-responsive-html-preview.post-template-responsive-html-previewAtomicCreates a preview of the responsive, 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.
docusign.template-views.post-template-edit-viewAtomicReturns a URL that enables you to embed the Template Edit view of Docusign eSignature. You can embed the view in an iframe. API request update The API request object for this API method was updated in June 2024. The new API request format is described below. Existing applications must update to the new version: it solves a security issue with the old version. The deprecation schedule was announced in the Docusign Core Release Notes. While backwards compatibility will be provided for a while for existing applications, all applications must be updated to be secure. See below for migration information. Best practices The returned URL expires after 10 minutes. 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 mobile applications, use a WebView (Android) or WKWebView (iOS). ### Closing the view's iframe If you choose to embed the view in your application via an iframe, Docusign recommends this software pattern to close the iframe after the view has completed: * (One time) create a standalone “return” web page that you will use as the returnUrl target for the view. The view will redirect the iframe to this URL when it has completed. Here's an example return page. In this page, use JavaScript and the postMessage method to send a message to your application with the results of the view. * In your application, use window.addEventListener("message", function_name) to register a listener for incoming messages. * To show the view, use this API method, then set the iframe to load the URL from the API response. * In your application, receive the completion message, validate it, and then close the iframe. ### Information security This view only has write access to the specific template referenced in the API call. The edit access corresponds to the access rights of the user associated with the access token used for the API call. Recommendations: * Use the access token of a service user who can access the template. * Do not use the access token of a user with administrator privileges. ### Migrating to the current version of the request object This section only applies to existing applications that use the older version of the request object. Migrating from the old API request object to the new version will take under a day of developer time. Step 1. Does your application set the returnUrl attribute? Yes: continue with step 2. No: In this case, your users first edit the template, and then the Docusign eSignature home screen is shown. To accomplish this UI pattern with the new API request format: * Set the returnUrl to a new endpoint for your application. You can use query parameters or session data to manage state. Remember to authenticate the incoming requests. * When the endpoint is called, use the EnvelopeViews:createConsole API call to obtain and then display the Docusign eSignature home page to your application's user. Step 2. Check that these API attributes are set: * "view" = "template" * the returnUrl is set. Step 3. All done! Test your application.
docusign.templates.delete-template-pageAtomicDeletes a page from a document in a template based on the page number.
docusign.templates.delete-template-partAtomicRemoves a member group's sharing permissions for a specified template.
docusign.templates.get-templateAtomicRetrieves the definition of the specified template.
docusign.templates.get-template-page-imageAtomicRetrieves a page image for display from the specified template.
docusign.templates.get-template-page-imagesAtomicReturns images of the pages in a template document for display based on the parameters that you specify.
docusign.templates.get-templatesAtomicRetrieves the list of templates for the specified account. The request can be limited to a specific folder. ### Related topics - How to create a template
docusign.templates.get-templates-template-id-notificationAtomicRetrieves the envelope notification, reminders and expirations, information for an existing template.
docusign.templates.post-templatesAtomicCreates one or more template definitions, using a multipart request for each template. Templates 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]] placeholder 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: 71068 Content-Type: application/zip Content-Disposition: file; filename="DocuSignTemplates_Nov_25_2019_20_40_21.zip"; fileExtension=.zip ### Related topics - How to create a template
docusign.templates.put-templateAtomicUpdates an existing template.
docusign.templates.put-template-page-imageAtomicRotates page image from a template for display. The page image can be rotated to the left or right.
docusign.templates.put-template-partAtomicShares a template with the specified members group. Note: For a newer version of this functionality, see Accounts: Update Shared Access.
docusign.templates.put-templatesAtomicdocusign.templates.put-templates
docusign.templates.put-templates-template-id-notificationAtomicUpdates the notification structure for an existing template. Use this endpoint to set reminder and expiration notifications.
docusign.templates.put-templates-v2-1Atomicdocusign.templates.put-templates-v2-1
docusign.update-recipientsAtomicReplace a signer's email/name on an in-flight DocuSign envelope and re-notify
docusign.user-custom-settings.delete-custom-settingsAtomicDeletes 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.
docusign.user-custom-settings.get-custom-settingsAtomicRetrieves 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.
docusign.user-custom-settings.put-custom-settingsAtomicAdds 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.
docusign.user-profiles.get-profileAtomicRetrieves 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.
docusign.user-profiles.put-profileAtomicUpdates 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.
docusign.user-signatures.delete-user-signatureAtomicRemoves 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".
docusign.user-signatures.delete-user-signature-imageAtomicDeletes 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".
docusign.user-signatures.get-user-signatureAtomicRetrieves 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".
docusign.user-signatures.get-user-signature-imageAtomicRetrieves 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.
docusign.user-signatures.get-user-signaturesAtomicThis 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".
docusign.user-signatures.post-user-signaturesAtomicAdds 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.
docusign.user-signatures.put-user-signatureAtomicAdds/updates a user signature.
docusign.user-signatures.put-user-signature-by-idAtomicCreates, 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".
docusign.user-signatures.put-user-signature-imageAtomicUpdates 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".
docusign.users.delete-user-profile-imageAtomicDeletes 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.
docusign.users.delete-usersAtomicCloses 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 Users:update to re-open a closed user.
docusign.users.get-userAtomicRetrieves 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" }
docusign.users.get-user-profile-imageAtomicRetrieves 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.
docusign.users.get-user-settingsAtomicRetrieves 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:create.
docusign.users.get-usersAtomicRetrieves 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.
docusign.users.post-usersAtomicAdds 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}/users Content-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" } ] }
docusign.users.put-userAtomicTo update user information for a specific user, submit a Users object with updated field values in the request body of this operation.
docusign.users.put-user-profile-imageAtomicUpdates 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.
docusign.users.put-user-settingsAtomicUpdates the account settings list and email notification types for the specified user.
docusign.users.put-usersAtomicThis method updates the information about one or more account users.
docusign.void-envelopeAtomicVoid an in-process DocuSign envelope with a reason every recipient sees
docusign.workspace-items.delete-workspace-itemsAtomicThis 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.
docusign.workspace-items.get-workspace-fileAtomicThis method returns a binary version of a file in a workspace.
docusign.workspace-items.get-workspace-file-pagesAtomicThis method returns a workspace file as rasterized pages.
docusign.workspace-items.get-workspace-folderAtomicThis method returns the contents of a workspace folder, which can include sub-folders and files.
docusign.workspace-items.post-workspace-filesAtomicThis method adds a file to a workspace.
docusign.workspace-items.put-workspace-fileAtomicThis method updates the metadata for one or more specific files or folders in a workspace.
docusign.workspaces.delete-workspaceAtomicDeletes an existing workspace (logically).
docusign.workspaces.get-workspaceAtomicRetrieves properties about a workspace given a unique workspaceId.
docusign.workspaces.get-workspacesAtomicGets information about the Workspaces that have been created.
docusign.workspaces.post-workspaceAtomicThis method creates a new workspace.
docusign.workspaces.put-workspaceAtomicUpdates information about a specific workspace.