openapi: 3.2.0
info:
title: fiat-republic Virtual Accounts API
version: '1.0'
servers:
- url: https://sandbox.fiatrepublic.com/api/v1
security:
- sec0: []
tags:
- name: Virtual Accounts
paths:
/virtual-accounts:
post:
summary: Create Virtual Account
description: ''
operationId: create-virtual-account
requestBody:
content:
application/json:
schema:
type: object
required:
- masterFiatAccountId
- ibanCountry
properties:
masterFiatAccountId:
type: string
description: Id of a Fiat Account under which the virtual account should be created. A Fiat Account must be owned by the Member for it to be used as a Master Account.
The virtual account will be created in the currency of the Master Fiat Account.
endUserId:
type: string
description: Id of the End User for who you want to create the Virtual Account.
If not set, a Virtual Account will be created for the Member.
default: 'null'
label:
type: string
description: An optional label to easily identify the account on the Dashboard.
ibanCountry:
type: string
description: Required field for all currencies, except GBP and USD
enum:
- DE
- DK
- GB
- LU
metadata:
type: array
items:
type: string
description: Map of Strings format
businessId:
type: string
description: Manual input of the businessId field is no longer required
responses:
'201':
description: '201'
content:
application/json:
examples:
Result:
value: "{\n \"id\":\"vac_5opkx8g1jo50lz4m3e\",\n \"masterFiatAccountId\":\"fac_p96ed8b1k3n7zvma4o\",\n \"owner\":{\n \"type\":\"END_USER\",\n \"id\":\"eus_j82rl497g47g5ykvzn\"\n },\n \"currency\":\"GBP\",\n \"bankDetails\":null,\n \"label\":\"Satoshis Virtual Account\",\n \"status\":\"CREATED\",\n \"createdAt\":1637593856104,\n \"updatedAt\":1637593856104,\n \"metadata\":null\n}"
schema:
type: object
properties:
id:
type: string
example: vac_5opkx8g1jo50lz4m3e
masterFiatAccountId:
type: string
example: fac_p96ed8b1k3n7zvma4o
owner:
type: object
properties:
type:
type: string
example: END_USER
id:
type: string
example: eus_j82rl497g47g5ykvzn
currency:
type: string
example: GBP
bankDetails: {}
label:
type: string
example: Satoshis Virtual Account
status:
type: string
example: CREATED
createdAt:
type: integer
example: 1637593856104
default: 0
updatedAt:
type: integer
example: 1637593856104
default: 0
metadata: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: "{\n \"errorCode\": \"INVALID_REQUEST_DATA\",\n \"message\": \"Invalid CreateVirtualAccountRequest.\",\n \"warnings\": [\n {\n \"position\": \"masterFiatAccountId\",\n \"issue\": \"Field is required\"\n }\n ]\n}"
schema:
type: object
properties:
errorCode:
type: string
example: INVALID_REQUEST_DATA
message:
type: string
example: Invalid CreateVirtualAccountRequest.
warnings:
type: array
items:
type: object
properties:
position:
type: string
example: masterFiatAccountId
issue:
type: string
example: Field is required
'404':
description: '404'
content:
application/json:
examples:
Result:
value: "{\n \"errorCode\": \"RESOURCE_MISSING\",\n \"message\": \"Master Fiat account with id fac_xxxxyyyyzzzz not found.\"\n}"
schema:
type: object
properties:
errorCode:
type: string
example: RESOURCE_MISSING
message:
type: string
example: Master Fiat account with id fac_xxxxyyyyzzzz not found.
deprecated: false
x-readme:
code-samples:
- language: curl
code: "curl --request POST \\\n --url https://sandbox.fiatrepublic.com/api/v1/virtual-accounts \\\n --header 'Accept: application/json' \\\n --header 'Authorization: Bearer ZmlhdHJlcHVibGljOmZpYXRyZXB1YmxpYw==' \\\n --header 'Content-Type: application/json' \\\n --data '\n{\n \"masterFiatAccountId\": \"fac_p96ed8b1k3n7zvma4o\",\n \"endUserId\": \"eus_j82rl497g47g5ykvzn\",\n \"ibanCountry: \"DK\",\n \"label\": \"Satoshis Virtual Account\",\n \"metadata\": null\n}"
samples-languages:
- curl
tags:
- Virtual Accounts
get:
summary: List Virtual Accounts
description: ''
operationId: list-virtual-accounts
parameters:
- name: currency
in: query
description: 3 letter [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the Virtual Account currency. Multiple `currency` params can be provided.
schema:
type: string
enum:
- GBP
- EUR
- USD
- AUD
- name: endUserId
in: query
description: Id of the End User whose Virtual Accounts you want to list.
If not set, all Virtual Accounts for the Member and End Users will be listed.
schema:
type: string
- name: id
in: query
description: One or more Virtual Account id's. Multiple `id` params can be provided.
schema:
type: string
- name: limit
in: query
schema:
type: integer
format: int32
- name: masterFiatAccountId
in: query
description: Id of the Master Fiat Account to list all the virtual accounts linked to it.
schema:
type: string
- name: offset
in: query
schema:
type: integer
format: int32
- name: owner.type
in: query
schema:
type: string
enum:
- MEMBER
- END_USER
- name: search
in: query
description: Search by the virtual account `label`.
schema:
type: string
- name: status
in: query
description: Status of the Virtual Account. Multiple values can be provided.
schema:
type: string
enum:
- CREATED
- ACTIVE
- BLOCKED
- CLOSED
- ACTIVATION_FAILED
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "[\n {\n \"id\":\"vac_5opkx8g1jo50lz4m3e\",\n \"masterFiatAccountId\":\"fac_oka2yeb7y5z05np3jv\",\n \"status\":\"ACTIVE\",\n \"currency\":\"GBP\",\n \"owner\":{\n \"type\":\"END_USER\",\n \"id\":\"eus_j82rl497g47g5ykvzn\"\n },\n \"businessId\":\"biz_emv4j231821oaz56yx\",\n \"label\":\"1st VA\",\n \"bankDetails\":{\n \"bankName\":\"Modulr FS Ltd.\",\n \"accountHolderName\":\"Satoshi Nakamoto\",\n \"country\":\"GB\",\n \"accountNumber\":\"71005215\",\n \"routingCodes\":[\n {\n \"value\":\"000000\",\n \"type\":\"SORT_CODE\"\n }\n ]\n },\n \"createdAt\":1654177698929,\n \"updatedAt\":1654177700236,\n \"metadata\":null\n },\n {...},\n {...},\n]"
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-readme:
code-samples:
- language: curl
code: "curl --request GET \\\n --url https://sandbox.fiatrepublic.com/api/v1/virtual-accounts \\\n --header 'Accept: application/json' \n --header 'Authorization: Basic ZmlhdHJlcHVibGljOmZpYXRyZXB1YmxpYw==' \\"
samples-languages:
- curl
tags:
- Virtual Accounts
/virtual-accounts/{id}:
get:
summary: Get Virtual Account
description: ''
operationId: get-virtual-account
parameters:
- name: id
in: path
description: Id of the Virtual Account.
schema:
type: string
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"id\":\"vac_5opkx8g1jo50lz4m3e\",\n \"masterFiatAccountId\":\"fac_oka2yeb7y5z05np3jv\",\n \"status\":\"ACTIVE\",\n \"currency\":\"GBP\",\n \"owner\":{\n \"type\":\"END_USER\",\n \"id\":\"eus_j82rl497g47g5ykvzn\"\n },\n \"businessId\":\"biz_emv4j231821oaz56yx\",\n \"label\":\"Satoshis Virtual Account\",\n \"bankDetails\":{\n \"bankName\":\"Modulr FS Ltd.\",\n \"accountHolderName\":\"Satoshi Nakamoto\",\n \"country\":\"GB\",\n \"accountNumber\":\"71005215\", \n \"routingCodes\":[\n {\n \"value\":\"000000\",\n \"type\":\"SORT_CODE\"\n }\n ]\n },\n \"createdAt\":1654177698929,\n \"updatedAt\":1654177700236,\n \"metadata\":null\n}"
schema:
type: object
properties:
id:
type: string
example: vac_5opkx8g1jo50lz4m3e
masterFiatAccountId:
type: string
example: fac_oka2yeb7y5z05np3jv
status:
type: string
example: ACTIVE
currency:
type: string
example: GBP
owner:
type: object
properties:
type:
type: string
example: END_USER
id:
type: string
example: eus_j82rl497g47g5ykvzn
businessId:
type: string
example: biz_emv4j231821oaz56yx
label:
type: string
example: Satoshis Virtual Account
bankDetails:
type: object
properties:
bankName:
type: string
example: Modulr FS Ltd.
accountHolderName:
type: string
example: Satoshi Nakamoto
country:
type: string
example: GB
accountNumber:
type: string
example: '71005215'
routingCodes:
type: array
items:
type: object
properties:
value:
type: string
example: '000000'
type:
type: string
example: SORT_CODE
createdAt:
type: integer
example: 1654177698929
default: 0
updatedAt:
type: integer
example: 1654177700236
default: 0
metadata: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'404':
description: '404'
content:
application/json:
examples:
Result:
value: "{\n \"errorCode\": \"RESOURCE_MISSING\",\n \"message\": \"No virtual account found with id vac_xxxxyyyyzzzz.\"\n}"
schema:
type: object
properties:
errorCode:
type: string
example: RESOURCE_MISSING
message:
type: string
example: No virtual account found with id vac_xxxxyyyyzzzz.
deprecated: false
x-readme:
code-samples:
- language: curl
code: "curl --request GET \\\n --url https://sandbox.fiatrepublic.com/api/v1/virtual-accounts/vac_5opkx8g1jo50lz4m3e \\\n --header 'Accept: application/json' \n --header 'Authorization: Basic ZmlhdHJlcHVibGljOmZpYXRyZXB1YmxpYw==' \\"
samples-languages:
- curl
tags:
- Virtual Accounts
patch:
summary: Update Virtual Account
description: ''
operationId: update-virtual-account
requestBody:
content:
application/json:
schema:
type: object
properties:
label:
type: string
description: An optional label to easily identify the account on the Dashboard.
metadata:
type: array
items:
type: string
status:
type: string
description: Block/Unblock a virtual account temporarily or Close it permanently by updating its' status.
enum:
- BLOCKED
- ACTIVE
- CLOSED
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"id\":\"vac_5opkx8g1jo50lz4m3e\",\n \"masterFiatAccountId\":\"fac_oka2yeb7y5z05np3jv\",\n \"status\":\"ACTIVE\",\n \"currency\":\"GBP\",\n \"owner\":{\n \"type\":\"END_USER\",\n \"id\":\"eus_j82rl497g47g5ykvzn\"\n },\n \"businessId\":\"biz_emv4j231821oaz56yx\",\n \"label\":\"Nakamotos GBP Account\",\n \"bankDetails\":{\n \"bankName\":\"Modulr FS Ltd.\",\n \"accountHolderName\":\"Satoshi Nakamoto\",\n \"country\":\"GB\",\n \"accountNumber\":\"71005215\",\n \"routingCodes\":[\n {\n \"value\":\"000000\",\n \"type\":\"SORT_CODE\"\n }\n ]\n },\n \"createdAt\":1654177698929,\n \"updatedAt\":1654177700236,\n \"metadata\":{\n \"userId\":\"abc12345678\"\n }\n}"
schema:
type: object
properties:
id:
type: string
example: vac_5opkx8g1jo50lz4m3e
masterFiatAccountId:
type: string
example: fac_oka2yeb7y5z05np3jv
status:
type: string
example: ACTIVE
currency:
type: string
example: GBP
owner:
type: object
properties:
type:
type: string
example: END_USER
id:
type: string
example: eus_j82rl497g47g5ykvzn
businessId:
type: string
example: biz_emv4j231821oaz56yx
label:
type: string
example: Nakamotos GBP Account
bankDetails:
type: object
properties:
bankName:
type: string
example: Modulr FS Ltd.
accountHolderName:
type: string
example: Satoshi Nakamoto
country:
type: string
example: GB
accountNumber:
type: string
example: '71005215'
routingCodes:
type: array
items:
type: object
properties:
value:
type: string
example: '000000'
type:
type: string
example: SORT_CODE
createdAt:
type: integer
example: 1654177698929
default: 0
updatedAt:
type: integer
example: 1654177700236
default: 0
metadata:
type: object
properties:
userId:
type: string
example: abc12345678
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'404':
description: '404'
content:
application/json:
examples:
Result:
value: "{\n \"errorCode\": \"RESOURCE_MISSING\",\n \"message\": \"No virtual account found with id vac_xxxxyyyyzzzz.\"\n}"
schema:
type: object
properties:
errorCode:
type: string
example: RESOURCE_MISSING
message:
type: string
example: No virtual account found with id vac_xxxxyyyyzzzz.
deprecated: false
x-readme:
code-samples:
- language: curl
code: "curl --request PATCH \\\n --url https://sandbox.fiatrepublic.com/api/v1/virtual-accounts/vac_5opkx8g1jo50lz4m3e \\\n --header 'Accept: application/json' \\\n --header 'Authorization: Bearer ZmlhdHJlcHVibGljOmZpYXRyZXB1YmxpYw==' \\\n --header 'Content-Type: application/json' \\\n --data '\n{\n \"label\": \"Nakamotos GBP Account\",\n \"metadata\": {\n \"userId\": \"abc12345678\"\n }\n}\n'"
samples-languages:
- curl
tags:
- Virtual Accounts
components:
securitySchemes:
sec0:
type: oauth2
flows: {}
x-readme-fauxas: true
x-provenance:
method: searched
source: https://docs.fiatrepublic.com/reference
harvested: '2026-10-14'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://docs.fiatrepublic.com/reference/create-business-end-user.md
- https://docs.fiatrepublic.com/reference/create-conversion.md
- https://docs.fiatrepublic.com/reference/create-document.md
- https://docs.fiatrepublic.com/reference/create-emt-payee.md
- https://docs.fiatrepublic.com/reference/create-emt-payment.md
- https://docs.fiatrepublic.com/reference/create-fiat-account.md
- https://docs.fiatrepublic.com/reference/create-individual-end-user.md
- https://docs.fiatrepublic.com/reference/create-payee.md
- https://docs.fiatrepublic.com/reference/create-payin.md
- https://docs.fiatrepublic.com/reference/create-payment.md
- https://docs.fiatrepublic.com/reference/create-quote.md
- https://docs.fiatrepublic.com/reference/create-return.md
- https://docs.fiatrepublic.com/reference/create-virtual-account.md
- https://docs.fiatrepublic.com/reference/create-webhook.md
- https://docs.fiatrepublic.com/reference/delete-emt-payee.md
- https://docs.fiatrepublic.com/reference/delete-payee.md
- https://docs.fiatrepublic.com/reference/delete-webhook.md
- https://docs.fiatrepublic.com/reference/get-business-end-user.md
- https://docs.fiatrepublic.com/reference/get-business.md
- https://docs.fiatrepublic.com/reference/get-conversion.md
- https://docs.fiatrepublic.com/reference/get-documents.md
- https://docs.fiatrepublic.com/reference/get-emt-payee.md
- https://docs.fiatrepublic.com/reference/get-emt-payer.md
- https://docs.fiatrepublic.com/reference/get-emt-payment.md
- https://docs.fiatrepublic.com/reference/get-emt-wallet.md
- https://docs.fiatrepublic.com/reference/get-fiat-account-copy.md
- https://docs.fiatrepublic.com/reference/get-fiat-account.md
- https://docs.fiatrepublic.com/reference/get-individual-end-user.md
- https://docs.fiatrepublic.com/reference/get-member-details.md
- https://docs.fiatrepublic.com/reference/get-member-review-settings.md
- https://docs.fiatrepublic.com/reference/get-payee-verification.md
- https://docs.fiatrepublic.com/reference/get-payee.md
- https://docs.fiatrepublic.com/reference/get-payer.md
- https://docs.fiatrepublic.com/reference/get-payment.md
- https://docs.fiatrepublic.com/reference/get-return.md
- https://docs.fiatrepublic.com/reference/get-transaction.md
- https://docs.fiatrepublic.com/reference/get-virtual-account-transactions.md
- https://docs.fiatrepublic.com/reference/get-virtual-account.md
- https://docs.fiatrepublic.com/reference/get-webhook.md
- https://docs.fiatrepublic.com/reference/list-business-end-users.md
- https://docs.fiatrepublic.com/reference/list-conversions.md
- https://docs.fiatrepublic.com/reference/list-emt-payees.md
- https://docs.fiatrepublic.com/reference/list-emt-payers.md
- https://docs.fiatrepublic.com/reference/list-emt-payments.md
- https://docs.fiatrepublic.com/reference/list-emt-wallets.md
- https://docs.fiatrepublic.com/reference/list-fiat-accounts.md
- https://docs.fiatrepublic.com/reference/list-individual-end-users.md
- https://docs.fiatrepublic.com/reference/list-member-businesses.md
- https://docs.fiatrepublic.com/reference/list-payee.md
- https://docs.fiatrepublic.com/reference/list-payers.md
- https://docs.fiatrepublic.com/reference/list-payments.md
- https://docs.fiatrepublic.com/reference/list-returns.md
- https://docs.fiatrepublic.com/reference/list-transactions.md
- https://docs.fiatrepublic.com/reference/list-virtual-accounts.md
- https://docs.fiatrepublic.com/reference/list-webhook-notifications.md
- https://docs.fiatrepublic.com/reference/list-webhooks.md
- https://docs.fiatrepublic.com/reference/payee-verification-review.md
- https://docs.fiatrepublic.com/reference/payment-review.md
- https://docs.fiatrepublic.com/reference/transactions-summary.md
- https://docs.fiatrepublic.com/reference/update-business-end-user.md
- https://docs.fiatrepublic.com/reference/update-document.md
- https://docs.fiatrepublic.com/reference/update-fiat-account.md
- https://docs.fiatrepublic.com/reference/update-individual-end-user.md
- https://docs.fiatrepublic.com/reference/update-member-review-settings.md
- https://docs.fiatrepublic.com/reference/update-payee.md
- https://docs.fiatrepublic.com/reference/update-virtual-account.md
- https://docs.fiatrepublic.com/reference/update-webhook.md
- https://docs.fiatrepublic.com/reference/validate-payee.md
- https://docs.fiatrepublic.com/reference/verify-payee.md
merge:
pages: 69
deduped: 68
conflicts_kept_first: 0