sign
E-signature (sign envelopes) + reusable sign TEMPLATES, scoped to a workspace. Create/update DRAFT envelopes, send (reserves credits) / void (terminal), re-drive a wedged envelope (sign-retry), download source/preview/signed documents + the audit certificate and its Certificate-of-Completion PDF (all returned as pre-authenticated STREAM-ROUTE URLs), mint your own signing link for a signature card (dashboard-sign-link), and design/instantiate templates (sign-template-*). Envelopes and templates are WORKSPACE-PARENTED. Write/lifecycle actions are FIRE-AND-FORGET (return ids + state + a _next poll hint); destructive actions (sign-send/sign-void/sign-template-delete) need confirm='true'. Call action='describe' for the full per-action reference (callable without auth).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | sign-create/-update: envelope name (max 255). sign-template-create/-update: template name (REQUIRED on create). sign-template-instantiate: name for the draft envelope (defaults to the template name). | |
| limit | No | Pagination limit (max 500). | |
| action | Yes | Operation. Use 'describe' for full action reference. | |
| fields | No | sign-create/-update: JSON array of field placements (coords 0..1; see note). | |
| offset | No | Pagination offset (default 0). | |
| reason | No | sign-void: void reason (max 1024). | |
| confirm | No | Confirmation gate ('true'). REQUIRED for sign-send/sign-void; refused without it. | |
| snapshot | No | sign-template-create/-update: JSON snapshot object {recipient_slots, document_slots, fields, policy}. On update it is a FULL replacement (see note). | |
| documents | No | sign-create/-update: JSON documents array 1-20 (see note). sign-template-instantiate: JSON array of slot overrides [{document_slot_index, source_node_id, source_version_id?}]. | |
| expires_at | No | sign-create/-update: envelope expiry as a UTC timestamp 'Y-m-d H:i:s UTC' (NOT a day count; omit/null = policy default). | |
| recipients | No | sign-create/-update: JSON recipients array (see note). | |
| description | No | sign-template-create/-update: template description (max 1024). | |
| document_id | No | sign-document-*: document OpaqueId. | |
| envelope_id | No | sign-*: numeric envelope ID. | |
| policy_json | No | sign-create/-update: optional JSON policy {auth_method,...}. | |
| template_id | No | sign-template-get/-update/-delete/-instantiate: template id (30-char base32, `sa` family). | |
| workspace_id | No | Workspace ID. Envelopes are workspace-parented; use the 19-digit NUMERIC workspace ID (the document/audit download stream route rejects custom workspace names). | |
| display_limit | No | Max list rows rendered inline (default 10; the full page is still fetched). | |
| describe_action | No | When action='describe', narrow the output to ONE action's full params/notes (e.g. 'sign-create'). Omit to get the compact action index. | |
| envelope_status | No | sign-list: status filter. | |
| expected_version | No | sign-template-update: the `version` you read from sign-template-get (optimistic CAS). A concurrent write returns 409 — re-read and retry. | |
| recipient_bindings | No | sign-template-instantiate: JSON OBJECT keyed by slot_key -> {email, display_name?, auth_method?}. An ARRAY is rejected by the platform. |