Standard error format & HTTP status codes: See Error Codes section above.
Authentication Errors:
  Partner ──Any request (missing/invalid key)──> API
         <── 401 Unauthorized { "detail": "Invalid API key" }
  Action: Verify key, check expiration, re-onboard if needed

Validation Errors:
  Partner ──POST /v1/onboard (invalid body)──> API
         <── 422 { "errors": { "name": ["required"] } }
  Action: Fix request payload per error details

Processing Failures:
  Partner ──GET /v1/documents/{id}/status──> API
         <── 200 OK { "status": "Failed", "errorMessage": "..." }
  Action: Check error, fix document, re-submit
Recommended Retry Strategy:
Attempt 1: Immediate
Attempt 2: Wait 1s
Attempt 3: Wait 5s
Attempt 4: Wait 30s
Max retries: 4
  • Retryable: 500, 502, 503, 504
  • Not retryable: 400, 401, 403, 404, 409, 422
Document Processing Failure Recovery:
Failure PointSymptomRecovery
Upload failed mid-transferNo documentId returnedRetry full submission
Processing stuckStatus stays Processing for >30 minPoll again; contact support if >1 hour
Partial item failureSome items ProcessedWithErrorFetch results for successful items; re-submit for failed controls (Coming Soon via Re-analysis)
All items failedStatus = FailedCheck errorMessage; fix document; submit again