The support KPIs bucketed over time — the trend behind the operational-detail sparklines.
One point per UTC day (or per week when bucket is `Week`). Only the additive counters are bucketed — volume, resolution, containment, escalation, degrade, cost — with rates recomputed per bucket (null when the denominator is zero). The point-in-time gauges (operator load, awaiting) and time-to-human live on the rollup endpoint. `from`/`to` are Unix ms (half-open), defaulting to the last 30 days; `origin` filters spend only.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The Application (Network) id.
uuidThe tenant identifier
Query Parameters
Window start, Unix ms inclusive. Defaults to 30 days before to.
int64Window end, Unix ms exclusive. Defaults to now.
int64Bucket granularity (Day or Week). Defaults to Day.
"UNSPECIFIED" | "DAY" | "WEEK"Execution origin for spend attribution. Defaults to Production.
"UNSPECIFIED" | "PRODUCTION" | "TEST"Response Body
curl -X GET "https://api.fruxon.com/v1/tenants/string/networks/497f6eca-6276-4993-bfeb-53cbbbba6f08/supportKpis/timeseries"{
"networkId": "00000000-0000-0000-0000-000000000000",
"window": {
"fromMs": 0,
"toMs": 0
},
"bucket": "DAY",
"points": [
{
"bucketStartMs": 0,
"bucketEndMs": 0,
"conversations": 0,
"containedConversations": 0,
"containmentRate": 0,
"tickets": 0,
"resolvedTickets": 0,
"escalations": 0,
"escalatedConversations": 0,
"escalationRate": 0,
"degraded": 0,
"degradeRate": 0,
"overrideHits": 0,
"totalCostUsd": 0,
"costPerConversationUsd": 0,
"creditsCharged": 0
}
]
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Why the Application's conversations escalated over an optional window (defaults to the last 30 days).
Dead-ended escalation attempts by cause (summing to the rollup's `degraded`) with each cause's latest conversation, and the window's escalations grouped by the reason the agent gave — names and identifiers redacted (`redactionHits` counts them), grouped only when identical after that; groups holding a dead-end first, then most recent first — with how each group ended and the latest one's conversation, channel and agent. The operator queue keeps the reasons as written. Repeated attempts at one escalation count once; the queue's by-design requests and notifications, and lab rehearsals, are not escalations. `from`/`to` are Unix ms (half-open); all time is `from=0`. A window holding more escalation ledger rows than one read keeps is narrowed to its newest ones, and the response's `window` starts where they do.
Config/credential health across the caller's Applications, for the Mission control nav badge.
Distinct unhealthy LLM configs / credentials across every runnable (Active or Draining) agent in the Applications the caller can open — a shared broken default counts once. `configIssues` is the single number the badge shows; zero means nothing needs attention. Pure read of the health already persisted on the config rows by the execution path — no live probing. A caller with no accessible Application gets zeroes rather than a 403: the badge is ambient chrome, not a resource.