Signatures
Envelope Create
Creates an envelope containing one or more documents, designated recipients, and signature fields.
- Documents must first be uploaded via the Storage endpoint and linked to recipients using referenceDocumentId and referenceSignerId.
- Recipients are assigned roles (e.g., signer) and can be configured as mandatory or optional.
- Signature fields are positioned precisely within documents and can include optional styling.
- Envelope metadata includes:
- Email subject.
- Email message.
- Sender details.
- Signing order.
- Expiration settings.
- Reminders.
- Notification triggers for signature events.
AuthorizationBearer <token>
JWT token to authenticate the request.
In: header
X-Api-Key<token>
API key, sent as a request header.
In: header
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 POST "https://example.com/signatures/envelope/create" \ -H "Content-Type: application/json" \ -d '{ "documents": [ { "referenceDocumentId": 1, "name": "Test Document Name", "loadMethod": "Storage", "urn": "{{uploadedDocument}}", "externalContext": { "id": "123" } } ], "recipients": [ { "referenceSignerId": 1, "name": "Test Example", "email": "user@example.com", "role": "signer", "mandatory": true, "externalContext": { "id": "456" } } ], "fields": [ { "type": "text", "isRequired": true, "referenceSignerId": 1, "referenceDocumentId": 1, "positionX": 10, "positionY": 10, "height": 100, "width": 100, "page": 1, "name": "mds_signature1", "properties": { "fontFamily": "Arial", "fontSize": 13, "color": "red", "bold": true, "italic": true, "underline": true, "textAlign": "center" } } ], "envelope": { "subject": "Email Subject", "message": "Email Message", "senderName": "Sender Example", "senderEmail": "sender@example.com", "isSignOrder": false, "expireInDays": 5, "alertDaysBeforeExpiry": 5, "firstReminderDays": 3, "repeatingReminderDays": 2, "notifyWhenOpened": true, "notifyWhenSigned": true }, "externalContext": { "id": "789" } }'{ "result": { "statusCode": 201, "message": "Created", "data": { "envelope": { "id": "string", "uploadDate": "string", "status": "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", "consumption": [ { "dimension": "string", "value": 0 } ], "externalContext": {}}{ "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"}