API referencewallets
List wallets
GET
/v1/walletsAccepts X-Api-Key · oauthClientCredentials · bearer
The tenant's wallets, one per settlement currency
Where it is off the wallet routes still answer: an empty list here, 404 NOT_FOUND for one wallet, 501 WALLET_TOPUP_UNAVAILABLE on a top-up.Show more
Where it is off the wallet routes still answer: an empty list here, 404 NOT_FOUND for one wallet, 501 WALLET_TOPUP_UNAVAILABLE on a top-up. Every amount is Money (integer minor units + ISO-4217). balance, held and available are sums of ledger legs, never a stored number: available = balance - held. environment selects the side of the tenant pair; see components/parameters/WalletEnvironmentQuery. Needs finance:read; a human session or an API key (a key may hold finance:read). An empty list when no wallet exists (money model not WALLET).Query parameters
- environmentstringOptional
Which side of the sandbox/production tenant pair to read or act on.Show more
Which 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
Request body
This operation takes no request body.
Responses
- 200The walletsWalletList
- 400VALIDATION or UNKNOWN_DOMAINApiErrorResponse
- 401ApiErrorResponse
UNAUTHENTICATED — missing or expired token.Show more
UNAUTHENTICATED — 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. - 403ApiErrorResponse
- 405ApiErrorResponse
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 more
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). Not retryable as sent. - 414ApiErrorResponse
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 more
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). Not retryable as sent: send long input in the body of a POST. - 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.
| 400 | VALIDATION message.intent.checkOut must be after message.intent.checkIn | not retryable |
| 400 | UNKNOWN_DOMAIN Unknown domain 'HOTELS'. Did you mean HTL? | not retryable |
| 401 | UNAUTHENTICATED The bearer token is expired. Re-authenticate and retry. | not retryable |
| 403 | PERMISSION_DENIED Reading wallets needs the finance:read permission. | not retryable |
| 405 | VALIDATION This method is not served. | not retryable |
| 414 | VALIDATION The request URI is longer than 8 KiB. | not retryable |
| 500 | INTERNAL An unexpected error occurred. Quote the traceId to support. | retryable |