---
title: "Create Virtual Account used as Collection Tool"
method: POST
path: "/v1/accounts"
---

# Create Virtual Account used as Collection Tool

`POST /v1/accounts`

Use this API to create a virtual account used as a collection tool.

## Request body

- object
  - `type` string, required — Type of account to be created.<br><br>Accepted value: <ul><li>`virtual`</ul></li>
  - `used_as` string, required — Type of virtual account to be created.<br><br>Accepted value: <ul><li>`collection_tool`</ul></li>
  - `name` string, required — Applicant's name.<br><br>Maximum 70 characters.<br><br>Example: `Anil Reddy`<br><br>Supported characters:<ul><li>`A-Z`</li><li>`a-z`</li><li>`0-9`</li><li>`.`</li><li>`/`</li><li>`\`</li><li>`-`</li><li>`_`</li><li>`,`</li><li>`(`</li><li>`)`</li><li>`'`</li></ul>
  - `mobile_number` string, required — Account holder's mobile number.<br><br>Has to be 10 digits.<br><br>Example: `9876543210`<br><br>Supported characters:<ul><li>`0-9`</ul></li>
  - `email` string, required — Account holder's email address.<br><br>Example: `anil.reddy@example.com`
  - `bank_name` string — Bank where the virtual account used as a collection tool needs to be created.<br><br>Accepted value: <ul><li>`yes_bank`</ul></li>
  - `create_vpa` boolean — Accepted values: <ul><li>`true`: Create a VPA and bank account.</li><li>`false` (default): Create bank account only.</li></ul>
  - `kyc` object — **Mandatory if `create_vpa` is true**.<br><br>JSON object to pass the account holder's KYC details.
    - `pan` string, required — Account holder's 10-digit PAN.<br><br>Example: `ABCDE0000Z`
    - `state_code` string, required — Account holder's state code according to their KYC document.<br><br>Example: `KA`<br><br>Use the <a href="https://developers.zwitch.io/reference/constants-state-codes" target="_blank">States API</a> to get a list of accepted values.
    - `city` string, required — Account holder's city according to their KYC document.<br><br>Example: `bangalore`<br><br>Supported characters:<ul><li>`A-Z`</li><li>`a-z`</li><li>`0-9`</li><li>`space`</li><li>`_`</li><li>`()`</li><li>`.`</li></ul>
    - `postal_code` string, required — Account holder's pincode according to their KYC document.<br><br>Example: `560005`
    - `business_type` string, required — Business type for the virtual account.<br><br>Example: `partnership`<br><br>Use the <a href="https://developers.zwitch.io/reference/constants-business-types" target="_blank">Business Type API</a> to get a list of accepted values.
    - `business_category` string, required — Business category for the virtual account.<br><br>Example: `garage_owners`<br><br>Use the <a href="https://developers.zwitch.io/reference/constants-business-categories" target="_blank">Business Categories API</a> to get a list of accepted values.
    - `contact_person` string — Contact person's name for the business<br><br>Example: `Anil Reddy`
  - `metadata` object — Key-value pair that can be used to store additional information about the entity.<ul><li>Each pair cannot exceed 256 characters.</li><li>Maximum 5 key-value pairs.</li></ul>Example: `"key_1": "DD”`
    - `key_1` string
    - `key_2` string

## Response `200`

200

- object
  - `id` string
  - `object` string
  - `type` string
  - `used_as` string
  - `bank_name` string
  - `name` string
  - `mobile_number` string
  - `email` string
  - `account_number` string
  - `ifsc_code` string
  - `vpa` string
  - `additional_vpa` object[]
  - `whitelisted_remitters` object[]
  - `whitelisted_beneficiaries` object[]
  - `kyc` object
    - `city` string
    - `postal_code` string
    - `state_code` string
    - `pan` string
    - `business_type` string
    - `business_category` string
    - `contact_person` string
    - `pan_verification_id` unknown
  - `customer` object
    - `id` string
    - `mobile_number` string
  - `metadata` object
    - `key_1` string
    - `key_2` string
  - `kyc_url` unknown
  - `status` string
  - `created_at` integer
  - `is_sandbox` boolean
  - `settlement_account_id` unknown
  - `verified_beneficiaries` object[]
  - `verified_remitters` object[]

## Other responses

- `401` — 401
- `422` — 422

---

[API](https://skmtc.net/zwitch/apis/2.md) · [All operations](https://skmtc.net/zwitch/apis/2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zwitch/2/versions/4586157daf87/schema)
