---
title: "Move money between your accounts"
method: POST
path: "/transfer"
tags: ["Transfers"]
---

# Move money between your accounts

`POST /transfer`

## Request

- Base URL: `https://b2b.revolut.com/api/1.0`
- URL: `https://b2b.revolut.com/api/1.0/transfer`
- Auth: HTTP bearer

Move money between the Revolut accounts of the business in the same currency.

The resulting transaction has the type `transfer`.

For more information, see the guides: [Send money](https://developer.revolut.com/docs/guides/manage-accounts/transfers/send-money).

## Request body

- TransferRequest: Transfer the funds between accounts of the business in the same currency.
  - `request_id` string, required: The ID of the request, provided by you. It helps you identify the transaction in your system. :::warning To ensure that a transfer is not processed multiple times if there are network or system errors, the same `request_id` should be used for requests related to the same transfer. :::
  - `source_account_id` string, uuid, required: The ID of the source account that you transfer the funds from.
  - `target_account_id` string, uuid, required: The ID of the target account that you transfer the funds to.
  - `amount` number, double, required: The amount of the funds to be transferred.
  - `currency` string, required: [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code in upper case.
  - `reference` string: The reference for the funds transfer.

## Response `200`

The information about the transfer created

- TransferResponse
  - `id` string, required: The ID of the transaction created.
  - `state` 'created' | 'pending' | 'completed' | 'declined' | 'failed' | 'reverted', required: Indicates the transaction state. Possible values: | Value | Description | | --- | --- | | **`created`** | The transaction has been created and is either processed asynchronously or scheduled for a later time. | | **`pending`** | The transaction is pending until it's being processed. If the transfer is made between Revolut accounts, this state is skipped and the transaction is executed instantly. | | **`completed`** | The transaction was successful. | | **`declined`** | The transaction was unsuccessful. This can happen for a variety of reasons, for example, insufficient account balance, wrong receiver information, etc. | | **`failed`** | The transaction was unsuccessful. This can happen for a variety of reasons, for example, invalid API calls, blocked payments, etc. | | **`reverted`** | The transaction was reverted. This can happen for a variety of reasons, for example, the receiver being inaccessible. |
  - `created_at` string, date-time, required: The date and time the transaction was created in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `completed_at` string, date-time: The date and time the transaction was completed in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.

## Other responses

- `default`: Unexpected error

---

[API](https://skmtc.dev/revolut/apis/business-api.md) - [All operations](https://skmtc.dev/revolut/apis/business-api/llms.txt) - [OpenAPI document](https://skmtc.dev/revolut/apis/business-api/revisions/be089d9fa8b4?raw)
