Skip to main content
POST https://api.craftkit.dev/v1/signatures
Takes a succeeded render, pushes its PDF to the signature service as an atomic create-and-send signing request, and returns the persisted request at 201. 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