Errors and retries
API errors contain issue.code, issue.message and request_id. Keep the request ID when contacting support, and omit API keys and private upload URLs.
| Response | What to do |
|---|---|
401 |
Check the API key and X-API-Key header. |
403 |
Check the permitted browser origin and requested action. |
404 |
Check the saved verification ID and workspace. |
409 |
Read the issue and reconcile the existing request before retrying. |
422 |
Correct the specified headers, input or CSV defect. |
429 or 503 |
Respect Retry-After before retrying. |
Recover an uncertain creation
Section titled “Recover an uncertain creation”Save a UUID before the first creation request and send it as Idempotency-Key. If the response is lost, retry the same submission with that same identity and exact file length. The API can recover the existing verification instead of creating another one.
A new request identity creates another verification and can charge again. Resubmitting is not a polling or backend retry mechanism.
Resume a transfer or cancel work
Section titled “Resume a transfer or cancel work”Storage uploads use a separate resumable protocol. After a confirmed storage 200 or 201, continue polling the saved verification instead of uploading again. Follow the quickstart for incomplete transfers.
Use bodyless POST /v1/verifications/{id}/cancel to cancel remaining work. Settlement and refunds may continue while the job is cancelling. See the complete workflow for credit and recovery rules.