Documentation
Two ways to build on Atlas: the REST API from your code, or the MCP server from an AI agent. Both cover the full signing lifecycle.
OpenAPI spec · llms.txt · REST API · MCP
Base URL: https://api.atlaswork.ai
Authenticate with an organization API key (format atlas_sk_...). Create and revoke keys in the dashboard. Pass the key as a Bearer token or in the x-api-key header.
Create an envelope from a document. Atlas detects the signature fields and returns a review URL along with the envelope ID.
curl -X POST https://api.atlaswork.ai/api/v1/envelopes \
-H "Authorization: Bearer atlas_sk_..." \
-H "Content-Type: application/json" \
-d '{
"document": { "url": "https://example.com/nda.pdf" },
"participants": [
{ "name": "Alice Chen", "email": "alice@example.com" }
]
}'Then dispatch it. The first signer gets email once you call send.
curl -X POST https://api.atlaswork.ai/api/v1/envelopes/{id}/send \
-H "Authorization: Bearer atlas_sk_..." \
-H "Content-Type: application/json" \
-d '{}'Write endpoints accept an optional Idempotency-Key header so a retried request cannot create or send twice.
POST /api/v1/envelopes
Create an envelope from a document URL, base64 content, text, or a deferred upload. Returns the envelope and a review URL.
GET /api/v1/envelopes
List envelopes, newest first. Filter by status, paginate with a cursor.
GET /api/v1/envelopes/{id}
Read one envelope with participants, fields, and detection state.
GET /api/v1/envelopes/{id}/status
Poll signing progress: status, signed count, current signer.
PUT /api/v1/envelopes/{id}/draft
Update a draft: document name, participants, fields.
POST /api/v1/envelopes/{id}/send
Send the envelope. The first signer gets email.
POST /api/v1/envelopes/{id}/remind
Email the next pending signer. Rate limited.
POST /api/v1/envelopes/{id}/void
Cancel the envelope so it can no longer be signed.
GET /api/v1/envelopes/{id}/events
Read the envelope event log for lifecycle updates.
GET /api/v1/envelopes/{id}/extract
Get structured parties, dates, and signed field values from a completed envelope.
POST /api/v1/envelopes/{id}/upload/complete
Finish a deferred document upload and start field detection.
GET /api/v1/templates
List saved templates.
GET /api/v1/templates/{id}
Read a template with its roles and prefill keys.
POST /api/v1/templates/{id}/envelopes
Create an envelope from a template by assigning recipients to roles.
Atlas does not push webhooks today. Poll GET /api/v1/envelopes/{id}/status for progress or read the event log at GET /api/v1/envelopes/{id}/events.
Full request and response shapes live in the OpenAPI spec.
Endpoint: https://mcp.atlaswork.ai/mcp
A hosted MCP server over Streamable HTTP. Auth is OAuth 2.1 with PKCE and dynamic client registration: point your client at the endpoint, sign in when prompted, and approve the scopes. Agents prepare envelopes and return a review URL. A human clicks Send before any signer gets email.
mcp.json with { "url": "https://mcp.atlaswork.ai/mcp" } and complete the OAuth prompt in the browser.send_contract_for_review
Create a review-first envelope from text, a PDF or DOCX URL, a host attachment, or a deferred upload.
complete_upload_session
Finish a deferred upload after the user drops the file on the upload page.
send_contract_from_template
Create an envelope from a saved template by assigning signers to roles.
list_templates
List saved templates with names and IDs.
get_template
Read a template with its roles, prefill keys, and an example send call.
get_envelope
Read an envelope with participants, fields, and detection state.
check_signing_status
Poll signing progress: status, signed count, current signer.
list_envelopes
List envelopes with an optional status filter.
extract_contract_data
Get structured parties, dates, and signed field values from a completed envelope.
remind_signer
Email the next pending signer.
void_envelope
Cancel an envelope.