Skip to main content
If you are using ChatGPT, Claude, Codex, or another MCP-aware client, start with CapOut MCP. This page covers the direct REST API.

1. Authenticate REST calls

Include your API key as the capout-api-key header.

2. Upload a document

The upload API supports both a fetchable url and an inline file_base64 payload.
Inline base64 uploads use the same endpoint with a different request body:
See Upload a document for Python and Node.js examples that turn a local file into the file_base64 value. Store the returned document_id and use it to track workflow completion. This is the only public tracking ID; use it in /status/{document_id} and /{document_id}.esx, or follow the returned status_url and download URLs: Expected shape:
Store these clean CapOut download URLs. They are stable, even though the private S3 URL they redirect to is short-lived. Opening one before export completion returns 409.

3. Poll the document status

Typical response while work is still running:
After a successful export, the status response includes the same links:

4. Download an ESX file

The default link downloads the Contractor (8D) file. Use the Carrier link when you need the 5L profile:
The download route requires the same capout-api-key as upload. The document must belong to that key’s organization; never put the key in the URL or query string.

5. Switch to realtime updates

Mint a short-lived token, then connect with SSE or WebSocket.
Browser-friendly SSE example:

6. Check remaining claims

Next: