Application wallet transaction history
An application API key can read debit history attributable to that application
in its linked wallet. Send the key in x-api-key; the server resolves the
wallet from the application, so callers do not provide a wallet ID. An
application without a linked wallet receives 404 WALLET_NOT_FOUND, and the
key never receives transactions belonging to another application.
This access covers debit history only. It does not grant API-key access to balances, credits, recharges, exports, or wallet configuration.
Parent groups
GET /v1/organization/wallet/transaction-groups returns parent
groups suitable for a transaction-history list:
- a debit without a session is one
standaloneparent group; - all debits in one conversation session form one
sessionparent group; - a session's
serviceslist summarizes its debits by service type without creating more parent groups.
Therefore, limit=10 means at most ten parent groups, not ten raw debit
events. pagination.total and totalPages use that same parent-group count
after application scope and filters are applied.
Use offset as a zero-based parent-group page number and limit from 1 to
200. serviceType may be sent more than once. startDate and endDate
are inclusive UTC calendar dates in YYYY-MM-DD format.
curl --get 'https://app.chatt2.me/v1/organization/wallet/transaction-groups' \
--header 'x-api-key: YOUR_APPLICATION_API_KEY' \
--data-urlencode 'offset=0' \
--data-urlencode 'limit=10' \
--data-urlencode 'serviceType=AiChat' \
--data-urlencode 'serviceType=AudioTranscription' \
--data-urlencode 'startDate=2026-08-01' \
--data-urlencode 'endDate=2026-08-31'
Events inside a session
To expand one service summary, call
GET /v1/organization/wallet/transaction-groups/{sessionId}/items
with its required serviceType.
This endpoint has its own pagination. Its limit, from 1 to 50, counts raw
debit events. nextCursor is opaque and must be passed back unchanged as
cursor. Stop when hasMore is false.
Use the same date filters as the parent request when the expanded events must match the displayed service totals.
curl --get 'https://app.chatt2.me/v1/organization/wallet/transaction-groups/SESSION_ID/items' \
--header 'x-api-key: YOUR_APPLICATION_API_KEY' \
--data-urlencode 'serviceType=AudioTranscription' \
--data-urlencode 'limit=10' \
--data-urlencode 'cursor=NEXT_CURSOR_FROM_THE_PREVIOUS_RESPONSE'
The API reference defines the response schemas and validation rules for both routes.