{
"swagger": "2.0",
"info": {
"version": "v2.1",
"title": "Docusign eSignature REST API",
"description": "The Docusign eSignature REST API provides you with a powerful, convenient, and simple Web services API for interacting with Docusign.",
"termsOfService": "https://www.docusign.com/company/terms-and-conditions/web",
"contact": {
"name": "Docusign Developer Center",
"url": "https://developers.docusign.com/",
"email": "devcenter@docusign.com"
}
},
"host": "www.demo.docusign.net",
"basePath": "/restapi",
"schemes": [
"https"
],
"consumes": [
"application/json",
"application/xml"
],
"produces": [
"application/json"
],
"externalDocs": {
"description": "See the Docusign eSignature REST API Guide for more information.",
"url": "https://docs.docusign.com/esign"
},
"paths": {
"/service_information": {
"get": {
"tags": [
"Services"
],
"summary": "Retrieves the available REST API versions.",
"description": "Retrieves the available REST API versions.\n\nDocusign Production system: https://www.docusign.net/restapi/service_information\nDocusign Demo system: https://demo.docusign.net/restapi/service_information\n\nYou do not need an integration key to view the REST API versions and resources.",
"operationId": "ServiceInformation_GetServiceInformation",
"consumes": [],
"produces": [],
"parameters": [],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/serviceInformation"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "getService",
"x-ds-method": "get",
"x-ds-service": "Diagnostics",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1": {
"get": {
"tags": [
"Resources"
],
"summary": "Lists resources for REST version specified",
"description": "Retrieves the base resources available for the eSignature REST API.\n\nYou do not need an integrator key to view the REST API versions and resources.\n\n",
"operationId": "ServiceInformation_GetResourceInformation",
"consumes": [],
"produces": [],
"parameters": [],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/resourceInformation"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "getResources",
"x-ds-method": "get",
"x-ds-service": "Diagnostics",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts": {
"post": {
"tags": [
"Accounts"
],
"summary": "Creates new accounts.",
"description": "Creates new Docusign accounts.\nYou can use this method to create\na single account\nor up to 100 accounts at a time.\n\n**Note:** This method is restricted to partner integrations.\nYou must work with Docusign Professional Services\nor Docusign Business Development,\nwho will provide you with the Distributor Code\nand Distributor Password\nthat you need to include in the request body.\n\n\nWhen creating a single account,\nthe body of the request is a\n[`newAccountRequest`][newAccountRequest]\nobject.\n\nExample:\n\n```\n{\n \"newAccountRequest\": [\n {\n \"accountName\":\"Test Account\",\n \"distributorCode\":\"MY_DIST_CODE\",\n \"distributorPassword\":\"MY_DIST_PWD\",\n \"initialUser\":{\n \"email\":\"user@emaildomain.com\",\n \"firstName\":\"John\",\n \"middleName\": \"Harry\",\n \"lastName\":\"Doe\",\n \"suffixName\": \"\",\n \"userName\": \"John Doe\",\n \"jobTitle\": \"Engineer\",\n \"company\": \"Test Company\"\n },\n \"addressInformation\":{\n \"address1\": \"1234 Main Street\",\n \"address2\": \"Suite 100\",\n \"city\": \"Seattle\",\n \"state\": \"WA\",\n \"postalCode\": \"98101\",\n \"country\": \"US\",\n \"phone\": \"1234567890\",\n \"fax\": \"1234567891\"\n },\n \"planInformation\":{\n \"planId\":\"37085696-xxxx-xxxx-xxxx-7ea067752959\"\n },\n \"referralInformation\":{\n \"includedSeats\": \"1\",\n \"referralCode\": \"code\",\n \"referrerName\": \"name\"\n }\n }\n ]\n}\n\n```\nIf the request succeeds,\nit returns a\n201 (Created) HTTP response code.\nThe response returns the new account ID, password, and the default user\ninformation for each newly created account.\n\n\nWhen creating multiple accounts,\nthe body of the request is a\n`newAccountRequests`\nobject,\nwhich contains one or more\n[`newAccountDefinition`][newAccountDefinition]\nobjects.\nYou can create up to 100 new accounts\nat a time this way.\n\nThe body for a multi-account\ncreation request\nlooks like this in JSON:\n\n```\n{\n \"newAccountRequests\": [\n {\n \"accountName\": \"accountone\",\n . . .\n },\n {\n \"accountName\": \"accounttwo\",\n . . .\n }\n ]\n}\n```\n\nA multi-account request\nlooks like this in XML:\n\n```\n
\nDefault: `100`"
},
{
"name": "from_date",
"in": "query",
"required": false,
"type": "string",
"description": "The start date for a date range in UTC DateTime format.\n\n**Note:** If this property is null, no date filtering is applied."
},
{
"name": "search_text",
"in": "query",
"required": false,
"type": "string",
"description": "Use this parameter to search for specific text."
},
{
"name": "start_position",
"in": "query",
"required": false,
"type": "string",
"description": "The zero-based index of the\nresult from which to start returning results.\n\nUse with `count` to limit the number\nof results.\n\nThe default value is `0`.\n"
},
{
"name": "status",
"in": "query",
"required": false,
"type": "string",
"description": "The kind of results to collect. Must be one of:\n\n- all\n- failed\n- sent\n- queued"
},
{
"name": "to_date",
"in": "query",
"required": false,
"type": "string",
"description": "The end of a search date range in UTC DateTime format. When you use this parameter, only templates created up to this date and time are returned.\n\n**Note:** If this property is null, the value defaults to the current date."
},
{
"name": "user_id",
"in": "query",
"required": false,
"type": "string",
"description": ""
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/bulkSendBatchSummaries"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "getBulkSendBatches",
"description": "Returns a summary of bulk send batches.\n\nUse the `batch_ids` query parameter to narrow the list of batches.",
"x-ds-method": "getBulkSendBatches",
"x-ds-service": "Uncategorized",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/bulk_send_batch/{bulkSendBatchId}": {
"get": {
"tags": [
"BulkSend"
],
"summary": "Gets the status of a specific bulk send batch.",
"operationId": "BulkSendV2Batch_GetBulkSendBatchStatus",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "bulkSendBatchId",
"in": "path",
"required": true,
"type": "string",
"description": "The batch ID."
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/bulkSendBatchStatus"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "getBulkSendBatchStatus",
"description": "Gets the general status of a specific bulk send batch such as:\n\n- number of successes\n- number pending\n- number of errors\n\nThe `bulkErrors` property of the response object contains more information about the errors.\n\n### Related topics\n\n- [How to bulk send envelopes](/docs/esign-rest-api/how-to/bulk-send-envelopes/)\n",
"x-ds-method": "getBulkSendBatchStatus",
"x-ds-service": "Uncategorized",
"x-ds-in-sdk": true
},
"put": {
"tags": [
"BulkSend"
],
"summary": "Updates the name of a bulk send batch.",
"operationId": "BulkSendV2Batch_PutBulkSendBatchStatus",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "bulkSendBatchId",
"in": "path",
"required": true,
"type": "string",
"description": "The batch ID."
},
{
"name": "bulkSendBatchRequest",
"in": "body",
"required": false,
"schema": {
"$ref": "#/definitions/bulkSendBatchRequest"
},
"description": ""
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/bulkSendBatchStatus"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "updateBulkSendBatchStatus",
"description": "Updates the name of a bulk send batch.",
"x-ds-method": "updateBulkSendBatchStatus",
"x-ds-service": "Uncategorized",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/bulk_send_batch/{bulkSendBatchId}/{bulkAction}": {
"put": {
"tags": [
"BulkSend"
],
"summary": "Applies a bulk action to all envelopes from a specified bulk send.",
"operationId": "BulkSendV2Batch_PutBulkSendBatchAction",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "bulkAction",
"in": "path",
"required": true,
"type": "string",
"description": "The action to apply. Valid values:\n* `resend`\n* `correct`\n* `void`\n"
},
{
"name": "bulkSendBatchId",
"in": "path",
"required": true,
"type": "string",
"description": "The batch ID."
},
{
"name": "bulkSendBatchActionRequest",
"in": "body",
"required": false,
"schema": {
"$ref": "#/definitions/bulkSendBatchActionRequest"
},
"description": ""
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/bulkSendBatchStatus"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "updateBulkSendBatchAction",
"description": "Use this endpoint to resend, correct, or void all envelopes from a specified bulk send.",
"x-ds-method": "updateBulkSendBatchAction",
"x-ds-service": "Uncategorized",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/bulk_send_batch/{bulkSendBatchId}/envelopes": {
"get": {
"tags": [
"BulkSend"
],
"summary": "Gets envelopes from a specific bulk send batch.",
"operationId": "BulkSendV2Envelopes_GetBulkSendBatchEnvelopes",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "bulkSendBatchId",
"in": "path",
"required": true,
"type": "string",
"description": "The batch ID."
},
{
"name": "count",
"in": "query",
"required": false,
"type": "string",
"description": "The maximum number of results to return.\n\nUse `start_position` to specify the number of results to skip.\n\nValid values: `1` to `1000`\n"
},
{
"name": "include",
"in": "query",
"required": false,
"type": "string",
"description": "When `recipients`, only envelopes with recipient nodes will be included in the response."
},
{
"name": "order",
"in": "query",
"required": false,
"type": "string",
"description": "The order in which to sort the results. Valid values are:\n\n- Descending order: `desc` (default)\n- Ascending order: `asc`"
},
{
"name": "order_by",
"in": "query",
"required": false,
"type": "string",
"description": "The envelope attribute used to sort the results. Valid values are:\n\n- `created` (default)\n- `completed`\n- `last_modified`\n- `sent`\n- `status`\n- `subject`\n- `status_changed`"
},
{
"name": "search_text",
"in": "query",
"required": false,
"type": "string",
"description": "Use this parameter to search for specific text."
},
{
"name": "start_position",
"in": "query",
"required": false,
"type": "string",
"description": "The zero-based index of the\nresult from which to start returning results.\n\nUse with `count` to limit the number\nof results.\n\nThe default value is `0`.\n"
},
{
"name": "status",
"in": "query",
"required": false,
"type": "string",
"description": "Comma-separated list of envelope statuses.\n\nNote that `any` should not be included with other statuses. In other words, `any` is a valid parameter value, but `any,sent` is not.\n\nUse the value `deliveryfailure` to get all envelopes with `AuthFailed` and `AutoResponded` status. This value is specific to bulk sending."
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/envelopesInformation"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "getBulkSendBatchEnvelopes",
"description": "This method returns a list of envelopes in a specified bulk batch. Use the query parameters to filter and sort the envelopes by different attributes.",
"x-ds-method": "getBulkSendBatchEnvelopes",
"x-ds-service": "Uncategorized",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/bulk_send_lists": {
"get": {
"tags": [
"BulkSend"
],
"summary": "Gets bulk send lists.",
"operationId": "BulkSendV2CRUD_GetBulkSendLists",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/bulkSendingListSummaries"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "getBulkSendLists",
"description": "This method returns a list of bulk send lists belonging to the current user, as well as basic information about each list.",
"x-ds-method": "getBulkSendLists",
"x-ds-service": "Uncategorized",
"x-ds-in-sdk": true
},
"post": {
"tags": [
"BulkSend"
],
"summary": "Creates a bulk send list.",
"operationId": "BulkSendV2CRUD_PostBulkSendList",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The ID of the account.",
"required": true,
"type": "string"
},
{
"name": "bulkSendingList",
"in": "body",
"required": false,
"schema": {
"$ref": "#/definitions/bulkSendingList"
},
"description": ""
}
],
"responses": {
"201": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/bulkSendingList"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "createBulkSendList",
"description": "This method creates a bulk send list that you can use to send an envelope to up to 1,000 recipients at once.\n\n### Related topics\n\n- [How to bulk send envelopes](/docs/esign-rest-api/how-to/bulk-send-envelopes/)\n\n### Errors\n\n| Error code | Description |\n| :------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| BULK_SEND_MAX_COPIES_EXCEEDED | A bulk sending list cannot specify more than XXX copies in the mailing list. Call the settings API endpoint to find the maximum number of copies in a batch allowed for your account. In almost all cases, the default limit is 1000. |\n| BULK_SEND_RECIPIENT_IDS_MUST_BE_UNIQUE | No two recipientIds can be same within a bulkCopy. Same restriction as a regular envelope applies. Specify unique recipient IDs for each recipient within a bulkCopy (model for envelope in mailing list). |\n| BULK_SEND_RECIPIENT_ID_REQUIRED | If no RoleName is present, recipientID is required in mailing list's bulkCopy. Add a roleName (that coalesces with template/envelope) or a recipientID. |\n| BULK_SEND_RECIPIENT_NAME_REQUIRED | Recipient {0} has no name. Specify a name for the recipient. |\n| BULK_SEND_EMAIL_ADDRESS_REQUIRED_FOR_EMAIL_RECIPIENT | Recipient {0} is an email recipient with no email address. Specify an email for the email recipient. |\n| BULK_SEND_FAX_NUMBER_REQUIRED_FOR_FAX_RECIPIENT | Recipient {0} is a fax recipient with no fax number. Specify a fax number for the fax recipient. |\n| BULK_SEND_FAX_NUMBER_NOT_VALID | Recipient {0} specifies fax number {1}, which is not valid. Specify a valid fax number for the fax recipient. |\n| BULK_SEND_EMAIL_ADDRESS_NOT_VALID | Recipient {0} specifies email address {1}, which is not a valid email address. Specify a valid email address for the recipient. |\n| BULK_SEND_PHONE_NUMBER_REQURED_FOR_SMS_AUTH | Recipient {0} specifies SMS auth, but no number was provided. Specify a phone number for the SMS auth recipient. |\n| BULK_SEND_PHONE_NUMBER_INVALID_FOR_SMS_AUTH | Recipient {0} specifies phone number {1} for SMS auth, which is not valid. Specify a valid phone number for the SMS auth recipient. |\n| BULK_SEND_ROLE_NAMES_MUST_BE_UNIQUE | Recipient role names cannot be duplicated; role {duplicateRecipientRole} appears multiple times. Use unique roleNames for recipients. |\n| BULK_SEND_CANNOT_USE_BOTH_ROLE_AND_ID_ON_SAME_RECIPIENT | Recipients cannot have both ID and Role; {0} has both. Specify a roleName or recipientId, but not both for the same recipient. |\n| BULK_SEND_CANNOT_USE_BOTH_ROLE_AND_ID_IN_SAME_LIST | Cannot use both recipient role and ID in the same list. Specify a roleName or recipientId, but not both in the same list. |\n| BULK_SEND_INVALID_ID_CHECK_CONFIGURATION | Recipient {0} specified SMS authentication, but no SMS auth settings were provided. Provide an SMS auth setting (proper ID configuration) if SMS auth is specified. |\n| BULK_SEND_INVALID_SBS_INPUT_CONFIGURATION | Recipient {0} has more than one signature provider specified. Or signingProviderName is not specified. Or Signature provider : {0} is either unknown or not an available pen for this account. One or more SBS configuration is missing or invalid. The error details provide specifics. |\n| BULK_SEND_TAB_LABELS_MUST_BE_UNIQUE | Tab label {0} is duplicated. Needs to be unique. Use a unique tab label. |\n| BULK_SEND_TAB_LABEL_REQUIRED | Tab label is required. Specify a tab label. |\n| BULK_SEND_TAB_VALUE_REQUIRED | Tab Label value is required. Specify a value for the tab label. |\n| BULK_SEND_ENVELOPE_CUSTOM_FIELD_NAME_MUST_BE_UNIQUE | Custom fields must have distinct names. The field {0} appears more than once in a copy. Use unique names for custom fields. |\n| BULK_SEND_ENVELOPE_CUSTOM_FIELD_NAME_REQUIRED | All custom fields must have names. Specify a name for the custom field. |\n| BULK_SEND_ENVELOPE_CUSTOM_FIELD_VALUE_REQUIRED | Custom field {0} has no value. A custom field can have an empty value, but it cannot have a null value. Specify a value for the custom field. |",
"x-ds-method": "createBulkSendList",
"x-ds-service": "Uncategorized",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/bulk_send_lists/{bulkSendListId}": {
"get": {
"tags": [
"BulkSend"
],
"summary": "Gets a specific bulk send list.",
"operationId": "BulkSendV2CRUD_GetBulkSendList",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "bulkSendListId",
"in": "path",
"required": true,
"type": "string",
"description": "The GUID of the bulk send list. This property is created after you post a new bulk send list."
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/bulkSendingList"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "getBulkSendList",
"description": "This method returns all of the details associated with a specific bulk send list that belongs to the current user.",
"x-ds-method": "getBulkSendList",
"x-ds-service": "Uncategorized",
"x-ds-in-sdk": true
},
"put": {
"tags": [
"BulkSend"
],
"summary": "Updates a bulk send list.",
"operationId": "BulkSendV2CRUD_PutBulkSendList",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "bulkSendListId",
"in": "path",
"required": true,
"type": "string",
"description": "The GUID of the bulk send list. This property is created after you post a new bulk send list."
},
{
"name": "bulkSendingList",
"in": "body",
"required": false,
"schema": {
"$ref": "#/definitions/bulkSendingList"
},
"description": ""
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/bulkSendingList"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "updateBulkSendList",
"description": "This method replaces the definition of an existing bulk send list.",
"x-ds-method": "updateBulkSendList",
"x-ds-service": "Uncategorized",
"x-ds-in-sdk": true
},
"delete": {
"tags": [
"BulkSend"
],
"summary": "Deletes a bulk send list.",
"operationId": "BulkSendV2CRUD_DeleteBulkSendList",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "bulkSendListId",
"in": "path",
"required": true,
"type": "string",
"description": "The GUID of the bulk send list. This property is created after you post a new bulk send list."
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/bulkSendingListSummaries"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "deleteBulkSendList",
"description": "This method deletes a bulk send list.",
"x-ds-method": "deleteBulkSendList",
"x-ds-service": "Uncategorized",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/bulk_send_lists/{bulkSendListId}/send": {
"post": {
"tags": [
"BulkSend"
],
"summary": "Creates a bulk send request.",
"operationId": "BulkSendV2Send_PostBulkSendRequest",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "bulkSendListId",
"in": "path",
"required": true,
"type": "string",
"description": "The GUID of the bulk send list. This property is created after you post a new bulk send list."
},
{
"name": "bulkSendRequest",
"in": "body",
"required": false,
"schema": {
"$ref": "#/definitions/bulkSendRequest"
},
"description": ""
}
],
"responses": {
"201": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/bulkSendResponse"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "createBulkSendRequest",
"description": "This method initiates the bulk send process. It generates a bulk send request based on an [existing bulk send list][create_list] and an envelope or template.\n\nConsider 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].\n\nIf 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.\n\n**Note:** Partial success or failure generally does not occur. Only the entire batch is queued for asynchronous processing.\n\n### Related topics\n\n- [How to bulk send envelopes](/docs/esign-rest-api/how-to/bulk-send-envelopes/)\n\n\n### Errors\n\nThis method returns the following errors:\n\n| Error code | Description |\n| :--------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| BULK_SEND_ENVELOPE_NOT_IN_SENDABLE_STATE | Envelope {0} is not in a sendable state. The envelope is not complete. Make sure it has a sendable status, such as `created`. |\n| BULK_SEND_ENVELOPE_LIST_CONTAINS_NO_COPIES | Cannot send an envelope with a bulk sending list which contains no copies. The list you're trying to bulk send is empty. Make sure the bulk sending list you're using contains recipients. |\n| BULK_SEND_ENVELOPE_LIST_CONTAINS_TOO_MANY_COPIES | Bulk sending list contains more than {0} copies. The list you're trying to bulk send will cause your account to exceed the 1,000-copy limit imposed for all accounts. Try sending two or more separate lists. |\n| BULK_SEND_ENVELOPE_CANNOT_BE_NULL | Cannot send a bulk list without an envelope. Specify the envelope ID or template ID for the envelope you want to bulk send. |\n| BULK_SEND_BLOB_STORE_ERROR | Could not save copy of bulk sending list. An error writing to the database occurred. Try again. If the error persists, contact Docusign Support. |\n| BULK_SEND_ACCOUNT_HAS_TOO_MANY_QUEUED_ENVELOPES | Cannot send this bulk sending list because doing so would exceed the maximum of {maxCopies} in-flight envelopes. This account currently has {unprocessedEnvelopes} envelopes waiting to be processed. Please try again later.\" .Try again later, or contact Docusign Support to request a higher tier. |\n| BULK_SEND_ENVELOPE_NOT_FOUND | Envelope {envelopeOrTemplateId} does not exist or you do not have permission to access it. The envelopeId or templateId specified could not be found. Specify a valid value. |\n| BULK_SEND_LIST_NOT_FOUND | Bulk Sending list {listId} does not exist or you do not have permission to access it. The mailingListId specified could not be found. Specify a valid value. |\n| BULK_SEND_ENVELOPE_HAS_NO_RECIPIENTS | Bulk sending copy contains recipients, but the specified envelope does not. The recipients on the envelope and the bulk send list do not match. Make sure the envelope and list are compatible for sending. |\n| BULK_SEND_RECIPIENT_ID_DOES_NOT_EXIST_IN_ENVELOPE | Recipient {0} does not exist in the envelope. Add the missing recipient to the envelope. |\n| BULK_SEND_RECIPIENT_ID_DOES_NOT_MATCH | Recipient ID {envelopeMember.ID} does not match. Make sure the recipient information in the list and the envelope match up. |\n| BULK_SEND_ENVELOPE_HAS_BULK_RECIPIENT | Recipient {0} is a bulk recipient. This is not supported. No legacy 'bulk recipient' allowed. In v2.1 of the eSignature API, you must use a bulk send list instead of a bulk recipient. See the API documentation for details. |\n| BULK_SEND_RECIPIENT_ROLE_DOES_NOT_MATCH | Recipient Role {envelopeMember.RoleName} does not match. Make sure the recipient information in the list and the envelope is compatible. |\n| BULK_SEND_DUPLICATE_RECIPIENT_DETECTED | Duplicate recipients ({0}) not allowed, unless recipients have unique routing order specified on envelope. |\n| BULK_SEND_ENVELOPE_HAS_NO_TABS | Bulk sending copy contains tabs, but the specified envelope does not. List and envelope tabs cannot be coalesced. Make sure they are compatible for sending. |\n| BULK_SEND_TAB_LABEL_DOES_NOT_EXIST_IN_ENVELOPE | Tab with label {0} does not exist in envelope. Add the tab label to the envelope, remove the label from the list, or make sure you're specifying the correct list and envelope. |\n| BULK_SEND_TAB_DOES_NOT_MATCH | Tab {0} does not match {0} in envelope. A tab exists on the list that does not match or is missing on the envelope. Make sure the tabs on the list and the envelope match. |\n| BULK_SEND_ENVELOPE_HAS_NO_ENVELOPE_CUSTOM_FIELDS | Bulk sending copy contains custom fields, but the specified envelope does not. There are custom fields on the list that the envelope does not have. Make sure that any custom fields on the list and the envelope match. |\n| BULK_SEND_ENVELOPE_CUSTOM_FIELD_DOES_NOT_EXIST_IN_ENVELOPE | Custom field {0} does not exist in the envelope. Either add the custom field on the list to the envelope, remove the custom field from the list, or make sure you're specifying the correct list and envelope. |\n| BULK_SEND_ENVELOPE_CUSTOM_FIELD_NAME_DOES_NOT_MATCH | Custom field names must match. {0} and {1} do not match. The custom field names on the list and the envelope do not match. Use identical names for both. |\n\n[create_list]: /docs/esign-rest-api/reference/bulkenvelopes/bulksend/createbulksendlist/\n[create_test]: /docs/esign-rest-api/reference/bulkenvelopes/bulksend/createbulksendtestrequest/\n[BulkSendOverview]: /docs/esign-rest-api/reference/bulkenvelopes/bulksend/\n\n",
"x-ds-method": "createBulkSendRequest",
"x-ds-service": "Uncategorized",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/bulk_send_lists/{bulkSendListId}/test": {
"post": {
"tags": [
"BulkSend"
],
"summary": "Creates a bulk send test.",
"operationId": "BulkSendV2Test_PostBulkSendTestRequest",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "bulkSendListId",
"in": "path",
"required": true,
"type": "string",
"description": "The GUID of the bulk send list. This property is created after you post a new bulk send list."
},
{
"name": "bulkSendRequest",
"in": "body",
"required": false,
"schema": {
"$ref": "#/definitions/bulkSendRequest"
},
"description": ""
}
],
"responses": {
"201": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/bulkSendTestResponse"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "createBulkSendTestRequest",
"description": "This method tests a bulk send list for compatibility with the envelope or template that you want to send. For example, a template that has three roles is not compatible with a bulk send list that has only two recipients. For this reason, you might want to test compatibility first.\n\nA successful test result returns `true` for the `canBeSent` property. An unsuccessful test returns a JSON response that contains information about the errors that occurred.\n\nIf the test is successful, you can then send the envelope or template by using the [BulkSend::createBulkSendRequest][BulkSendRequest] method.\n\n## Envelope Compatibility Checks\n\nThis section describes the envelope compatibility checks that the system performs.\n\n**Top-Level Issues**\n\n- Envelopes must be in a sendable state.\n- 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.\n- The envelope must not be null and must be visible to the current user.\n- The account cannot have more queued envelopes than the maximum number configured for the account.\n- The bulk send list must exist.\n\n**Recipients**\n\n- The envelope must have recipients.\n- 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.\n- The envelope cannot contain a bulk recipient (an artifact of the legacy version of Docusign's bulk send\n functionality).\n\n**Recipient Tabs**\n\n- Every `recipient ID, tab label` pair in the bulk send list must correspond to a tab in the envelope.\n\n**Custom Fields**\n\n- Each envelope-level custom field in the bulk send list must correspond to the name of a `customField` in the\n envelope definition. You do not have to match the recipient-level custom fields.\n\n[BulkSendRequest]: /docs/esign-rest-api/reference/bulkenvelopes/bulksend/createbulksendrequest/\n\n\n",
"x-ds-method": "createBulkSendTestRequest",
"x-ds-service": "Uncategorized",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/captive_recipients/{recipientPart}": {
"delete": {
"tags": [
"Accounts"
],
"summary": "Deletes the signature for one or more captive recipient records.",
"description": "This method deletes the signature for one or more captive recipient records. It is primarily used for testing. This functionality provides a way to reset the signature associated with a client user ID so that a new signature can be created the next time the client user ID is used.",
"operationId": "CaptiveRecipients_DeleteCaptiveRecipientsPart",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "recipientPart",
"in": "path",
"required": true,
"type": "string",
"description": "Signature is the only supported value. "
},
{
"name": "captiveRecipientInformation",
"in": "body",
"required": false,
"schema": {
"$ref": "#/definitions/captiveRecipientInformation"
},
"description": ""
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/captiveRecipientInformation"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "deleteCaptiveRecipient",
"x-ds-method": "deleteCaptiveRecipient",
"x-ds-service": "Accounts",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/chunked_uploads": {
"post": {
"tags": [
"ChunkedUploads"
],
"summary": "Initiate a new chunked upload.",
"operationId": "ChunkedUploads_PostChunkedUploads",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "chunkedUploadRequest",
"in": "body",
"required": false,
"schema": {
"$ref": "#/definitions/chunkedUploadRequest"
},
"description": ""
}
],
"responses": {
"201": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/chunkedUploadResponse"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "createChunkedUpload",
"x-ds-api-status": "beta",
"description": "This method initiates a new chunked upload with the first part of the content.",
"x-ds-method": "create",
"x-ds-service": "Envelopes",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/chunked_uploads/{chunkedUploadId}": {
"get": {
"tags": [
"ChunkedUploads"
],
"summary": "Retrieves metadata about a chunked upload.",
"operationId": "ChunkedUploads_GetChunkedUpload",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "chunkedUploadId",
"in": "path",
"required": true,
"type": "string",
"description": "The ID of the chunked upload. "
},
{
"name": "include",
"in": "query",
"required": false,
"type": "string",
"description": "(Optional) This parameter enables you to include additional attribute data in the response. The valid value for this method is `checksum`, which returns an SHA256 checksum of the content of the chunked upload in the response. You can use compare this checksum against your own checksum of the original content to verify that there are no missing parts before you attempt to commit the chunked upload."
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/chunkedUploadResponse"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "getChunkedUpload",
"x-ds-api-status": "beta",
"description": "Returns the details (but not the content) about a chunked upload.\n\n**Note:** You cannot obtain details about a chunked upload that has expired, been deleted, or consumed by other actions.",
"x-ds-method": "get",
"x-ds-service": "Envelopes",
"x-ds-in-sdk": true
},
"put": {
"tags": [
"ChunkedUploads"
],
"summary": "Commit a chunked upload.",
"operationId": "ChunkedUploads_PutChunkedUploads",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "(Required) The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "chunkedUploadId",
"in": "path",
"required": true,
"type": "string",
"description": "(Required) The ID of the chunked upload to commit."
},
{
"name": "action",
"in": "query",
"required": false,
"type": "string",
"description": "(Required) You must use this query parameter with the value `commit`, which affirms the request to validate and prepare the chunked upload for use with other API calls."
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/chunkedUploadResponse"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "updateChunkedUpload",
"x-ds-api-status": "beta",
"description": "This method checks the integrity of a chunked upload and then commits it. When this request is successful, the chunked upload is then ready to be referenced in other API calls.\n\nIf the request is unsuccessful, ensure that you have uploaded all of the parts by using the Update method.\n\n**Note:** After you commit a chunked upload, it no longer accepts additional parts.",
"x-ds-method": "commit",
"x-ds-service": "Envelopes",
"x-ds-in-sdk": true
},
"delete": {
"tags": [
"ChunkedUploads"
],
"summary": "Deletes a chunked upload.",
"operationId": "ChunkedUploads_DeleteChunkedUpload",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "chunkedUploadId",
"in": "path",
"required": true,
"type": "string",
"description": "The ID of the chunked upload. "
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/chunkedUploadResponse"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "deleteChunkedUpload",
"x-ds-api-status": "beta",
"description": "Deletes a chunked upload that has been committed but not yet consumed.\n\nThis method cannot be used to delete the following types of chunked uploads, which the system deletes automatically:\n\n\n- Chunked uploads that have been consumed by use in another API call.\n- Expired chunked uploads.\n\n**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.",
"x-ds-method": "delete",
"x-ds-service": "Envelopes",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/chunked_uploads/{chunkedUploadId}/{chunkedUploadPartSeq}": {
"put": {
"tags": [
"ChunkedUploads"
],
"summary": "Add a chunk to an existing chunked upload.",
"operationId": "ChunkedUploads_PutChunkedUploadPart",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "chunkedUploadId",
"in": "path",
"required": true,
"type": "string",
"description": "The ID of the chunked upload. "
},
{
"name": "chunkedUploadPartSeq",
"in": "path",
"required": true,
"type": "string",
"description": "The sequence or order of the part in the chunked upload. By default, the sequence of the first part that is uploaded as part of the Create request is `0`.\n\n**Note:** You can add parts out of order. However, the chunked upload must consist of a contiguous series of one or more parts before you can successfully commit it."
},
{
"name": "chunkedUploadRequest",
"in": "body",
"required": false,
"schema": {
"$ref": "#/definitions/chunkedUploadRequest"
},
"description": ""
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/chunkedUploadResponse"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "updateChunkedUploadPart",
"x-ds-api-status": "beta",
"description": "Adds a chunk or part to an existing chunked upload. After you use the Create method to initiate a new chunked upload and upload the first part, \nuse this method to upload subsequent parts.\n\nFor 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.\n\nExample:\n\n\n```\nPUT /v2.1/accounts/{accountId}/chunked_uploads/{chunkedUploadId}/1\nPUT /v2.1/accounts/{accountId}/chunked_uploads/{chunkedUploadId}/2\nPUT /v2.1/accounts/{accountId}/chunked_uploads/{chunkedUploadId}/3\n```\n\n**Note:** You cannot replace a part that Docusign has already received, or add parts to a chunked upload that is already successfully committed.",
"x-ds-method": "update",
"x-ds-service": "Envelopes",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/connect": {
"get": {
"tags": [
"ConnectConfigurations"
],
"summary": "Get Connect configuration information.",
"description": "Retrieves all the Docusign Custom Connect definitions for the specified account.\n\nJSON SIM (Recommended)
\nJSON Aggregate
\nXML Aggregate
\nXML SIM (Legacy apps only)
\n
(`from_to_status`) | Effective Status Qualifier | Valid Current Statuses |\n| :------------------------------------- | :------------------------- | :-------------------------------------------------------------------------- |\n| any (changed) | StatusChanged | any, created, sent, delivered, signed, completed, declined, voided, deleted |\n| created | Created | any, created, sent, delivered, signed, completed, declined, voided, deleted |\n| sent | Sent | any, sent, delivered, signed, completed, declined, voided, deleted |\n| delivered | StatusChanged | any, delivered, signed, completed, declined, voided, deleted |\n| signed | StatusChanged | any, signed, completed, declined, voided, deleted |\n| completed | Completed | any, completed, declined, voided, deleted |\n| declined | StatusChanged | any, declined, voided, deleted |\n| timedout
always return zero results | StatusChanged | any, voided, deleted |\n| voided | Voided | any, voided, deleted |\n| deleted | StatusChanged | any, deleted |\n\n### Extraneous results\n\nIn some cases, a request for a specific envelope status will\ninclude envelopes with additional statuses. For example, in\na request with a `from_date` of 2017-01-01, a `to_date` of\n2017-01-07 and the status qualifier (`from_to_status`) set\nto `delivered`, the response set might contain envelopes\nthat were created during that time period, but not delivered\nduring the time period. As a workaround, check the envelope\nstatus values in the result set as needed.\n\n\n### Related topics\n\n- [Searching for envelopes](/docs/esign-rest-api/esign101/concepts/envelopes/search/)\n- [How to list envelope status changes](/docs/esign-rest-api/how-to/list-envelope-status-changes/)\n",
"operationId": "Envelopes_GetEnvelopes",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "ac_status",
"in": "query",
"description": "Specifies the authoritative copy status for the envelopes. Valid values: \n* `Unknown`\n* `Original`\n* `Transferred`\n* `AuthoritativeCopy`\n* `AuthoritativeCopyExportPending`\n* `AuthoritativeCopyExported`\n* `DepositPending`\n* `Deposited`\n* `DepositedEO`\n* `DepositFailed`",
"required": false,
"type": "string"
},
{
"name": "block",
"in": "query",
"required": false,
"type": "string",
"description": "Reserved for Docusign.\n"
},
{
"name": "cdse_mode",
"in": "query",
"required": false,
"type": "string",
"description": "Reserved for Docusign.\n"
},
{
"name": "continuation_token",
"in": "query",
"required": false,
"type": "string",
"description": "Reserved for Docusign."
},
{
"name": "count",
"in": "query",
"required": false,
"type": "string",
"description": "The maximum number of results to return.\n\nThe maximum value is 1000. To get the next or previous set of envelopes, use `nextUri` or `previousUri` from the response.\n"
},
{
"name": "custom_field",
"in": "query",
"description": "Optional. Specifies an envelope custom field name and value searched for in the envelopes. Format: `custom_envelope_field_name=desired_value`\n\nExample: If you have an envelope custom field named \"Region\" and you want to search for all envelopes where the value is \"West\" you would use set this parameter to `Region=West`. \n \n",
"required": false,
"type": "string"
},
{
"name": "email",
"in": "query",
"required": false,
"type": "string",
"description": "Limit results to envelopes\nsent by the account user\nwith this email address.\n\n`user_name` must be given as well,\nand both `email` and `user_name`\nmust refer to an existing account user.\n"
},
{
"name": "envelope_ids",
"in": "query",
"required": false,
"type": "string",
"description": "Comma separated list of `envelopeId` values."
},
{
"name": "exclude",
"in": "query",
"required": false,
"type": "string",
"description": "Excludes information from the response. Enter as a comma-separated list (e.g., `folders,powerforms`). \n\nValid values:\n\n- `recipients`\n- `powerforms`\n- `folders`\n"
},
{
"name": "folder_ids",
"in": "query",
"required": false,
"type": "string",
"description": "Returns the envelopes from specific folders. Enter as a comma-separated list of either valid folder GUIDs or the following values: \n\n- `awaiting_my_signature`\n- `completed`\n- `draft`\n- `drafts`\n- `expiring_soon`\n- `inbox`\n- `out_for_signature`\n- `recyclebin`\n- `sentitems`\n- `waiting_for_others`"
},
{
"name": "folder_types",
"in": "query",
"required": false,
"type": "string",
"description": "Returns the envelopes from folders of a specific type. Enter as a comma-separated list of the following values:\n\n- `normal`\n- `inbox`\n- `sentitems`\n- `draft`\n- `templates`"
},
{
"name": "from_date",
"in": "query",
"description": "Specifies the date and time to start looking for status changes. This parameter is required unless `envelopeIds` or `transactionIds` are set.\n\nAlthough you can use any date format supported by the .NET system library's [`DateTime.Parse()`][msoft] function, Docusign recommends using [ISO 8601][] format dates with an explicit time zone offset. If you do not provide a time zone offset, the method uses the server's time zone.\n\nFor example, the following dates and times refer to the same instant:\n\n* `2017-05-02T01:44Z`\n* `2017-05-01T21:44-04:00`\n* `2017-05-01T18:44-07:00`\n\nIf this property is not included, envelopes from the last two years will be returned.\n\n[msoft]: https://docs.microsoft.com/en-us/dotnet/api/system.datetime.parse?redirectedfrom=MSDN&view=net-5.0#overloads\n[ISO 8601]: https://en.wikipedia.org/wiki/ISO_8601\n",
"required": false,
"type": "string"
},
{
"name": "from_to_status",
"in": "query",
"description": "This is the status type checked for in the `from_date`/`to_date` period. For example, if `Created` is specified, then envelopes created during the period are found. If `Changed` is specified, then envelopes that changed status during the period are returned. The default value is `Changed`.\n\nValid values:\n* `Changed`\n* `Voided`\n* `Created`\n* `Deleted`\n* `Sent`\n* `Delivered`\n* `Signed`\n* `Completed`\n* `Declined`\n* `TimedOut`\n* `Processing`\n",
"required": false,
"type": "string"
},
{
"name": "include",
"in": "query",
"required": false,
"type": "string",
"description": "Specifies additional information to return about the envelopes.\nUse a comma-separated list, such as `folders, recipients` to specify information.\nValid values are:\n\n- `custom_fields`: The custom fields associated with the envelope.\n- `documents`: The documents associated with the envelope.\n- `attachments`: The attachments associated with the envelope.\n- `extensions`: Information about the email settings associated with the envelope.\n- `folders`: The folders where the envelope exists.\n- `recipients`: The recipients associated with the envelope.\n- `payment_tabs`: The payment tabs associated with the envelope.\n"
},
{
"name": "include_purge_information",
"in": "query",
"required": false,
"type": "string",
"description": "When **true,** information about envelopes that have been deleted is included in the response."
},
{
"name": "intersecting_folder_ids",
"in": "query",
"required": false,
"type": "string",
"description": "A comma-separated list of folders from which you want to get envelopes. Valid values: \n\n- `normal`\n- `inbox`\n- `sentitems`\n- `draft`\n- `templates`\n"
},
{
"name": "last_queried_date",
"in": "query",
"required": false,
"type": "string",
"description": "Returns envelopes that were modified prior to the specified date and time. \n\nExample: `2020-05-09T21:56:12.2500000Z`"
},
{
"name": "order",
"in": "query",
"required": false,
"type": "string",
"description": "Returns envelopes in either ascending (`asc`) or descending (`desc`) order."
},
{
"name": "order_by",
"in": "query",
"required": false,
"type": "string",
"description": "Sorts results according to a specific property. Valid values:\n\n- `last_modified`\n- `action_required`\n- `created`\n- `completed`\n- `envelope_name`\n- `expire`\n- `sent`\n- `signer_list`\n- `status`\n- `subject`\n- `user_name`\n- `status_changed`\n- `last_modified`"
},
{
"name": "powerformids",
"in": "query",
"required": false,
"type": "string",
"description": "A comma-separated list of `PowerFormId` values."
},
{
"name": "query_budget",
"in": "query",
"required": false,
"type": "string",
"description": "The time in seconds that the query should run before returning data."
},
{
"name": "requester_date_format",
"in": "query",
"required": false,
"type": "string",
"description": ""
},
{
"name": "search_mode",
"in": "query",
"required": false,
"type": "string",
"description": ""
},
{
"name": "search_text",
"in": "query",
"required": false,
"type": "string",
"description": "Free text search criteria that you can use to filter the list of envelopes that is returned."
},
{
"name": "start_position",
"in": "query",
"required": false,
"type": "string",
"description": "The zero-based index of the\nresult from which to start returning results.\n\nUse with `count` to limit the number\nof results.\n\nThe default value is `0`.\n"
},
{
"name": "status",
"in": "query",
"description": "A comma-separated list of current envelope statuses to be included in the response. Valid values:\n\n* `completed`\n* `created`\n* `declined`\n* `deleted`\n* `delivered`\n* `processing`\n* `sent`\n* `signed`\n* `timedout`\n* `voided`\n\nThe `any` value is equivalent to any status.\n",
"required": false,
"type": "string"
},
{
"name": "to_date",
"in": "query",
"description": "Specifies the date and time\nto stop looking for status changes.\nThe default is the current date and time.\n\nAlthough you can use any date format\nsupported by the .NET system library's\n[`DateTime.Parse()`][msoft] function,\nDocusign recommends\nusing [ISO 8601][] format dates\nwith an explicit time zone offset\nIf you do not provide\na time zone offset,\nthe method uses the server's time zone.\n\nFor example, the following dates and times refer to the same instant:\n\n* `2017-05-02T01:44Z`\n* `2017-05-01T21:44-04:00`\n* `2017-05-01T18:44-07:00`\n\n\n[msoft]: https://docs.microsoft.com/en-us/dotnet/api/system.datetime.parse?redirectedfrom=MSDN&view=net-5.0#overloads\n[ISO 8601]: https://en.wikipedia.org/wiki/ISO_8601\n",
"required": false,
"type": "string"
},
{
"name": "transaction_ids",
"in": "query",
"description": "A comma-separated list of envelope transaction IDs.\n\nGetting envelope status by transaction IDs is useful for offline signing situations to determine if an envelope was created or not. It can be used for the cases where a network connection was lost before the envelope status could be returned.\n\n**Note:** Transaction IDs are only valid in the Docusign system for seven days.\n",
"required": false,
"type": "string"
},
{
"name": "user_filter",
"in": "query",
"required": false,
"type": "string",
"description": "Returns envelopes where the current user is the recipient, the sender, or the recipient only. (For example, `user_filter=sender`.) Valid values are:\n\n- `sender`\n- `recipient`\n- `recipient_only`"
},
{
"name": "user_id",
"in": "query",
"required": false,
"type": "string",
"description": "The ID of the user who created the envelopes to be retrieved. Note that an account can have multiple users, and any user with account access can retrieve envelopes by user_id from the account."
},
{
"name": "user_name",
"in": "query",
"required": false,
"type": "string",
"description": "Limit results to envelopes\nsent by the account user\nwith this user name.\n\n`email` must be given as well,\nand both `email` and `user_name`\nmust refer to an existing account user.\n"
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/envelopesInformation"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "listStatusChanges",
"x-ds-method": "listStatusChanges",
"x-ds-service": "Envelopes",
"x-ds-in-sdk": true
},
"post": {
"tags": [
"Envelopes"
],
"summary": "Creates an envelope.",
"description": "Creates and sends an envelope or creates a draft envelope.\nEnvelopes are fundamental resources in the Docusign platform.\n\n\nWith this method you can:\n\n* Create and send an envelope\n with [documents][], [recipients][], and [tabs][].\n* [Create and send an envelope from a template](/docs/esign-rest-api/esign101/concepts/templates/).\n* [Create and send an envelope from\n a combination of documents and templates](/docs/esign-rest-api/esign101/concepts/templates/composite/).\n* Create a draft envelope.\n\n\nWhen you use this method\nto create and send an envelope\nin a single request,\nthe following parameters in the request body (an [`envelopeDefinition`][envelopeDefinition] object) are required:\n\n| Parameter | Description |\n| :-------- | :---------- |\n| `status` | Set to `sent` to send the envelope to recipients.
Set to `created` (or don't set at all) to save the envelope as a draft. |\n| `emailSubject` | The subject of the email used to send the envelope. |\n| `documents` | The [documents][] to be signed. |\n| `recipients` | The email addresses of the envelope [recipients][]. |\n\n\nWhen you create an envelope by using a\n[composite template](/docs/esign-rest-api/esign101/concepts/templates/composite/),\nyou should specify the envelope custom fields in the inline template.\nAny custom fields that you specify at the root level are ignored.\n\nIf the envelope has a workflow definition\nand the `workflowStatus` is `paused`,\nthe envelope will not be sent immediately,\neven if the envelope's `status` is `sent`.\n\n\n### Related topics\n\n[Envelope][envelopes] and [template][templates]\nobjects along with [documents][documents],\n[recipients][recipients], and [tabs][tabs]\nare the five object models at the core of the eSignature API.\nThe [eSignature concepts guide](/docs/esign-rest-api/esign101/concepts/)\ndescribes how the five object models work together.\n\nThe following how-to articles contain\npractical examples that show you how to\nto\nconfigure this method's\n[`envelopeDefinition`][envelopeDefinition] request body\nto perform common tasks.\n\nRequesting a signature\n\n- [How to request a signature by email](/docs/esign-rest-api/how-to/request-signature-email-remote/)\n- [How to request a signature through your app](/docs/esign-rest-api/how-to/request-signature-in-app-embedded/)\n- [How to request a signature by email using a template](/docs/esign-rest-api/how-to/request-signature-template-remote/)\n- [How to request a signature using a composite template](/docs/esign-rest-api/how-to/request-signature-composite-template-embedded/)\n- [How to request a signature by SMS or WhatsApp delivery](/docs/esign-rest-api/how-to/request-signature-sms-whatsapp/)\n- [How to send a request for payment](/docs/esign-rest-api/how-to/request-a-payment/)\n- [How to send an envelope to an In Person Signer](/docs/esign-rest-api/how-to/send-envelope-to-in-person-signer/)\n- [How to request a signature through your app (embedded signing) with a CFR Part 11 account](/docs/esign-rest-api/how-to/request-signature-in-app-embedded-cfrpart11/)\n\nWorking with envelopes and templates\n\n- [How to get envelope information](/docs/esign-rest-api/how-to/get-envelope-information/)\n- [How to list envelope recipients](/docs/esign-rest-api/how-to/get-envelope-recipients/)\n- [How to list envelope status changes](/docs/esign-rest-api/how-to/list-envelope-status-changes/)\n- [How to create a template](/docs/esign-rest-api/how-to/create-template/)\n- [How to send an envelope via your app](/docs/esign-rest-api/how-to/embedded-sending/)\n- [How to bulk send envelopes](/docs/esign-rest-api/how-to/bulk-send-envelopes/)\n\nWorking with advanced recipient routing\n\n- [How to pause a signature workflow](/docs/esign-rest-api/how-to/pause-workflow/)\n- [How to unpause a signature workflow](/docs/esign-rest-api/how-to/unpause-workflow/)\n- [How to use conditional recipients](/docs/esign-rest-api/how-to/use-conditional-recipients/)\n- [How to schedule an envelope](/docs/esign-rest-api/how-to/schedule-an-envelope/)\n- [How to send an envelope with delayed routing](/docs/esign-rest-api/how-to/send-envelope-with-delayed-routing/)\n\nWorking with documents\n\n- [How to list envelope documents](/docs/esign-rest-api/how-to/list-envelope-documents/)\n- [How to download envelope documents](/docs/esign-rest-api/how-to/download-envelope-documents/)\n- [How to attach documents via binary transfer](/docs/esign-rest-api/how-to/send-binary/)\n- [How to create a signable HTML document](/docs/esign-rest-api/how-to/creating-signable-html/)\n- [How to convert a PDF file into a signable HTML document](/docs/esign-rest-api/how-to/converting-pdf/)\n- [How to set document visibility for envelope recipients](/docs/esign-rest-api/how-to/set-document-visibility/)\n\nWorking with tabs\n\n- [How to get envelope tab values](/docs/esign-rest-api/how-to/get-envelope-tab-values/)\n- [How to get envelope custom tab values](/docs/esign-rest-api/how-to/get-envelope-custom-tab-values/)\n- [How to set envelope tab values](/docs/esign-rest-api/how-to/set-envelope-tab-values/)\n- [How to set tab values in a template](/docs/esign-rest-api/how-to/set-template-tab-values/)\n\nWorking with brands\n\n- [How to create a brand](/docs/esign-rest-api/how-to/create-brand/)\n- [How to apply a brand to an envelope](/docs/esign-rest-api/how-to/apply-brand-to-envelope/)\n- [How to apply a brand and template to an envelope](/docs/esign-rest-api/how-to/apply-brand-and-template-to-envelope/)\n\nWorking with permissions\n\n- [How to create a permission profile](/docs/esign-rest-api/how-to/permission-profile-creating/)\n- [How to update individual permission settings](/docs/esign-rest-api/how-to/permission-profile-updating/)\n- [How to set a permission profile](/docs/esign-rest-api/how-to/permission-profile-setting/)\n- [How to delete a permission profile](/docs/esign-rest-api/how-to/permission-profile-deleting/)\n\nImplementing multi-factor recipient (signer) authentication\n\n- [How to require ID verification (IDV) for a recipient](/docs/esign-rest-api/how-to/id-verification/)\n- [How to require knowledge-based authentication (KBA) for a recipient](/docs/esign-rest-api/how-to/knowledge-based-authentication/)\n- [How to require phone authentication for a recipient](/docs/esign-rest-api/how-to/phone-auth/)\n- [How to require access code authentication for a recipient](/docs/esign-rest-api/how-to/require-access-code-recipient/)\n\n\n\n\n\n[addingdocs]: /docs/esign-rest-api/esign101/concepts/envelopes/\n[attachments]: /docs/esign-rest-api/esign101/concepts/documents/attachments/\n[authcopies]: /docs/esign-rest-api/esign101/concepts/documents/authoritative-copies/\n[conoverview]: /docs/esign-rest-api/esign101/concepts/overview/\n[deleting]: /docs/esign-rest-api/esign101/concepts/envelopes/\n[documents]: /docs/esign-rest-api/esign101/concepts/documents/\n[envelopeDefinition]: /docs/esign-rest-api/reference/envelopes/envelopes/create/#schema__envelopedefinition\n[envelopes]: /docs/esign-rest-api/esign101/concepts/envelopes/\n[locking]: /docs/esign-rest-api/esign101/concepts/envelopes/lock/\n[payments]: /docs/esign-rest-api/esign101/concepts/tabs/payment/\n[purging]: /docs/esign-rest-api/esign101/concepts/documents/purging/\n[recipients]: /docs/esign-rest-api/esign101/concepts/recipients/\n[recipstatus]: /docs/esign-rest-api/esign101/concepts/recipients/#recipient-status\n[reciptypes]: /docs/esign-rest-api/esign101/concepts/recipients/#recipient-types\n[supdocs]: /docs/esign-rest-api/esign101/concepts/documents/supplemental/\n[tabanchor]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/\n[tabcustom]: /docs/esign-rest-api/esign101/concepts/tabs/custom-tabs/\n[tabs]: /docs/esign-rest-api/esign101/concepts/tabs/\n[tabtypes]: /docs/esign-rest-api/esign101/concepts/tabs/\n[templates]: /docs/esign-rest-api/esign101/concepts/templates/\n[tracking]: /docs/esign-rest-api/esign101/concepts/envelopes/\n\n",
"operationId": "Envelopes_PostEnvelopes",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "cdse_mode",
"in": "query",
"required": false,
"type": "string",
"description": "Reserved for Docusign.\n"
},
{
"name": "change_routing_order",
"in": "query",
"required": false,
"type": "string",
"description": "When true, users can define the routing order of recipients while sending documents for signature."
},
{
"name": "completed_documents_only",
"in": "query",
"description": "Reserved for Docusign.\n",
"required": false,
"type": "string"
},
{
"name": "merge_roles_on_draft",
"in": "query",
"description": "When **true,** template roles will be merged, and empty recipients will be removed. This parameter applies when you create a draft envelope with multiple templates. (To create a draft envelope, the `status` field is set to `created`.)\n\n**Note:** Docusign recommends that this parameter should be set to **true** whenever you create a draft envelope with multiple templates.",
"required": false,
"type": "string"
},
{
"name": "envelopeDefinition",
"in": "body",
"required": false,
"schema": {
"$ref": "#/definitions/envelopeDefinition"
},
"description": ""
}
],
"responses": {
"201": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/envelopeSummary"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "createEnvelope",
"x-ds-method": "create",
"x-ds-service": "Envelopes",
"x-ds-in-sdk": true,
"x-ds-examples": [
{
"description": "This example shows a request/response that includes:\n\n* A single PDF document to be signed\n* One tab positioned using anchor text\n* One recipient\n",
"direction": "both",
"format": "json",
"response": {
"envelopeId": "63e05468-xxxx-xxxx-xxxx-8b48f7dbeb80",
"status": "sent",
"statusDateTime": "2016-05-29T17:11:56.1800000Z",
"uri": "/envelopes/63e05468-xxxx-xxxx-xxxx-8b48f7dbeb80"
},
"request": {
"documents": [
{
"documentBase64": "[Document content (PDF File)]",
"documentId": "1",
"fileExtension": "pdf",
"name": "NDA.pdf"
}
],
"emailSubject": "Please sign the NDA",
"recipients": {
"signers": [
{
"email": "the_nda_signer@example.com",
"name": "Darlene Petersen",
"recipientId": "1",
"routingOrder": "1",
"tabs": {
"dateSignedTabs": [
{
"anchorString": "signer1date",
"anchorYOffset": "-6",
"fontSize": "Size12",
"name": "Date Signed",
"recipientId": "1",
"tabLabel": "date_signed"
}
],
"fullNameTabs": [
{
"anchorString": "signer1name",
"anchorYOffset": "-6",
"fontSize": "Size12",
"name": "Full Name",
"recipientId": "1",
"tabLabel": "Full Name"
}
],
"signHereTabs": [
{
"anchorString": "signer1sig",
"anchorUnits": "mms",
"anchorXOffset": "0",
"anchorYOffset": "0",
"name": "Please sign here",
"optional": "false",
"recipientId": "1",
"scaleValue": 1,
"tabLabel": "signer1sig"
}
]
}
}
]
},
"status": "sent"
},
"style": "custom",
"title": "Request Signature on Single Document by Email"
},
{
"description": "This example shows a request/response that includes:\n\n* Multiple documents, both pdf and Word docx files.\n* Multiple tabs including signing, fullName, dateSigned, and text tabs.\n* Tabs positioned using anchor text.\n* Two recipients, a signer and a cc recipient.\n",
"direction": "both",
"format": "json",
"response": {
"envelopeId": "63e05468-xxxx-xxxx-xxxx-8b48f7dbeb80",
"status": "sent",
"statusDateTime": "2016-05-29T17:11:56.1800000Z",
"uri": "/envelopes/63e05468-xxxx-xxxx-xxxx-8b48f7dbeb80"
},
"request": {
"documents": [
{
"documentBase64": "[Document 1 content (PDF File)]",
"documentId": "1",
"fileExtension": "pdf",
"name": "NDA.pdf"
},
{
"documentBase64": "[Document 2 content (PDF File)]",
"documentId": "2",
"fileExtension": "pdf",
"name": "House.pdf"
},
{
"documentBase64": "[Document 3 content (Word file)]",
"documentId": "3",
"fileExtension": "docx",
"name": "contractor_agreement.docx"
}
],
"emailSubject": "Please sign the house documentation package",
"recipients": {
"carbonCopies": [
{
"email": "cody_vigil@worldwidecorp.example.com",
"name": "Cody Vigil",
"recipientId": "2",
"routingOrder": "2"
}
],
"signers": [
{
"email": "darlene_petersen@newco.example.com",
"name": "Darlene Petersen",
"recipientId": "1",
"routingOrder": "1",
"tabs": {
"dateSignedTabs": [
{
"anchorString": "signer1date",
"anchorYOffset": "-6",
"fontSize": "Size12",
"name": "Date Signed",
"recipientId": "1",
"tabLabel": "date_signed"
},
{
"documentId": "2",
"fontSize": "Size12",
"name": "Date Signed",
"pageNumber": "1",
"recipientId": "1",
"tabLabel": "doc3_date_signed",
"xPosition": "89",
"yPosition": "100"
}
],
"fullNameTabs": [
{
"anchorString": "signer1name",
"anchorYOffset": "-6",
"fontSize": "Size12",
"name": "Full Name",
"recipientId": "1",
"tabLabel": "Full Name"
}
],
"signHereTabs": [
{
"anchorString": "signer1sig",
"anchorUnits": "mms",
"anchorXOffset": "0",
"anchorYOffset": "0",
"name": "Please sign here",
"optional": "false",
"recipientId": "1",
"scaleValue": 1,
"tabLabel": "signer1sig"
},
{
"documentId": "2",
"name": "Please sign here",
"optional": "false",
"pageNumber": "1",
"recipientId": "2",
"scaleValue": 1,
"tabLabel": "signer1_doc2",
"xPosition": "89",
"yPosition": "40"
},
{
"anchorString": "Client Signature",
"anchorUnits": "mms",
"anchorXOffset": "0",
"anchorYOffset": "-4",
"name": "Please sign here",
"optional": "false",
"recipientId": "1",
"scaleValue": 1,
"tabLabel": "doc3_client_sig"
}
],
"textTabs": [
{
"anchorString": "signer1company",
"anchorYOffset": "-8",
"fontSize": "Size12",
"name": "Company",
"recipientId": "1",
"required": "true",
"tabLabel": "Company"
},
{
"anchorString": "Client Name",
"anchorYOffset": "-38",
"fontSize": "Size12",
"name": "Company",
"recipientId": "1",
"required": "true",
"tabLabel": "Company"
},
{
"documentId": "3",
"fontSize": "Size10",
"name": "Company",
"pageNumber": "1",
"recipientId": "1",
"required": "true",
"tabLabel": "Company",
"xPosition": "145",
"yPosition": "195"
}
]
}
}
]
},
"status": "sent"
},
"style": "custom",
"title": "Multiple Documents and Tabs, Signer and CC Recipients"
},
{
"description": "For some documents, one or more signatures must be witnessed by an appointed [notary public](https://en.wikipedia.org/wiki/Notary_public).\n\nDocusign supports eNotary services for many jurisdictions. This example demonstrates how to send an envelope to be signed by Susan Signer with her signature witnessed by Nancy Notary. You must know the name and email address of the signer and the notary public for a signature to be notarized.\n\nNote that the full legal name of the signer must be used. It will be checked against the signer's government-issued proof of identity by the notary public.\n\nPlease see the [Docusign eNotary resource page](https://support.docusign.com/s/document-item?bundleId=gko1642535666104&topicId=jiv1635359045452.html) for further information. It lists the jurisdictions participating in the Docusign eNotary program and additional reference information.\n\nNote that eNotary services are not included with all account types and are **not** included by default with demo/developer sandbox accounts. To enable eNotary service for your sandbox account, contact your Docusign technical support person or Docusign customer service.\n\nThe example includes event notification via the Connect service.",
"direction": "both",
"format": "json",
"response": {
"envelopeId": "aaaaaaaa-xxxx-xxxx-xxxx-52a86fb94be8",
"uri": "/envelopes/aaaaaaaa-xxxx-xxxx-xxxx-52a86fb94be8",
"statusDateTime": "2017-06-15T11:02:39.3996430Z",
"status": "sent"
},
"request": {
"emailSubject": "Important agreement for notarized signature",
"status": "sent",
"recipients": {
"inPersonSigners": [
{
"recipientId": 1,
"email": "susan_signer@gmail.com",
"name": "Susan Anne Signer",
"routingOrder": 1,
"inPersonSigningType": "notary",
"notaryHost": {
"name": "Nancy Notary",
"email": "nancy@notary-svc.com",
"recipientId": 2
},
"tabs": {
"signHereTabs": [
{
"documentId": "1",
"optional": "false",
"recipientId": "1",
"xPosition": "100",
"yPosition": "100",
"pageNumber": "1",
"name": "Please sign here",
"tabLabel": "signer1sig"
}
]
}
}
]
},
"documents": [
{
"documentId": "1",
"name": "important document.docx",
"fileExtension": "docx",
"documentBase64": "[Contents elided]"
}
],
"eventNotification": {
"includeDocumentFields": "false",
"envelopeEvents": [
{
"envelopeEventStatusCode": "Completed"
},
{
"envelopeEventStatusCode": "Declined"
},
{
"envelopeEventStatusCode": "Voided"
}
],
"url": "https://listener.example.com/docusign_notifications",
"requireAcknowledgment": "true",
"includeSenderAccountAsCustomField": "true",
"loggingEnabled": "true",
"includeDocuments": "false",
"signMessageWithX509Cert": "true"
}
},
"style": "custom",
"title": "Create a Notarized Signing Recipient"
},
{
"description": "Docusign enables document signers to use\nelectronic or\ndigital signatures.\n\nDocusign has tightly integrated standard digital signatures into the Docusign Signature platform. This enables a single envelope to include:\n\n* electronic signatures,\n* AES digital signatures using certificates from Docusign or from your organization,\n* QES digital signatures from government certified Trust Service Providers (TSPs).\n\nThis example enables the signer to create an eIDAS compliant AES signature with embedded signing. InPerson signers can also use SBS digital signatures.\n\n[More information on creating SBS digital signature requests.](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/)\n\nThe `clientId` in the example tells Docusign that the Signing Ceremony will be embedded.\nThe example also includes an `eventNotification` object for receiving envelope status updates from Docusign.\n\n## Embedding the signing ceremony\n1. Send the `Envelopes: create` call as shown below in the Request/Response section.\n2. The response will include the `envelopeId`\n3. Use the [EnvelopeViews: createRecipient](/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/) request to obtain the redirectURL as follows:\n\n`POST /v2.1/accounts/{accountId}/envelopes/{envelopeId}/views/recipient`\n\n````\n{\n \"clientUserId\": \"1000\",\n \"email\": \"Sam@spade.com\",\n \"userName\": \"Sam Spade\",\n \"returnUrl\": \"https://your_app.example.com\",\n \"AuthenticationMethod\": \"Password\"\n}\n````\nThe response will include the `url`. Redirect the user's browser to the URL to start the signing ceremony.\n\n**Note:** You must **immediately** redirect the user to the URL you receive from Docusign. The URL is only valid for 5 minutes. Don't request a recipient view URL until you are ready to redirect the user's browser.\n",
"direction": "both",
"format": "json",
"response": {
"envelopeId": "caaaaaaa-xxxx-xxxx-xxxx-c171528e99c8",
"uri": "/envelopes/caaaaaaa-xxxx-xxxx-xxxx-c171528e99c8",
"statusDateTime": "2017-06-22T06:44:49.1642220Z",
"status": "sent"
},
"request": {
"documents": [
{
"documentId": "1",
"name": " Agreement",
"fileExtension": "html",
"documentBase64": "[Contents elided]"
}
],
"emailSubject": "NewCo agreement for signature",
"status": "sent",
"recipients": {
"signers": [
{
"recipientId": "1",
"clientUserId": "1000",
"email": "Sam@spade.com",
"name": "Sam Spade",
"recipientSignatureProviders": [
{
"signatureProviderName": "UniversalSignaturePen_OpenTrust_Hash_TSP",
"signatureProviderOptions": {
"SMS": "+33134567899"
}
}
],
"routingOrder": "1",
"tabs": {
"signHereTabs": [
{
"documentId": "1",
"optional": "false",
"recipientId": "1",
"name": "Please sign here",
"tabLabel": "signer1sig",
"anchorString": "signer1sig"
}
]
}
}
]
},
"eventNotification": {
"includeDocumentFields": "false",
"envelopeEvents": [
{
"envelopeEventStatusCode": "Completed"
},
{
"envelopeEventStatusCode": "Declined"
},
{
"envelopeEventStatusCode": "Voided"
}
],
"url": "https://your_app.example.com/listener",
"requireAcknowledgment": "true",
"includeSenderAccountAsCustomField": "true",
"loggingEnabled": "true",
"includeDocuments": "false",
"signMessageWithX509Cert": "true"
}
},
"style": "custom",
"title": "Request an SBS digital signature, with an embedded signing ceremony"
}
]
},
"parameters": []
},
"/v2.1/accounts/{accountId}/envelopes/{envelopeId}": {
"get": {
"tags": [
"Envelopes"
],
"summary": "Gets the status of a single envelope.",
"description": "Retrieves the overall status for the specified envelope.\nTo get the status of a list of envelopes, use\n[Envelope: listStatusChanges ](/docs/esign-rest-api/reference/envelopes/envelopes/liststatuschanges/).\n\n### Related topics\n\n- [How to get envelope information](/docs/esign-rest-api/how-to/get-envelope-information/)\n",
"operationId": "Envelopes_GetEnvelope",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "envelopeId",
"in": "path",
"description": "The envelope's GUID. \n\nExample: `93be49ab-xxxx-xxxx-xxxx-f752070d71ec`\n",
"required": true,
"type": "string"
},
{
"name": "advanced_update",
"in": "query",
"description": "When **true,** envelope information can be added or modified.",
"required": false,
"type": "string"
},
{
"name": "include",
"in": "query",
"required": false,
"type": "string",
"description": "Specifies additional information about the envelope to return. Enter a comma-separated list, such as `tabs,recipients`. Valid values are:\n\n- `custom_fields`: The custom fields associated with the envelope.\n- `documents`: The documents associated with the envelope.\n- `attachments`: The attachments associated with the envelope.\n- `extensions`: The email settings associated with the envelope.\n- `folders`: The folder where the envelope exists.\n- `recipients`: The recipients associated with the envelope.\n- `powerform`: The PowerForms associated with the envelope.\n- `prefill_tabs`: The pre-filled tabs associated with the envelope.\n- `tabs`: The tabs associated with the envelope.\n- `payment_tabs`: The payment tabs associated with the envelope.\n- `workflow`: The workflow definition associated with the envelope.\n"
},
{
"name": "include_anchor_tab_locations",
"in": "query",
"required": false,
"type": "string",
"description": "When **true,** all tabs with anchor tab properties are included in the response. The default value is **false.**"
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/envelope"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "getEnvelope",
"x-ds-method": "get",
"x-ds-service": "Envelopes",
"x-ds-in-sdk": true,
"x-ds-examples": [
{
"description": "This example shows a how to get information about\nan envelope with a given envelope id.\n\nThe request for this endpoint has no payload.\n\n### Request\n```\nGET /restapi/v2.1/accounts/1703061/envelopes/4b728be4-xxxx-xxxx-xxxx-d63e23f822b6\n```\n",
"direction": "response",
"format": "json",
"response": {
"allowMarkup": "false",
"autoNavigation": "true",
"brandId": "56502fe1-xxxx-xxxx-xxxx-97cb5c43176a",
"certificateUri": "/envelopes/4b728be4-xxxx-xxxx-xxxx-d63e23f822b6/documents/certificate",
"createdDateTime": "2016-10-05T01:04:58.1830000Z",
"customFieldsUri": "/envelopes/4b728be4-xxxx-xxxx-xxxx-d63e23f822b6/custom_fields",
"documentsCombinedUri": "/envelopes/4b728be4-xxxx-xxxx-xxxx-d63e23f822b6/documents/combined",
"documentsUri": "/envelopes/4b728be4-xxxx-xxxx-xxxx-d63e23f822b6/documents",
"emailSubject": "Please sign the NDA",
"enableWetSign": "true",
"envelopeId": "4b728be4-xxxx-xxxx-xxxx-d63e23f822b6",
"envelopeIdStamping": "true",
"envelopeUri": "/envelopes/4b728be4-xxxx-xxxx-xxxx-d63e23f822b6",
"initialSentDateTime": "2016-10-05T01:04:58.7770000Z",
"is21CFRPart11": "false",
"isSignatureProviderEnvelope": "false",
"lastModifiedDateTime": "2016-10-05T01:04:58.1830000Z",
"notificationUri": "/envelopes/4b728be4-xxxx-xxxx-xxxx-d63e23f822b6/notification",
"purgeState": "unpurged",
"recipientsUri": "/envelopes/4b728be4-xxxx-xxxx-xxxx-d63e23f822b6/recipients",
"sentDateTime": "2016-10-05T01:04:58.7770000Z",
"status": "sent",
"statusChangedDateTime": "2016-10-05T01:04:58.7770000Z",
"templatesUri": "/envelopes/4b728be4-xxxx-xxxx-xxxx-d63e23f822b6/templates"
},
"request": null,
"style": "custom",
"title": "Get Status About a Specific Envelope"
}
]
},
"put": {
"tags": [
"Envelopes"
],
"summary": "Send, void, or modify a draft envelope. Purge documents from a completed envelope.",
"description": "This method enables you to make changes to an envelope.\nYou can use it to:\n\n* [Send a draft envelope](#sending-a-draft-envelope)\n* [Void an in-process envelope](#voiding-an-in-process-envelope)\n* [Modify a draft envelope](#modifying-envelope-email-information)\n* [Purge documents and envelope metadata from the Docusign platform](#purging-documents-from-docusign)\n\nAlthough the request body for this method\nis a complete envelope definition,\nyou only need to provide\nthe properties that\nyou're updating.\n\n## Sending a draft envelope\n\nTo send a draft envelope, include the following code in the request body:\n\n```json\n{\n \"status\": \"sent\"\n}\n```\n\nYou can attach a workflow before sending the envelope:\n\n```json\n{\n \"status\": \"sent\",\n \"workflow\": {\n \"workflowSteps\": [\n {\n \"action\": \"pause_before\",\n \"description\": \"pause_before routing order 2\",\n \"itemId\": 2,\n \"triggerOnItem\": \"routing_order\"\n }\n ]\n }\n}\n```\n\n## Working with workflows\n\nTo unpause a workflow, the request body should include this:\n\n```json\n{\n \"workflow\": {\n \"workflowStatus\": \"in_progress\"\n }\n}\n```\n\n## Voiding an in-process envelope\n\nTo void an in-process envelope, include the following code in the request body:\n\n```json\n{\n \"status\": \"voided\",\n \"voidedReason\": \"The reason for voiding the envelope\"\n}\n```\n\n## Modifying envelope email information\n\nTo change the email subject and message of a draft envelope,\ninclude the following code in the request body:\n\n```json\n{\n \"emailSubject\": \"new email subject\",\n \"emailBlurb\": \"new email message\"\n}\n```\n\n## Purging documents from Docusign\n\nTo place only the documents\nin the purge queue,\nleaving any\ncorresponding attachments\nand tabs in the Docusign platform,\nset the `purgeState` property\nto `documents_queued`.\n\n```json\n{\n \"envelopeId\": \"222e6847-xxxx-xxxx-xxxx-72a3c9c16fca\",\n \"purgeState\": \"documents_queued\"\n}\n```\n\nTo place documents,\nattachments,\nand tabs\nin the purge queue,\nset the `purgeState` property\nto `documents_and_metadata_queued`.\n\n```json\n{\n \"envelopeId\": \"222e6847-xxxx-xxxx-xxxx-72a3c9c16fca\",\n \"purgeState\": \"documents_and_metadata_queued\"\n}\n```\n\nTo place documents,\nattachments,\nand tabs\nin the purge queue\nand to redact personal information,\nset the `purgeState` property\nto `documents_and_metadata_and_redact_queued`.\n\n```json\n{\n \"envelopeId\": \"222e6847-xxxx-xxxx-xxxx-72a3c9c16fca\",\n \"purgeState\": \"documents_and_metadata_and_redact_queued\"\n}\n```\n\nYou can purge documents\nonly from completed envelopes\nthat are not marked as the authoritative copy.\nThe user requesting the purge\nmust have permission to purge documents\nand\nmust be the sender or be acting on behalf of the sender.\n\nWhen the purge request is initiated\nthe items to be purged\nare placed in the purge queue\nfor deletion in 14 days.\nThe sender\nand\nall recipients with Docusign accounts\nassociated with the envelope\nget an email notification\nthe documents will be deleted in 14 days.\nThe notification contains a link\nto the documents.\nA second email notification\nis sent 7 days later.\nAt the end of the 14-day period\nthe documents are deleted from the system.\nRecipients without Docusign accounts\ndo not receive email notifications.\n\nIf your account has a Document Retention policy,\nenvelope documents\nare automatically placed\nin the purge queue,\nand notification emails are sent\nat the end of the retention period.\nSetting a Document Retention policy is the same as setting a\nschedule for purging documents.\n\n## Removing documents from the purge queue\n\nTo remove documents from the purge queue, include the following code in the request body:\n\n```json\n{\n \"envelopeId\": \"222e6847-xxxx-xxxx-xxxx-72a3c9c16fca\",\n \"purgeState\": \"documents_dequeued\"\n}\n```\n\n### Related topics\n\n- [Void an envelope](https://www.docusign.com/blog/dsdev-common-api-tasks-void-an-envelope) ([Common API Tasks](https://www.docusign.com/blog/tags/common-api-tasks))\n- [Purging documents (eSignature Concepts)](/docs/esign-rest-api/esign101/concepts/documents/purging/)\n- [Purging documents in an envelope (blog post)](https://www.docusign.com/blog/developers/purging-documents-envelope)\n- [How to unpause a signature workflow](/docs/esign-rest-api/how-to/unpause-workflow/)\n",
"operationId": "Envelopes_PutEnvelope",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "envelopeId",
"in": "path",
"description": "The envelope's GUID. \n\nExample: `93be49ab-xxxx-xxxx-xxxx-f752070d71ec`\n",
"required": true,
"type": "string"
},
{
"name": "advanced_update",
"in": "query",
"description": "When **true,** allows the caller to update recipients, tabs, custom fields, notification, email settings and other envelope attributes.",
"required": false,
"type": "string"
},
{
"name": "recycle_on_void",
"in": "query",
"required": false,
"type": "string",
"description": ""
},
{
"name": "resend_envelope",
"in": "query",
"description": "When **true,**\nsends the specified envelope again.",
"required": false,
"type": "string"
},
{
"name": "envelope",
"in": "body",
"required": false,
"schema": {
"$ref": "#/definitions/envelope"
},
"description": "A container used to send documents to recipients. The envelope carries information about the sender and timestamps to indicate the progress of the delivery procedure. It can contain collections of Documents, Tabs and Recipients."
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/envelopeUpdateSummary"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "update",
"x-ds-method": "update",
"x-ds-service": "Envelopes",
"x-ds-in-sdk": true
},
"parameters": []
},
"/v2.1/accounts/{accountId}/envelopes/{envelopeId}/attachments": {
"get": {
"tags": [
"EnvelopeAttachments"
],
"summary": "Returns a list of envelope attachments associated with a specified envelope.",
"operationId": "Attachments_GetAttachments",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "The external account number (int) or account ID GUID.",
"required": true,
"type": "string"
},
{
"name": "envelopeId",
"in": "path",
"description": "The envelope's GUID. \n\nExample: `93be49ab-xxxx-xxxx-xxxx-f752070d71ec`\n",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Successful response.",
"schema": {
"$ref": "#/definitions/envelopeAttachmentsResult"
}
},
"400": {
"description": "Error encountered.",
"schema": {
"$ref": "#/definitions/errorDetails"
}
}
},
"deprecated": false,
"x-ds-methodname": "getAttachments",
"x-ds-api-status": "beta",
"description": "Returns a list of envelope attachments associated with a specified envelope.\n\n\n<img>
elements with the src
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:
\n<img src=\"data:image/gif;base64,R0lGODlh...IQAAOw==\" alt=\"Base64 encoded image\" width=\"150\" height=\"150\"/>
\n<img>
elements with the src
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:
\n<img src=\"data:image/gif;base64,R0lGODlh...IQAAOw==\" alt=\"Base64 encoded image\" width=\"150\" height=\"150\"/>
\nsmartSection
\nand\npolyLineOverlay
\ntabs.\nsmartSection
\nand\npolyLineOverlay
\ntabs.\n
\n\n```\n\"recipientAuthenticationStatus\": {\n \"identityVerificationResult\": { \n \"status\": \"Failed\",\n \"eventTimestamp\": \"2020-09-04T16:59:42.8045667Z\",\n \"vendorFailureStatusCode\": \"MANUAL_REVIEW_STARTED\"\n }\n }\n```", "required": true, "type": "string" } ], "responses": { "201": { "description": "Successful response.", "schema": { "$ref": "#/definitions/viewUrl" } }, "400": { "description": "Error encountered.", "schema": { "$ref": "#/definitions/errorDetails" } } }, "deprecated": false, "x-ds-methodname": "createRecipientManualReviewView", "description": "This method returns the URL of the page that allows a sender to [manually review](https://support.docusign.com/s/document-item?bundleId=ced1643229641057&topicId=lyp1578456530647.html) the ID of a recipient. ", "x-ds-method": "createRecipientManualReviewView", "x-ds-service": "Uncategorized", "x-ds-in-sdk": true }, "parameters": [] }, "/v2.1/accounts/{accountId}/envelopes/{envelopeId}/recipients/document_visibility": { "put": { "tags": [ "EnvelopeDocumentVisibility" ], "summary": "Updates document visibility for recipients", "operationId": "Recipients_PutRecipientsDocumentVisibility", "consumes": [], "produces": [], "parameters": [ { "name": "accountId", "in": "path", "description": "The external account number (int) or account ID GUID.", "required": true, "type": "string" }, { "name": "envelopeId", "in": "path", "description": "The envelope's GUID. \n\nExample: `93be49ab-xxxx-xxxx-xxxx-f752070d71ec`\n", "required": true, "type": "string" }, { "name": "documentVisibilityList", "in": "body", "required": false, "schema": { "$ref": "#/definitions/documentVisibilityList" }, "description": "" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/documentVisibilityList" } }, "400": { "description": "Error encountered.", "schema": { "$ref": "#/definitions/errorDetails" } } }, "deprecated": false, "x-ds-methodname": "updateRecipientsDocumentVisibility", "description": "This method updates document visibility for one or more recipients based on the `recipientId` and `visible` values that you include in the request body.\n\n**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.", "x-ds-method": "updateRecipientsDocumentVisibility", "x-ds-service": "EnvelopeDocumentVisibility", "x-ds-in-sdk": true }, "parameters": [] }, "/v2.1/accounts/{accountId}/envelopes/{envelopeId}/responsive_html_preview": { "post": { "tags": [ "ResponsiveHtmlPreview" ], "summary": "Creates a preview of the responsive versions of all of the documents in an envelope.", "operationId": "ResponsiveHtml_PostResponsiveHtmlPreview", "consumes": [], "produces": [], "parameters": [ { "name": "accountId", "in": "path", "description": "The external account number (int) or account ID GUID.", "required": true, "type": "string" }, { "name": "envelopeId", "in": "path", "description": "The envelope's GUID. \n\nExample: `93be49ab-xxxx-xxxx-xxxx-f752070d71ec`\n", "required": true, "type": "string" }, { "name": "documentHtmlDefinition", "in": "body", "required": false, "schema": { "$ref": "#/definitions/documentHtmlDefinition" }, "description": "" } ], "responses": { "201": { "description": "Successful response.", "schema": { "$ref": "#/definitions/documentHtmlDefinitions" } }, "400": { "description": "Error encountered.", "schema": { "$ref": "#/definitions/errorDetails" } } }, "deprecated": false, "x-ds-methodname": "createResponsiveHtmlPreview", "description": "Creates a preview of the\n[responsive](/docs/esign-rest-api/esign101/concepts/responsive/),\nHTML versions of all of the documents in an\nenvelope. This method enables you to preview the\nPDF document conversions to responsive HTML across\ndevice types prior to sending.\n\nThe request body is a `documentHtmlDefinition`\nobject, which holds the responsive signing\nparameters that define how to generate the HTML\nversion of the documents.\n", "x-ds-method": "create", "x-ds-service": "Uncategorized", "x-ds-in-sdk": true }, "parameters": [] }, "/v2.1/accounts/{accountId}/envelopes/{envelopeId}/tabs_blob": { "get": { "tags": [ "TabsBlob" ], "summary": "Reserved for Docusign.", "operationId": "TabsBlob_GetTabsBlob", "consumes": [], "produces": [], "parameters": [ { "name": "accountId", "in": "path", "description": "The external account number (int) or account ID GUID.", "required": true, "type": "string" }, { "name": "envelopeId", "in": "path", "description": "The envelope's GUID. \n\nExample: `93be49ab-xxxx-xxxx-xxxx-f752070d71ec`\n", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response." }, "400": { "description": "Error encountered.", "schema": { "$ref": "#/definitions/errorDetails" } } }, "deprecated": false, "x-ds-methodname": "getTabsBlob", "description": "This endpoint has been deprecated.", "x-ds-method": "getTabsBlob", "x-ds-service": "Uncategorized", "x-ds-in-sdk": true }, "put": { "tags": [ "TabsBlob" ], "summary": "Reserved for Docusign.", "operationId": "TabsBlob_PutTabsBlob", "consumes": [], "produces": [], "parameters": [ { "name": "accountId", "in": "path", "description": "The external account number (int) or account ID GUID.", "required": true, "type": "string" }, { "name": "envelopeId", "in": "path", "description": "The envelope's GUID. \n\nExample: `93be49ab-xxxx-xxxx-xxxx-f752070d71ec`\n", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response." }, "400": { "description": "Error encountered.", "schema": { "$ref": "#/definitions/errorDetails" } } }, "deprecated": false, "x-ds-methodname": "putTabsBlob", "description": "This endpoint has been deprecated.", "x-ds-method": "putTabsBlob", "x-ds-service": "Uncategorized", "x-ds-in-sdk": true }, "parameters": [] }, "/v2.1/accounts/{accountId}/envelopes/{envelopeId}/templates": { "get": { "tags": [ "EnvelopeTemplates" ], "summary": "Gets templates used in an envelope.", "description": "This returns a list of the server-side templates, their name and ID, used in an envelope.\n", "operationId": "Templates_GetEnvelopeTemplates", "consumes": [], "produces": [], "parameters": [ { "name": "accountId", "in": "path", "description": "The external account number (int) or account ID GUID.", "required": true, "type": "string" }, { "name": "envelopeId", "in": "path", "description": "The envelope's GUID. \n\nExample: `93be49ab-xxxx-xxxx-xxxx-f752070d71ec`\n", "required": true, "type": "string" }, { "name": "include", "in": "query", "description": "Filters the results by template type. Valid values:\n* `applied`: Returns the templates applied to an envelope.\n* `matching`: Returns the [matching templates](https://support.docusign.com/s/document-item?language=en_US&bundleId=jux1643235969954&topicId=far1578456612069.html&_LANG=enus) for an envelope.\n\nThe default value is `applied`.", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/templateInformation" } }, "400": { "description": "Error encountered.", "schema": { "$ref": "#/definitions/errorDetails" } } }, "deprecated": false, "x-ds-methodname": "listTemplates", "x-ds-method": "list", "x-ds-service": "Envelopes", "x-ds-in-sdk": true }, "post": { "tags": [ "EnvelopeTemplates" ], "summary": "Adds templates to an envelope.", "description": "Adds templates to the specified envelope.", "operationId": "Templates_PostEnvelopeTemplates", "consumes": [], "produces": [], "parameters": [ { "name": "accountId", "in": "path", "description": "The external account number (int) or account ID GUID.", "required": true, "type": "string" }, { "name": "envelopeId", "in": "path", "description": "The envelope's GUID. \n\nExample: `93be49ab-xxxx-xxxx-xxxx-f752070d71ec`\n", "required": true, "type": "string" }, { "name": "preserve_template_recipient", "in": "query", "required": false, "type": "string", "description": "If omitted or set to false (the default),\nenvelope recipients _will be removed_\nif the template being applied\nincludes only tabs positioned via anchor text for the recipient,\nand none of the documents include the anchor text. \n\nWhen **true,** the recipients _will be preserved_ after the template is applied.\n\n" }, { "name": "documentTemplateList", "in": "body", "required": false, "schema": { "$ref": "#/definitions/documentTemplateList" }, "description": "" } ], "responses": { "201": { "description": "Successful response.", "schema": { "$ref": "#/definitions/documentTemplateList" } }, "400": { "description": "Error encountered.", "schema": { "$ref": "#/definitions/errorDetails" } } }, "deprecated": false, "x-ds-methodname": "applyTemplate", "x-ds-method": "apply", "x-ds-service": "Envelopes", "x-ds-in-sdk": true }, "parameters": [] }, "/v2.1/accounts/{accountId}/envelopes/{envelopeId}/views/correct": { "post": { "tags": [ "EnvelopeViews" ], "summary": "Returns a URL to the envelope correction UI. Use after an envelope has been sent.", "description": "Returns a URL that allows you to embed the envelope correction view of the Docusign UI. To customize the appearance of the correction view, you can add special query parameters to the returned URL when you use it in your application.\n\nYou can revoke this URL by calling the [deleteEnvelopeCorrectView](/docs/esign-rest-api/reference/envelopes/envelopeviews/deleteenvelopecorrectview/) endpoint.\n\n## Best practices\n\nThe returned URL expires after 10 minutes and can only be used once. Therefore, request the URL immediately before you redirect your user to it.\n\nDue to screen space issues, do not use an `