> ## 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.

# Migrating from Helicone AI Gateway

> Move an OpenAI-compatible Helicone proxy integration to Phaseo and replace the observability headers it no longer needs.

Use this guide when Helicone sits between your application and an AI provider. The main request change is usually small, but you should plan the observability cutover as carefully as the endpoint change.

## What changes

| Setting | Before | After |
| - | - | - |
| Base URL | Helicone proxy URL | `https://api.phaseo.app/v1` |
| Authentication | Provider key plus Helicone auth | `PHASEO_API_KEY` |
| Helicone headers | Added to requests | Removed |
| Request visibility | Helicone dashboard | Phaseo activity and request details |

**1. List the Helicone behavior you rely on**

Record custom properties, sessions, user identifiers, caching, rate limits, alerts, and dashboards that affect production operations. Do not assume proxy removal automatically recreates those workflows elsewhere.

**2. Replace the proxy configuration**

Point your OpenAI-compatible client at Phaseo and remove `Helicone-Auth` and other Helicone-specific headers.

```typescript TypeScript theme={null}
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.PHASEO_API_KEY,
  baseURL: "https://api.phaseo.app/v1",
});

const response = await client.chat.completions.create({
  model: "openai/gpt-4.1-mini",
  messages: [{ role: "user", content: "Reply with: migration ready" }],
});
```

```python Python theme={null}
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["PHASEO_API_KEY"],
    base_url="https://api.phaseo.app/v1",
)
```

```bash cURL theme={null}
curl https://api.phaseo.app/v1/chat/completions \
  -H "Authorization: Bearer $PHASEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4.1-mini",
    "messages": [{"role": "user", "content": "Reply with: migration ready"}]
  }'
```

**3. Move request visibility**

Use Phaseo activity, request IDs, provider attempts, and pricing details for operational debugging. If your team exports telemetry elsewhere, connect the matching [Observability](https://phaseo.app/docs/v1/guides/integrations/observability.md) integration before the cutover.

**4. Test and roll out**

Verify that requests complete without Helicone headers and that your team can still answer the operational questions it uses during incidents. Move traffic gradually once both inference and observability checks pass.

## Migration checklist

* The Helicone proxy URL and authentication headers have been removed.
* Production model IDs are verified against `GET /v1/models`.
* Required request metadata remains available in Phaseo or your telemetry stack.
* Alerts and dashboards have an intentional replacement where needed.
* Rollback remains a configuration-only endpoint and key change.

## Next steps

* [Observability](https://phaseo.app/docs/v1/guides/integrations/observability.md)
* [Provider Statuses](https://phaseo.app/docs/v1/guides/provider-statuses.md)
* [Error Handling](https://phaseo.app/docs/v1/api-reference/errors.md)


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