Status. Every route, checked hourly. Last 30 days.

GET https://api.uplinkswitch.com/v1/status

All routes operational. checked Oct 19, 2026, 1:52 AM, probes every hour

  • APIOperational536 ms
  • ClaudeOperational5312 mslast incident Oct 16
  • GPTOperational2357 mslast incident Oct 18
  • GeminiOperational2848 mslast incident Oct 17

Backup route test · daily

  • Claude, Anthropic formatBackup route answered on Oct 18, 2026, 6:30 AM UTC, 8215 ms.
  • GPT and others, OpenAI formatBackup route answered on Oct 18, 2026, 6:30 AM UTC, 3710 ms.
  • GeminiBackup route answered on Oct 18, 2026, 6:30 AM UTC, 2295 ms.

What is checked

Probes run every hour, at seven minutes past, UTC. Each one writes a row per route, and this page reads the last 30 days of rows.

API checks that the gateway can build its model catalog, the same list GET /v1/catalog returns. It passes when the list has models in it.

Claude, GPT and Gemini each send the smallest real request their format allows: the word "ping" with a one-token answer, in the Anthropic, OpenAI or Gemini format. It goes to the host the router would try first for that format. Any 2xx answer within 20 seconds is a pass. Probes do not pass through the proxy and are not billed to any account.

Where a route has a second host, the one the router falls back to is probed every hour too. Those results are not shown here. Once a day at 06:30 UTC, the backup route test above sends one real request through the router's own code to that fallback host, as it would after the first host failed.

What each state means

Operational
The latest probe passed and none failed in the past six hours.
Degraded
The latest probe passed, but at least one failed in the past six hours. A single failed hour clears after six passing probes.
Down
The latest probe failed: an error status, no answer within 20 seconds, or, for API, an empty catalog.
No checks yet
No probe has run for this route in the last 30 days.

Each bar is one UTC day, with that day's checks and failures. An incident shows the HTTP status the host returned, or "no answer". A host's own error text is kept off this page.

During an incident

  • For models UplinkSwitch serves, when a host answers with a 5xx or 429, the router tries the next host for that model. Your price stays the same whichever host answers.
  • Every response, including errors, carries an x-uplink-request-id header. Keep it; it is how we find your request.
  • A 429 with a retry-after header says how many seconds to wait before trying again.
  • If a request fails and this page shows every route operational, send us the request id.
The same data is public JSON at https://api.uplinkswitch.com/v1/status: no key, readable from any origin, cached for 60 seconds. Point your own monitoring at it. For a daily check that each model is the one named, see the proof page.