Upload any PDF, declare who signs, call /send — signers receive a link, verify identity, and sign on any device. You receive a PKCS#7-sealed document via webhook. Works with any stack, any document type.
Start collecting signatures free →Generate or upload any PDF — from your existing document generation stack or a static template.
Pass signer details (name, email) and field coordinates (page, x, y, w, h) in the API request.
One API call dispatches personalized signing links to each signer. GetSigned handles email delivery.
Signers click their link, verify identity with OTP, and sign in any browser — no app, no account.
The envelope.completed webhook fires with the sealed PDF ready to download. No polling.
An API for collecting signatures is a web service that handles the entire signing workflow on your behalf: generating tokenized signing links, notifying signers by email, verifying signer identity, capturing the signed document, applying a cryptographic seal, and notifying your application when signing is complete. GetSigned exposes this as a standard REST API — you upload a PDF, declare signers and field positions, and call /send. The rest is handled by the service.
GetSigned collects electronic signatures — legally valid under ESIGN, UETA, and PIPEDA for most commercial documents. Signers can draw a signature, type their name, or upload a signature image. The signed field is flattened into the PDF. The completed document is sealed with a CA-issued PKCS#7 digital signature that proves document integrity. Per-signer PKI certificates (qualified electronic signatures for eIDAS Level 3) are not supported — they are not required for US and Canada commercial e-signatures.
Yes. Declare multiple signers in the API request and assign each signature field to a specific signer. Use routing_order to control the sequence: set the same value for parallel signers (all sign simultaneously), or increment the value for sequential signing (each person gets their link only after the previous completes). Any combination of sequential and parallel routing is supported in a single envelope.
GetSigned sends each signer a personalized email with their unique, tokenized signing link when you call POST /v1/envelopes/{id}/send. The link is scoped to exactly one envelope and one signer, expires after a configurable TTL, and is single-use. Signers verify identity with an OTP before accessing the document. If you prefer to handle the notification yourself (in-app notification, SMS, custom email), you can retrieve the signing URL from the API and send it through your own channel.
Register a webhook URL via POST /v1/webhooks. GetSigned fires an envelope.completed event to your endpoint when all signers finish. The webhook body includes the envelope ID, completion timestamp, and document hash. Your application downloads the sealed PDF from GET /v1/envelopes/{id}/document and updates its records. GetSigned also fires events for partial completion (signer.signed), declines, and expirations — so your app can react to every state change.
Related: Document signing API · Multi-signer guide · Webhook guide · Integration guide
Free tier — 25 envelopes per month. Full API access, no credit card.
Get free API keys →