Every error response uses a single envelope:Documentation Index
Fetch the complete documentation index at: https://docs.trycollate.ai/llms.txt
Use this file to discover all available pages before exploring further.
error.code to recover.
Error catalog
| Status | Code | Recovery |
|---|---|---|
| 400 | bad_request | Check the request shape. The most common cause is a malformed If-Match header. |
| 400 | final_submission_policy_required | Send policy.finalSubmission on create. |
| 401 | unauthorized | Check the Authorization header and the API key for the selected environment. |
| 404 | authorization_not_found | Authorization ID is unknown to the organization. |
| 404 | file_not_found | File ID is unknown to the organization. |
| 404 | provider_not_found | Provider NPI is not registered to the tenant. |
| 404 | payer_not_found | Payer ID is not in the catalog. |
| 409 | authorization_not_mutable | The authorization cannot be edited in its current state. Read the latest snapshot and follow status. |
| 409 | authorization_not_confirmable | /confirm was called while status was not requires_confirmation. |
| 409 | next_action_required | /confirm omitted nextActionId. |
| 409 | next_action_mismatch | The nextActionId is stale. Read the latest authorization and retry with the current ID. |
| 409 | next_action_not_confirmable | /confirm was called for provide_requirements. Resolve that action with PATCH /answers or POST /attachments. |
| 409 | requirements_not_satisfied | Outstanding blockers prevent confirmation. Patch answers and attach files. |
| 409 | review_stale | The final review snapshot no longer covers the current authorization. Read the latest snapshot and re-approve. See Final submission approval. |
| 409 | version_conflict | If-Match is stale. Read the latest authorization and retry with the current version. |
| 409 | file_not_ready | The referenced file has not reached ready. Wait for completion. |
| 409 | idempotency_key_reused | The same idempotency key was reused with a different request body. Use a new key. |
| 409 | unsupported_template_selection | No serviceable route exists for the requested provider, payer, state, and service code. |
| 422 | request_validation_failed | Request body, query parameters, headers, or portalAuthMode failed validation. The issues array points to each invalid field. |
Where to look first
Start with the latest authorization snapshot:- Read
status,nextAction, andversion. - Read
requirementsfor unresolved blockers. - Read
submission.payerReceiptandsubmission.decisionfor receipt and decision truth.
Common scenarios
Authorization stays in requires_input
At least one blocker is open. Inspect:
requirements.questions— unanswered or invalid questionnaire fieldsrequirements.documents— missing supporting documentsrequirements.issues— validation errors
PATCH /answers or POST /attachments.
Authorization never moves to requires_confirmation
Usual causes:
- a required canonical
linkIdwas never answered - the attachment was uploaded but never completed
- the file was completed but never linked
- the linked file did not include the required document type in
documentTypes
Authorization stays waiting_on_payer
waiting_on_payer means receipt is proven and the payer has the next move. It
is not an error. Keep reading the authorization until the payer responds with
more information needed or a terminal decision.
Asking for help
Email support@trycollate.ai and include:- environment (sandbox or production)
- authorization ID
- current
status,outcome, andversion - current
nextAction, if present submission.payerReceipt.referenceNumber, if present- approximate timestamp of the issue
- sanitized request or response details