---
title: "Create a Virtual Account (v2)"
method: POST
path: "/api/v2/virtual-accounts"
tags: ["Virtual Accounts"]
---

# Create a Virtual Account (v2)

`POST /api/v2/virtual-accounts`

## Request

- Base URL: `https://api.crossborder.jiopay.co.in`
- URL: `https://api.crossborder.jiopay.co.in/api/v2/virtual-accounts`
- Auth: HTTP bearer

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. This endpoint returns HTTP 202 indicating the request has been accepted and is being processed. You will receive a webhook notification when the virtual account is activated.

## Request body

- CreateVirtualAccountRequest
  - `payment_type` 'local' | 'swift', required: The type of payments this virtual account will accept. 'local' for domestic payments within the same country, 'swift' for cross-border payments.
  - `currency` string, required: The currency for the virtual account in ISO 4217 format.

## Response `202`

Accepted

- CreateVirtualAccountResponse
  - `message` string
  - `data` CreateVirtualAccountResponseData
    - `merchant_id` string
    - `status` 'pending'

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `409`: Conflict

---

[API](https://skmtc.dev/jiopay/apis/cross-border.md) - [All operations](https://skmtc.dev/jiopay/apis/cross-border/llms.txt) - [OpenAPI document](https://skmtc.dev/jiopay/apis/cross-border/revisions/b3e97f5918d4?raw)
