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

# Status

> The inference gateway status page, what its readiness check tests, and the health endpoints of the other PlungeAI services.


## Status page

The inference gateway publishes a public status page at [https://gateway.plungeai.com/status](https://gateway.plungeai.com/status). It needs no API key. It shows one row per upstream provider the gateway can route to:

| Column | What it is |
|---|---|
| State | `operational`, `degraded` (under 95% of the last 24 hours' requests to that provider succeeded) or `outage` (the gateway has the provider marked out after repeated upstream failures and is routing around it) |
| Success (24 h) | The share of the last 24 hours' requests to that provider that did not end in a 5xx error |
| p50 TTFT ms (1 h) | The median time to first token over the last hour's requests that recorded one, in milliseconds |

A provider with no traffic in the window shows a dash. The same data is available as JSON at `https://gateway.plungeai.com/status.json`:

```json
{
  "generated_at": "2026-10-14T18:00:00.000Z",
  "providers": [
    { "provider": "openai", "state": "operational", "success_24h": 0.9998, "p50_ttft_ms_1h": 412 }
  ]
}
```

Both are aggregates across all customers. They never carry an organisation, key or request. The snapshot is recomputed at most once a minute.

## Readiness and liveness

| Endpoint | Answers |
|---|---|
| `GET https://gateway.plungeai.com/health` | Readiness. `200` when the gateway can serve, `503` when it cannot |
| `GET https://gateway.plungeai.com/healthz` | Liveness. Always `200` with a fixed body while the Worker runs; it touches nothing |

`/health` runs three checks at once and reports each one:

| Check | What it tests | On failure |
|---|---|---|
| `billing_db` | A query against the billing database that holds balances and request rows | `status: "down"`, HTTP 503 |
| `kv` | A read from the key-value store that holds rate-limit counters and routing state | `status: "down"`, HTTP 503 |
| `ratecard` | The age, in seconds, of the published rate card the gateway prices requests from | Older than 26 hours, or no publish time: `status: "degraded"`, HTTP 200 |

The body also lists `providers_out`: the providers currently marked out after upstream failures. A marked provider does not make the gateway unready; it shows `outage` on the status page.

```json
{
  "status": "ok",
  "service": "inference-gateway",
  "env": "production",
  "checks": {
    "billing_db": { "ok": true, "ms": 4 },
    "kv": { "ok": true, "ms": 2 },
    "ratecard": { "ok": true, "age_s": 3600 }
  },
  "providers_out": []
}
```

## Other health endpoints

| Service | URL |
|---|---|
| One API | https://api.plungeai.com/health |
| MCP server | https://mcp.plungeai.com/health and https://mcp.plungeai.com/v1/info |
| Skills site | https://skills.plungeai.com/health |
| Landing site | https://plungeai.com/health |

## Reporting a problem

If the status page shows every provider operational and your requests still fail, contact PlungeAI support with the `x-request-id` response header of a failing request.
