Skip to content

Get Reconciliation Ledger

GET
/api/v1/admin/billing/reconciliation
curl --request GET \
--url 'https://api.ultimateteam.ai/api/v1/admin/billing/reconciliation?page=1&page_size=50' \
--header 'X-API-Key: <X-API-Key>'

Return the per-tenant reconciliation ledger.

When tenant_id is provided, runs reconciliation for that tenant only and returns a single-item page. Otherwise iterates every active tenant via ReconciliationService.run_for_all.

The endpoint is read-only and NEVER publishes BILLING_RECONCILIATION_FAILED events — only the cadence worker is allowed to do that.

Args: tenant_id: Optional tenant id filter. page: 1-indexed page number. page_size: Items per page (default 50, max 500). user: Admin user (enforced by dependency). session: Database session.

Returns: A dict with total, page, page_size, items.

tenant_id
Any of:
string format: uuid

Optional single-tenant filter.

page
Page
integer
default: 1 >= 1
page_size
Page Size
integer
default: 50 >= 1 <= 500

Successful Response

Media typeapplication/json
Response Get Reconciliation Ledger Api V1 Admin Billing Reconciliation Get
object
key
additional properties
any
Examplegenerated
{}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"ctx": {},
"input": "example",
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}