E-signature API
Atlas exposes a REST API for creating envelopes, reviewing fields, sending to signers, and downloading signed PDFs. PDF and DOCX are supported on every create path.
Base URL
All routes live at https://atlaswork.ai/api/.
Authenticate with Authorization: Bearer <api_key>. Generate keys in Dashboard → Settings.
Create
POST /api/envelope accepts:
| Transport | Content-Type | Body |
|---|---|---|
| File upload | multipart/form-data | file, optional parties[] |
| Base64 | application/json | document, optional parties[] |
| Remote URL | application/json | document_url, optional parties[] |
Response:
{
"envelope_id": "uuid",
"review_url": "https://atlaswork.ai/review/uuid?rt=..."
}
Field detection runs asynchronously. Poll GET /api/envelope/{id} until fields_status is ready, failed, or recovered_empty. Do not send while status is pending.
Review and send
Open review_url in a browser. Confirm field placement and party binding. Then:
POST /api/envelope/{id}/send
{
"parties": [
{ "email": "jane@example.com", "name": "Jane Signer", "role": "Customer" }
]
}
Send consumes one credit. Drafts are free.
Read and poll
GET /api/envelope/{id}— full envelope stateGET /api/envelope/{id}/status— lightweight signing progressGET /api/envelopes— list with optional status filter
Lifecycle actions
POST /api/envelope/{id}/void— cancel pending envelopePOST /api/envelope/{id}/decline— signer decline pathPOST /api/envelope/{id}/remind— nudge next unsigned signerPATCH /api/envelope/{id}/fields— update fields (requiresfields_version)
Webhooks
Set webhook_url at create. Verify X-Atlas-Signature: sha256=HMAC(raw_body, api_key).
Events: envelope.sent, envelope.signed, envelope.declined, envelope.voided, contract.extracted.
Idempotency
Pass Idempotency-Key header on create and send. Keys dedupe within 24 hours.
Templates
Repeat sends: POST /api/templates/{id}/send. Do not pass template_id to envelope create (returns 400).
Platform mode
Platform API keys provision connected accounts via POST /api/platform/connected-accounts. Scope requests with Atlas-Account: ext_<id>.
OpenAPI and agents
Machine-readable spec: /openapi.json. Agent instructions: /llms.txt.
Compare vendors at /compare. MCP setup at /mcp/getting-started.
Error codes you will see
| Code | Meaning |
|---|---|
| 402 | No credits remaining at send time |
| 409 | Version mismatch, or send while fields pending |
| 400 | Invalid body, unsupported field, or rejected param |
Multi-party signing
Parties sign in order. Each party gets a tokenized sign_url with ?t=<token>. Signers only see fields assigned to their party.
Document formats
Upload PDF or DOCX. DOCX converts to PDF at create. Signed output is always PDF with audit certificate when complete.