---
title: "Create an Account Transfer"
method: POST
path: "/account_transfers"
---

# Create an Account Transfer

`POST /account_transfers`

## Request body

- CreateAnAccountTransferParameters
  - `account_id` string, required — The identifier for the originating Account that will send the transfer.
  - `amount` integer, required — The transfer amount in the minor unit of the account currency. For dollars, for example, this is cents.
  - `description` string, required — An internal-facing description for the transfer for display in the API and dashboard. This will also show in the description of the created Transactions.
  - `destination_account_id` string, required — The identifier for the destination Account that will receive the transfer.
  - `require_approval` boolean — Whether the transfer should require explicit approval via the dashboard or API. For more information, see [Transfer Approvals](/documentation/transfer-approvals).

## Response `200`

Account Transfer

- AccountTransfer — Account transfers move funds between your own accounts at Increase (accounting systems often refer to these as Book Transfers). Account Transfers are free and synchronous. Upon creation they create two Transactions, one negative on the originating account and one positive on the destination account (unless the transfer requires approval, in which case the Transactions will be created when the transfer is approved).
  - `account_id` string, required — The Account from which the transfer originated.
  - `amount` integer, required — The transfer amount in cents. This will always be positive and indicates the amount of money leaving the originating account.
  - `approval` object, nullable, required — If your account requires approvals for transfers and the transfer was approved, this will contain details of the approval.
    - `approved_at` string, date-time, required — The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which the transfer was approved.
    - `approved_by` string, nullable, required — If the Transfer was approved by a user in the dashboard, the email address of that user.
  - `cancellation` object, nullable, required — If your account requires approvals for transfers and the transfer was not approved, this will contain details of the cancellation.
    - `canceled_at` string, date-time, required — The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which the Transfer was canceled.
    - `canceled_by` string, nullable, required — If the Transfer was canceled by a user in the dashboard, the email address of that user.
  - `created_at` string, date-time, required — The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which the transfer was created.
  - `created_by` object, nullable, required — What object created the transfer, either via the API or the dashboard.
    - `api_key` object, nullable — If present, details about the API key that created the transfer.
      - `description` string, nullable, required — The description set for the API key when it was created.
    - `category` 'api_key' | 'oauth_application' | 'user', required — The type of object that created this transfer.
    - `oauth_application` object, nullable — If present, details about the OAuth Application that created the transfer.
      - `name` string, required — The name of the OAuth Application.
    - `user` object, nullable — If present, details about the User that created the transfer.
      - `email` string, required — The email address of the User.
  - `currency` 'USD', required — The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's currency.
  - `description` string, required — An internal-facing description for the transfer for display in the API and dashboard. This will also show in the description of the created Transactions.
  - `destination_account_id` string, required — The destination Account's identifier.
  - `destination_transaction_id` string, nullable, required — The identifier of the Transaction on the destination Account representing the received funds.
  - `id` string, required — The Account Transfer's identifier.
  - `idempotency_key` string, nullable, required — The idempotency key you chose for this object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about [idempotency](https://increase.com/documentation/idempotency-keys).
  - `pending_transaction_id` string, nullable, required — The ID for the pending transaction representing the transfer. A pending transaction is created when the transfer [requires approval](https://increase.com/documentation/transfer-approvals#transfer-approvals) by someone else in your organization.
  - `status` 'pending_approval' | 'canceled' | 'complete', required — The lifecycle status of the transfer.
  - `transaction_id` string, nullable, required — The identifier of the Transaction on the originating account representing the transferred funds.
  - `type` 'account_transfer', required — A constant representing the object's type. For this resource it will always be `account_transfer`.

## Other responses

- `4XX` — Error
- `5XX` — Error

---

[API](https://skmtc.net/increase/apis/increase-api.md) · [All operations](https://skmtc.net/increase/apis/increase-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/increase/increase-api/versions/22125d715935/schema)
