# Create a Virtual Account Creates a new virtual account with the specified payment type and currency. Virtual accounts provide unique account numbers that can be used to receive payments for customers. Endpoint: POST /virtual-accounts Version: 1.0.0 Security: JWT ## Request fields (application/json): - `payment_type` (string, required) The type of payments this virtual account will accept. 'local' for domestic payments within the same country, 'swift' for cross-border payments. Enum: "local", "swift" - `currency` (string, required) The currency for the virtual account in ISO 4217 format. Example: "AED" ## Response 201 fields (application/json): - `account_id` (string) The unique identifier for the virtual account. Example: "VA1001" - `currency` (string) The currency of the virtual account in ISO 4217 format. Example: "USD" - `account_number` (string) The unique account number for the virtual account, formatted according to the country's banking standards. Example: "AE88001234567890" - `name` (string) The name associated with the virtual account, typically the business name. Example: "Acme Exports" - `status` (string) The current status of the virtual account. Enum: "active", "inactive", "disabled" - `created_at` (string) The date and time when the virtual account was created. Example: "2025-08-19T07:00:00Z" - `updated_at` (string) The date and time when the virtual account was last updated. Example: "2025-08-19T07:00:00Z" ## Response 400 fields (application/json): - `error` (string) Enum: "Bad Request" - `message` (string) Error message indicating which parameter was invalid Example: "Missing Required parameters" ## Response 401 fields (application/json): - `error` (string) Enum: "Unauthorized" - `message` (string) Authentication credentials were missing or invalid Example: "Auth token expired or invalid" ## Response 409 fields (application/json): - `error` (string) Enum: "Duplicate record" - `message` (string) Virtual Account already exists Example: "Virtual Account already exists"