---
title: "Provider connection health"
method: GET
path: "/api/v1/providers/health"
tags: ["providers"]
---

# Provider connection health

`GET /api/v1/providers/health`

## Request

- Base URL: `https://cp.xenovia.io` (the document declares no server; this is the origin it was published from)
- URL: `https://cp.xenovia.io/api/v1/providers/health`
- Auth: none declared

Every provider connection of the organisation over the window, from
telemetry: upstream attempts by any agent, failures with a failure class
the runtime fails over on, the last one, and a status (``failing`` at a
failure rate of 50% or more, ``degraded`` at 10% or more, each with at
least 5 attempts; ``idle`` without attempts; else ``healthy``).
``available: false`` with no entries when telemetry cannot be read.

## Query parameters

- `window` '15m' | '1h' | '24h': 15m, 1h or 24h

## Headers

- `Authorization` string, nullable

## Response `200`

Successful Response

- ProviderHealthRead: GET /providers/health: every provider connection of the organisation over a window, from telemetry. ``available`` is false (and the list empty) when the telemetry store cannot be read.
  - `window` '15m' | '1h' | '24h', required
  - `available` boolean
  - `providers` ProviderHealth[]
    - `provider_id` string, uuid, required
    - `attempts` integer, required
    - `failures` integer, required
    - `failure_rate` number, required
    - `last_failure_at` string, date-time, nullable
    - `status` 'healthy' | 'degraded' | 'failing' | 'idle', required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-04** `b475b750a0b7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/xenovia/apis/controlplane/changes/api/v1/providers/health/get.md)

---

[API](https://skmtc.dev/xenovia/apis/controlplane.md) - [All operations](https://skmtc.dev/xenovia/apis/controlplane/llms.txt) - [OpenAPI document](https://skmtc.dev/xenovia/apis/controlplane/revisions/3e25bef24f8f?raw)
