Documents
Documents are the PDFs your signers act on. Upload a file, wait for it to become ready, then attach it to an envelope.
The document object
| Field | Type | Description |
|---|---|---|
id | uuid | Unique identifier of the document. |
filename | string | Original file name. |
status | enum | uploaded · processing · ready · quarantined · failed. |
created_at | datetime | Upload timestamp (UTC). |
Upload a document
POST
/documentsSend the file as multipart/form-data under the file field. Requires the documents:write scope.
curl -X POST 'https://api.sign.quathos.com/api/v1/documents' \
-H 'Authorization: Bearer $QUATHOS_SIGN_TOKEN' \
-F 'file=@contract.pdf'Upload is fail-closed
Every upload is validated before it counts. Anything that fails validation is quarantined — no
usable document is created and no credit is consumed. A quarantined file surfaces as
422 unprocessable_pdf or as status quarantined.List & retrieve
GET
/documentsLists your documents. Requires documents:read.
GET
/documents/{id}Returns a single document, including its current status. Requires documents:read.
Download
GET
/documents/{id}/downloadReturns a short-lived signed URL to fetch the file — storage is never exposed directly. Requires documents:read.
response
{
"url": "https://…/download?signature=…",
"expires_at": "2026-07-21T14:08:22Z"
}Short-lived by design
Signed URLs expire quickly. Fetch the file promptly, or request a fresh URL when you need it
again — don't cache or share the URL.