---
title: "Transfer funds"
method: POST
path: "/transfers"
tags: ["Transfers"]
---

# Transfer funds

`POST /transfers`

>Versions 1 and 2 of the Transfers API are deprecated. If you are just starting your implementation, use the latest version.

Starts a request to transfer funds to:
- [Balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts)
- [Transfer instruments](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments)
- [Third-party bank accounts](https://docs.adyen.com/payouts/payout-service/pay-out-to-bank-accounts)
- [Third-party cards](https://docs.adyen.com/payouts/payout-service/pay-out-to-cards)

Adyen sends the outcome of the transfer request through webhooks.

To use this endpoint:
- Your API credential must have the **TransferService Webservice Initiate** [role](https://docs.adyen.com/platforms/manage-access/webservice-roles/?tab=transfers_3).
- The account holder must have the required [capabilities](https://docs.adyen.com/platforms/verification-overview/capabilities).

Reach out to your Adyen contact to set up these permissions.

## Headers

- `Idempotency-Key` string
- `WWW-Authenticate` string

## Request body

- TransferInfo
  - `amount` Amount, required
    - `currency` string, required — The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes).
    - `value` integer, required — The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).
  - `balanceAccountId` string — The unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts#responses-200-id). If you want to make a transfer using a **virtual** **bankAccount** assigned to the balance account, you must specify the [payment instrument ID](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments#responses-200-id) of the **virtual** **bankAccount**. If you only specify a balance account ID, Adyen uses the default **physical** **bankAccount** payment instrument assigned to the balance account.
  - `category` 'bank' | 'card' | 'internal' | 'issuedCard' | 'platformPayment' | 'topUp', required — The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account.
  - `counterparty` CounterpartyInfoV3, required
    - `balanceAccountId` string — The unique identifier of the counterparty [balance account](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts#responses-200-id).
    - `bankAccount` BankAccountV3
      - `accountHolder` PartyIdentification, required
        - `address` Address
          - `city` string — The name of the city. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
          - `country` string, required — The two-character ISO 3166-1 alpha-2 country code. For example, **US**, **NL**, or **GB**.
          - `line1` string — First line of the street address. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
          - `line2` string — Second line of the street address. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
          - `postalCode` string — The postal code. Maximum length: * 5 digits for an address in the US. * 10 characters for an address in all other countries. Supported characters: [a-z] [A-Z] [0-9] and Space.
          - `stateOrProvince` string — The two-letter ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada. > Required for the US and Canada.
        - `dateOfBirth` string, date — The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format. For example, **YYYY-MM-DD**. Allowed only when `type` is **individual**.
        - `firstName` string — The first name of the individual. Supported characters: [a-z] [A-Z] - . / — and space. This parameter is: - Allowed only when `type` is **individual**. - Required when `category` is **card**.
        - `fullName` string — The full name of the entity that owns the bank account or card. Supported characters: [a-z] [A-Z] [0-9] , . ; : - — / \ + & ! ? @ ( ) " ' and space. Required when `category` is **bank**.
        - `lastName` string — The last name of the individual. Supported characters: [a-z] [A-Z] - . / — and space. This parameter is: - Allowed only when `type` is **individual**. - Required when `category` is **card**.
        - `reference` string — A unique reference to identify the party or counterparty involved in the transfer. For example, your client's unique wallet or payee ID. Required when you include `cardIdentification.storedPaymentMethodId`.
        - `type` 'individual' | 'organization' | 'unknown' — The type of entity that owns the bank account or card. Possible values: **individual**, **organization**, or **unknown**. Required when `category` is **card**. In this case, the value must be **individual**.
      - `accountIdentification` union, required — Contains the bank account details. The fields required in this object depend on the country of the bank account and the currency of the transfer.
        - AULocalAccountIdentification
          - `accountNumber` string, required — The bank account number, without separators or whitespace.
          - `bsbCode` string, required — The 6-digit [Bank State Branch (BSB) code](https://en.wikipedia.org/wiki/Bank_state_branch), without separators or whitespace.
          - `type` 'auLocal', required — **auLocal**
        - BRLocalAccountIdentification
          - `accountNumber` string, required — The bank account number, without separators or whitespace.
          - `bankCode` string, required — The 3-digit bank code, with leading zeros.
          - `branchNumber` string, required — The bank account branch number, without separators or whitespace.
          - `ispb` string — The 8-digit ISPB, with leading zeros.
          - `type` 'brLocal', required — **brLocal**
        - CALocalAccountIdentification
          - `accountNumber` string, required — The 5- to 12-digit bank account number, without separators or whitespace.
          - `accountType` 'checking' | 'savings' — The bank account type. Possible values: **checking** or **savings**. Defaults to **checking**.
          - `institutionNumber` string, required — The 3-digit institution number, without separators or whitespace.
          - `transitNumber` string, required — The 5-digit transit number, without separators or whitespace.
          - `type` 'caLocal', required — **caLocal**
        - CZLocalAccountIdentification
          - `accountNumber` string, required — The 2- to 16-digit bank account number (Číslo účtu) in the following format: - The optional prefix (předčíslí). - The required second part (základní část) which must be at least two non-zero digits. Examples: - **19-123457** (with prefix) - **123457** (without prefix) - **000019-0000123457** (with prefix, normalized) - **000000-0000123457** (without prefix, normalized)
          - `bankCode` string, required — The 4-digit bank code (Kód banky), without separators or whitespace.
          - `type` 'czLocal', required — **czLocal**
        - DKLocalAccountIdentification
          - `accountNumber` string, required — The 4-10 digits bank account number (Kontonummer) (without separators or whitespace).
          - `bankCode` string, required — The 4-digit bank code (Registreringsnummer) (without separators or whitespace).
          - `type` 'dkLocal', required — **dkLocal**
        - HKLocalAccountIdentification
          - `accountNumber` string, required — The 9- to 15-character bank account number (alphanumeric), without separators or whitespace. Starts with the 3-digit branch code.
          - `clearingCode` string, required — The 3-digit clearing code, without separators or whitespace.
          - `type` 'hkLocal', required — **hkLocal**
        - HULocalAccountIdentification
          - `accountNumber` string, required — The 24-digit bank account number, without separators or whitespace.
          - `type` 'huLocal', required — **huLocal**
        - IbanAccountIdentification
          - `iban` string, required — The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html) standard.
          - `type` 'iban', required — **iban**
        - NOLocalAccountIdentification
          - `accountNumber` string, required — The 11-digit bank account number, without separators or whitespace.
          - `type` 'noLocal', required — **noLocal**
        - NZLocalAccountIdentification
          - `accountNumber` string, required — The 15-16 digit bank account number. The first 2 digits are the bank number, the next 4 digits are the branch number, the next 7 digits are the account number, and the final 2-3 digits are the suffix.
          - `type` 'nzLocal', required — **nzLocal**
        - NumberAndBicAccountIdentification
          - `accountNumber` string, required — The bank account number, without separators or whitespace. The length and format depends on the bank or country.
          - `additionalBankIdentification` AdditionalBankIdentification
            - `code` string — The value of the additional bank identification.
            - `type` 'gbSortCode' | 'usRoutingNumber' — The type of additional bank identification, depending on the country. Possible values: * **gbSortCode**: The 6-digit [UK sort code](https://en.wikipedia.org/wiki/Sort_code), without separators or spaces * **usRoutingNumber**: The 9-digit [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number), without separators or spaces.
          - `bic` string, required — The bank's 8- or 11-character BIC or SWIFT code.
          - `type` 'numberAndBic', required — **numberAndBic**
        - PLLocalAccountIdentification
          - `accountNumber` string, required — The 26-digit bank account number ([Numer rachunku](https://pl.wikipedia.org/wiki/Numer_Rachunku_Bankowego)), without separators or whitespace.
          - `type` 'plLocal', required — **plLocal**
        - SELocalAccountIdentification
          - `accountNumber` string, required — The 7- to 10-digit bank account number ([Bankkontonummer](https://sv.wikipedia.org/wiki/Bankkonto)), without the clearing number, separators, or whitespace.
          - `clearingNumber` string, required — The 4- to 5-digit clearing number ([Clearingnummer](https://sv.wikipedia.org/wiki/Clearingnummer)), without separators or whitespace.
          - `type` 'seLocal', required — **seLocal**
        - SGLocalAccountIdentification
          - `accountNumber` string, required — The 4- to 19-digit bank account number, without separators or whitespace.
          - `bic` string, required — The bank's 8- or 11-character BIC or SWIFT code.
          - `type` 'sgLocal' — **sgLocal**
        - UKLocalAccountIdentification
          - `accountNumber` string, required — The 8-digit bank account number, without separators or whitespace.
          - `sortCode` string, required — The 6-digit [sort code](https://en.wikipedia.org/wiki/Sort_code), without separators or whitespace.
          - `type` 'ukLocal', required — **ukLocal**
        - USLocalAccountIdentification
          - `accountNumber` string, required — The bank account number, without separators or whitespace.
          - `accountType` 'checking' | 'savings' — The bank account type. Possible values: **checking** or **savings**. Defaults to **checking**.
          - `routingNumber` string, required — The 9-digit [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number), without separators or whitespace.
          - `type` 'usLocal', required — **usLocal**
    - `card` Card
      - `cardHolder` PartyIdentification, required
        - `address` Address
          - `city` string — The name of the city. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
          - `country` string, required — The two-character ISO 3166-1 alpha-2 country code. For example, **US**, **NL**, or **GB**.
          - `line1` string — First line of the street address. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
          - `line2` string — Second line of the street address. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
          - `postalCode` string — The postal code. Maximum length: * 5 digits for an address in the US. * 10 characters for an address in all other countries. Supported characters: [a-z] [A-Z] [0-9] and Space.
          - `stateOrProvince` string — The two-letter ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada. > Required for the US and Canada.
        - `dateOfBirth` string, date — The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format. For example, **YYYY-MM-DD**. Allowed only when `type` is **individual**.
        - `firstName` string — The first name of the individual. Supported characters: [a-z] [A-Z] - . / — and space. This parameter is: - Allowed only when `type` is **individual**. - Required when `category` is **card**.
        - `fullName` string — The full name of the entity that owns the bank account or card. Supported characters: [a-z] [A-Z] [0-9] , . ; : - — / \ + & ! ? @ ( ) " ' and space. Required when `category` is **bank**.
        - `lastName` string — The last name of the individual. Supported characters: [a-z] [A-Z] - . / — and space. This parameter is: - Allowed only when `type` is **individual**. - Required when `category` is **card**.
        - `reference` string — A unique reference to identify the party or counterparty involved in the transfer. For example, your client's unique wallet or payee ID. Required when you include `cardIdentification.storedPaymentMethodId`.
        - `type` 'individual' | 'organization' | 'unknown' — The type of entity that owns the bank account or card. Possible values: **individual**, **organization**, or **unknown**. Required when `category` is **card**. In this case, the value must be **individual**.
      - `cardIdentification` CardIdentification, required
        - `expiryMonth` string — The expiry month of the card. Format: two digits. Add a leading zero for single-digit months. For example: * 03 = March * 11 = November
        - `expiryYear` string — The expiry year of the card. Format: four digits. For example: 2020
        - `issueNumber` string — The issue number of the card. Applies only to some UK debit cards.
        - `number` string — The card number without any separators. For security, the response only includes the last four digits of the card number.
        - `startMonth` string — The month when the card was issued. Applies only to some UK debit cards. Format: two digits. Add a leading zero for single-digit months. For example: * 03 = March * 11 = November
        - `startYear` string — The year when the card was issued. Applies only to some UK debit cards. Format: four digits. For example: 2020
        - `storedPaymentMethodId` string — The unique [token](/payouts/payout-service/pay-out-to-cards/manage-card-information#save-card-details) created to identify the counterparty.
    - `transferInstrumentId` string — The unique identifier of the counterparty [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id).
  - `description` string — Your description for the transfer. It is used by most banks as the transfer description. We recommend sending a maximum of 140 characters, otherwise the description may be truncated. Supported characters: **[a-z] [A-Z] [0-9] / - ?** **: ( ) . , ' + Space** Supported characters for **regular** and **fast** transfers to a US counterparty: **[a-z] [A-Z] [0-9] & $ % # @** **~ = + - _ ' " ! ?**
  - `paymentInstrumentId` string — The unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments#responses-200-id). If you want to make a transfer using a **virtual** **bankAccount**, you must specify the payment instrument ID of the **virtual** **bankAccount**. If you only specify a balance account ID, Adyen uses the default **physical** **bankAccount** payment instrument assigned to the balance account.
  - `priority` 'crossBorder' | 'fast' | 'instant' | 'internal' | 'regular' | 'wire' — The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Required for transfers with `category` **bank**. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN).
  - `reference` string — Your reference for the transfer, used internally within your platform. If you don't provide this in the request, Adyen generates a unique reference.
  - `referenceForBeneficiary` string — A reference that is sent to the recipient. This reference is also sent in all webhooks related to the transfer, so you can use it to track statuses for both parties involved in the funds movement. Supported characters: **a-z**, **A-Z**, **0-9**. The maximum length depends on the `category`. - **internal**: 80 characters - **bank**: 35 characters when transferring to an IBAN, 15 characters for others.
  - `review` TransferRequestReview
    - `numberOfApprovalsRequired` integer — Specifies the number of [approvals](https://docs.adyen.com/api-explorer/transfers/latest/post/transfers/approve) required to process the transfer.
    - `scaOnApproval` boolean — Specifies whether you will initiate Strong Customer Authentication (SCA) in thePOST [/transfers/approve](https://docs.adyen.com/api-explorer/transfers/latest/post/transfers/approve) request. Only applies to transfers made with an Adyen [business account](https://docs.adyen.com/platforms/business-accounts).
  - `type` 'bankTransfer' | 'internalTransfer' | 'internalDirectDebit' — The type of transfer. Possible values: - **bankTransfer**: for push transfers to a transfer instrument or a bank account. The `category` must be **bank**. - **internalTransfer**: for push transfers between balance accounts. The `category` must be **internal**. - **internalDirectDebit**: for pull transfers (direct debits) between balance accounts. The `category` must be **internal**.
  - `ultimateParty` UltimatePartyIdentification
    - `address` Address
      - `city` string — The name of the city. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
      - `country` string, required — The two-character ISO 3166-1 alpha-2 country code. For example, **US**, **NL**, or **GB**.
      - `line1` string — First line of the street address. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
      - `line2` string — Second line of the street address. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
      - `postalCode` string — The postal code. Maximum length: * 5 digits for an address in the US. * 10 characters for an address in all other countries. Supported characters: [a-z] [A-Z] [0-9] and Space.
      - `stateOrProvince` string — The two-letter ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada. > Required for the US and Canada.
    - `dateOfBirth` string, date — The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format. For example, **YYYY-MM-DD**. Allowed only when `type` is **individual**.
    - `firstName` string — The first name of the individual. Supported characters: [a-z] [A-Z] - . / — and space. This parameter is: - Allowed only when `type` is **individual**. - Required when `category` is **card**.
    - `fullName` string — The full name of the entity that owns the bank account or card. Supported characters: [a-z] [A-Z] [0-9] , . ; : - — / \ + & ! ? @ ( ) " ' and space. Required when `category` is **bank**.
    - `lastName` string — The last name of the individual. Supported characters: [a-z] [A-Z] - . / — and space. This parameter is: - Allowed only when `type` is **individual**. - Required when `category` is **card**.
    - `reference` string — A unique reference to identify the party or counterparty involved in the transfer. For example, your client's unique wallet or payee ID. Required when you include `cardIdentification.storedPaymentMethodId`.
    - `type` 'individual' | 'organization' | 'unknown' — The type of entity that owns the bank account or card. Possible values: **individual**, **organization**, or **unknown**. Required when `category` is **card**. In this case, the value must be **individual**.

## Response `202`

Accepted - the request has been accepted for processing, but the processing has not been completed.

- Transfer
  - `accountHolder` ResourceReference
    - `description` string — The description of the resource.
    - `id` string — The unique identifier of the resource.
    - `reference` string — The reference for the resource.
  - `amount` Amount, required
    - `currency` string, required — The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes).
    - `value` integer, required — The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).
  - `balanceAccount` ResourceReference
    - `description` string — The description of the resource.
    - `id` string — The unique identifier of the resource.
    - `reference` string — The reference for the resource.
  - `balanceAccountId` string — The unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).
  - `category` 'bank' | 'card' | 'internal' | 'issuedCard' | 'platformPayment' | 'topUp', required — The category of the transfer. Possible values: - **bank**: a transfer involving a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **card**: a transfer involving a third-party card. - **internal**: a transfer between [balance accounts](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: a transfer initiated by a Adyen-issued card. - **platformPayment**: funds movements related to payments that are acquired for your users. - **topUp**: an incoming transfer initiated by your user to top up their balance account.
  - `counterparty` CounterpartyV3, required
    - `balanceAccountId` string — The unique identifier of the counterparty [balance account](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts#responses-200-id).
    - `bankAccount` BankAccountV3
      - `accountHolder` PartyIdentification, required
        - `address` Address
          - `city` string — The name of the city. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
          - `country` string, required — The two-character ISO 3166-1 alpha-2 country code. For example, **US**, **NL**, or **GB**.
          - `line1` string — First line of the street address. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
          - `line2` string — Second line of the street address. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
          - `postalCode` string — The postal code. Maximum length: * 5 digits for an address in the US. * 10 characters for an address in all other countries. Supported characters: [a-z] [A-Z] [0-9] and Space.
          - `stateOrProvince` string — The two-letter ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada. > Required for the US and Canada.
        - `dateOfBirth` string, date — The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format. For example, **YYYY-MM-DD**. Allowed only when `type` is **individual**.
        - `firstName` string — The first name of the individual. Supported characters: [a-z] [A-Z] - . / — and space. This parameter is: - Allowed only when `type` is **individual**. - Required when `category` is **card**.
        - `fullName` string — The full name of the entity that owns the bank account or card. Supported characters: [a-z] [A-Z] [0-9] , . ; : - — / \ + & ! ? @ ( ) " ' and space. Required when `category` is **bank**.
        - `lastName` string — The last name of the individual. Supported characters: [a-z] [A-Z] - . / — and space. This parameter is: - Allowed only when `type` is **individual**. - Required when `category` is **card**.
        - `reference` string — A unique reference to identify the party or counterparty involved in the transfer. For example, your client's unique wallet or payee ID. Required when you include `cardIdentification.storedPaymentMethodId`.
        - `type` 'individual' | 'organization' | 'unknown' — The type of entity that owns the bank account or card. Possible values: **individual**, **organization**, or **unknown**. Required when `category` is **card**. In this case, the value must be **individual**.
      - `accountIdentification` union, required — Contains the bank account details. The fields required in this object depend on the country of the bank account and the currency of the transfer.
        - AULocalAccountIdentification
          - `accountNumber` string, required — The bank account number, without separators or whitespace.
          - `bsbCode` string, required — The 6-digit [Bank State Branch (BSB) code](https://en.wikipedia.org/wiki/Bank_state_branch), without separators or whitespace.
          - `type` 'auLocal', required — **auLocal**
        - BRLocalAccountIdentification
          - `accountNumber` string, required — The bank account number, without separators or whitespace.
          - `bankCode` string, required — The 3-digit bank code, with leading zeros.
          - `branchNumber` string, required — The bank account branch number, without separators or whitespace.
          - `ispb` string — The 8-digit ISPB, with leading zeros.
          - `type` 'brLocal', required — **brLocal**
        - CALocalAccountIdentification
          - `accountNumber` string, required — The 5- to 12-digit bank account number, without separators or whitespace.
          - `accountType` 'checking' | 'savings' — The bank account type. Possible values: **checking** or **savings**. Defaults to **checking**.
          - `institutionNumber` string, required — The 3-digit institution number, without separators or whitespace.
          - `transitNumber` string, required — The 5-digit transit number, without separators or whitespace.
          - `type` 'caLocal', required — **caLocal**
        - CZLocalAccountIdentification
          - `accountNumber` string, required — The 2- to 16-digit bank account number (Číslo účtu) in the following format: - The optional prefix (předčíslí). - The required second part (základní část) which must be at least two non-zero digits. Examples: - **19-123457** (with prefix) - **123457** (without prefix) - **000019-0000123457** (with prefix, normalized) - **000000-0000123457** (without prefix, normalized)
          - `bankCode` string, required — The 4-digit bank code (Kód banky), without separators or whitespace.
          - `type` 'czLocal', required — **czLocal**
        - DKLocalAccountIdentification
          - `accountNumber` string, required — The 4-10 digits bank account number (Kontonummer) (without separators or whitespace).
          - `bankCode` string, required — The 4-digit bank code (Registreringsnummer) (without separators or whitespace).
          - `type` 'dkLocal', required — **dkLocal**
        - HKLocalAccountIdentification
          - `accountNumber` string, required — The 9- to 15-character bank account number (alphanumeric), without separators or whitespace. Starts with the 3-digit branch code.
          - `clearingCode` string, required — The 3-digit clearing code, without separators or whitespace.
          - `type` 'hkLocal', required — **hkLocal**
        - HULocalAccountIdentification
          - `accountNumber` string, required — The 24-digit bank account number, without separators or whitespace.
          - `type` 'huLocal', required — **huLocal**
        - IbanAccountIdentification
          - `iban` string, required — The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html) standard.
          - `type` 'iban', required — **iban**
        - NOLocalAccountIdentification
          - `accountNumber` string, required — The 11-digit bank account number, without separators or whitespace.
          - `type` 'noLocal', required — **noLocal**
        - NZLocalAccountIdentification
          - `accountNumber` string, required — The 15-16 digit bank account number. The first 2 digits are the bank number, the next 4 digits are the branch number, the next 7 digits are the account number, and the final 2-3 digits are the suffix.
          - `type` 'nzLocal', required — **nzLocal**
        - NumberAndBicAccountIdentification
          - `accountNumber` string, required — The bank account number, without separators or whitespace. The length and format depends on the bank or country.
          - `additionalBankIdentification` AdditionalBankIdentification
            - `code` string — The value of the additional bank identification.
            - `type` 'gbSortCode' | 'usRoutingNumber' — The type of additional bank identification, depending on the country. Possible values: * **gbSortCode**: The 6-digit [UK sort code](https://en.wikipedia.org/wiki/Sort_code), without separators or spaces * **usRoutingNumber**: The 9-digit [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number), without separators or spaces.
          - `bic` string, required — The bank's 8- or 11-character BIC or SWIFT code.
          - `type` 'numberAndBic', required — **numberAndBic**
        - PLLocalAccountIdentification
          - `accountNumber` string, required — The 26-digit bank account number ([Numer rachunku](https://pl.wikipedia.org/wiki/Numer_Rachunku_Bankowego)), without separators or whitespace.
          - `type` 'plLocal', required — **plLocal**
        - SELocalAccountIdentification
          - `accountNumber` string, required — The 7- to 10-digit bank account number ([Bankkontonummer](https://sv.wikipedia.org/wiki/Bankkonto)), without the clearing number, separators, or whitespace.
          - `clearingNumber` string, required — The 4- to 5-digit clearing number ([Clearingnummer](https://sv.wikipedia.org/wiki/Clearingnummer)), without separators or whitespace.
          - `type` 'seLocal', required — **seLocal**
        - SGLocalAccountIdentification
          - `accountNumber` string, required — The 4- to 19-digit bank account number, without separators or whitespace.
          - `bic` string, required — The bank's 8- or 11-character BIC or SWIFT code.
          - `type` 'sgLocal' — **sgLocal**
        - UKLocalAccountIdentification
          - `accountNumber` string, required — The 8-digit bank account number, without separators or whitespace.
          - `sortCode` string, required — The 6-digit [sort code](https://en.wikipedia.org/wiki/Sort_code), without separators or whitespace.
          - `type` 'ukLocal', required — **ukLocal**
        - USLocalAccountIdentification
          - `accountNumber` string, required — The bank account number, without separators or whitespace.
          - `accountType` 'checking' | 'savings' — The bank account type. Possible values: **checking** or **savings**. Defaults to **checking**.
          - `routingNumber` string, required — The 9-digit [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number), without separators or whitespace.
          - `type` 'usLocal', required — **usLocal**
    - `card` Card
      - `cardHolder` PartyIdentification, required
        - `address` Address
          - `city` string — The name of the city. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
          - `country` string, required — The two-character ISO 3166-1 alpha-2 country code. For example, **US**, **NL**, or **GB**.
          - `line1` string — First line of the street address. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
          - `line2` string — Second line of the street address. Supported characters: [a-z] [A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.
          - `postalCode` string — The postal code. Maximum length: * 5 digits for an address in the US. * 10 characters for an address in all other countries. Supported characters: [a-z] [A-Z] [0-9] and Space.
          - `stateOrProvince` string — The two-letter ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada. > Required for the US and Canada.
        - `dateOfBirth` string, date — The date of birth of the individual in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format. For example, **YYYY-MM-DD**. Allowed only when `type` is **individual**.
        - `firstName` string — The first name of the individual. Supported characters: [a-z] [A-Z] - . / — and space. This parameter is: - Allowed only when `type` is **individual**. - Required when `category` is **card**.
        - `fullName` string — The full name of the entity that owns the bank account or card. Supported characters: [a-z] [A-Z] [0-9] , . ; : - — / \ + & ! ? @ ( ) " ' and space. Required when `category` is **bank**.
        - `lastName` string — The last name of the individual. Supported characters: [a-z] [A-Z] - . / — and space. This parameter is: - Allowed only when `type` is **individual**. - Required when `category` is **card**.
        - `reference` string — A unique reference to identify the party or counterparty involved in the transfer. For example, your client's unique wallet or payee ID. Required when you include `cardIdentification.storedPaymentMethodId`.
        - `type` 'individual' | 'organization' | 'unknown' — The type of entity that owns the bank account or card. Possible values: **individual**, **organization**, or **unknown**. Required when `category` is **card**. In this case, the value must be **individual**.
      - `cardIdentification` CardIdentification, required
        - `expiryMonth` string — The expiry month of the card. Format: two digits. Add a leading zero for single-digit months. For example: * 03 = March * 11 = November
        - `expiryYear` string — The expiry year of the card. Format: four digits. For example: 2020
        - `issueNumber` string — The issue number of the card. Applies only to some UK debit cards.
        - `number` string — The card number without any separators. For security, the response only includes the last four digits of the card number.
        - `startMonth` string — The month when the card was issued. Applies only to some UK debit cards. Format: two digits. Add a leading zero for single-digit months. For example: * 03 = March * 11 = November
        - `startYear` string — The year when the card was issued. Applies only to some UK debit cards. Format: four digits. For example: 2020
        - `storedPaymentMethodId` string — The unique [token](/payouts/payout-service/pay-out-to-cards/manage-card-information#save-card-details) created to identify the counterparty.
    - `merchant` MerchantData
      - `acquirerId` string — The unique identifier of the merchant's acquirer.
      - `mcc` string — The merchant category code.
      - `merchantId` string — The unique identifier of the merchant.
      - `nameLocation` NameLocation
        - `city` string — The city where the merchant is located.
        - `country` string — The country where the merchant is located in [three-letter country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) format.
        - `countryOfOrigin` string — The home country in [three-digit country code](https://en.wikipedia.org/wiki/ISO_3166-1_numeric) format, used for government-controlled merchants such as embassies.
        - `name` string — The name of the merchant's shop or service.
        - `rawData` string — The raw data.
        - `state` string — The state where the merchant is located.
      - `postalCode` string — The postal code of the merchant.
    - `transferInstrumentId` string — The unique identifier of the counterparty [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id).
  - `creationDate` string, date-time — The date and time when the event was triggered, in ISO 8601 extended format. For example, **2020-12-18T10:15:30+01:00**.
  - `description` string — Your description for the transfer. It is used by most banks as the transfer description. We recommend sending a maximum of 140 characters, otherwise the description may be truncated. Supported characters: **[a-z] [A-Z] [0-9] / - ?** **: ( ) . , ' + Space** Supported characters for **regular** and **fast** transfers to a US counterparty: **[a-z] [A-Z] [0-9] & $ % # @** **~ = + - _ ' " ! ?**
  - `directDebitInformation` DirectDebitInformation
    - `dateOfSignature` string, date-time — The date when the direct debit mandate was accepted by your user, in [ISO-8601](https://www.w3.org/TR/NOTE-datetime) format.
    - `dueDate` string, date-time — The date when the funds are deducted from your user's balance account.
    - `mandateId` string — Your unique identifier for the direct debit mandate.
    - `sequenceType` string — Identifies the direct debit transfer's type. Possible values: **OneOff**, **First**, **Recurring**, **Final**.
  - `direction` 'incoming' | 'outgoing' — The direction of the transfer. Possible values: **incoming**, **outgoing**.
  - `id` string — The ID of the resource.
  - `paymentInstrument` PaymentInstrument
    - `description` string — The description of the resource.
    - `id` string — The unique identifier of the resource.
    - `reference` string — The reference for the resource.
    - `tokenType` string — The type of wallet that the network token is associated with.
  - `paymentInstrumentId` string — The unique identifier of the [payment instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) used in the transfer.
  - `priority` 'crossBorder' | 'fast' | 'instant' | 'internal' | 'regular' | 'wire' — The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Required for transfers with `category` **bank**. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). This will be removed in v4 and replaced with a new field.
  - `reason` 'accountHierarchyNotActive' | 'amountLimitExceeded' | 'approved' | 'balanceAccountTemporarilyBlockedByTransactionRule' | 'counterpartyAccountBlocked' | 'counterpartyAccountClosed' | 'counterpartyAccountNotFound' | 'counterpartyAddressRequired' | 'counterpartyBankTimedOut' | 'counterpartyBankUnavailable' | 'declined' | 'declinedByTransactionRule' | 'directDebitNotSupported' | 'error' | 'notEnoughBalance' | 'pendingApproval' | 'pendingExecution' | 'refusedByCounterpartyBank' | 'refusedByCustomer' | 'routeNotFound' | 'scaFailed' | 'transferInstrumentDoesNotExist' | 'unknown' — Additional information about the status of the transfer.
  - `reference` string — Your reference for the transfer, used internally within your platform. If you don't provide this in the request, Adyen generates a unique reference.
  - `referenceForBeneficiary` string — A reference that is sent to the recipient. This reference is also sent in all webhooks related to the transfer, so you can use it to track statuses for both the source and recipient of funds. Supported characters: **a-z**, **A-Z**, **0-9**.The maximum length depends on the `category`. - **internal**: 80 characters - **bank**: 35 characters when transferring to an IBAN, 15 characters for others.
  - `review` TransferReview
    - `numberOfApprovalsRequired` integer — Shows the number of [approvals](https://docs.adyen.com/api-explorer/transfers/latest/post/transfers/approve) required to process the transfer.
  - `status` 'approvalPending' | 'atmWithdrawal' | 'atmWithdrawalReversalPending' | 'atmWithdrawalReversed' | 'authAdjustmentAuthorised' | 'authAdjustmentError' | 'authAdjustmentRefused' | 'authorised' | 'bankTransfer' | 'bankTransferPending' | 'booked' | 'bookingPending' | 'cancelled' | 'capturePending' | 'captureReversalPending' | 'captureReversed' | 'captured' | 'capturedExternally' | 'chargeback' | 'chargebackExternally' | 'chargebackPending' | 'chargebackReversalPending' | 'chargebackReversed' | 'credited' | 'depositCorrection' | 'depositCorrectionPending' | 'dispute' | 'disputeClosed' | 'disputeExpired' | 'disputeNeedsReview' | 'error' | 'expired' | 'failed' | 'fee' | 'feePending' | 'internalTransfer' | 'internalTransferPending' | 'invoiceDeduction' | 'invoiceDeductionPending' | 'manualCorrectionPending' | 'manuallyCorrected' | 'matchedStatement' | 'matchedStatementPending' | 'merchantPayin' | 'merchantPayinPending' | 'merchantPayinReversed' | 'merchantPayinReversedPending' | 'miscCost' | 'miscCostPending' | 'paymentCost' | 'paymentCostPending' | 'pendingApproval' | 'pendingExecution' | 'received' | 'refundPending' | 'refundReversalPending' | 'refundReversed' | 'refunded' | 'refundedExternally' | 'refused' | 'rejected' | 'reserveAdjustment' | 'reserveAdjustmentPending' | 'returned' | 'secondChargeback' | 'secondChargebackPending' | 'undefined', required — The result of the transfer. For example, **authorised**, **refused**, or **error**.
  - `type` 'payment' | 'capture' | 'captureReversal' | 'refund' | 'refundReversal' | 'chargeback' | 'chargebackCorrection' | 'chargebackReversal' | 'chargebackReversalCorrection' | 'secondChargeback' | 'secondChargebackCorrection' | 'atmWithdrawal' | 'atmWithdrawalReversal' | 'internalTransfer' | 'internalDirectDebit' | 'manualCorrection' | 'invoiceDeduction' | 'depositCorrection' | 'reserveAdjustment' | 'bankTransfer' | 'bankDirectDebit' | 'cardTransfer' | 'miscCost' | 'paymentCost' | 'fee' | 'leftover' | 'grant' | 'capitalFundsCollection' | 'cashOutInstruction' | 'cashoutFee' | 'cashoutRepayment' | 'cashoutFunding' | 'repayment' | 'installment' | 'installmentReversal' | 'balanceAdjustment' | 'balanceRollover' | 'balanceMigration' — The type of transfer or transaction. For example, **refund**, **payment**, **internalTransfer**, **bankTransfer**.

## Other responses

- `401` — Unauthorized - authentication required.
- `403` — Forbidden - insufficient permissions to process the request.
- `422` — Unprocessable Entity - a request validation error.
- `500` — Internal Server Error - the server could not process the request.

## Changes

- **2025-02-04** (v3) `6f904aa6b803` — 2 warning
  - removed the optional property `review/numberOfApprovalsCompleted` from the response with the `202` status
  - removed the optional property `review/scaOnApproval` from the response with the `202` status
- **2024-12-06** (v3) `3b23b4a34416` — 1 warning, 1 info
  - added the new `topUp` enum value to the `category` response property for the response status `202`
  - added the new `topUp` enum value to the request property `category`
- **2024-11-13** (v3) `37430e57d62c` — 1 warning
  - added the new `refusedByCustomer` enum value to the `reason` response property for the response status `202`
- **2024-10-30** (v3) `b53fe3b6fff6` — 1 info
  - added the new optional `header` request parameter `Idempotency-Key`
- **2024-10-10** (v3) `adecfb7b6087` — 5 warning, 3 info
  - added the new `accountHierarchyNotActive` enum value to the `reason` response property for the response status `202`
  - added the new `directDebitNotSupported` enum value to the `reason` response property for the response status `202`
  - added the new `pendingExecution` enum value to the `reason` response property for the response status `202`
  - added the new `pendingExecution` enum value to the `status` response property for the response status `202`
  - …4 more

[Full history](https://skmtc.dev/adyen/apis/transferservice/changes/transfers/post.md)

---

[API](https://skmtc.dev/adyen/apis/transferservice.md) · [All operations](https://skmtc.dev/adyen/apis/transferservice/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/adyen/transferservice/revisions/bc888fe170cf/schema)
