---
title: "Create Transfer - Account Beneficiary"
method: POST
path: "/v1/transfers"
---

# Create Transfer - Account Beneficiary

`POST /v1/transfers`

Use this API to transfer money from a virtual account to an account number beneficiary.

## Request body

- object
  - `type` string, required — The account type to which you want to make the transfer. <br><br>Possible value: `account_number`
  - `debit_account_id` string, required — The `account_id` from which money should be debited.<br><br>Example: `va_Q6USeYXbx38cKa3NbBpoHDViW`
  - `beneficiary_id` string, required — The `account_id` to which money should be credited.<br><br>Example: `vab_ZPdnNajZkGlu5xrNDVjZNrb3d`
  - `amount` number, float, required — Amount you want to transfer in rupees.<br><br>Example: `369.71`
  - `currency_code` string, required — ISO code of the currency in which you want to make the transfer.<br>Currently, only `inr` is allowed.<br><br>Example: `inr`
  - `payment_mode` string, required — The mode you want to use to make the transfer.<br>Possible values:<ul><li>`neft`<li>`imps` <li>`rtgs`</ul></li>
  - `async` boolean — Helps improve success rate when creating multiple transfers in a short duration.<br><br>Possible values:<ul><li>`true`: The transfer is added to a queue and sent to the bank asynchronously. <li>`false` (default): The transfer request is sent to the bank immediately.</ul></li>
  - `merchant_reference_id` string, required — Unique identifier entered when creating the transfer.<br><ul><li>Only alphabets and numbers are allowed.</li><li>Minimum: 7 characters.</li><li>Maximum: 40 characters.</li></ul>Example: `1409614085`
  - `payment_remark` string — Remark for the transfer. This is shown in the bank statement.<ul><li>Only alphabets and numbers are allowed.</li><li>Minimum: 1 character.</li><li>Maximum: 40 characters.</li></ul>Example: `Transfer via ZWITCH.`
  - `metadata` object — Key-value pair that can be used to store additional information about the entity.<br><br>Note:<ul><li>Maximum 5 key-value pairs. </li><li>Maximum 256 characters in the `metadata` object.</li><li>You cannot pass a URL.</li><li>You cannot use `\`.</li></ul>Example: `"key_1": "DD"`
    - `key_1` string
    - `key_2` string

## Response `200`

200

- union
  - object
    - `id` string
    - `object` string
    - `type` string
    - `amount` integer
    - `debit_account_id` string
    - `beneficiary_id` string
    - `status` string
    - `bank_reference_number` string
    - `currency_code` string
    - `payment_mode` string
    - `payment_remark` string
    - `paid_to` string
    - `beneficiary_name` string
    - `beneficiary_ifsc` string
    - `otp_attempts` integer
    - `metadata` object
      - `key_1` string
      - `key_2` string
    - `merchant_reference_id` string
    - `transacted_at` integer
    - `is_sandbox` boolean
    - `created_at` integer
  - object
    - `id` string
    - `object` string
    - `type` string
    - `amount` integer
    - `debit_account_id` string
    - `beneficiary_id` string
    - `status` string
    - `bank_reference_number` string
    - `bank_error_code` string
    - `currency_code` string
    - `reason_for_error` string
    - `error_type` string
    - `recommended_action` string
    - `payment_mode` string
    - `payment_remark` string
    - `paid_to` string
    - `beneficiary_name` string
    - `beneficiary_ifsc` string
    - `otp_attempts` integer
    - `metadata` object
      - `key_1` string
      - `key_2` string
    - `merchant_reference_id` string
    - `transacted_at` integer
    - `is_sandbox` boolean
    - `created_at` integer
  - object
    - `id` string
    - `object` string
    - `type` string
    - `amount` integer
    - `debit_account_id` string
    - `beneficiary_id` string
    - `status` string
    - `bank_reference_number` string
    - `bank_error_code` string
    - `currency_code` string
    - `reason_for_error` string
    - `error_type` string
    - `recommended_action` string
    - `payment_mode` string
    - `payment_remark` string
    - `paid_to` string
    - `beneficiary_name` string
    - `beneficiary_ifsc` string
    - `otp_attempts` integer
    - `metadata` object
      - `key_1` string
      - `key_2` string
    - `merchant_reference_id` string
    - `transacted_at` integer
    - `is_sandbox` boolean
    - `created_at` integer

## 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)
