> ## Documentation Index
> Fetch the complete documentation index at: https://phaseo.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Phaseo Gateway base URL: https://api.phaseo.app/v1. Send `Authorization: Bearer $PHASEO_API_KEY` with every request.
> Model IDs look like `provider/model`, for example `openai/gpt-6-astra`. Do not guess IDs: list them with `GET /v1/models` or check https://phaseo.app/models. `phaseo/free` routes to an available free model and needs no wallet balance.
> For new text integrations prefer `POST /v1/responses`. `POST /v1/chat/completions` (OpenAI format) and `POST /v1/messages` (Anthropic format) suit existing code.
> The full API contract is https://phaseo.app/docs/openapi/v1/openapi.yaml. Official SDKs: `@phaseo/sdk` (TypeScript) and `phaseo` (Python), plus Go, C#, PHP, Ruby and Rust.
> Search these docs over MCP at https://phaseo.app/docs/mcp, and install Phaseo skills with `npx skills add https://phaseo.app/docs`. If a page is wrong or out of date, report it with the MCP `submit_feedback` tool.
> Manage Phaseo accounts with the `phaseo` CLI (`npm install -g @phaseo/cli`, then `phaseo login` or `phaseo login --device-code`), the `/v1` Management API or the MCP server at `https://mcp.phaseo.app/mcp?access=manage`. Do not send users to the dashboard for account tasks. A person is still needed for sign-up, approving a sign-in, paying the first top-up on the checkout link that `phaseo credits add` returns when no card is saved, confirming each saved-card top-up from the emailed link, and account security (password, MFA, passkeys). Create API keys with `phaseo keys create --name <name> --json`; never guess one. Credit top-ups need `phaseo login --scopes billing:write` first. Task map: https://phaseo.app/docs/v1/developers/manage-from-an-agent.md.

# Migration Readiness Review

> Decide whether an existing gateway workload is ready to move to Phaseo.

Use this review before planning a gateway cutover. It focuses on the behaviors that can change even when both platforms accept OpenAI-compatible requests.

## 1. Inventory the integration boundary

Record every place the current gateway appears:

* base URLs and API key environment variables
* SDK initialization and custom headers
* model IDs and fallback models
* provider ordering, allowlists, and privacy requirements
* streaming, tool-calling, and structured-output code
* batch jobs, files, webhooks, and async status polling
* request attribution and user or session metadata

Keep this inventory beside the rollout plan so reviewers can verify that the migration does not leave a second, hidden configuration path behind.

## 2. Classify each capability

For each production behavior, assign one status:

| Status | Meaning |
| - | - |
| Unchanged | The same request field and response behavior have been verified. |
| Mapped | Phaseo supports the result through a different field or configuration. |
| Adapted | A compatibility layer translates the request or response. |
| Not supported | The workload must remove the dependency or remain on its current path. |
| Not verified | Support may exist, but production-like evidence is still missing. |

Use the [Migration Feature Checklist](https://phaseo.app/docs/v1/migration-guides/feature-parity-matrix.md) to cover core requests, routing, attribution, async work, and operations.

## 3. Validate representative traffic

Build a small test set from real workload patterns without copying sensitive production data.

Test:

1. One normal request for every endpoint in use.
2. Streaming through the same client path used in production.
3. Tool calls and structured outputs with realistic schemas.
4. Every provider or privacy constraint.
5. Invalid keys, invalid models, rate limits, and unavailable-provider failures.
6. Batch or async jobs through terminal success, failure, and cancellation states.

Compare output quality, latency, token usage, selected provider, and final cost. Record the request ID for each result so it can be inspected in Gateway usage.

## 4. Preserve attribution and observability

Keep app attribution headers when they describe the calling application. Phaseo supports stable app IDs, names, URLs, and categories; removing them during migration makes cost and usage comparisons harder.

See [App Attribution](https://phaseo.app/docs/v1/guides/app-attribution.md) for the supported headers and category values.

## 5. Roll out with a reversible switch

Start with development and internal traffic. Move a small production percentage only after the test set passes, and keep rollback limited to endpoint and credential configuration until results are stable.

Do not combine the initial cutover with unrelated prompt, model, or routing optimization. Make those changes after the gateway boundary is verified.

## Platform-specific guides

* [OpenAI SDK](https://phaseo.app/docs/v1/migration-guides/from-openai.md)
* [Anthropic SDK](https://phaseo.app/docs/v1/migration-guides/from-anthropic.md)
* [OpenRouter](https://phaseo.app/docs/v1/migration-guides/from-openrouter.md)
* [Vercel AI Gateway](https://phaseo.app/docs/v1/migration-guides/from-vercel.md)
* [LLMGateway](https://phaseo.app/docs/v1/migration-guides/from-llmgateway.md)
* [LiteLLM](https://phaseo.app/docs/v1/migration-guides/from-litellm.md)
* [Cloudflare AI Gateway](https://phaseo.app/docs/v1/migration-guides/from-cloudflare.md)
* [Helicone AI Gateway](https://phaseo.app/docs/v1/migration-guides/from-helicone.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.