Templates
Define signer slots and field positions once, then reuse them.
POST /v1/templates
A template captures the reusable shape of a signing request — its signer slots, field positions, and field types — so you can spawn signing requests from it without re-sending coordinates each time.
Creating a template
curl -X POST https://your-nosign-host/v1/templates \ -H "Authorization: Bearer sk_live_..." \ -H "Content-Type: application/json" \ -d '{ "name": "Service contract", "signers": [ { "slot": "customer", "fields": [ { "page": 1, "x": 72, "y": 640, "w": 180, "h": 48, "type": "signature", "required": true }, { "page": 1, "x": 72, "y": 560, "w": 240, "h": 24, "type": "text", "label": "Job title" } ] } ] }'Field names are illustrative. Verify against your NoSign instance’s API.
Versioned and immutable per request
Templates are versioned. When you create a signing request from a template, NoSign snapshots the fields at ingestion and records the request against a specific template_id and template_version.
This means editing or retiring a template never alters requests already in flight — each request keeps the exact field definitions it was created with. The provenance chain (template_id + template_version) stays intact for the audit trail.
Using a template
Reference the template when creating a signing request instead of inlining coordinates — you supply only the per-signer identities and any per-request values:
{ "template_id": "tpl_3a9", "callback_url": "https://your-app.com/webhooks/nosign", "signers": [ { "slot": "customer", "name": "Ada Lovelace", "email": "ada@example.com" } ]}See Create a signing request for the full request shape.
Deletion is a soft-deactivate
Deleting a template is a soft-deactivate, not a hard delete: the template stops accepting new signing requests, but its versioned definitions are retained so the provenance of past requests remains verifiable.