---
title: "List phone sessions with cost"
method: GET
path: "/usage/sessions"
tags: ["usage"]
---

# List phone sessions with cost

`GET /usage/sessions`

Paginated, filterable list of the caller's phone sessions over a required time window (start_date/end_date), each row carrying billing detail: phone-time cost, inference cost, and combined total in microdollars, billing processing status, and allocation source. Filters: session status, billing processing status, workflow, allocation source, free-text search. Order with order_by ('<field> <asc|desc>').

## Query parameters

- `start_date` string, date-time, required — Beginning of the sessions query window (RFC 3339).
- `end_date` string, date-time, required — End of the sessions query window (RFC 3339).
- `limit` integer — Number of sessions per page (1-100).
- `offset` integer — Pagination offset.
- `session_status_filter` string[], nullable — Restrict results to the given session lifecycle statuses.
- `processed_status_filter` string[], nullable — Restrict results to the given billing processing statuses.
- `workflow_id` string — Restrict results to sessions of a single workflow.
- `allocated_by` string[], nullable — Restrict results to the given allocation sources.
- `search` string — Filter by session, workflow, or phone id substring.
- `order_by` string — Sort expression '<field> <asc|desc>'; field one of allocated_at, deallocated_at, duration, cost_microdollars, session_status, processed_status, allocated_by, session_id, workflow_id. Defaults to allocated_at desc.

## Response `200`

OK

- UsageSessionsResponse — Paginated list of phone sessions.
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `limit` integer, required — Page size used for this response.
  - `offset` integer, required — Pagination offset used for this response.
  - `sessions` UsageSession[], nullable, required — Page of session records.
    - `allocated_at` string — ISO 8601 timestamp when the phone was allocated.
    - `allocated_by` string — AllocatedBy identifies what triggered the session's allocation.
    - `billing_plan_id` string — Billing plan active during the session.
    - `cost_microdollars` integer, required — Phone-time cost charged for this session in microdollars.
    - `deallocated_at` string — ISO 8601 timestamp when the phone was released.
    - `duration_seconds` integer — Session duration in seconds.
    - `inference_cost_microdollars` integer, required — Inference spend attributable to this session (sum of the argus calls made under it).
    - `is_dedicated_phone` boolean, required — Whether the session used a dedicated pre-paid phone.
    - `phone_id` string, required — Phone claimed by the session.
    - `processed_status` string — Billing processing status (e.g., 'billed').
    - `session_id` string, required — Unique session identifier.
    - `session_metadata` object — Arbitrary metadata attached to the session.
    - `session_status` string — Session lifecycle status (e.g., 'completed').
    - `total_cost_microdollars` integer, required — Session's all-in cost: phone time + inference.
    - `workflow_id` string, required — Associated workflow identifier.
  - `total` integer, required — Total number of sessions matching the query.

## Other responses

- `default` — Error

---

[API](https://skmtc.dev/axilioai/apis/axilio-api.md) · [All operations](https://skmtc.dev/axilioai/apis/axilio-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/axilioai/axilio-api/revisions/8a66f81813b3/schema)
