Quathos Sign developer docs
Quathos Sign collects electronic and digital signatures on your documents, with a chained evidence trail for every signer. The public API is REST over JSON, versioned in the path (/api/v1). Requests and responses are JSON, timestamps are UTC in ISO 8601, and identifiers are UUIDs you can store as opaque strings. Every call carries a bearer token, and the token alone decides which organization it acts on.
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: $(uuidgen)" \
-d '{
"title": "Service Agreement",
"signing_order": "parallel",
"expires_in_days": 30
}'Response: 201 Created · { "id": "…", "status": "draft" }
Jump straight to what you need.
postMessage events back to your page. API reference An envelope is the signing transaction: the documents, the people who act on them, and the fields they fill or sign. You assemble it in draft, then send it to start the flow. Events Instead of polling, register an endpoint and we push events to it as they happen — an envelope is completed, a participant signs, a document is ready. Every delivery is signed so you can trust it.When something fails
Every error returns the same shape: an HTTP status and a stable code in detail you can branch on.
| code | Status | When |
|---|---|---|
invalid_api_token | 401 | Malformed, unknown, revoked or expired token. |
<scope> | 403 | The token lacks the scope for this call; detail names it, e.g. envelopes:send. |
plan_feature_required:<feature> | 403 | The current plan does not include the feature (webhooks, bulk send…). |
insufficient_credits:… | 402 | Valid operation, balance too low. The suffix says what is missing. |
envelope_not_found | 404 | Resource does not exist in your organization (each resource has its own code). |
idempotency_key_reused_with_different_payload | 409 | Same Idempotency-Key reused with a different payload. |
not_a_pdf · corrupt · … | 422 | Uploaded file failed validation; nothing was created or charged. |
rate_limited | 429 | Too many requests: wait for Retry-After and retry. |
Frequently asked questions
Before your first send