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