SignSecure Sign PadSignSecure Sign Pad
Templates

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.

POST
/templates/{templateId}/documents

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
AuthorizationBearer <token>

API key as Bearer token. Format: signsecure_xxxxxxxx...

In: header

Path Parameters

templateId*string

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"
}