> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Read the cost-intelligence dashboards

> Operator guide to the cost-intelligence surfaces: per-channel unit costs, billable usage reconciliation, per-conversation telephony P&L, AI token spend, and video room minutes — the margins behind your rate card.

# Read the cost-intelligence dashboards

The [Analytics API reference](/api-reference/analytics) documents the aggregate cost endpoints — this guide is the prose walkthrough for the cost-intelligence surfaces that sit on top of them in the Orbit console, and explains what the unit economics actually answer. Use it when a margin question lands: *what does a message, a voice minute, an AI token, or a video minute actually cost us per unit, and where is the margin in that?*

Example requests in this guide use the APIs directly; most operators read the dashboards in the console and use the APIs for export or integration.

## What a cost surface is

Every cost surface reads **prices that were already recorded** on your usage rows — the dashboards never re-price traffic. A message, call, or AI event is priced at the moment it is billed against your wallet, and the cost surfaces aggregate those recorded charges into spend, volume, and unit-cost views. Because the inputs are the same wallet charges in every case, the surfaces reconcile with each other: the "Total spend" headline on the Channel costs page is the same money the Billable usage records panel and the per-conversation P\&L draw from.

Access is role-scoped per surface. The money-family surfaces — Channel costs, LLM spend, Conversation P\&L — restrict to the **owner, admin, developer, and billing** roles on the console, because they expose aggregate cost and margin analysis. The room-usage analytics API additionally admits the viewer role, as it reports volumes rather than money.

## Channel costs — Insights → Channel costs

**Console route:** `/insights/costs`, page title "Channel costs". This is the unit-economics hub: one window (24 hours to 12 months, or a custom range) applied to every outbound channel at once.

What the page answers, top to bottom:

* **Headline tiles** — total spend, billed messages, and average cost per message across all channels in the window. The average is total spend ÷ billed messages, computed at sub-cent precision, so a channel mix dominated by low-cost SMS still reports a truthful blended unit cost.
* **Spend over time** — daily total spend for the window.
* **Cost by channel** — per-channel spend, message volume, and average cost per message, with a totals footer. The footer sums every channel — SMS, MMS, voice, WhatsApp, email, and the rest — so it always equals the Total spend headline. Spot the expensive unit here: if WhatsApp's cost per message runs five times SMS's, that is the row to act on.
* **Billable usage records** — carrier-parity counters (the data export sheets traditionally call usage records) for SMS, MMS, and voice, with an optional per-country split. Voice appears here in minutes; messaging in messages. This panel is deliberately carrier-scoped — it mirrors the bill a carrier would show — so it will not equal Total spend. The panel therefore shows a numeric reconciliation line for the non-carrier spend (email, chat, RCS, and similar) that is included in Total spend but not billed as carrier usage: the gap has an amount, not an apology.

For the endpoint shapes see the [Analytics API reference](/api-reference/analytics) (`GET /api/v1/analytics/costs` for the per-channel payload, `GET /api/v1/messages/usage/records` for the carrier counters).

## AI spend — Insights → LLM spend

**Console route:** `/insights/llm-spend`, page title "LLM spend". AI cost shows up as **token spend**, not message spend: the dashboards report tokens and cost per agent, per model, and per conversation, with overview aggregates and a daily timeseries. Read it alongside Channel costs — the blended cost of an AI-handled conversation is its telephony leg (Channel costs, below) plus its token leg (here). For the full endpoint shapes see the [LLM spend section of the Insights API reference](/api-reference/insights).

## Per-conversation telephony P\&L — API

The per-conversation economics endpoint, `GET /api/v1/analytics/cost-per-conversation`, groups priced message and call charges by conversation over a window you supply and returns the top conversations by telephony spend:

```bash theme={null}
curl "https://api.orbit.devotel.io/api/v1/analytics/cost-per-conversation?start=2026-08-01T00:00:00Z&end=2026-08-25T00:00:00Z&limit=25" \
  -H "X-API-Key: $ORBIT_API_KEY"
```

Each row is one conversation: its telephony cost-to-serve (integer cents at sub-cent precision — a fraction of a cent per SMS segment stays a fraction) and its message count, so cost per message per conversation is a division away. Window is capped at 90 days; `limit` caps the returned rows. Use it to answer "what does a resolved WhatsApp conversation actually cost us in carriage?" without exporting to a spreadsheet.

## Video usage — room minutes

Video does not bill per message — it bills per **participant-minute**, so its economics live on a usage surface of their own: `GET /api/v1/video/rooms-analytics/usage`, optionally with `from` / `to` datetimes (30 days by default). The response gives an org summary — total sessions, total room-minutes (room wall-clock, so a 10-minute room with 4 participants is 10 room-minutes ≈ 40 participant-minutes of metering), average and maximum peak participants, recording success rate, and join failures — plus a daily series for the window. Multiply room-minutes by your participant mix to sanity-check video spend against the rate card. Soft-deleted sessions are excluded.

## Put the legs together

Margin per interaction is the assembly: the interaction's price on your rate card, minus the channel leg (Channel costs per-channel unit costs, or the per-conversation P\&L for individual conversations), minus the AI leg (LLM spend per conversation when an agent handled it), minus the video leg (room minutes when the interaction happened in a room). Run the assembly on a 30-day window and two things fall out: which channels carry the volume at the widest per-unit margin, and which conversations cost more to serve than their outcome is worth.

## See also

* [Analytics API reference](/api-reference/analytics) — endpoint shapes for the cost and usage payloads
* [Insights API reference](/api-reference/insights) — LLM spend and margin analytics endpoints
* [Read the Insights dashboards](/guides/insights-dashboards) — the non-cost Insights surfaces
* [AI agent cost controls](/agents/cost-controls) — budgets and hard caps for the AI spend leg
