Real-world contracts often need more than one signature. GetSigned supports sequential routing, parallel signing, and mixed workflows — all controlled by a single routing_order field per signer.
Signers receive the document one at a time in a defined order. Signer 2 only gets their link after Signer 1 completes. Common for contracts requiring hierarchical approval.
routing_order: 1, 2, 3…All signers receive their links simultaneously and can sign in any order. The envelope completes when the last signer finishes. Fastest time-to-completion.
routing_order: 1, 1, 1…Groups share a routing_order value (sign in parallel within the group) and groups are ordered sequentially. Enables approval workflows with parallel approvers at each stage.
routing_order: 1, 1, 2…Pass a routing_order integer per signer. Signers sharing the same value sign in parallel. Lower values sign first.
Subscribe to signer.signed for per-signer completion events. Subscribe to envelope.completed to know when the document is sealed and ready. Both carry signer_id and timestamps.
GET /v1/envelopes/{id} returns per-signer status (pending, viewed, signed, declined) at any time. Useful for building a real-time signing status dashboard.
Fire reminder emails to incomplete signers after a configurable delay. Use the signer.signed webhook to cancel scheduled reminders for signers who have already completed.
envelope.declined fires if any signer declines. The sender is notified; the envelope moves to a terminal declined state. Create a new envelope to restart the flow.
A multi-signer e-signature envelope assigns routing_order values to each signer. Signers with the same routing_order receive their signing links simultaneously (parallel). The next routing_order group is notified only after all signers in the previous group complete. The envelope reaches "completed" status and is sealed once every signer across all groups has signed.
In sequential signing, each signer must complete before the next receives their link — routing_order values are unique (1, 2, 3…). In parallel signing, all signers receive links at the same time — routing_order values are all the same (e.g., all set to 1). Mixed routing combines both: groups share a routing_order value and are parallelized within, but groups themselves are ordered sequentially.
Each field object in the fields array includes a signer_id that references a specific signer. When that signer opens the signing page, only their assigned fields are presented. Fields for other signers appear as read-only placeholders. You set this when creating the envelope via the API.
Subscribe to the signer.signed webhook event — it fires each time an individual signer completes, carrying the signer's ID and timestamp. The envelope.completed event fires once the last signer across all routing groups is done and the document is sealed. GET /v1/envelopes/{id} also returns per-signer status at any time.
If any signer fires the envelope.declined event, the envelope moves to a declined terminal state. No further signing links are dispatched. The sender receives an envelope.declined webhook and can choose to void the envelope or create a new one. Signers who already signed are notified of the cancellation.
GetSigned supports up to 50 signers per envelope across all plans. Most legal and business workflows involve 2–5 signers. If you have a higher-volume use case, contact us to discuss enterprise limits.
Related: Webhook guide · Integration guide · Audit trail guide