exa-common-errors
Exa Error and Status Decision Tree
Overview
Classify Exa failures by HTTP status, error tag, endpoint, and per-item crawl status before deciding whether to repair, retry, or escalate. Treat credentials, queries, retrieved content, generated output, spend, and destructive state as separately governed boundaries.
Prerequisites
- The target repository, environment, Exa team, product surface, and accountable owner.
- The workload's data classification, latency and freshness promise, cost ceiling, and retention policy.
- Current first-party documentation plus credentials only for a narrowly approved live check.
Current Contract
Documented errors distinguish invalid requests, authentication, exhausted credits or budgets, access policy, per-URL crawl failure, rate limiting, service overload, and Answer generation failure. Most errors include requestId, error, and tag; 429 can use a simpler body. Contents also reports granular statuses inside a successful response.
Authentication
For normal REST work, inject EXA_API_KEY from an approved server-side secret manager and send it only as Authorization: Bearer to the configured first-party Exa API host. Team Management service keys, hosted MCP OAuth or enterprise managed authorization, and payment-protocol calls are separate trust models. Never print, commit, place in a URL, or expose a credential to an untrusted client.