Create Envelope from Template
Create a draft document from an active template. Map every template recipient exactly once and supply required sender-prefill values. Unknown or duplicate mappings and prefill entries return 400 before any document is created. Archived templates return 409. Send the returned envelopeId separately with POST /documents/{id}/send. Requires templates:read and documents:write; workspace keys also require templates.use and documents.create or documents.manageAll. At least one signer is required; a maximum of 15 recipients is allowed, including approvers and CC.
Create a draft document from an active template. Map every template recipient exactly once and supply required sender-prefill values. Unknown or duplicate mappings and prefill entries return 400 before any document is created. Archived templates return 409. Send the returned envelopeId separately with POST /documents/{id}/send. Requires templates:read and documents:write; workspace keys also require templates.use and documents.create or documents.manageAll. At least one signer is required; a maximum of 15 recipients is allowed, including approvers and CC.
Authorization
bearerAuth API key as Bearer token. Format: signsecure_xxxxxxxx...
In: header
Path Parameters
The template ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/templates/string/documents" \ -H "Content-Type: application/json" \ -d '{ "title": "string", "recipientMapping": [ { "templateRecipientId": "string", "name": "string" } ] }'{
"envelopeId": "string",
"message": "string",
"status": "draft"
}{
"code": "VALIDATION_ERROR",
"message": "title: Required",
"requestId": "req_abc123",
"timestamp": "2026-03-11T10:30:00.000Z",
"details": {
"validation": {
"fieldErrors": {
"title": [
"Required"
]
},
"formErrors": [],
"issues": [
{
"path": "title",
"message": "Required",
"code": "invalid_type"
}
]
}
}
}{
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key",
"requestId": "req_abc123",
"timestamp": "2026-03-11T10:30:00.000Z"
}{
"code": "FORBIDDEN",
"message": "API key is disabled",
"requestId": "req_abc123",
"timestamp": "2026-03-11T10:30:00.000Z"
}{
"code": "NOT_FOUND",
"message": "Template not found",
"requestId": "req_abc123",
"timestamp": "2026-03-11T10:30:00.000Z"
}{
"code": "string",
"message": "string",
"details": {},
"requestId": "req_abc123",
"timestamp": "2026-03-11T10:30:00.000Z"
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "An internal error occurred",
"requestId": "req_abc123",
"timestamp": "2026-03-11T10:30:00.000Z"
}Send Reminder to Recipient POST
Send a reminder email to a specific pending recipient.
Create Template POST
Create a reusable PDF template and receive a presigned multipart upload. Upload the PDF to the returned URL with every returned field and the file last. Template recipients are placeholders: contact details are supplied when using the template. Supply stable recipient IDs when assigning fields; omitted IDs are generated and returned by GET /templates/{templateId}. Requires templates:write; workspace keys also require templates.manage.