Llm Models Models Status Retrieve

GET/POST /api/models/<model_name>/status/ (Public API — **auth optional**) GET/POST /api/llm_models/models/<model_name>/status/ (Platform) Per-model status resource for the exact logged model string in the URL path, over an absolute UTC ``[start_time, end_time)`` range, bucketed by ``time_tick`` (minute / hour / day). Returns four things (see ``ModelStatusResponseSerializer``): - ``data`` — per-provider uptime time series (per-attempt grain). Scoped to ``provider_id`` when that filter is supplied, else cross-provider. - ``respan_uptime`` — request-grain "via Respan" uptime time series: one verdict per client call (UP if ANY retry/fallback attempt succeeded), so it reflects failover and sits at/above the per-provider line. Omitted for provider-filtered requests because it is inherently cross-provider. - ``metrics_series`` — per-bucket performance metrics over the window (tps, ttft, latency, cache-hit %, + admin-only counts/cost), so the other metrics can be plotted over time just like uptime. Scoped to ``provider_id`` when that filter is supplied, else cross-provider. - ``status`` — scalar model-wide summary over the window (uptime %, tps, ttft, latency, cache-hit %, catalog input list price). Omitted when a ``provider_id`` filter is supplied (it is cross-provider). Redaction: public/regular callers get only normalized rates/percentages plus the catalog list price; staff/superadmins additionally get volume scalars (request/down counts, total cost) — those are withheld from the public so competitors can't infer platform traffic/revenue from counts × price. The model is the URL path segment (``<path:model_name>``) so provider-prefixed identifiers (e.g. ``vertex_ai/gemini-1.5-pro``) survive routing; the filters (``provider_id``, ``time_tick``, range) stay query/body params.

Authentication

AuthorizationBearer
JWT access token or Respan API key

Path parameters

model_namestringRequired

Query parameters

end_timestringRequired>=1 character
provider_idstringOptional>=1 character
start_timestringRequired>=1 character
time_tickenumOptionalDefaults to day
* `minute` - minute * `hour` - hour * `day` - day
Allowed values:

Response

modelstring
The model string from the URL path.
time_tickenum

Time-bucket size of the series (minute / hour / day).

  • minute - minute
  • hour - hour
  • day - day
start_timedatetime

Window start (UTC, inclusive).

end_timedatetime

Window end (UTC, exclusive).

datalist of objects

Per-provider uptime time series (per-attempt grain). Scoped to provider_id when that filter is supplied, else cross-provider.

provider_idstring or null

Echo of the provider_id filter, if one was supplied.

respan_uptimelist of objects

Request-grain ‘via Respan’ uptime time series: one verdict per client call, UP if ANY retry/fallback attempt succeeded. Reflects failover, so it sits at or above the per-provider data line. Same bucket shape as data. Omitted when a provider_id filter is supplied because the series is cross-provider.

metrics_serieslist of objects

Per-bucket performance metrics over the window (tps, ttft, latency, cache-hit %, + admin-only counts/cost) — the other metrics plotted over time like uptime. Scoped to provider_id when that filter is supplied, else cross-provider. Volume fields within are admin-only.

statusobject

Scalar model-wide status over the whole window (uptime %, throughput/latency, cache-hit %, catalog list price). Omitted when a provider_id filter is supplied (it is cross-provider). Volume fields within are admin-only.