Open a virtual account
Authorization
OAuth2PasswordBearer In: header
Cookie Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Registering a collection account a payer can push money to. IN-302.
Two kinds, and scheme decides which. A dedicated account belongs to
this business alone, so a credit is attributable without anything else —
those need account_identifier. A shared one (local_reference) is a
partner account many businesses pay into, where the payer's reference is
the only thing telling them apart, so we issue a reference_code instead.
Response Body
application/json
application/json
curl -X POST "https://example.com/api/b/v1/virtual-accounts" \ -H "Content-Type: application/json" \ -d '{ "label": "EUR collections — Bridge", "currency": "EUR", "scheme": "sepa" }'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "label": "string", "currency": "string", "scheme": "string", "provider": "string", "account_identifier": "string", "bank_name": "string", "routing_code": "string", "reference_code": "string", "status": "string", "reference_required": true, "created_at": "2019-08-24T14:15:22Z"}List virtual accounts GET
Previous Page
Currencies you can open an account in GET
The currencies `POST /virtual-accounts` can open on its own. Most schemes need an account number only the partner can mint, so creating one is really *recording* correspondence you already hold. The currencies listed here are the ones where that is not true — we issue the reference ourselves and there is a live rail behind it — so they are the only ones a business can open unaided. Computed per request from the live rail table, so a corridor going live or a rail being switched off changes the answer without a deploy. Registered above `/{account_id}` on purpose. FastAPI matches in registration order and `options` is a valid UUID path as far as the router is concerned, so the reverse order sends every call here into the by-id handler and answers 422. See `tests/unit/api/test_route_order.py`.