---
title: "Billing Events"
method: GET
path: "/api/billing/events"
tags: ["Billing"]
---

# Billing Events

`GET /api/billing/events`

## Request

- Base URL: `https://mcp.usertold.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://mcp.usertold.ai/api/billing/events`
- Auth: none declared

Execute the UserTold billing events operation.

## Query parameters

- `limit` string
- `offset` string

## Response `200`

Success

- object
  - `events` object[], required
    - `id` string, required
    - `user_id` number, required
    - `session_id` string, nullable, required
    - `project_ref` string, nullable, required
    - `event_type` string, required
    - `display_label` string, required
    - `display_kind` 'purchase' | 'bonus' | 'usage' | 'refund' | 'opening' | 'other', required
    - `amount_direction` 'credit' | 'debit' | 'neutral', required
    - `balance_delta_cents` number, required
    - `signed_amount_cents` number, required
    - `external_reference` string, nullable, required
    - `created_at` string, required
  - `total` number, required

## Other responses

- `400`: Bad request
- `401`: Not authenticated
- `404`: Not found
- `422`: Domain error (non-retryable)
- `500`: Internal server error
- `503`: Domain error (retryable)

---

[API](https://skmtc.dev/usertold/apis/usertold-ai-api.md) · [All operations](https://skmtc.dev/usertold/apis/usertold-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usertold/apis/usertold-ai-api/revisions/37d5b4f88d38?raw)
