Get Transaction by ID
Get a transaction by its ID
Path Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/transactions/string"{ "id": "550e8400-e29b-41d4-a716-446655440000", "resource_id": "trx_2n1t201rmv87aae5j4csam8000", "mpesa_transaction_id": "ABCDE12345", "amount": { "value": 100000, "currency": "KES" }, "fee_amount": { "value": 5000, "currency": "KES" }, "status": "POSTED", "failure_reason": null, "transacted_at": "2025-10-20T10:30:00Z", "confirmed_at": "2025-10-20T10:30:05Z", "posted_at": "2025-10-20T10:30:10Z", "failed_at": null, "details": { "type": "BUY_GOODS", "till_number": "12345" }}{ "code": "BAD_REQUEST", "description": "Bad Request"}{ "code": "UNAUTHORISED", "description": "Unauthorised"}{ "code": "WAITING_LIST", "description": "User is in the waiting list"}{ "code": "TOO_MANY_REQUESTS", "description": "Too Many Requests"}{ "code": "INTERNAL_SERVER_ERROR", "description": "Internal Server Error"}Get Fee Schedule GET
Get the account's fee schedule as client-evaluable data. Clients can evaluate this locally for instant fee estimates; the same schedule drives the live charge path, so estimates never drift from the charged fee. A schedule with evaluable=false, and any transaction no rule matches, has no locally computable fee: fall back to the transaction preview endpoint.
Get Transactions History GET
Get the caller's transactions history, newest first — every account they hold in their organization, or one account with account_id. With updated_after, returns only transactions modified since that instant, ordered oldest change first, for incremental offline sync: clients upsert items by id and keep the maximum updated_at seen, per organization, as the next watermark. The server serves roughly the last 13 months of transactions; an offline cache should locally expire items older than 12 months, which also bounds any divergence.