Documentation

Atlas API and MCP

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

REST API

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 and send a contract

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.

Envelope endpoints

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.

Template endpoints

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.

MCP server

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.

Connect a client

  • Claude: Settings, then Connectors, then Add custom connector. Paste the endpoint URL and sign in.
  • ChatGPT: Settings, then Connectors, then Create. Paste the endpoint URL and complete the OAuth prompt.
  • Cursor: add the server to mcp.json with { "url": "https://mcp.atlaswork.ai/mcp" } and complete the OAuth prompt in the browser.

Tools

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.