Reference
Changelog
Every change to the API since it opened, newest first.
Nothing here has broken an integration
Every entry below was additive or, in one case, applied only to keys created afterwards. See versioning for what we may change inside v1 without warning — and what we will not.
- Added
Developer documentation and an OpenAPI description
These docs. Also a machine-readable OpenAPI 3.1 description of the whole API at /docs/api/openapi.json, suitable for Postman or generating a client.
- Added
Outbound webhooks
Register an HTTPS endpoint and receive signed callbacks for document.sent, viewed, signed, completed, declined, and voided — instead of polling. Up to ten endpoints per account, on Crew and above.
- Added
Self-serve API keys
Issue and revoke your own keys from Settings → API keys, on Crew and above. Previously keys had to be issued for you.
- Added
Creating and sending documents
POST /documents creates a draft with its recipients, and POST /documents/{id}/send sends it for signature. Both accept an Idempotency-Key so a retried request cannot create or send twice.
- Changed
Scopes are enforced
Every endpoint now requires a scope: documents:read, recipients:read, documents:write, or documents:send. Keys issued before this date were granted read-only access rather than being silently upgraded.
What to do: If a key created before 18 July needs to create or send, issue a new one with the scopes you need — scopes cannot be changed after issuance.
- Changed
API access requires a paid plan
Accounts on the free plan receive 403 api_access_required. Rate limits are set per plan.
- Added
Reading documents and recipients
GET /documents (cursor-paginated, filterable by status), GET /documents/{id}, and GET /documents/{id}/recipients.
- Added
The API opens
Bearer API keys in live and test modes, GET /account, per-account rate limiting, request ids on every response, and the stable error envelope.
Watching for changes? The OpenAPI description is the machine-readable version of this page — diff it between releases to see exactly what moved.