Choose a profile
CapOut records the
profile_code supplied with your upload. Use the download URL’s profile parameter to select the Contractor or Carrier file.
Download from an authenticated client
Send the same organization-scopedcapout-api-key used for upload, status, and
document history. Do not put the key in the URL or a query parameter.
Re-download without another claim
Downloading an existing export is free. Request the same stable.esx URL with
a valid API key for the document’s organization whenever you need the file again.
Downloading both Contractor and Carrier files does not consume additional claims.
If a signed S3 URL expires, request the stable CapOut URL again to receive a fresh
signature. This does not start another conversion or charge another claim. Do not
re-upload the PDF just to retrieve an existing export.
Use the upload response document_id in the URL, not an internal workflow or ESX
task ID. A bare browser link cannot authenticate: the request needs the
capout-api-key header.
Test-key downloads
New successful test-key exports generate real Contractor and Carrier ESX files with zero claims consumed and no XactNet delivery. Download them through the same authenticated URLs. Historical mock test exports have no generated artifact and may returnESX_PROFILE_NOT_AVAILABLE; they do not become real files retroactively.
How the stable redirect works
- Your integration stores the clean
api.capout.aiURL returned by CapOut. - The client requests the link with
capout-api-key. - CapOut validates the key and verifies that the durable document belongs to its organization.
- CapOut prepares a signed download URL for the selected Contractor or Carrier artifact.
- The route returns a non-cached
307redirect to a signed private S3 URL. - The S3 signature expires after 15 minutes, while the original CapOut link remains stable and can issue another fresh redirect later.
Readiness and errors
The clean links are returned immediately after upload so you can store them with the job. They become downloadable only after ESX generation completes.
Wait for
export.completed, or for GET /status/{document_id} to report a completed export, before presenting the link as ready. A client that opens it early can retry after receiving 409.
Where the links appear
The same stable URLs are available from:POST /uploadGET /status/{document_id}underexportGET /documentsunder each document’sexport- realtime
export.completedevents - CapOut MCP processing, status, and waiting tools