Errors
A completed determination describes evidence support. All four determinations return 200 completed. A POST 202 in_progress is accepted work, not an error. GET returns HTTP 200 for stored in_progress, completed, and failed states, so always inspect status.
Frozen HTTP mappings
| HTTP | Meaning | Response |
|---|---|---|
401 | Missing/invalid credential, including credential lookup failure. | Check authentication. |
403 | Revoked, expired, wrong-client credential, or unauthorized organization. | Check the credential and organization with support. |
404 | Missing or cross-organization GET ID. | Check the saved validation ID and organization. |
409 | Payload/idempotency conflict, active duplicate without async acceptance, or a failed execution that cannot reuse this key. | Reconcile identity and state; see Idempotency. |
422 | Invalid request, path, or header schema. | Correct input using the API Reference. |
429 | Credential rate limit or enforced VU capacity exhausted. | Inspect usage and Retry-After when present. |
500 | Sanitized direct evaluation/internal failure. | Preserve request identity and investigate; unhandled errors may be plain text. |
502 | Source Inspection failure. | Inspection fails closed, with no completed determination or VU charge. |
503 | State, accounting, or retrieval unavailable; hybrid evaluation unavailable/interrupted. | Preserve identity; reconcile availability before another attempt. |
504 | Hybrid upstream timeout. | Inspect the stored failure through GET when an ID is available. |
Direct qualified provider failures retain the compatible 500 mapping; 504 describes hybrid timeout behavior.
Sanitized hybrid failures
A ValidationExecutionFailure contains validation_id, status: "failed", and error with code and message.
error.code | POST HTTP | GET HTTP |
|---|---|---|
upstream_timeout | 504 | 200 |
provider_unavailable | 503 | 200 |
inspection_failed | 502 | 200 |
execution_interrupted | 503 | 200 |
capacity_exhausted | 429 | 200 |
internal_failure | 500 | 200 |
Other errors commonly use detail; 422 uses a structured validation-error body. Parse defensively and handle plain text. Do not depend on provider exception internals or turn execution failure into determination: "uncertain".
A transport failure may leave the outcome unknown. Retrieve by ID or deliberately replay the same request/key according to Idempotency. Do not blindly retry POSTs with a new key.
Advanced workflows
Technical Session, generation, workflow, and artifact routes retain route-specific errors and review metadata. A successful workflow may still require human review or have a skipped action. Consult its operation in the API Reference; those workflow states do not replace VI determinations.