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
string
required
Bearer ck_live_… — a project API key. The render must belong to this key’s project.string
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
string
required
UUID of the render to sign. Must be in this project and have
status: "succeeded" with a stored
PDF asset.string
Human-readable request name (1–255 chars). Defaults to
Signature request <render-id-prefix>.object[]
required
1–20 recipients. At least one
fields or anchorTags entry is required when any recipient is a
Signer.object[]
Up to 200 explicit placements by page + coordinates. Coordinates are percentages of page
width/height (0–100), origin top-left.
object[]
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.number
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.
string
Craftkit signature request id (UUID). Use for status, cancel, download, certificate.
string
The render that was sent for signature.
string
string
sent on creation. See the status lifecycle.object[]
Recipient snapshot, now carrying provider-assigned
ids.number | null
string | null
Authenticated download URL;
null until archived.string | null
Authenticated completion-certificate URL (
/v1/signatures/{id}/certificate); null until available.string | null
string
string | null
Errors
cURL
201