POST
https://api.craftkit.dev/v1/signatures201. The provider emails the recipients and
hosts the signing UI; lifecycle changes flow back to Craftkit (see
Status lifecycle).
Authorization
Bearer ck_live_… — a project API key. The render must belong to this key’s project.Optional. A retried POST with the same key returns the original request instead of minting (and
billing) a second signing envelope. Keys are scoped per project; a replay returns
200.Body
UUID of the render to sign. Must be in this project and have
status: "succeeded" with a stored
PDF asset.Human-readable request name (1–255 chars). Defaults to
Signature request <render-id-prefix>.1–20 recipients. At least one
fields or anchorTags entry is required when any recipient is a
Signer.Up to 200 explicit placements by page + coordinates. Coordinates are percentages of page
width/height (0–100), origin top-left.
Up to 200 text-anchor placements (recommended for Craftkit templates — add the anchor string to
the template body and reference it here). Anchor
width/height are points relative to the
matched text, not page percentages.Hours until the request expires (1–8760). Defaults to the provider default (168).
Response
201 when the request is created, or 200 when an idempotency key matched an existing request.
Craftkit signature request id (UUID). Use for status, cancel, download, certificate.
The render that was sent for signature.
sent on creation. See the status lifecycle.Recipient snapshot, now carrying provider-assigned
ids.Authenticated download URL;
null until archived.Authenticated completion-certificate URL (
/v1/signatures/{id}/certificate); null until available.Errors
| Status | code | Meaning |
|---|---|---|
| 400 | invalid_json | Body is not valid JSON. |
| 400 | invalid_request | Body failed schema validation (issues included). |
| 401 | unauthorized | Missing/invalid/revoked key. |
| 402 | signature_credits_exhausted | The signature service account is out of credits. |
| 404 | not_found | No such render in this key’s project. |
| 409 | conflict | Render is not ready for signing (not succeeded, or no PDF). |
| 413 | document_too_large | Rendered PDF exceeds the 20MB signing limit. |
| 502 | signature_provider_error | The signature service rejected the create-and-send request. |
| 503 | signatures_unavailable | Digital signatures are not configured on this server. |
cURL
201