The app's statement for a billing period.
What finished this billing period, in the ledger's own unit, against the app's price card: the flat part, the included volume, and the overage. A period is a month counted from the day the app went on its card. An app on credits gets a statement with no card, no period and no lines, which is how a client tells "nothing to bill" from "not found"; a card scheduled to start is named as upcoming. Provisional until the period has ended and its last day has been finalized.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The app id.
uuidThe tenant identifier
Query Parameters
Any instant (Unix ms) in the period wanted; omit for the period in progress.
int64Response Body
curl -X GET "https://api.fruxon.com/v1/tenants/string/networks/497f6eca-6276-4993-bfeb-53cbbbba6f08/statement"{
"networkId": "00000000-0000-0000-0000-000000000000",
"appName": "string",
"periodStartMs": 0,
"periodEndMs": 0,
"card": {
"effectiveFromMs": 0,
"endsAtMs": 0
},
"upcomingCard": {
"effectiveFromMs": 0,
"endsAtMs": 0
},
"lines": [
{
"ledgerId": "00000000-0000-0000-0000-000000000000",
"ledgerName": "string",
"unit": {
"singular": "string",
"plural": "string"
},
"outcomes": 0,
"includedPerMonth": 0,
"overage": 0,
"overagePriceUsd": 0,
"amountUsd": 0
}
],
"flatUsd": 0,
"totalUsd": 0,
"isProvisional": false,
"cost": {
"creditsCharged": 0,
"creditsPerOutcome": 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
}Projects the Network's roster roles with holders and referencing agent contacts.
Inverts the People surface: instead of listing participants and the roles each one carries, this lists every roster role in the Network and, for each, who holds it and which agent contacts defer to it. A holder is reported with every tier that grants the role — `EXPERTISE` for a tenant-level expertise tag that applies everywhere, `EDGE_ROLE` for a tag on a member edge in this Network — and an edge-granted holder names the agents whose edge grants it, since that is the only place the tag can be removed. `consultable` reports whether a consult-allowed member edge exists: a holder without one is still reachable for delivery through a role-bound contact but is refused for `consult_for_role`. A role with references and no holders is the actionable gap this surface exists to expose — deliveries and consults to it refuse at runtime. Roles group case-insensitively and are reported using the tenant capability catalog's casing; `inCatalog` distinguishes a catalog role from one that exists only as an ad-hoc tag. Read-only and fully derived from existing expertise, member-edge, and contact-slot state — it adds no storage of its own, so nothing here can drift from the People surface. The whole role vocabulary is projected in memory before paging — it is tens of names, not thousands (participants are paged on the People surface, not here) — so a page is a slice of the complete, fully ordered result and omitting `pageSize` returns everything.
Support KPI rollup for the Application over an optional window (defaults to the last 30 days).
Containment / escalation / degrade / override rates, time-to-human percentiles, live operator load, cost per resolved conversation, and the currently-awaiting-a-human gauge. Rates are null when their denominator is zero. `from`/`to` are Unix ms (half-open); `origin` filters spend only.