API v1

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" }

When something fails

Every error returns the same shape: an HTTP status and a stable code in detail you can branch on.

codeStatusWhen
invalid_api_token401Malformed, unknown, revoked or expired token.
<scope>403The token lacks the scope for this call; detail names it, e.g. envelopes:send.
plan_feature_required:<feature>403The current plan does not include the feature (webhooks, bulk send…).
insufficient_credits:…402Valid operation, balance too low. The suffix says what is missing.
envelope_not_found404Resource does not exist in your organization (each resource has its own code).
idempotency_key_reused_with_different_payload409Same Idempotency-Key reused with a different payload.
not_a_pdf · corrupt · …422Uploaded file failed validation; nothing was created or charged.
rate_limited429Too many requests: wait for Retry-After and retry.

See the full error reference →

Frequently asked questions

Before your first send

There is no sandbox: an envelope sent with any token emails real signers and consumes credits. While you integrate, sign as yourself or a teammate, and call POST /envelopes/{id}/calculate-cost to see what a send will consume before you commit.