Templates
A template stores the recurring part of an envelope — title, message, signing order and the participant roster. Applying it creates a fresh envelope; the bulk endpoint applies it to many recipients at once and can send everything immediately.
The template object
| Field | Type | Description |
|---|---|---|
id | uuid | Unique identifier of the template. |
name | string | Internal name (1–160 characters). |
title | string | null | Title for envelopes created from it; falls back to the name. |
message | string | null | Message shown to participants. |
signing_order | enum | parallel · sequential · mixed. |
language | string | null | Language for participant-facing content. |
expires_in_days | integer | null | Deadline applied to envelopes created from it. |
participants | array | The roster: role, order_index, auth_method, modality, and optionally name/email. A participant without an email is a PLACEHOLDER, filled in when the template is applied. |
Create, list, update, delete
/templates/templates/templates/{id}/templates/{id}/templates/{id}Reads require the templates:read scope; writes require templates:write.
Apply to one recipient
/templates/{id}/applyCreates a draft envelope from the template, filling placeholders with recipients. You then attach documents and send it like any envelope. Requires templates:write.
Body parameters
| Parameter | Type | Description |
|---|---|---|
title | string | Overrides the envelope title. |
recipients | array | Fills placeholders by order_index: [{ order_index, name, email }]. A placeholder left without name/email fails the apply (nothing is created). |
Bulk send
/templates/{id}/bulkGrowth plan and above
403 plan_feature_required:bulk_send. Applying a template to a single recipient is
available on every plan.One envelope per row, failure is per row: a row with a missing placeholder or
insufficient credits reports an error at its index without stopping the rest. Pass an Idempotency-Key header so a retry never duplicates the batch. Requires templates:write.
Body parameters
| Parameter | Type | Description |
|---|---|---|
rows required | array | 1–100 rows. Each row is { title?, recipients: [...] } and becomes one envelope. |
document_ids | array | Up to 10 library document ids attached to every envelope in the batch. |
send | boolean | true = bulk send: each envelope is sent immediately in report placement (signatures recorded on the evidence report; no positioned fields). Requires at least one document. Defaults to false (drafts). |
Example
curl -X POST \
'https://api.sign.quathos.com/api/v1/templates/9c4a.../bulk' \
-H 'Authorization: Bearer $QUATHOS_SIGN_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: 5c9e0a4e-...' \
-d '{
"rows": [
{ "recipients": [{ "order_index": 1, "name": "Ana Souza", "email": "ana@example.com" }] },
{ "recipients": [{ "order_index": 1, "name": "João Lima", "email": "joao@example.com" }] }
],
"document_ids": ["c3d4..."],
"send": true
}'{
"created": ["6b1d...", "7e2f..."],
"errors": [
{ "index": 4, "message": "template_participant_missing_recipient" }
]
}