Skip to content
Proud to collaborate with Microsoft for Startups

docusign.template-locks.post-template-lock ​

This method locks the specified template and sets the time until the lock expires to prevent other users or recipients from changing the template. The response to this request includes a lockToken parameter that you must use in the X-DocuSign-Edit header for every PUT method (typically a method that updates a template) while the template is locked. If you do not provide the lockToken when accessing a locked template, you will get the following error: { "errorCode": "EDIT_LOCK_NOT_LOCK_OWNER", "message": "The user is not the owner of the lock. The template is locked by another user or in another application" } ### The X-DocuSign-Edit header The X-DocuSign-Edit header looks like this and can be specified in either JSON or XML. JSON { "LockToken": "token-from-response", "LockDurationInSeconds": "600" } XML <DocuSignEdit> <LockToken>token-from-response</LockToken> <LockDurationInSeconds>600</LockDurationInSeconds> </DocuSignEdit> In the actual HTTP header, you would remove the linebreaks: X-DocuSign-Edit: {"LockToken": "token-from-response", "LockDurationInSeconds": "600" } or X-DocuSign-Edit:<DocuSignEdit><LockToken>token-from-response</LockToken><LockDurationInSeconds>600</LockDurationInSeconds></DocuSignEdit> ### Related topics - Common API Tasks: Locking and unlocking envelopes

Locks a template.

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.
templateidstringYes—The ID of the template.
lockdurationinsecondsstringNo—The number of seconds to lock the envelope for editing. Must be greater than 0 seconds.
lockedbyappstringNo—A friendly name of the application used to lock the envelope. Will be used in error messages to the user when lock conflicts occur.
locktypestringNo—The type of lock. Currently edit is the only supported type.
templatepasswordstringNo—The password for the template. If you are using a lock for a template that has a password or an envelope that is based on a template that has a password, you must enter the templatePassword to save the changes.
usescratchpadstringNo—When true, a scratchpad is used to edit information.

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.
templateidstringYes—The ID of the template.
lockdurationinsecondsstringNo—The number of seconds to lock the envelope for editing. Must be greater than 0 seconds.
lockedbyappstringNo—A friendly name of the application used to lock the envelope. Will be used in error messages to the user when lock conflicts occur.
locktypestringNo—The type of lock. Currently edit is the only supported type.
templatepasswordstringNo—The password for the template. If you are using a lock for a template that has a password or an envelope that is based on a template that has a password, you must enter the templatePassword to save the changes.
usescratchpadstringNo—When true, a scratchpad is used to edit information.
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 POST /v2.1/accounts/{accountId}/templates/{templateId}/lock
completedNoYesYes—HTTP call succeeded
failedNoYesNo—HTTP call failed

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompletedPerform POST /v2.1/accounts/{accountId}/templates/{templateId}/lock
* (any state)failfailedRecord the failure reason

API Usage ​

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

{
  "workflow_type": "docusign.template-locks.post-template-lock",
  "initial_data": {
    "base_url": "value",
    "accountid": "value",
    "templateid": "value"
  }
}