HTTP policy
Common authentication codes are
missing_api_key, invalid_api_key, and missing_api_key_scope. Validation codes begin with developer_v3_search_ or developer_v3_enrich_ and identify the affected contract.
Async failures
An accepted request can later finish with a failed result. These failures appear inside the resource rather than as an HTTP error:completed_with_errors is a terminal aggregate with usable results. Keep every ready result and handle failed items individually. Treat failed as a terminal search with no ready results.
For Enrich, stop polling on completed or failed. The server-generated request_id is the status handle for accepted work.
Safe retry pattern
- Let Orbit generate request IDs. Persist the returned
search_idor Enrichrequest_idafter the POST succeeds. - Retry transport,
429, and temporary server failures with backoff. Use an optionalIdempotency-Keyheader when duplicate POSTs must be prevented. - Honor
Retry-Afterwhen present. - Use exponential backoff with jitter for both POST retries and polling.
- Stop polling on every terminal status.
