exa-reliability-patterns
Exa Reliability and Retry Design
Overview
Design bounded Exa retries, deadlines, partial-result behavior, and tested fallbacks by endpoint and failure class. 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
Retryability depends on status and operation. Invalid 400, auth, policy, and billing failures require repair; 429 honors Retry-After; documented transient server or overload failures can use capped jitter. Asynchronous creates and destructive calls require identity and state checks before replay.
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.