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

# Check Gateway Reliability and Status

> Check incidents, confirm a model is routable, interpret Gateway metrics, and validate Phaseo against your workload.

Use this guide when you need to answer one of three questions: is Phaseo healthy, is a model routable now, or does a route meet your application's reliability target?

## Check current service health

1. Open the [Phaseo status page](https://status.phaseo.app) for current incidents and incident history.
2. Call `GET /v1/health` for a minimal Gateway health check.
3. If one request failed, keep its request ID and inspect the activity or generation record before assuming the whole service is unavailable.

```bash theme={null}
curl https://api.phaseo.app/v1/health
```

```json theme={null}
{
  "status": "ok"
}
```

> [!NOTE]
>
> The public status page reports service health. Phaseo does not currently claim a contractual public uptime SLA.

## Confirm that a model is routable

The Phaseo catalog is broader than the set of models available through the Gateway. Catalog presence means Phaseo tracks the model; it does not mean a public route exists.

`GET /v1/models` returns only currently routable models by default:

```bash theme={null}
curl https://api.phaseo.app/v1/models \
  -H "Authorization: Bearer $PHASEO_API_KEY"
```

Use `availability=all` only when you intentionally want to inspect coming-soon or inactive mappings. Do not send production traffic to a provider row unless `availability_status` is `active` and `is_active_gateway` is `true`.

| State | What it means |
| - | - |
| `active` | At least one public Gateway route is available now. |
| `coming_soon` | Phaseo tracks a planned or preview route, but it is not publicly routable. |
| `inactive` | A known route is disabled, unavailable, expired, or otherwise not routable. |
| `not_listed` | No Gateway provider mapping is currently listed for the model. |

Availability does not guarantee perpetual uptime, access in every region, or identical commercial terms for every workspace.

## Interpret performance metrics

Phaseo performance data is observational: it summarizes requests routed through the Gateway rather than a controlled lab benchmark.

| Metric | Definition |
| - | - |
| Gateway TTFT | Gateway request start to the first content-bearing generated output. |
| Provider TTFT | Provider dispatch to the first content-bearing generated output. |
| Provider duration | Provider dispatch to the terminal response. |
| Gateway E2E | Gateway request start to completion. |
| Phaseo overhead | The non-negative difference between Gateway E2E and provider duration. |
| Effective throughput | All output tokens divided by full provider duration. |
| Output speed | Output tokens after the first divided by provider time after TTFT. |

TTFT and output speed require a streaming response with a content-bearing first output. A non-streaming request can still contribute duration and effective-throughput measurements without an invented TTFT.

Always read a metric with its time window, route, region, streaming mode, and percentile. Provider load, prompt length, output length, retries, and transport conditions can all change the result.

For the complete definitions, see [Pricing & Performance](https://phaseo.app/docs/v1/exploring/pricing-performance.md) and [How Phaseo measures latency and throughput](https://phaseo.app/how-phaseo-measures-latency-throughput).

## Validate with your workload

Public telemetry is directional evidence, not proof that a route meets your production target. Build a small, reproducible study before a rollout:

1. Remove sensitive production data and keep a representative prompt mix.
2. Record the model ID, endpoint, provider constraints, region, streaming mode, and concurrency.
3. Run enough repetitions to compare distributions rather than one request.
4. Capture success rate, Gateway TTFT, provider duration, Gateway E2E, output tokens, and final cost.
5. Test invalid keys, invalid models, rate limits, and unavailable-provider failures.
6. Save request IDs and the exact time window so another engineer can reproduce the result.

Do not publish a customer name, quote, workload result, or reliability percentage without permission and a documented method.

## Triage a failed request

* Check [service status](https://status.phaseo.app).
* Confirm the model still appears in the default `GET /v1/models` response.
* Review the HTTP status and error code in [Error Handling](https://phaseo.app/docs/v1/api-reference/errors.md).
* Retry transient `429` and `5xx` responses with bounded exponential backoff.
* Keep the request ID when contacting [support](https://phaseo.app/help).

## Related guides

* [Models API](https://phaseo.app/docs/v1/api-reference/endpoint/models.md)
* [Model endpoints](https://phaseo.app/docs/v1/api-reference/endpoint/model-endpoints.md)
* [Routing and Fallbacks](https://phaseo.app/docs/v1/guides/routing-and-fallbacks.md)
* [Rate Limits](https://phaseo.app/docs/v1/api-reference/limits.md)


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