Create Template
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.
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.
Authorization
bearerAuth API key as Bearer token. Format: signsecure_xxxxxxxx...
In: header
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
curl -X POST "https://example.com/templates" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "fileName": "string" }'{
"id": "string",
"name": "string",
"fileName": "string",
"fileKey": "string",
"upload": {
"url": "string",
"fields": {
"property1": "string",
"property2": "string"
}
},
"expiresIn": 3600,
"maxFileSize": 10485760,
"createdAt": "2019-08-24T14:15:22Z",
"recipientsCount": 0
}{
"code": "VALIDATION_ERROR",
"message": "name: Required",
"requestId": "req_abc123",
"timestamp": "2026-03-11T10:30:00.000Z",
"details": {
"validation": {
"fieldErrors": {
"name": [
"Required"
]
},
"formErrors": [],
"issues": [
{
"path": "name",
"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": "INTERNAL_SERVER_ERROR",
"message": "An internal error occurred",
"requestId": "req_abc123",
"timestamp": "2026-03-11T10:30:00.000Z"
}Create Envelope from Template POST
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.
Delete Template DELETE
Permanently delete a template.