# Flow Developer Portal > Public developer portal for the Flow APIs. Hosts up-to-date OpenAPI references, token onboarding, integration best practices, and API lifecycle announcements. Single-fetch variant of this file (inlines overviews, token flows, best practices, and the v1 → CAPI migration summary): https://developer.joinflow.com/llms-full.txt Machine-readable announcements: https://developer.joinflow.com/announcements.json ## Customer API (CAPI) > Customer API — REST endpoints for integrations owned by a single Flow customer. Bearer JWT auth, base URL https://admin.joinflow.com/api/capi. The reference and OpenAPI spec are always current — fetched live from the upstream backend at request time. Status: Stable. - [Customer API (CAPI) overview](https://developer.joinflow.com/capi): audience, base URL, conventions, and recent announcements for this API. - [Get a CAPI token](https://developer.joinflow.com/capi/tokens): step-by-step JWT creation, where it's stored, how to send it. - [Customer API (CAPI) reference](https://developer.joinflow.com/capi/reference): interactive OpenAPI explorer with a "Test Request" feature (read-only, GET only). - [Customer API (CAPI) OpenAPI JSON](https://developer.joinflow.com/api/spec/capi): canonical machine-readable contract, fetched live from upstream. - [Customer API (CAPI) changelog](https://developer.joinflow.com/capi/changelog): structured, machine-generated diff of the upstream OpenAPI spec over time, with breaking changes flagged. ## Cross-cutting > Topics that apply across the APIs. Best practices is the right starting point for any new integration. - [Announcements](https://developer.joinflow.com/announcements): curated lifecycle notices — releases, breaking changes, deprecations — per API. - [Announcements (JSON)](https://developer.joinflow.com/announcements.json): same data as the HTML announcements page, structured for tooling. - [Best practices — Overview](https://developer.joinflow.com/best-practices): the integration-citizen contract — User-Agent, throttling policy, reach-out path. - [Best practices — Authentication](https://developer.joinflow.com/best-practices/auth): bearer flow, storage, rotation. - [Best practices — Traffic shape](https://developer.joinflow.com/best-practices/traffic): parallelism, pagination, polling cadences, caching. - [Best practices — Retries and errors](https://developer.joinflow.com/best-practices/retries): how to handle 4xx vs 5xx vs (eventual) 429; exponential backoff with jitter; idempotency on writes. - [Best practices — Schema and versioning](https://developer.joinflow.com/best-practices/schema): tolerate unknown fields, pin to versions, watch announcements. - [Best practices — Identify yourself](https://developer.joinflow.com/best-practices/identify): User-Agent format with contact info; what happens if you go silent. - [Fair use policy](https://developer.joinflow.com/fair-use): scope, acceptable use, telephony abuse, limits & enforcement, and how the policy applies to direct vs. operator-sold customers.