Your quickstart works. Before you send real volume, go through this checklist. Each item links to the page with the details.

Checklist

  • API key stored as a secret, and sent to the host of the region that issued it (Regions)
  • Long-running work tracked by polling, with callbacks as an optional speed-up, never the only signal (Async jobs)
  • Callback handler answers fast and tolerates duplicate or missing events (Processing callbacks)
  • Every write sends an Idempotency-Key, and you know which endpoints ignore it (Idempotent requests)
  • Errors logged with code and X-Request-Id (Errors)
  • Client reads the RateLimit headers and waits Retry-After on a 429 (Rate limits)
  • Bulk reads use cursor pagination (Pagination)
  • Incremental syncs use updatedAfter with a stored watermark (Incremental loading)
  • Client ignores response fields and status values it doesn’t recognize, and logs Deprecation headers (Versioning)
  • You watch status.file.ai and the Changelog
If something fails, start with Troubleshooting.