---
title: "Create VA Alias (Single)"
method: POST
path: "/collection/vaAlias/create"
tags: ["VA Code & Alias"]
---

# Create VA Alias (Single)

`POST /collection/vaAlias/create`

## Request

- Base URL: `https://jiof.trxns.in`
- URL: `https://jiof.trxns.in/collection/vaAlias/create`
- Auth: HTTP bearer

Creates a VA Alias under the assigned VA Code. A VA Code must already exist before creating an alias.

**STATIC** VA Alias: Permanent alias (allows multiple credits to the same virtual account).
**DYNAMIC** VA Alias: Auto-expiring alias, the virtual account is tied to an order id and gets deactivated after a certain interval of time (default 10 minutes).

**Failure conditions** (all return `statusCode: 900` with the description below):

| Condition | Status Description |
|---|---|
| Invalid or missing va_code | va_code is mandatory and must be 5 characters long |
| VA Code does not exist | VA Code does not exist |
| Invalid or missing va_name | va_name is mandatory and cannot exceed 100 characters |
| Invalid va_email format | va_email must be a valid email address |
| Invalid mobile number | va_mobile must be a valid 10-digit mobile number |
| Invalid VA Alias | va_alias must be alphanumeric and up to 7 characters long |
| Range start/end missing | Both va_range_start and va_range_end are required if range is provided |
| Invalid range values | va_range_start and va_range_end must be numeric values |
| Invalid range order | va_range_end must be greater than or equal to va_range_start |
| Missing va_type | va_type is required |
| Invalid VA Type | Invalid VA Type |
| Invalid remitter format | va_allowed_remitter must be a JSON array |
| Invalid remitter account number | Each remitter must have a valid account_number (5–24 digits) |
| Invalid remitter IFSC | Each remitter must have a valid IFSC code |
| Invalid numeric limits | &lt;limit_field&gt; must be a valid numeric value |
| Min limit &gt; Max limit | va_min_amount_limit cannot be greater than va_max_amount_limit |
| Invalid activation datetime | VA Activation Date is mandatory and must be a valid datetime |
| Invalid deactivation datetime | VA Deactivation Date must be a valid datetime if provided |
| Activation date in past | VA Activation Date cannot be in the past |
| Activation ≥ Deactivation | va_activation_dt must be before va_deactivation_dt |
| Alias already exists | VA Alias already exists |
| Internal server error | Internal Server Error |

## Request body

- CreateVAAliasRequest
  - `va_code` string, required: Parent VA Code (5 chars).
  - `va_name` string: Account holder name.
  - `va_email` string: Email of account holder or end customer to whom the Virtual account is being assigned.
  - `va_mobile` string: Mobile of account holder or end customer to whom the Virtual account is being assigned (10 digits).
  - `va_alias` string: Alias string (alphanumeric, up to 7 chars).
  - `va_type` 'STATIC' | 'DYNAMIC', required: STATIC (permanent, allows multiple credits) or DYNAMIC (auto-expiring, tied to an order id, default 10-minute deactivation).
  - `va_allowed_remitter` VAAllowedRemitter[]: Array of allowed remitters. To be passed if credit is needed from only certain bank accounts.
    - `account_number` string: Remitter's bank account number (5–24 digits).
    - `account_ifsc` string: Remitter's bank IFSC code.
  - `va_activation_dt` string: Activation datetime. Cannot be in the past.
  - `va_deactivation_dt` string: Deactivation datetime. Must be after va_activation_dt.
  - `va_range_start` string: Start of a range of virtual accounts to create (numeric only). Either a single va_alias or a range must be provided, not both.
  - `va_range_end` string: End of the range. Required if va_range_start is passed.
  - `va_min_amount_limit` number: Minimum amount to be credited to the Virtual account.
  - `va_max_amount_limit` number: Maximum amount that can be credited to the virtual account.
  - `imps_limit` number: Amount limit for IMPS payment mode.
  - `neft_limit` number: Amount limit for NEFT payment mode.
  - `rtgs_limit` number: Amount limit for RTGS payment mode.
  - `ift_limit` number: Amount limit for IFT payment mode.
  - `va_udf1` string: Merchant-defined custom field 1.
  - `va_udf2` string: Merchant-defined custom field 2.
  - `va_udf3` string: Merchant-defined custom field 3.
  - `va_udf4` string: Merchant-defined custom field 4.
  - `va_udf5` string: Merchant-defined custom field 5.
  - `va_udf6` string: Merchant-defined custom field 6.
  - `va_udf7` string: Merchant-defined custom field 7.
  - `va_udf8` string: Merchant-defined custom field 8.
  - `va_udf9` string: Merchant-defined custom field 9.
  - `va_udf10` string: Merchant-defined custom field 10.
  - `va_udf11` string: Merchant-defined custom field 11.
  - `va_udf12` string: Merchant-defined custom field 12.
  - `va_udf13` string: Merchant-defined custom field 13.
  - `va_udf14` string: Merchant-defined custom field 14.
  - `va_udf15` string: Merchant-defined custom field 15.

## Response `200`

Success or failure — see statusCode in the body.

- union
  - CreateVAAliasResponse
    - `statusCode` integer
    - `statusDesc` string
    - `data` CreateVAAliasResponseData
      - `is_used` integer: 0 = unused, 1 = used.
      - `is_active` integer: 0 = inactive, 1 = active.
      - `id` integer
      - `va_name` string
      - `va_alias` string
      - `type` 'STATIC' | 'DYNAMIC'
      - `va_allowed_remitter` VAAllowedRemitter[]
        - `account_number` string: Remitter's bank account number (5–24 digits).
        - `account_ifsc` string: Remitter's bank IFSC code.
      - `va_activation_dt` string
      - `va_deactivation_dt` string
      - `va_min_amount_limit` number
      - `va_max_amount_limit` number
    - `bene_acc_no` string: The virtual account number assigned to the end customer (BANK_CODE + VA_Code + VA_Alias).
  - VAFailureResponse
    - `statusCode` integer: Application-level status code. 900 indicates failure; the specific reason is in statusDesc.
    - `statusDesc` string: Human-readable description of the failure.

---

[API](https://skmtc.dev/jiopay/apis/virtual-accounts.md) - [All operations](https://skmtc.dev/jiopay/apis/virtual-accounts/llms.txt) - [OpenAPI document](https://skmtc.dev/jiopay/apis/virtual-accounts/revisions/069638c81b20?raw)
