- before the authorization is created
- while answers or documents are still missing
- during preview or submit
- after the submission enters async processing
Authentication errors
401 or 403
This usually means the wrong API key is being used for the selected environment.
Check:
- sandbox key against
https://api.sandbox.trycollate.ai - production key against
https://api.trycollate.ai Authorization: Bearer <API_KEY>is present on every request
Authorization stays in needs_input
needs_input means Collate still sees one or more blockers.
Check the authorization’s requirements object for:
- missing required questionnaire answers
- required supporting documents
- blocking issues
- open requests for additional information that still need resolution
Preview is not submittable
If preview returnssubmittable = false, the authorization is not ready to submit yet.
Review:
requirements.questionsrequirements.documentsrequirements.issues
Submission attempt stays pending
Submit is asynchronous.
After POST /submit, poll the returned submissionAttemptId until the attempt becomes:
completedfailed
pending, keep polling and avoid re-submitting the same case unless you are intentionally creating a new submission action.
Submission attempt failed
When a submission attempt fails, the authorization returns to a submittable state after failure cleanup. Review:- the latest authorization state
- current
requirements - recent timeline entries
A case moves to action_required
action_required means the payer requested more information before making a decision.
Resolve the action by:
- reviewing the authorization timeline and action details
- attaching any required documents
- sending the action-resolution request with the required attachment IDs
ready_to_submit.
Unsupported template selection
If you receive anunsupported_case style error, your routing input did not match a supported payer template.
Double-check:
- payer identifier
- plan type
- insurance state
- service code and code system
Need more help?
Gather this context before escalating:- environment used
- endpoint and request timestamp
- authorization ID, if one exists
- submission-attempt ID, if one exists
- sanitized response payload or error body