---
title: "List balance transactions"
method: GET
path: "/billing/balance/transactions"
tags: ["Billing"]
---

# List balance transactions

`GET /billing/balance/transactions`

## Request

- Base URL: `https://api.axilio.ai/api/v1`
- URL: `https://api.axilio.ai/api/v1/billing/balance/transactions`
- Auth: API key in header `X-Axilio-Api-Key`
- TypeScript: <https://skmtc.dev/axilioai/apis/axilio-api-2/docs/billing/balance/transactions/get.ts> (a function with typed inputs; its response is checked against the schema)

The organization's balance history: every movement of its balance (usage, credit added or granted, expiry, refunds and disputes), newest first, with optional filters.

## Query parameters

- `limit` integer: max items per page
- `offset` integer: pagination offset
- `type` string[], nullable: Only transactions of one of these types; repeatable.
- `created_after` string, date-time: only transactions at/after this time (RFC 3339)
- `created_before` string, date-time: only transactions at/before this time (RFC 3339)
- `order_by` string: Sort expression 'created_at [asc|desc]', direction defaulting to desc.

## Response `200`

OK

- SubscriptionBalanceTransactionsResponse: One page of balance transactions, using the API's standard list envelope (items, total, limit, offset).
  - `items` SubscriptionBalanceTransaction[], nullable, required: Page of balance transactions.
    - `amount_display` string, required: Formatted change (e.g., '-$1.50').
    - `amount_microdollars` integer, required: Signed change in microdollars (1_000_000 = $1.00); negative takes from the balance.
    - `balance_after_microdollars` integer, required: Balance in microdollars right after this transaction.
    - `created_at` string, date-time, required: When the balance moved.
    - `description` string, required: Plain-English description of the transaction.
    - `id` string, required: Transaction id.
    - `source_id` string: The session or inference id a usage charge billed.
    - `source_type` 'session' | 'inference': What a usage charge billed: a session or an inference.
    - `type` 'opening_balance' | 'unrecorded' | 'deposit' | 'usage' | 'plan_grant' | 'plan_lapse' | 'expiry' | 'adjustment' | 'refund_reversal' | 'dispute_reversal' | 'dispute_reinstated' | 'refund_failed', required: What moved the balance: opening_balance (the balance when the history began), unrecorded (a correction), deposit (purchased credit added), usage (a session or inference charge), plan_grant (plan credit granted), plan_lapse (unused plan credit lapsed at renewal), expiry (purchased credit expired), adjustment (a manual adjustment), refund_reversal (credit taken back after a refund), dispute_reversal (credit taken back after a dispute), dispute_reinstated (credit restored after a won dispute), refund_failed (credit restored after a refund failed).
  - `limit` integer, required: Page size used for this response.
  - `offset` integer, required: Pagination offset used for this response.
  - `total` integer, required: Total number of transactions matching the query.

## Other responses

- `422`: Unprocessable Entity
- `500`: Internal Server Error

## Changes

- **2026-10-24** `ecca093572e0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/axilioai/apis/axilio-api-2/changes/billing/balance/transactions/get.md)

---

[API](https://skmtc.dev/axilioai/apis/axilio-api-2.md) - [All operations](https://skmtc.dev/axilioai/apis/axilio-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/axilioai/apis/axilio-api-2/revisions/62aa324803a7?raw)
