Sign API v3 Changelog
| Version | Date | Details |
|---|---|---|
| 3.0.5 | 23.06.2026 | Async-cascade 403 on document delete, error.sr.last_document_cannot_be_removed, JWT bearer format |
| 3.0.4 | 10.06.2026 | feature-not-enabled (403) problem type, documented error keys |
| 3.0.3 | June 2026 | Observer Groups; signature request expiry (expires_at), EXPIRED status, and error-envelope refinements |
| 3.0.2 | December 2025 | Express QES (xQES) and identification related endpoints |
| 3.0.1 | September 2025 | Groups in Signature Requests |
| 3.0.0 | April 9, 2025 | First version with Multi-Doc support |
3.0.5 — 23.06.2026
Documents
- Async-cascade
403on delete —DELETE /documents/{id}now documents a403 Forbiddenresponse. When a signature request is deleted, its documents are cleaned up asynchronously; during this window the document is still listed byGET /documentsbut delete attempts return403. Retry after a few seconds — the document will either have been removed by the cascade or the delete will succeed. error.sr.last_document_cannot_be_removed— Attempting to remove the last document from a signature request returns400with this error key. An SR must keep at least one document.
Authentication
- JWT bearer format — The API key security scheme now explicitly declares
bearerFormat: JWT.
3.0.4 — 10.06.2026
Error handling
feature-not-enabledproblem type — New Problem+JSON typehttps://api.skribble.com/problem/feature-not-enabledand a shared403response, returned when an operation depends on a feature that is not enabled for the business. This now gates setting/clearingexpires_at(POST /signature-requests,DELETE /signature-requests/{SR_ID}/expires-at), adding group observers (addSignatureObserver), and the Express QES identification evidence endpoints (status, JSON, files, JWT).- Documented error
keyvalues — The error envelope's optionalkeynow enumerates the known stable, machine-readable keys, grouped by category: authentication (error.auth.*), rate limiting (error.rate_limit.*), file/attachment (file.attachment.unsupported,file.malware.detected), and PDF processing (file.pdf.*). Prefer matching onkeyover parsingmessage. - Refined response coverage —
getSignatureRequestnow documents406 Not Acceptable, andlistSignatureObservers/getSignatureObservernow document400 Bad Request.
See Error Handling for the full envelope schema.
3.0.3 — June 2026
Signature Requests
- Expiry date (
expires_at) — Early access (opted-in businesses only). Owner-set expiry date for a signature request, settable on create/update whilestatus_overall=DRAFT. When the date passes, the request transitions tostatus_overall=EXPIRED. Must be today or later, at most 6 months in the future, and — if the owning business has a retention policy — at most one day before the retention deletion date. - Clear expiry date — New endpoint
DELETE /signature-requests/{SR_ID}/expires-atremoves the owner-setexpires_atfrom aDRAFTsignature request (returns400if notDRAFT). Theauto_delete_atretention date is unaffected. - Retention date (
auto_delete_at) — New read-only field on signature request responses exposing the server-managed date on which the request and its documents are automatically deleted per the business's retention policy. Together withexpires_at, this replaces the former free-formexpiration_datefield.
Status
EXPIREDstatus — New terminalstatus_overallvalue, set when an owner-definedexpires_atpasses before all signers have signed.
Error handling
- Refined error
key— The optionalkeyon the Problem+JSON error envelope is now present for a broader set of errors that carry a stable code (PDF loading, malware detection, unsupported attachment types, rate-limit, authentication). Prefer matching onkeyover parsingmessage, which is not part of the stable contract. 404on withdraw/delete — The delete signature request endpoint (DELETE /signature-requests/{SR_ID}) now documents a404 Not Foundresponse.
See Error Handling for the full envelope schema.
