Files
adyen-openapi/yaml/TransferService-v3.yaml
Adyen Automation 4e71f162d8 spec release
2023-02-13 13:26:01 +00:00

1640 lines
59 KiB
YAML

openapi: 3.1.0
servers:
- url: https://balanceplatform-api-test.adyen.com/btl/v3
info:
version: '3'
x-publicVersion: true
title: Transfers API
description: "The Transfers API provides endpoints that you can use to get information\
\ about all your transactions, move funds within your balance platform or send\
\ funds from your balance platform to a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments).\n\
\n## Authentication\nYour Adyen contact will provide your API credential and an\
\ API key. To connect to the API, add an `X-API-Key` header with the API key as\
\ the value, for example:\n\n ```\ncurl\n-H \"Content-Type: application/json\"\
\ \\\n-H \"X-API-Key: YOUR_API_KEY\" \\\n...\n```\n\nAlternatively, you can use\
\ the username and password to connect to the API using basic authentication.\
\ For example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-U \"ws@BalancePlatform.YOUR_BALANCE_PLATFORM\"\
:\"YOUR_WS_PASSWORD\" \\\n...\n```\n## Roles and permissions\nTo use the Transfers\
\ API, you need an additional role for your API credential. Transfers must also\
\ be enabled for the source balance account. Your Adyen contact will set up the\
\ roles and permissions for you.\n## Versioning\nThe Transfers API supports [versioning](https://docs.adyen.com/development-resources/versioning)\
\ using a version suffix in the endpoint URL. This suffix has the following format:\
\ \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://balanceplatform-api-test.adyen.com/btl/v3/transfers\n\
```\n## Going live\nWhen going live, your Adyen contact will provide your API\
\ credential for the live environment. You can then use the username and password\
\ to send requests to `https://balanceplatform-api-live.adyen.com/btl/v3`.\n\n"
x-timestamp: '2023-02-09T22:20:55Z'
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
url: https://www.adyen.help/hc/en-us/community/topics
email: developer-experience@adyen.com
x-groups:
- Transfers
- Transactions
tags:
- name: Transactions
- name: Transfers
paths:
/transactions:
get:
tags:
- Transactions
summary: Get all transactions
description: 'Returns all transactions related to a balance account with a payment
instrument of type **bankAccount**.
This endpoint supports cursor-based pagination. The response returns the first
page of results, and returns links to the next page when applicable. You can
use the links to page through the results. The response also returns links
to the previous page when applicable.'
x-addedInVersion: '1'
operationId: get-transactions
x-groupName: Transactions
x-sortIndex: 1
x-methodName: getAllTransactions
security:
- ApiKeyAuth: []
parameters:
- description: Unique identifier of the [balance platform](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balancePlatforms/{id}__queryParam_id).
name: balancePlatform
in: query
required: false
schema:
type: string
- description: Unique identifier of the [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/get/paymentInstruments/_id_).
name: paymentInstrumentId
in: query
required: false
schema:
type: string
- description: Unique identifier of the [account holder](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/accountHolders/{id}__queryParam_id).
name: accountHolderId
in: query
required: false
schema:
type: string
- description: Unique identifier of the [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balanceAccounts/{id}__queryParam_id).
name: balanceAccountId
in: query
required: false
schema:
type: string
- description: The `cursor` returned in the links of the previous response.
name: cursor
in: query
required: false
schema:
type: string
- description: Only include transactions that have been created on or after
this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**.
name: createdSince
in: query
required: true
schema:
format: date-time
type: string
- description: Only include transactions that have been created on or before
this point in time. The value must be in ISO 8601 format. For example, **2021-05-30T15:07:40Z**.
name: createdUntil
in: query
required: true
schema:
format: date-time
type: string
- description: The number of items returned per page, maximum of 100 items.
By default, the response returns 10 items per page.
name: limit
in: query
required: false
schema:
format: int32
type: integer
responses:
'200':
content:
application/json:
examples:
success:
$ref: '#/components/examples/get-transactions-success-200'
schema:
$ref: '#/components/schemas/TransactionSearchResponse'
description: OK - the request has succeeded.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Internal Server Error - the server could not process the request.
/transactions/{id}:
get:
tags:
- Transactions
summary: Get a transaction
description: Returns a transaction.
x-addedInVersion: '1'
operationId: get-transactions-id
x-groupName: Transactions
x-sortIndex: 2
x-methodName: getTransaction
security:
- ApiKeyAuth: []
parameters:
- description: Unique identifier of the transaction.
name: id
in: path
required: true
schema:
type: string
responses:
'200':
content:
application/json:
examples:
success:
$ref: '#/components/examples/get-transactions-id-success-200'
schema:
$ref: '#/components/schemas/Transaction'
description: OK - the request has succeeded.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Internal Server Error - the server could not process the request.
/transfers:
post:
tags:
- Transfers
summary: Transfer funds
description: '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),
or third-party bank accounts. Adyen sends the outcome of the transfer request
through webhooks.
To use this endpoint, you need an additional role for your API credential
and transfers must be enabled for the source balance account. Your Adyen contact
will set these up for you.'
x-addedInVersion: '2'
operationId: post-transfers
x-groupName: Transfers
x-sortIndex: 1
x-methodName: transferFunds
security:
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
payout-cross-border:
$ref: '#/components/examples/post-transfers-payout-cross-border'
payout-local-transfer-sepa:
$ref: '#/components/examples/post-transfers-payout-local-transfer-sepa'
payout-local-transfer-us:
$ref: '#/components/examples/post-transfers-payout-local-transfer-us'
payout-to-balance-account:
$ref: '#/components/examples/post-transfers-payout-to-balance-account'
payout-to-transfer-instrument:
$ref: '#/components/examples/post-transfers-payout-to-transfer-instrument'
schema:
$ref: '#/components/schemas/TransferInfo'
responses:
'200':
content:
application/json:
examples:
payout-cross-border:
$ref: '#/components/examples/post-transfers-payout-cross-border-200'
payout-local-transfer-sepa:
$ref: '#/components/examples/post-transfers-payout-local-transfer-sepa-200'
payout-local-transfer-us:
$ref: '#/components/examples/post-transfers-payout-local-transfer-us-200'
payout-to-balance-account:
$ref: '#/components/examples/post-transfers-payout-to-balance-account-200'
payout-to-transfer-instrument:
$ref: '#/components/examples/post-transfers-payout-to-transfer-instrument-200'
schema:
$ref: '#/components/schemas/Transfer'
description: OK - the request has succeeded.
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/Transfer'
description: Accepted - the request has been accepted for processing, but
the processing has not been completed.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/RestServiceError'
description: Internal Server Error - the server could not process the request.
components:
schemas:
AULocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The bank account number, without separators or whitespace.
maxLength: 9
minLength: 5
type: string
bsbCode:
description: The 6-digit [Bank State Branch (BSB) code](https://en.wikipedia.org/wiki/Bank_state_branch),
without separators or whitespace.
maxLength: 6
minLength: 6
type: string
type:
default: auLocal
description: '**auLocal**'
enum:
- auLocal
type: string
required:
- type
- accountNumber
- bsbCode
AdditionalBankIdentification:
properties:
code:
description: The value of the additional bank identification.
type: string
type:
description: "The type of additional bank identification, depending on the\
\ country.\n\nPossible values:\n\n * **gbSortCode**: The 6-digit [UK sort\
\ code](https://en.wikipedia.org/wiki/Sort_code), without separators or\
\ spaces\n * **usRoutingNumber**: The 9-digit [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number),\
\ without separators or spaces."
enum:
- gbSortCode
- usRoutingNumber
type: string
Address-2:
properties:
city:
description: The name of the city.
type: string
country:
description: 'The two-character ISO 3166-1 alpha-2 country code. For example,
**US**.
>If you don''t know the country or are not collecting the country from
the shopper, provide `country` as `ZZ`.'
type: string
line1:
description: First line of the street address.
type: string
line2:
description: Second line of the street address.
type: string
postalCode:
description: 'The postal code.
Maximum length:
* 5 digits for an address in the US.
* 10 characters for an address in all other countries.'
type: string
stateOrProvince:
description: '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.'
type: string
required:
- country
Amount:
properties:
currency:
description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
maxLength: 3
minLength: 3
type: string
value:
description: The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
format: int64
type: integer
required:
- value
- currency
BRLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The bank account number (without separators or whitespace).
maxLength: 10
minLength: 1
type: string
bankCode:
description: The 3-digit Brazilian bank code (with leading zeros).
maxLength: 3
minLength: 3
type: string
branchNumber:
description: The bank account branch number (without separators or whitespace).
maxLength: 4
minLength: 1
type: string
type:
default: brLocal
description: '**brLocal**'
enum:
- brLocal
type: string
required:
- type
- branchNumber
- accountNumber
- bankCode
BankAccountV3:
properties:
accountHolder:
description: Information about the owner of the bank account.
$ref: '#/components/schemas/PartyIdentification-2'
accountIdentification:
description: 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.
oneOf:
- $ref: '#/components/schemas/AULocalAccountIdentification'
- $ref: '#/components/schemas/BRLocalAccountIdentification'
- $ref: '#/components/schemas/CALocalAccountIdentification'
- $ref: '#/components/schemas/CZLocalAccountIdentification'
- $ref: '#/components/schemas/DKLocalAccountIdentification'
- $ref: '#/components/schemas/HULocalAccountIdentification'
- $ref: '#/components/schemas/IbanAccountIdentification'
- $ref: '#/components/schemas/NOLocalAccountIdentification'
- $ref: '#/components/schemas/NumberAndBicAccountIdentification'
- $ref: '#/components/schemas/PLLocalAccountIdentification'
- $ref: '#/components/schemas/SELocalAccountIdentification'
- $ref: '#/components/schemas/SGLocalAccountIdentification'
- $ref: '#/components/schemas/UKLocalAccountIdentification'
- $ref: '#/components/schemas/USLocalAccountIdentification'
required:
- accountIdentification
- accountHolder
CALocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 5- to 12-digit bank account number, without separators
or whitespace.
maxLength: 12
minLength: 5
type: string
institutionNumber:
description: The 3-digit institution number, without separators or whitespace.
maxLength: 3
minLength: 3
type: string
transitNumber:
description: The 5-digit transit number, without separators or whitespace.
maxLength: 5
minLength: 5
type: string
type:
default: caLocal
description: '**caLocal**'
enum:
- caLocal
type: string
required:
- type
- accountNumber
- institutionNumber
- transitNumber
CZLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: "The 2- to 16-digit bank account number (\u010C\xEDslo \xFA\
\u010Dtu) in the following format:\n\n- The optional prefix (p\u0159ed\u010D\
\xEDsl\xED).\n\n- The required second part (z\xE1kladn\xED \u010D\xE1\
st) which must be at least two non-zero digits.\n\nExamples:\n\n- **19-123457**\
\ (with prefix)\n\n- **123457** (without prefix)\n\n- **000019-0000123457**\
\ (with prefix, normalized)\n\n- **000000-0000123457** (without prefix,\
\ normalized)"
maxLength: 17
minLength: 2
type: string
bankCode:
description: "The 4-digit bank code (K\xF3d banky), without separators or\
\ whitespace."
maxLength: 4
minLength: 4
type: string
type:
default: czLocal
description: '**czLocal**'
enum:
- czLocal
type: string
required:
- type
- accountNumber
- bankCode
CounterpartyInfoV3:
properties:
balanceAccountId:
description: Unique identifier of the [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).
type: string
bankAccount:
description: Contains information about the bank account.
$ref: '#/components/schemas/BankAccountV3'
transferInstrumentId:
description: Unique identifier of the [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id).
type: string
CounterpartyV3:
properties:
balanceAccountId:
description: Unique identifier of the [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).
type: string
bankAccount:
description: Contains information about the bank account.
$ref: '#/components/schemas/BankAccountV3'
merchant:
description: Contains information about the merchant.
$ref: '#/components/schemas/MerchantData'
transferInstrumentId:
description: Unique identifier of the [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id).
type: string
DKLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 4-10 digits bank account number (Kontonummer) (without
separators or whitespace).
maxLength: 10
minLength: 4
type: string
bankCode:
description: The 4-digit bank code (Registreringsnummer) (without separators
or whitespace).
maxLength: 4
minLength: 4
type: string
type:
default: dkLocal
description: '**dkLocal**'
enum:
- dkLocal
type: string
required:
- type
- accountNumber
- bankCode
HULocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 24-digit bank account number, without separators or whitespace.
maxLength: 24
minLength: 24
type: string
type:
default: huLocal
description: '**huLocal**'
enum:
- huLocal
type: string
required:
- type
- accountNumber
IbanAccountIdentification:
additionalProperties: false
properties:
iban:
description: The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html)
standard.
type: string
type:
default: iban
description: '**iban**'
enum:
- iban
type: string
required:
- type
- iban
InvalidField:
properties:
message:
description: Description of the validation error.
type: string
name:
description: The field that has an invalid value.
type: string
value:
description: The invalid value.
type: string
required:
- name
- value
- message
JSONObject:
properties:
paths:
items:
$ref: '#/components/schemas/JSONPath'
type: array
rootPath:
$ref: '#/components/schemas/JSONPath'
JSONPath:
properties:
content:
items:
type: string
type: array
Link:
properties:
href:
type: string
Links:
properties:
next:
description: Contains a link to the next page.
$ref: '#/components/schemas/Link'
prev:
description: Contains a link to the previous page.
$ref: '#/components/schemas/Link'
MerchantData:
properties:
mcc:
description: The merchant category code.
type: string
merchantId:
description: The merchant identifier.
type: string
nameLocation:
description: Contains the merchant's name and location.
$ref: '#/components/schemas/NameLocation'
postalCode:
description: The merchant postal code.
type: string
NOLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 11-digit bank account number, without separators or whitespace.
maxLength: 11
minLength: 11
type: string
type:
default: noLocal
description: '**noLocal**'
enum:
- noLocal
type: string
required:
- type
- accountNumber
NameLocation:
properties:
city:
description: The city where the merchant is located.
type: string
country:
description: The country where the merchant is located in [three-letter
country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) format.
type: string
countryOfOrigin:
description: 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.
type: string
name:
description: The name of the merchant's shop or service.
type: string
rawData:
description: The raw data.
type: string
state:
description: The state where the merchant is located.
type: string
NumberAndBicAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The bank account number, without separators or whitespace.
The length and format depends on the bank or country.
maxLength: 34
type: string
additionalBankIdentification:
description: Additional identification codes of the bank. Some banks may
require these identifiers for cross-border transfers.
$ref: '#/components/schemas/AdditionalBankIdentification'
bic:
description: The bank's 8- or 11-character BIC or SWIFT code.
maxLength: 11
minLength: 8
type: string
type:
default: numberAndBic
description: '**numberAndBic**'
enum:
- numberAndBic
type: string
required:
- type
- accountNumber
- bic
PLLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 26-digit bank account number ([Numer rachunku](https://pl.wikipedia.org/wiki/Numer_Rachunku_Bankowego)),
without separators or whitespace.
maxLength: 26
minLength: 26
type: string
type:
default: plLocal
description: '**plLocal**'
enum:
- plLocal
type: string
required:
- type
- accountNumber
PartyIdentification-2:
properties:
address:
description: Address of the bank account owner.
$ref: '#/components/schemas/Address-2'
firstName:
description: First name of the individual. Required when `type` is **individual**.
type: string
fullName:
description: The name of the entity.
type: string
lastName:
description: Last name of the individual. Required when `type` is **individual**.
type: string
type:
default: unknown
description: "The type of entity that owns the bank account.\n\n Possible\
\ values: **individual**, **organization**, or **unknown**."
enum:
- individual
- organization
- unknown
type: string
required:
- fullName
RestServiceError:
properties:
detail:
description: A human-readable explanation specific to this occurrence of
the problem.
type: string
errorCode:
description: A code that identifies the problem type.
type: string
instance:
description: A unique URI that identifies the specific occurrence of the
problem.
type: string
invalidFields:
description: Detailed explanation of each validation error, when applicable.
items:
$ref: '#/components/schemas/InvalidField'
type: array
requestId:
description: A unique reference for the request, essentially the same as
`pspReference`.
type: string
response:
description: JSON response payload.
$ref: '#/components/schemas/JSONObject'
status:
description: The HTTP status code.
format: int32
type: integer
title:
description: A short, human-readable summary of the problem type.
type: string
type:
description: A URI that identifies the problem type, pointing to human-readable
documentation on this problem type.
type: string
required:
- type
- errorCode
- title
- detail
- status
SELocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 7- to 10-digit bank account number ([Bankkontonummer](https://sv.wikipedia.org/wiki/Bankkonto)),
without the clearing number, separators, or whitespace.
maxLength: 10
minLength: 7
type: string
clearingNumber:
description: The 4- to 5-digit clearing number ([Clearingnummer](https://sv.wikipedia.org/wiki/Clearingnummer)),
without separators or whitespace.
maxLength: 5
minLength: 4
type: string
type:
default: seLocal
description: '**seLocal**'
enum:
- seLocal
type: string
required:
- type
- accountNumber
- clearingNumber
SGLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 4- to 19-digit bank account number, without separators
or whitespace.
maxLength: 19
minLength: 4
type: string
bic:
description: The bank's 8- or 11-character BIC or SWIFT code.
maxLength: 11
minLength: 8
type: string
type:
default: sgLocal
description: '**sgLocal**'
enum:
- sgLocal
type: string
required:
- accountNumber
- bic
Transaction:
properties:
accountHolderId:
x-addedInVersion: '1'
description: Unique identifier of the account holder.
type: string
amount:
x-addedInVersion: '1'
description: The amount.
$ref: '#/components/schemas/Amount'
balanceAccountId:
x-addedInVersion: '1'
description: Unique identifier of the balance account.
type: string
balancePlatform:
x-addedInVersion: '1'
description: Unique identifier of the balance platform.
type: string
bookingDate:
x-addedInVersion: '1'
description: The date the transaction was booked to the balance account.
format: date-time
type: string
category:
x-addedInVersion: '1'
description: "The category of the transaction indicating the type of activity.\n\
\n Possible values:\n\n* **platformPayment**: The transaction is a payment\
\ or payment modification made with an Adyen merchant account.\n\n* **internal**:\
\ The transaction resulted from an internal adjustment such as a deposit\
\ correction or invoice deduction.\n\n* **bank**: The transaction is a\
\ bank-related activity, such as sending a payout or receiving funds.\n\
\n* **issuedCard**: The transaction is a card-related activity, such as\
\ using an Adyen-issued card to pay online.\n\n"
enum:
- bank
- grants
- internal
- issuedCard
- platformPayment
type: string
counterparty:
x-addedInVersion: '3'
description: Contains information about the other party in the transaction.
$ref: '#/components/schemas/CounterpartyV3'
createdAt:
x-addedInVersion: '1'
description: The date the transaction was created.
format: date-time
type: string
description:
x-addedInVersion: '1'
description: The `description` from the `/transfers` request.
type: string
id:
x-addedInVersion: '1'
description: Unique identifier of the transaction.
type: string
instructedAmount:
x-addedInVersion: '1'
description: The amount that the sender instructed their bank to send. This
can be higher than `amount.value` when their bank deducts costs for the
transfer.
$ref: '#/components/schemas/Amount'
paymentInstrumentId:
x-addedInVersion: '1'
description: Unique identifier of the payment instrument that was used for
the transaction.
type: string
reference:
x-addedInVersion: '1'
description: The [`reference`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers__reqParam_reference)
from the `/transfers` request. If you haven't provided any, Adyen generates
a unique reference.
type: string
referenceForBeneficiary:
x-addedInVersion: '1'
description: "The reference sent to or received from the counterparty.\n\
\n* For outgoing funds, this is the [`referenceForBeneficiary`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers__resParam_referenceForBeneficiary)\
\ from the [`/transfers`](https://docs.adyen.com/api-explorer/#/transfers/latest/post/transfers__reqParam_referenceForBeneficiary)\
\ request.\n\n * For incoming funds, this is the reference from the sender."
type: string
status:
x-addedInVersion: '1'
description: "The status of the transaction.\n\n Possible values:\n\n* **pending**:\
\ The transaction is still pending.\n\n* **booked**: The transaction has\
\ been booked to the balance account.\n\n"
enum:
- booked
- pending
type: string
transferId:
x-addedInVersion: '1'
description: Unique identifier of the related transfer.
type: string
type:
x-addedInVersion: '1'
description: "The type of the transaction.\n\n Possible values: **payment**,\
\ **capture**, **captureReversal**, **refund** **refundReversal**, **chargeback**,\
\ **chargebackReversal**, **secondChargeback**, **atmWithdrawal**, **atmWithdrawalReversal**,\
\ **internalTransfer**, **manualCorrection**, **invoiceDeduction**, **depositCorrection**,\
\ **bankTransfer**, **miscCost**, **paymentCost**, **fee**"
enum:
- atmWithdrawal
- atmWithdrawalReversal
- balanceAdjustment
- balanceRollover
- bankTransfer
- capture
- captureReversal
- chargeback
- chargebackReversal
- depositCorrection
- fee
- grant
- installment
- installmentReversal
- internalTransfer
- invoiceDeduction
- leftover
- manualCorrection
- miscCost
- payment
- paymentCost
- refund
- refundReversal
- repayment
- reserveAdjustment
- secondChargeback
type: string
valueDate:
x-addedInVersion: '1'
description: The date the transfer amount becomes available in the balance
account.
format: date-time
type: string
required:
- id
- accountHolderId
- balanceAccountId
- amount
- reference
- status
- createdAt
- bookingDate
- valueDate
- counterparty
- balancePlatform
TransactionSearchResponse:
properties:
_links:
description: Contains links to the next and previous page whenever applicable.
$ref: '#/components/schemas/Links'
data:
description: Contains the transactions that match the query parameters.
items:
$ref: '#/components/schemas/Transaction'
type: array
Transfer:
properties:
amount:
x-addedInVersion: '1'
description: The amount of the transfer.
$ref: '#/components/schemas/Amount'
balanceAccountId:
description: The unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).
type: string
category:
x-addedInVersion: '3'
description: "The type of transfer.\n\nPossible values:\n\n - **bank**:\
\ Transfer to a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id)\
\ or a bank account.\n\n- **internal**: Transfer to another [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id)\
\ within your platform.\n\n- **issuedCard**: Transfer initiated by a Adyen-issued\
\ card.\n\n- **platformPayment**: Fund movements related to payments that\
\ are acquired for your users."
enum:
- bank
- internal
- issuedCard
- platformPayment
type: string
counterparty:
x-addedInVersion: '3'
description: The other party in the transfer.
$ref: '#/components/schemas/CounterpartyV3'
description:
x-addedInVersion: '1'
description: A human-readable description for the transfer. You can use
alphanumeric characters and hyphens. We recommend sending a maximum of
140 characters, otherwise the description may be truncated.
type: string
direction:
x-addedInVersion: '2'
description: 'The direction of the transfer.
Possible values: **incoming**, **outgoing**.'
enum:
- incoming
- outgoing
type: string
id:
description: The ID of the resource.
type: string
paymentInstrumentId:
description: The unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments__resParam_id).
type: string
priority:
x-addedInVersion: '3'
description: '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**: Faster way to transfer funds but has higher fees. Recommended
for high-priority, low-value transactions.
* **wire**: Fastest way to transfer funds but has the highest fees. Recommended
for high-priority, high-value transactions.
* **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html)
.* **crossBorder**: High value transfer to receipt in a different country. '
enum:
- crossBorder
- directDebit
- fast
- instant
- regular
- wire
type: string
reason:
x-addedInVersion: '2'
description: Additional information about the status of the transfer.
enum:
- amountLimitExceded
- approved
- counterpartyAccountBlocked
- counterpartyAccountClosed
- counterpartyAccountNotFound
- counterpartyAddressRequired
- counterpartyBankTimedOut
- counterpartyBankUnavailable
- error
- notEnoughBalance
- refusedByCounterpartyBank
- routeNotFound
- unknown
type: string
reference:
x-addedInVersion: '2'
description: Your reference for the transfer, used internally within your
platform. If you don't provide this in the request, Adyen generates a
unique reference.
maxLength: 80
type: string
referenceForBeneficiary:
x-addedInVersion: '2'
description: " A reference that is sent to the recipient. This reference\
\ is also sent in all notification webhooks related to the transfer, so\
\ you can use it to track statuses for both the source and recipient of\
\ funds.\n\n Supported characters: **a-z**, **A-Z**, **0-9**. The maximum\
\ length depends on the `category`.\n\n- **internal**: 80 characters\n\
\n- **bank**: 35 characters when transferring to an IBAN, 15 characters\
\ for others."
maxLength: 80
type: string
status:
x-addedInVersion: '2'
description: "The result of the transfer.\n\n For example, **authorised**,\
\ **refused**, or **error**."
enum:
- atmWithdrawal
- atmWithdrawalReversalPending
- atmWithdrawalReversed
- authAdjustmentAuthorised
- authAdjustmentError
- authAdjustmentRefused
- authorised
- bankTransfer
- bankTransferPending
- booked
- bookingPending
- cancelled
- capturePending
- captureReversalPending
- captureReversed
- captured
- chargeback
- 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
- received
- refundPending
- refundReversalPending
- refundReversed
- refunded
- refused
- reserveAdjustment
- reserveAdjustmentPending
- returned
- secondChargeback
- secondChargebackPending
- undefined
type: string
required:
- category
- amount
- counterparty
- status
TransferInfo:
properties:
amount:
x-addedInVersion: '1'
description: The amount of the transfer.
$ref: '#/components/schemas/Amount'
balanceAccountId:
description: The unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).
type: string
category:
x-addedInVersion: '3'
description: "The type of transfer.\n\nPossible values:\n\n - **bank**:\
\ Transfer to a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id)\
\ or a bank account.\n\n- **internal**: Transfer to another [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id)\
\ within your platform.\n\n- **issuedCard**: Transfer initiated by a Adyen-issued\
\ card.\n\n- **platformPayment**: Fund movements related to payments that\
\ are acquired for your users."
enum:
- bank
- internal
- issuedCard
- platformPayment
type: string
counterparty:
x-addedInVersion: '3'
description: The recipient of the funds transfer. A bank account, a balance
account, or a transfer instrument is required.
$ref: '#/components/schemas/CounterpartyInfoV3'
description:
x-addedInVersion: '1'
description: A human-readable description for the transfer. You can use
alphanumeric characters and hyphens. We recommend sending a maximum of
140 characters, otherwise the description may be truncated.
type: string
id:
description: The ID of the resource.
type: string
paymentInstrumentId:
description: The unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments__resParam_id).
type: string
priority:
x-addedInVersion: '3'
description: '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**: Faster way to transfer funds but has higher fees. Recommended
for high-priority, low-value transactions.
* **wire**: Fastest way to transfer funds but has the highest fees. Recommended
for high-priority, high-value transactions.
* **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html)
.* **crossBorder**: High value transfer to receipt in a different country. '
enum:
- crossBorder
- directDebit
- fast
- instant
- regular
- wire
type: string
reference:
x-addedInVersion: '2'
description: Your reference for the transfer, used internally within your
platform. If you don't provide this in the request, Adyen generates a
unique reference.
maxLength: 80
type: string
referenceForBeneficiary:
x-addedInVersion: '2'
description: " A reference that is sent to the recipient. This reference\
\ is also sent in all notification webhooks related to the transfer, so\
\ you can use it to track statuses for both the source and recipient of\
\ funds.\n\n Supported characters: **a-z**, **A-Z**, **0-9**. The maximum\
\ length depends on the `category`.\n\n- **internal**: 80 characters\n\
\n- **bank**: 35 characters when transferring to an IBAN, 15 characters\
\ for others."
maxLength: 80
type: string
required:
- category
- amount
- counterparty
UKLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The 8-digit bank account number, without separators or whitespace.
maxLength: 8
minLength: 8
type: string
sortCode:
description: The 6-digit [sort code](https://en.wikipedia.org/wiki/Sort_code),
without separators or whitespace.
maxLength: 6
minLength: 6
type: string
type:
default: ukLocal
description: '**ukLocal**'
enum:
- ukLocal
type: string
required:
- type
- accountNumber
- sortCode
USLocalAccountIdentification:
additionalProperties: false
properties:
accountNumber:
description: The bank account number, without separators or whitespace.
maxLength: 18
minLength: 2
type: string
accountType:
default: checking
description: 'The bank account type.
Possible values: **checking** or **savings**. Defaults to **checking**.'
enum:
- checking
- savings
type: string
routingNumber:
description: The 9-digit [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number),
without separators or whitespace.
maxLength: 9
minLength: 9
type: string
type:
default: usLocal
description: '**usLocal**'
enum:
- usLocal
type: string
required:
- type
- accountNumber
- routingNumber
securitySchemes:
ApiKeyAuth:
in: header
name: X-API-Key
type: apiKey
BasicAuth:
scheme: basic
type: http
examples:
get-transactions-id-success-200:
summary: Response code - 200 OK
description: Example response for a transaction
value:
accountHolderId: AHA1B2C3D4E5F6G7H8I9J0
amount:
currency: EUR
value: 9887
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
balancePlatform: YOUR_BALANCE_PLATFORM
bookingDate: '2022-03-14T12:01:00+01:00'
category: bank
counterparty:
balanceAccountId: NL29ADYX0000000001
createdAt: '2022-03-14T12:01:00+01:00'
description: YOUR_DESCRIPTION
id: IZK7C25U7DYVX03Y
instructedAmount:
currency: EUR
value: 9887
reference: 2L6C6B5U7DYULLXC
referenceForBeneficiary: YOUR_REFERENCE_FOR_BENEFICIARY
status: booked
transferId: 2QP32A5U7IWC5WKG
type: bankTransfer
valueDate: '2022-03-14T12:01:00+01:00'
get-transactions-success-200:
summary: Response code - 200 OK
description: Example response for a list of transactions
value:
data:
- accountHolderId: AHA1B2C3D4E5F6G7H8I9J0
amount:
currency: EUR
value: -9
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
balancePlatform: YOUR_BALANCE_PLATFORM
bookingDate: '2022-03-11T11:21:24+01:00'
category: internal
createdAt: '2022-03-11T11:21:24+01:00'
id: 1VVF0D5U66PIUIVP
instructedAmount:
currency: EUR
value: -9
reference: REFERENCE_46e8c40e
status: booked
transferId: 1VVF0D5U66PIUIVP
type: fee
valueDate: '2022-03-11T11:21:24+01:00'
- accountHolderId: AHA1B2C3D4E5F6G7H8I9J0
amount:
currency: EUR
value: -46
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
balancePlatform: YOUR_BALANCE_PLATFORM
bookingDate: '2022-03-12T14:22:52+01:00'
category: internal
createdAt: '2022-03-12T14:22:52+01:00'
id: 1WEPGD5U6MS1CFK3
instructedAmount:
currency: EUR
value: -46
reference: YOUR_REFERENCE
status: booked
transferId: 1WEPGD5U6MS1CFK3
type: fee
valueDate: '2022-03-12T14:22:52+01:00'
- accountHolderId: AHA1B2C3D4E5F6G7H8I9J0
amount:
currency: EUR
value: -8
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
balancePlatform: YOUR_BALANCE_PLATFORM
bookingDate: '2022-03-14T21:00:48+01:00'
createdAt: '2022-03-14T15:00:00+01:00'
description: YOUR_DESCRIPTION_2
id: 2QP32A5U7IWC5WKG
instructedAmount:
currency: EUR
value: -8
status: booked
valueDate: '2022-03-14T21:00:48+01:00'
_links:
next:
href: https://balanceplatform-api-test.adyen.com/btl/v2/transactions?balancePlatform=Bastronaut&createdUntil=2022-03-21T00%3A00%3A00Z&createdSince=2022-03-11T00%3A00%3A00Z&limit=3&cursor=S2B-TSAjOkIrYlIlbjdqe0RreHRyM32lKRSxubXBHRkhHL2E32XitQQz5SfzpucD5HbHwpM1p6NDR1eXVQLFF6MmY33J32sobDxQYT90MHIud1hwLnd6JitcX32xJ
post-transfers-payout-cross-border:
summary: Make a cross border transfer
description: Example request to make a cross border transfer
value:
amount:
value: 110000
currency: EUR
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
category: bank
counterparty:
bankAccount:
accountHolder:
fullName: A. Klaassen
address:
city: San Francisco
country: US
postalCode: '94678'
stateOrProvince: CA
street: Brannan Street
street2: '274'
accountIdentification:
type: numberAndBic
accountNumber: '123456789'
bic: BOFAUS3NXXX
priority: wire
referenceForBeneficiary: Your reference sent to the beneficiary
reference: Your internal reference for the transfer
description: Your description for the transfer
post-transfers-payout-cross-border-200:
summary: Response code - 200 OK
description: Example response for a transfers request
value:
id: 1W1UG35U8A9J5ZLG
amount:
value: 110000
currency: EUR
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
category: bank
counterparty:
bankAccount:
accountHolder:
fullName: A. Klaassen
address:
city: San Francisco
country: US
postalCode: '94678'
stateOrProvince: CA
street: Brannan Street
street2: '274'
accountIdentification:
type: numberAndBic
accountNumber: '123456789'
bic: BOFAUS3NXXX
priority: wire
referenceForBeneficiary: Your reference sent to the beneficiary
reference: Your internal reference for the transfer
description: Your description for the transfer
direction: outgoing
reason: approved
status: authorised
post-transfers-payout-local-transfer-sepa:
summary: Make a SEPA funds transfer
description: Example request to make a SEPA funds transfer
value:
amount:
value: 110000
currency: EUR
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
category: bank
counterparty:
bankAccount:
accountHolder:
fullName: A. Klaassen
accountIdentification:
type: iban
iban: NL91ABNA0417164300
priority: regular
referenceForBeneficiary: Your reference sent to the beneficiary
reference: Your internal reference for the transfer
description: Your description for the transfer
post-transfers-payout-local-transfer-sepa-200:
summary: Response code - 200 OK
description: Example response for a transfers request
value:
id: 1W1UG35U8A9J5ZLG
amount:
value: 110000
currency: EUR
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
category: bank
counterparty:
bankAccount:
accountHolder:
fullName: A. Klaassen
accountIdentification:
type: iban
iban: NL91ABNA0417164300
priority: regular
referenceForBeneficiary: Your reference sent to the beneficiary
reference: Your internal reference for the transfer
description: Your description for the transfer
direction: outgoing
reason: approved
status: authorised
post-transfers-payout-local-transfer-us:
summary: Make a US local funds transfer
description: Example request to make a US local funds transfer
value:
amount:
value: 110000
currency: USD
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
category: bank
counterparty:
bankAccount:
accountHolder:
fullName: A. Klaassen
accountIdentification:
type: usLocal
accountNumber: '123456789'
routingNumber: 011000138
priority: regular
referenceForBeneficiary: Your reference sent to the beneficiary
reference: Your internal reference for the transfer
description: Your description for the transfer
post-transfers-payout-local-transfer-us-200:
summary: Response code - 200 OK
description: Example response for a transfers request
value:
id: 1W1UG35U8A9J5ZLG
amount:
value: 110000
currency: USD
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
category: bank
counterparty:
bankAccount:
accountHolder:
fullName: A. Klaassen
accountIdentification:
type: usLocal
accountNumber: '123456789'
routingNumber: 011000138
priority: regular
referenceForBeneficiary: Your reference sent to the beneficiary
reference: Your internal reference for the transfer
description: Your description for the transfer
direction: outgoing
reason: approved
status: authorised
post-transfers-payout-to-balance-account:
summary: Transfer funds to another balance account
description: Example request to transfer funds to another balance account
value:
amount:
value: 10000
currency: EUR
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
category: internal
counterparty:
balanceAccountId: BA32272223222B5LPRFDW7J9G
referenceForBeneficiary: Your reference sent to the beneficiary
reference: Your internal reference for the transfer
description: Your description for the transfer
post-transfers-payout-to-balance-account-200:
summary: Response code - 200 OK
description: Example response for a transfers request
value:
id: 1W1UG35U8A9J5ZLG
amount:
currency: EUR
value: 10000
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
category: internal
counterparty:
balanceAccountId: BA32272223222B5LPRFDW7J9G
referenceForBeneficiary: Your reference sent to the beneficiary
reference: Your internal reference for the transfer
description: Your description for the transfer
direction: outgoing
reason: approved
status: authorised
post-transfers-payout-to-transfer-instrument:
summary: Pay out to a transfer instrument
description: Example request to pay out to a transfer instrument
value:
amount:
value: 80000
currency: EUR
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
category: bank
counterparty:
transferInstrumentId: SE1234567890ABC1234567890
priority: regular
referenceForBeneficiary: Your reference sent to the beneficiary
reference: Your internal reference for the transfer
description: Your description for the transfer
post-transfers-payout-to-transfer-instrument-200:
summary: Response code - 200 OK
description: Example response for a transfers request
value:
id: 1W1UG35U8A9J5ZLG
amount:
value: 80000
currency: EUR
balanceAccountId: BAB8B2C3D4E5F6G7H8D9J6GD4
category: bank
counterparty:
transferInstrumentId: SE1234567890ABC1234567890
priority: regular
referenceForBeneficiary: Your reference sent to the beneficiary
reference: Your internal reference for the transfer
description: Your description for the transfer
direction: outgoing
reason: approved
status: authorised