Quickstart
From an API token to a sent envelope in five steps. Use a test token — it runs on isolated data and never emails real signers.
Before you start
Create a test token in the dashboard under Settings → API tokens with the
documents:write, envelopes:write and envelopes:send scopes.
See Authentication.1. Set your token
Terminal
export QUATHOS_SIGN_TOKEN="qsign_test_..."
export BASE="https://api.sign.quathos.com/api/v1"2. Upload a document
Upload the PDF your signer will act on. It processes asynchronously to ready.
Terminal
curl -s -X POST "$BASE/documents" \
-H "Authorization: Bearer $QUATHOS_SIGN_TOKEN" \
-F "file=@contract.pdf"
# → { "id": "c3d4...", "status": "processing" }3. Create an envelope
Create the envelope in draft — you'll assemble it next.
Terminal
curl -s -X POST "$BASE/envelopes" \
-H "Authorization: Bearer $QUATHOS_SIGN_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "title": "Service Agreement", "expires_in_days": 14 }'
# → { "id": "6b1d...", "status": "draft" }4. Assemble it
Attach the document and add a signer. That is the whole assembly step.
Terminal
# attach the document
curl -s -X POST "$BASE/envelopes/6b1d.../documents" \
-H "Authorization: Bearer $QUATHOS_SIGN_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "id": "c3d4..." }'
# add a signer
curl -s -X POST "$BASE/envelopes/6b1d.../participants" \
-H "Authorization: Bearer $QUATHOS_SIGN_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "Maria Silva", "email": "maria@example.com",
"auth_method": "otp_email", "modality": "avancada" }'
# that is all — no coordinates to compute. The envelope is ready to send.Where does the signature appear?
Envelopes created with an API token are delivered with the PDF untouched — byte for byte as you
uploaded it — and every signature recorded on an evidence report attached at the end of the signed
package, with date, IP, authentication and the document SHA-256. There are no coordinates to
compute. If you do want the signature stamped at a specific spot, create the envelope with
"field_placement": "fields" and see Add fields.5. Send
Send the envelope. Your signer gets a secure link to authenticate and sign.
Terminal
curl -s -X POST "$BASE/envelopes/6b1d.../send" \
-H "Authorization: Bearer $QUATHOS_SIGN_TOKEN"
# → the signer receives an email with a secure signing linkNext steps
- Subscribe to webhooks to learn the moment the envelope completes.
- Explore every field and endpoint in the Envelopes reference.
- Handle failures with the error reference.