Signatures
Template Update
Updates an existing template that has been created but not yet used to send an envelope.
- The template is identified using the templateId parameter.
- This endpoint allows modification of:
- Template information.
- Included documents.
- Assigned recipients.
- Added fields.
- Expiration settings.
- Reminder settings.
- Associated metadata.
AuthorizationBearer <token>
JWT token to authenticate the request.
In: header
X-Api-Key<token>
API key, sent as a request header.
In: header
Path Parameters
templateId*string
The ID of the template that should be edited.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Unlike the regular envelope create/update request, documents/fields/recipients are NOT required to be non-empty here - a template can be saved with none of them.
Response Body
application/json
application/json
application/json
curl -X PUT "https://example.com/signatures/template/string/update" \ -H "Content-Type: application/json" \ -d '{ "documents": [ { "referenceDocumentId": 0, "name": "string", "loadMethod": "string", "urn": "string", "externalContext": {} } ], "fields": [ { "referenceSignerId": 0, "referenceSignGroupId": 0, "referenceDocumentId": 0, "name": "string", "value": "string", "type": "signature", "anchorString": "string", "page": 0, "height": 0, "width": 0, "positionX": 0, "positionY": 0, "isRequired": true, "tooltip": "string", "properties": { "fontFamily": "string", "fontSize": 0, "color": "string", "bold": true, "italic": true, "underline": true, "textAlign": "string", "placeholder": "string", "isSignedDate": true, "selectionGroup": "string", "selectionValue": "string" } } ], "recipients": [ { "referenceSignerId": 0, "referenceSignGroupId": 0, "name": "string", "email": "string", "role": "signer", "templateRole": "string", "signOrder": 0, "mandatory": true, "hostEmail": "string", "isMfaEnabled": true, "phoneNumber": "string", "externalContext": {} } ], "signGroups": [ { "referenceSignGroupId": 0, "name": "string", "role": "signer", "signOrder": 0, "mandatory": true, "templateRole": "string" } ], "template": { "subject": "string", "message": "string", "senderName": "string", "senderEmail": "string", "isSignOrder": true, "expireInDays": 0, "alertDaysBeforeExpiry": 0, "firstReminderDays": 0, "repeatingReminderDays": 0, "notifyWhenOpened": true, "notifyWhenSigned": true, "templateName": "string", "templateDescription": "string", "folderId": "string", "locale": "string", "timezone": "string" }, "externalContext": {} }'{ "result": { "statusCode": 200, "message": "OK", "data": { "template": { "id": "string", "uploadDate": "string" }, "documents": [ { "id": "string", "externalContext": {} } ], "recipients": [ { "id": "string", "externalContext": {} } ], "signGroups": [ { "id": "string" } ], "fields": [ { "id": "string", "recipientId": "string", "signGroupId": "string", "documentId": "string" } ] } }, "origin": "string", "dateTime": "string"}{ "error": { "message": "Envelope not found.", "statusCode": 400, "innerErrors": [ { "code": "ENVELOPE_ID_INVALID", "message": "Envelope not found.", "userMessage": "Envelope not found." } ] }, "origin": "POST https://apim-mavenheadless-dev-westeu-1.azure-api.net/v1/signatures/envelope/create", "dateTime": "2026-07-20T12:00:00.0000000+00:00"}{ "error": { "message": "Envelope not found.", "statusCode": 400, "innerErrors": [ { "code": "ENVELOPE_ID_INVALID", "message": "Envelope not found.", "userMessage": "Envelope not found." } ] }, "origin": "POST https://apim-mavenheadless-dev-westeu-1.azure-api.net/v1/signatures/envelope/create", "dateTime": "2026-07-20T12:00:00.0000000+00:00"}