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

# Usage and metering

> Understand consumption from the Usage dashboard.

The **Usage** page shows how much your organization consumed over a date range: call and chat volume, voice and chat minutes, workflow runs, plus a daily breakdown and your current inventory of agents, phone numbers, web widgets, and knowledge bases. Use it to see what is driving your bill and how activity trends day to day.

Open it from **Organization > Usage**. The page requires the `billing:manage` scope; without it you see a no-access screen.

## How the page works

The dashboard fetches a single summary for the selected date range:

```http theme={null}
GET https://api.anyreach.ai/admin/usage/summary?from={iso8601}&to={iso8601}
Authorization: Bearer <token>
```

The summary cards and charts reflect the date range you pick. The **Inventory** counts at the bottom are current totals and do not depend on the range.

<Note>
  The date range defaults to month-to-date: the 1st of the current month through today. The picker dates are treated as UTC, so the window you see matches what the dashboard queries.
</Note>

### Date range rules

| Rule                      | Value    |
| ------------------------- | -------- |
| `to` must be after `from` | Required |
| Maximum range             | 366 days |

A range over one year, or a `to` that is not after `from`, is rejected. The date picker also disables selections more than 365 days from the first picked date.

## Summary metrics

These cards reflect activity inside the selected date range.

| Card          | Field                 | Type    | What it shows                                                                           |
| ------------- | --------------------- | ------- | --------------------------------------------------------------------------------------- |
| Voice Minutes | `voice_minutes`       | number  | Total voice minutes; subtext shows `voice_calls`                                        |
| Chat Minutes  | `chat_minutes`        | number  | Total chat minutes; subtext shows `chat_calls` sessions                                 |
| Total Calls   | `total_calls`         | integer | All calls; subtext shows `inbound_calls` in, `outbound_calls` out, and average duration |
| Workflow Runs | `workflow_runs_total` | integer | All workflow runs; subtext shows `workflow_runs_success` and `workflow_runs_failed`     |

The full response also breaks calls down by channel and direction:

| Field                   | Type    | Description                              |
| ----------------------- | ------- | ---------------------------------------- |
| `total_calls`           | integer | All conversations in the range           |
| `voice_calls`           | integer | Voice conversations                      |
| `chat_calls`            | integer | Chat conversations (shown as "sessions") |
| `inbound_calls`         | integer | Calls received                           |
| `outbound_calls`        | integer | Calls placed                             |
| `voice_minutes`         | number  | Total voice minutes                      |
| `chat_minutes`          | number  | Total chat minutes                       |
| `avg_call_duration_sec` | number  | Average call duration, in seconds        |
| `workflow_runs_total`   | integer | Workflow runs started                    |
| `workflow_runs_success` | integer | Workflow runs that succeeded             |
| `workflow_runs_failed`  | integer | Workflow runs that failed                |

<Note>
  Average call duration is returned in seconds (`avg_call_duration_sec`) and rendered on the card in minutes and seconds.
</Note>

## Daily series

The response includes a `daily` array, one point per day in the range, that powers the charts.

| Field           | Type    | Description             |
| --------------- | ------- | ----------------------- |
| `day`           | string  | The date for this point |
| `calls`         | integer | Calls that day          |
| `voice_minutes` | number  | Voice minutes that day  |
| `chat_minutes`  | number  | Chat minutes that day   |
| `workflow_runs` | integer | Workflow runs that day  |

The dashboard renders these as per-day charts:

```text theme={null}
Voice Minutes (line)   Chat Minutes (line)
Calls per day (bar)
Workflow runs per day (bar)  ← shown only when workflow_runs_total > 0
```

## Inventory

Inventory cards show your organization's current totals and ignore the selected date range.

| Card                  | Field                 | Type    | Description                                                                                       |
| --------------------- | --------------------- | ------- | ------------------------------------------------------------------------------------------------- |
| Active Agents         | `total_agents`        | integer | Agents in the organization                                                                        |
| Phone Numbers         | `total_phone_numbers` | integer | Phone numbers; subtext shows `shared_phone_numbers` on the shared pool (billable) when above zero |
| Chat Widgets Deployed | `total_web_widgets`   | integer | Web widgets                                                                                       |
| Knowledge Bases       | `total_datasets`      | integer | Knowledge bases; subtext shows `active_datasets` active                                           |

## Refreshing

Use the refresh control on the page to re-fetch the summary for the current range without changing the dates.

<CardGroup cols={1}>
  <Card title="Plans and billing" icon="credit-card" href="/organizations/plans-and-billing">
    See how this usage maps to your plan and invoices.
  </Card>
</CardGroup>
