Credit transactions
The account's credit ledger, newest first: the charges and refunds on the balance, each with the balance it left. After a failure that carries retry_may_charge_again it shows whether a debit of that amount landed around that moment, which GET /v1/usage (the balance alone) cannot. A row carries no request id and no address, so that settles the question only when nothing else on the account was spending at the same time; on a route that accepts one, an Idempotency-Key is the reliable answer. Entries before 2 September 2026 show usage and refunds only: credits added before then, from a plan or a credit pack, have no row, so type=purchase is empty for that period even for an account that bought credits then. From that date every paid-plan allowance and credit-pack purchase has a purchase row; the one-time Free signup grant is the exception, credited to the balance directly with no row.
Request
- Base URL: https://api.kawaa.com
- URL: https://api.kawaa.com/v1/usage/credits/transactions
- Auth: one of:
- API key in header X-Api-Key
- HTTP bearer
- OAuth 2 (authorization code, authorization URL https://api.kawaa.com/oauth/authorize, token URL https://api.kawaa.com/oauth/token, scopes: analytics:read)
Query parameters
Rows per page, 1 to 100 (default 50). A malformed, fractional, zero, negative or larger value is a 400 rather than clamped, the same rule as GET /v1/analytics/credit-history and the other list routes. Until 2026-10-02 it was clamped, and limit=0 meant 50.
How many rows to skip, default 0. A negative or unreadable value means 0. Above 10000 is refused with 400: the ledger is read row by row up to the offset, so the offset is what the request costs.
Return only rows of this type. transfer is credits moved between a white-label account and one of its sub-accounts: an allocation, a reclaim, or the balance a deleted sub-account returned. Any other non-empty value is a 400 naming the seven.
The previous page's next_cursor, to read the page after it. Reaches any depth, where offset stops at 10000, and costs one page however deep. Not combined with a non-zero offset (400). A cursor that does not decode, is not in the shape this route issues, or is another account's is a 400 INVALID_CURSOR.
Response
One page of the ledger.
Changes
No recorded changes to this operation across all 1 revision of this API.