Skip to content

Providers endpoints

GET /api/v1/projects/{project_id}/provider-incidents

Section titled “GET /api/v1/projects/{project_id}/provider-incidents”

Provider incidents

Incidents that overlap the window, newest first by (started_at, id).

An incident overlaps [from, to) when it started before to and had not been resolved by from (an open one has not ended). api_only (default true) keeps the incidents that touch the providers’ APIs. sources is every feed’s poll state, and polling says whether this server polls the feeds at all (PROVIDER_STATUS_POLLING_ENABLED).

Parameter In Type Required Notes
project_id path string (uuid) yes
provider query "anthropic" | "openai" | "google" or null no
api_only query boolean no Default true.
limit query integer no min 1, max 100 Default 50.
cursor query string or null no max length 512
from query string (date-time) or null no
to query string (date-time) or null no
Status Description Body
200 Successful Response application/json: IncidentListOut
422 Validation Error application/json: HTTPValidationError

GET /api/v1/projects/{project_id}/providers/errors/samples

Section titled “GET /api/v1/projects/{project_id}/providers/errors/samples”

Sample failed calls

The newest failed llm calls, with their provider error fields, newest first.

A window longer than 24 hours is cut to its last 24 hours and the answer says clamped: true. 422 VALIDATION_ERROR for an unknown error class or rate-limit kind.

Parameter In Type Required Notes
project_id path string (uuid) yes
provider query string or null no max length 64
error_class query ErrorClass or null no
rate_limit_kind query RateLimitKind or null no
environment query string or null no max length 64
limit query integer no min 1, max 50 Default 20.
cursor query string or null no max length 512
from query string (date-time) or null no
to query string (date-time) or null no
Status Description Body
200 Successful Response application/json: SamplesPage
422 Validation Error application/json: HTTPValidationError

GET /api/v1/projects/{project_id}/providers/errors/timeseries

Section titled “GET /api/v1/projects/{project_id}/providers/errors/timeseries”

Errors by class over time

Failed llm calls per UTC bucket and error class, one bucket per hour or day from the one holding from up to to; classes with no failures are absent.

Part of the provider health page, so it does not count a use of its own.

Parameter In Type Required Notes
project_id path string (uuid) yes
bucket query "hour" | "day" no Default "hour".
environment query string or null no max length 64
provider query string or null no max length 64
from query string (date-time) or null no
to query string (date-time) or null no
Status Description Body
200 Successful Response application/json: array of ErrorBucketOut
422 Validation Error application/json: HTTPValidationError

GET /api/v1/projects/{project_id}/providers/health

Section titled “GET /api/v1/projects/{project_id}/providers/health”

Provider health

llm calls, failures by error class, 429 kinds, retries and status page incidents per provider seen in the window, busiest first.

error_rate is a decimal string, null without calls. retry_cost_usd is null when any trace of the provider has an unknown retry cost (retry_cost_unknown); retry_cost_note says how retries are attributed. approximate is true when whole hours were read from the hourly rollups.

Parameter In Type Required Notes
project_id path string (uuid) yes
environment query string or null no max length 64
from query string (date-time) or null no
to query string (date-time) or null no
Status Description Body
200 Successful Response application/json: HealthReportOut
422 Validation Error application/json: HTTPValidationError

GET /api/v1/projects/{project_id}/telemetry-completeness

Section titled “GET /api/v1/projects/{project_id}/telemetry-completeness”

Telemetry completeness

Spans stored in the window against the spans counted as lost: by the gateway, rejected at ingest, and dropped or failed in the SDK.

completeness is stored / (stored + every loss) as a decimal string to four places, rounded down; null when nothing was stored and nothing lost. Losses are counted per hour, so an hour that only partly overlaps the window counts whole. lower_bound is true when both SDK failed and ingest rejections were counted, since a span the server rejected may be in both. Counts above 2^53 - 1 are sent as 2^53 - 1.

Parameter In Type Required Notes
project_id path string (uuid) yes
from query string (date-time) or null no
to query string (date-time) or null no
Status Description Body
200 Successful Response application/json: CompletenessOut
422 Validation Error application/json: HTTPValidationError