Electronic & digital signatures,
built for your product
Integrate legally binding signatures in minutes. Create envelopes with multiple documents, configure signer authentication, and receive events in real time over webhooks.
Copy, paste, run
Create your first envelope in the language you already use.
curl -X POST 'https://api.sign.quathos.com/api/v1/envelopes' \
-H 'Authorization: Bearer $QUATHOS_SIGN_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: 5c1f8b2e-...' \
-d '{
"title": "Service Agreement",
"signing_order": "parallel",
"expires_in_days": 30
}'Response: 201 Created · { "id": "…", "status": "draft" }
When something fails
Every error returns the same shape — an HTTP status and a stable detail code you can branch on.
| detail | Status | When |
|---|---|---|
unauthorized | 401 | Missing or invalid token. |
missing_scope | 403 | Token lacks the required scope. |
not_found | 404 | Resource does not exist in your tenant. |
conflict | 409 | Idempotency key reused with a different payload. |
unprocessable_pdf | 422 | Uploaded file failed validation. |
rate_limited | 429 | Too many requests — back off and retry. |
Frequently asked questions
What is an envelope?
An envelope is the signing transaction: one or more documents, the participants who must act on them, and the fields they fill or sign. You build it in draft, then send it to start the flow.
How do test and live tokens differ?
Every API token carries its environment. A test token operates on isolated test data and never sends real emails or consumes paid credits; a live token drives production. The environment is fixed at token creation.
How do I verify webhook signatures?
Each delivery is signed with HMAC-SHA256 over "{timestamp}.{raw_body}" using your endpoint secret. Recompute it and compare in constant time against the X-Webhook-Signature header, rejecting deliveries older than 5 minutes.
Do tokens expire?
Tokens are valid until you revoke them, unless you set an explicit expiry when creating one. The full secret is shown only once at creation — store it securely.
Test freely