Accounts

List named accounts

Lists named fiat accounts with standard cursor pagination. Filter with customer_id, currency, country, rail, or status to recover the account created after sandbox KYC approval or live opening. Returns only accounts visible in the current key environment.

get/accounts

Request

  • Base URL
    https://developers.ozav.io/v2
  • Auth
    • API key in header X-API-Key
    • or HTTP bearer

Query parameters

limitinteger

Page size.

starting_afterstring

Opaque cursor returned as next_cursor on the previous page.

customer_idstring

Filter to a single customer by its opaque ozav_cus_ id.

currencystring

Uppercase ISO 4217 code or stablecoin symbol (e.g. BRL, USD, EUR, MXN, USDC, USDT). Uppercase is the canonical form: values are accepted case-insensitively on input but are always uppercase in responses.

Filter by account currency.

countrystring

Filter by account country or region code.

rail'pix' | 'ach' | 'fedwire' | 'sepa' | 'spei' | 'swift' | 'faster_payments' | 'co_transfer' | 'uaefts' | 'eft' | 'cnaps' | 'zengin' | 'nip' | 'cce' | 'rtc'

Canonical payment-rail vocabulary, shared by named accounts and payout destinations. The table below answers one question: can you open a named account on this rail (machine-readable in x-ozav-rail-availability)? Paying out is a different question, answered by the corridor table in POST /payout-destinations. The two differ: fedwire, for example, is live for payouts, while opening a USD account on it is sandbox only.

RailCorridorAvailability
pixBRL - Brazil instant paymentsavailable
fedwireUSD - US wiresandbox only
sepaEUR - SEPA credit transferlive (behind enablement)
speiMXN - Mexico SPEIsandbox only
swiftCross-border SWIFTlive (behind enablement)
faster_paymentsGBP - UK Faster Paymentslive (behind enablement)

ach and co_transfer are not offered. Requests for accounts, payout destinations and quotes use RequestRail, which leaves both out, and a fiat_payment source on ach is refused with 422 RAIL_NOT_AVAILABLE. They stay in this enum only because older records carry them.

live (behind enablement) means the corridor is served in production, but not to everyone: opening an account still requires that OZAV has enabled the specific customer for foreign-currency named accounts. Until then a live request is refused with a named error that says which step is missing - not with ACCOUNT_RAIL_NOT_AVAILABLE, which would send you looking at the corridor instead of the customer.

sandbox only is a real, usable state, and not a promise of later. The corridor is fully exercisable with a test key: you can open the account, read its receiving instructions and build against the exact response shape production will return. What it does not have is a settlement partner behind it, so a live key is refused with ACCOUNT_RAIL_NOT_AVAILABLE rather than opening something that cannot receive. Build against it in sandbox; the request you write does not change when the corridor goes live.

Filter by receiving rail.

status'pending' | 'active' | 'suspended' | 'failed'

Public lifecycle state for a named account:

  • pending - opening is in progress or waiting for review.
  • active - receiving instructions can be shown to the customer.
  • suspended - account is blocked or deactivated.
  • failed - opening did not complete.

Filter by public account status.

Response

Paginated accounts.

has_moreboolean required

True when more results exist beyond this page - keep paging with starting_after.

next_cursorstring nullable

Opaque cursor for the next page; pass it as starting_after. Null on the last page.

Changes

No recorded changes to this operation across all 1 revision of this API.