Skip to content
Logo

GET /customers/:id/virtual-account-banks

List the banks this customer can be issued a virtual account at, in a given currency.

Send one of these as bank when creating the virtual account to choose where the account is held. Omit bank and a bank is chosen for you, so this endpoint is only needed when you want to offer the choice.

Only banks the customer is already cleared for are listed, so an empty list is a normal answer. It can mean either of two things:

  • There is no choice to make for this customer and currency. The account can still be opened; omit bank and one is chosen for you.
  • The customer's virtual-account review has not cleared any bank yet. A create naming no bank is then refused with VirtualAccountNotApproved, whose status says where the review stands (pending, rejected or not_started).

Where each clearance stands is on GET /customers/:id/virtual-account-approvals; this endpoint lists only the approved ones.

Clearances are cached for up to an hour, and a currency's own virtual-account review for 45 seconds to 5 minutes depending on where it stands, so a freshly granted one can take that long to appear.

Query parameters

  • currency — required. The currency the account would collect in, e.g. USD. Case-insensitive.

Response 200

{
  "banks": [
    {
      "bank": "PORTAGE_BANK",
      "name": "Portage Bank",
      "country": "US",
      "party": "third_party"
    },
    {
      "bank": "SSB_FIRST_PARTY",
      "name": "Slovak Savings Bank",
      "country": "US",
      "party": "first_party"
    }
  ]
}

Each entry is a VirtualAccountBank: bank is the value to send back on create, name is for display, country is the ISO 3166-1 alpha-2 country the account would be domiciled in, and party says who may pay into it. Treat bank as an open set — banks are added over time, so render the list you are served rather than a list of your own.

The list arrives in the same display order GET /virtual-account-banks serves the whole catalog in, so render it as it arrives.

Errors

401 (missing or invalid API key), 404 (unknown customer, or a customer belonging to a different org).

Example

curl "$SEISMIC_ORCHESTRATION_URL/v0/customers/2f10…/virtual-account-banks?currency=USD" \
  -H "Api-Key: $SEISMIC_ORCHESTRATION_API_KEY"