Skip to content
ApiqDevelopers
API v1.64.0Open console

List wallet transactions

GET/v1/wallets/{currency}/transactions
Accepts X-Api-Key · oauthClientCredentials · bearer

The wallet's movements, newest first — one row per ledger leg

One row per ledger leg: WALLET_TOPUP (credit), WALLET_HOLD (moves funds to held at booking), WALLET_SETTLE (debit at ticketing or confirmation, clears the hold), WALLET_RELEASE (clears a hold when the…Show moreOne row per ledger leg: WALLET_TOPUP (credit), WALLET_HOLD (moves funds to held at booking), WALLET_SETTLE (debit at ticketing or confirmation, clears the hold), WALLET_RELEASE (clears a hold when the booking fails) and WALLET_FEE (debit). Rows are never edited; a correction is a new leg. Newest first; cursor-paged as GET /v1/webhooks/{webhookId}/deliveries: pass nextCursor back as cursor with the same filters; a cursor this route never issued is 400 VALIDATION (details.field cursor). type is x-extensible-enum. Needs finance:read; a human session or an API key. No wallet in that currency is 404 NOT_FOUND.

Path parameters

  • currencystringRequired
    The wallet's settlement currency, ISO-4217

Query parameters

  • environmentstringOptional
    Which side of the sandbox/production tenant pair to read or act on.Show moreWhich side of the sandbox/production tenant pair to read or act on. An API key is bound to its own side (mo_test_ = SANDBOX, mo_live_ = PRODUCTION): absent means that side, and naming the other is 400 VALIDATION details.reason ENVIRONMENT_MISMATCH. A human session may name either; absent means SANDBOX while the tenant is TRIAL and PRODUCTION once it is LIVE.
    • PRODUCTION
    • SANDBOX
  • typestringOptional
    Only legs of this type (WALLET_TOPUP | WALLET_HOLD | WALLET_SETTLE | WALLET_RELEASE | WALLET_FEE)
  • orderRefstringOptional
    Only the legs of this order
  • cursorstringOptional
    Opaque; the nextCursor of the previous page
  • limitintegerOptional
    Page size; default 20

Request body

This operation takes no request body.

Responses

  • 200A page of movements, newest firstWalletTransactionPage
  • 400VALIDATION or UNKNOWN_DOMAINApiErrorResponse
  • 401
    UNAUTHENTICATED — missing or expired token.Show moreUNAUTHENTICATED — missing or expired token. Declared on every operation because `security` is declared globally at the document root: every route is authenticated, so every route can answer 401.
    ApiErrorResponse
  • 403ApiErrorResponse
  • 404NOT_FOUND — unknown or expired ref (unguessable refs, 15)ApiErrorResponse
  • 405
    VALIDATION — the public edge serves GET, POST, PUT, PATCH and DELETE only; any other method is refused before the platform sees it (details.reason METHOD_NOT_ALLOWED, details.source edge).Show moreVALIDATION — the public edge serves GET, POST, PUT, PATCH and DELETE only; any other method is refused before the platform sees it (details.reason METHOD_NOT_ALLOWED, details.source edge). Not retryable as sent.
    ApiErrorResponse
  • 414
    VALIDATION — the request URI (path and query string) is longer than 8 KiB; the public edge refuses it before the platform sees it (details.reason URI_TOO_LONG, details.source edge).Show moreVALIDATION — the request URI (path and query string) is longer than 8 KiB; the public edge refuses it before the platform sees it (details.reason URI_TOO_LONG, details.source edge). Not retryable as sent: send long input in the body of a POST.
    ApiErrorResponse
  • 500INTERNAL — a bug, and traceId is the support handle.ApiErrorResponse

Errors you should handle

Branch on code and honour retryable — never on the HTTP status alone.

400VALIDATION
message.intent.checkOut must be after message.intent.checkIn
not retryable
400UNKNOWN_DOMAIN
Unknown domain 'HOTELS'. Did you mean HTL?
not retryable
401UNAUTHENTICATED
The bearer token is expired. Re-authenticate and retry.
not retryable
403PERMISSION_DENIED
Reading wallets needs the finance:read permission.
not retryable
404NOT_FOUND
searchRef SR-F-7b31d0a9 is unknown or has expired; re-search
not retryable
405VALIDATION
This method is not served.
not retryable
414VALIDATION
The request URI is longer than 8 KiB.
not retryable
500INTERNAL
An unexpected error occurred. Quote the traceId to support.
retryable