Skip to content
Proud to collaborate with Microsoft for Startups

docusign.envelope-documents.put-document ​

Adds or replaces a document in an existing draft or in-process envelope. An in-process envelope is one that has been sent but not yet completed or voided. Note: When adding or modifying documents for an in-process envelope, Docusign recommends locking the envelope prior to making any changes. To add a new document, set the documentId path parameter to a new document ID. To replace a document, set the documentId path parameter to the document ID of the existing document. The tabs of the original document will be applied to the new document. For example, a request in cURL looks like this: $ curl --location --request PUT 'https://demo.docusign.net/restapi/v2.1/accounts/0cdb3ff3-xxxx-xxxx-xxxx-e43af011006d/envelopes/ea4cc25b-xxxx-xxxx-xxxx-a67a0a2a4f6c/documents/1' \ --header 'Authorization: Bearer eyJ...bqg' \ --header 'Content-Disposition: filename="newDocument"' \ --header 'Content-Type: application/pdf' \ --data-binary '@/location/of/document.pdf' <ds-inlinemessage kind="warning"> If HTML document files contain <code><img></code> elements with the <code>src</code> attribute set to a path or URL, those images will not be displayed. Images in HTML files must be encoded in Base64 format, like this:<br/> <code><img src="data:image/gif;base64,R0lGODlh...IQAAOw==" alt="Base64 encoded image" width="150" height="150"/></code> </ds-inlinemessage>

Adds or replaces a document in an existing envelope.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-docusign
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
base_urlstringYes—Docusign API root, e.g. https://<host>/api
api_tokenstringNo—Bearer token; omit to use the workflow's token env var
accountidstringYes—The external account number (int) or account ID GUID.
documentidstringYes—The unique ID of the document within the envelope. Unlike other IDs in the eSignature API, you specify the documentId yourself. Typically the first document has the ID 1, the second document 2, and so on, but you can use any numbering scheme that fits within a 32-bit signed integer (1 through 2147483647). Tab objects have a documentId property that specifies the document on which to place the tab.
envelopeidstringYes—The envelope's GUID. Example: 93be49ab-xxxx-xxxx-xxxx-f752070d71ec
bodyjsonYes—Updated document content.

Output Schema ​

FieldTypeRequiredDefaultDescription
base_urlstringYes—Docusign API root, e.g. https://<host>/api
api_tokenstringNo—Bearer token; omit to use the workflow's token env var
accountidstringYes—The external account number (int) or account ID GUID.
documentidstringYes—The unique ID of the document within the envelope. Unlike other IDs in the eSignature API, you specify the documentId yourself. Typically the first document has the ID 1, the second document 2, and so on, but you can use any numbering scheme that fits within a 32-bit signed integer (1 through 2147483647). Tab objects have a documentId property that specifies the document on which to place the tab.
envelopeidstringYes—The envelope's GUID. Example: 93be49ab-xxxx-xxxx-xxxx-f752070d71ec
bodyjsonYes—Updated document content.
status_codeintegerNo—HTTP status code of the completed call
responsejsonNo—Parsed JSON response body
failure_reasonstringNo——
failure_typestringNo——
failed_atstringNo——
failed_stepstringNo——
failed_layerstringNo——
failed_at_statestringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—executeWaiting to call PUT /v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents/
completedNoYesYes—HTTP call succeeded
failedNoYesNo—HTTP call failed

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompletedPerform PUT /v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents/
* (any state)failfailedRecord the failure reason

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "docusign.envelope-documents.put-document",
  "initial_data": {
    "base_url": "value",
    "accountid": "value",
    "documentid": "value",
    "envelopeid": "value"
  }
}