Files
adyen-openapi/json/TransferService-v2.json
Adyen Automation d938ef827e spec release
2023-01-10 12:11:49 +00:00

1310 lines
57 KiB
JSON

{
"openapi" : "3.1.0",
"servers" : [
{
"url" : "https://balanceplatform-api-test.adyen.com/btl/v2"
}
],
"info" : {
"version" : "2",
"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/v2/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/v2`.\n\n",
"x-timestamp" : "2022-12-20T12:27:11Z",
"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**.\n\nThis 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 [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.\n\nTo 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-local-transfer-sepa" : {
"$ref" : "#/components/examples/post-transfers-payout-local-transfer-sepa"
},
"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-local-transfer-sepa" : {
"$ref" : "#/components/examples/post-transfers-payout-local-transfer-sepa-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" : {
"Address" : {
"properties" : {
"city" : {
"description" : "The name of the city. Maximum length: 3000 characters.",
"maxLength" : 3000,
"type" : "string"
},
"country" : {
"description" : "The two-character ISO-3166-1 alpha-2 country code. For example, **US**.\n> If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`.",
"type" : "string"
},
"houseNumberOrName" : {
"description" : "The number or name of the house. Maximum length: 3000 characters.",
"maxLength" : 3000,
"type" : "string"
},
"postalCode" : {
"description" : "A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.",
"type" : "string"
},
"stateOrProvince" : {
"description" : "The two-character ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada.\n> Required for the US and Canada.",
"type" : "string"
},
"street" : {
"description" : "The name of the street. Maximum length: 3000 characters.\n> The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.",
"maxLength" : 3000,
"type" : "string"
}
},
"required" : [
"street",
"houseNumberOrName",
"city",
"postalCode",
"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"
]
},
"Bank" : {
"properties" : {
"priority" : {
"x-addedInVersion" : "1",
"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. If you don't provide this in the request, Adyen sets the optimal priority.\n\nPossible values:\n\n* **regular**: For normal, low-value transactions.\n\n* **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions.\n\n* **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions.\n\n* **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html).",
"enum" : [
"fast",
"instant",
"regular",
"wire"
],
"type" : "string"
}
}
},
"BankAccountInfo" : {
"properties" : {
"address" : {
"description" : "The address of the bank account owner.",
"$ref" : "#/components/schemas/Address"
},
"iban" : {
"description" : "The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html) standard.",
"type" : "string"
},
"ownerName" : {
"description" : "The name of the bank account owner.",
"$ref" : "#/components/schemas/Name"
}
}
},
"Counterparty" : {
"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/BankAccountInfo"
},
"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/#/balanceplatform/latest/post/transferInstruments__resParam_id).",
"type" : "string"
}
}
},
"CounterpartyInfo" : {
"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/BankAccountInfo"
},
"transferInstrumentId" : {
"description" : "Unique identifier of the [transfer instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/transferInstruments__resParam_id).",
"type" : "string"
}
}
},
"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"
}
}
},
"Name" : {
"properties" : {
"firstName" : {
"description" : "The first name.",
"type" : "string"
},
"fullName" : {
"description" : "The full name.",
"type" : "string"
},
"infix" : {
"description" : "The infix in the name, if any.",
"type" : "string"
},
"lastName" : {
"description" : "The last name.",
"type" : "string"
}
}
},
"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"
}
}
},
"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"
]
},
"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" : "1",
"description" : "Contains information about the other party in the transaction.",
"$ref" : "#/components/schemas/Counterparty"
},
"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",
"directDebit",
"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" : "Unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).",
"type" : "string"
},
"bank" : {
"x-addedInVersion" : "1",
"description" : "Contains settings for bank transfers. If you are transferring funds to bank accounts and you don't provide this object, Adyen applies default settings.",
"$ref" : "#/components/schemas/Bank"
},
"counterparty" : {
"description" : "The other party in the transfer.",
"$ref" : "#/components/schemas/Counterparty"
},
"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.\n\nPossible values: **incoming**, **outgoing**.",
"enum" : [
"incoming",
"outgoing"
],
"type" : "string"
},
"id" : {
"description" : "The ID of the resource.",
"type" : "string"
},
"paymentInstrumentId" : {
"description" : "Unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments__resParam_id).",
"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",
"rejectedByCounterpartyBank",
"routeNotFound",
"unknown"
],
"type" : "string"
},
"reference" : {
"x-addedInVersion" : "2",
"description" : "A reference for the transfer, only used internally within your platform. If you don't provide this in the request, Adyen generates a unique reference.\nMaximum length: 80 characters.",
"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**. Maximum length: 80 characters.",
"maxLength" : 80,
"type" : "string"
},
"status" : {
"x-addedInVersion" : "2",
"description" : "The result of the transfer.\n\n Possible values: **authorised**, **refused**, **error**.",
"enum" : [
"atmWithdrawal",
"atmWithdrawalReversalPending",
"atmWithdrawalReversed",
"authAdjustmentAuthorised",
"authAdjustmentError",
"authAdjustmentRefused",
"authorised",
"bankTransfer",
"bankTransferPending",
"booked",
"bookingPending",
"cancelled",
"capturePending",
"captureReversalPending",
"captureReversed",
"captured",
"chargeback",
"chargebackPending",
"chargebackReversalPending",
"chargebackReversed",
"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" : [
"amount",
"counterparty",
"status"
]
},
"TransferInfo" : {
"properties" : {
"amount" : {
"x-addedInVersion" : "1",
"description" : "The amount of the transfer.",
"$ref" : "#/components/schemas/Amount"
},
"balanceAccountId" : {
"description" : "Unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).",
"type" : "string"
},
"bank" : {
"x-addedInVersion" : "1",
"description" : "Contains settings for bank transfers. If you are transferring funds to bank accounts and you don't provide this object, Adyen applies default settings.",
"$ref" : "#/components/schemas/Bank"
},
"counterparty" : {
"description" : "The recipient of the funds transfer. A bank account, a balance account, or a transfer instrument is required.",
"$ref" : "#/components/schemas/CounterpartyInfo"
},
"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" : "Unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments__resParam_id).",
"type" : "string"
},
"reference" : {
"x-addedInVersion" : "2",
"description" : "A reference for the transfer, only used internally within your platform. If you don't provide this in the request, Adyen generates a unique reference.\nMaximum length: 80 characters.",
"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**. Maximum length: 80 characters.",
"maxLength" : 80,
"type" : "string"
}
},
"required" : [
"amount",
"counterparty"
]
}
},
"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-local-transfer-sepa" : {
"summary" : "Make a SEPA funds transfer",
"description" : "Example request to make a US local funds transfer",
"value" : {
"amount" : {
"value" : 110000,
"currency" : "EUR"
},
"balanceAccountId" : "BAB8B2C3D4E5F6G7H8D9J6GD4",
"counterparty" : {
"bankAccount" : {
"iban" : "NL13TEST0123456789",
"ownerName" : {
"fullName" : "A. Klaassen"
}
}
},
"bank" : {
"priority" : "regular"
},
"referenceForBeneficiary" : "Your reference sent to the beneficiary",
"reference" : "Your internal reference for the transfer",
"description" : "Your description"
}
},
"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",
"counterparty" : {
"bankAccount" : {
"iban" : "NL13TEST0123456789",
"ownerName" : {
"fullName" : "A. Klaassen"
}
}
},
"bank" : {
"priority" : "regular"
},
"referenceForBeneficiary" : "Your reference sent to the beneficiary",
"reference" : "Your internal reference for the transfer",
"description" : "Your description",
"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" : {
"balanceAccountId" : "BAB8B2C3D4E5F6G7H8D9J6GD4",
"counterparty" : {
"balanceAccountId" : "BAB1234567890ABC123456789"
},
"amount" : {
"value" : 10000,
"currency" : "EUR"
},
"reference" : "Your internal reference for the transfer",
"description" : "Your description"
}
},
"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",
"counterparty" : {
"balanceAccountId" : "BA32272223222B5LPRFDW7J9G"
},
"referenceForBeneficiary" : "Your reference sent to the beneficiary",
"reference" : "Your internal reference for the transfer",
"description" : "Your description",
"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",
"counterparty" : {
"transferInstrumentId" : "SE1234567890ABC1234567890"
},
"bank" : {
"priority" : "regular"
},
"referenceForBeneficiary" : "Your reference sent to the beneficiary",
"reference" : "Your internal reference for the transfer",
"description" : "Your description"
}
},
"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",
"counterparty" : {
"transferInstrumentId" : "SE1234567890ABC1234567890"
},
"bank" : {
"priority" : "regular"
},
"referenceForBeneficiary" : "Your reference sent to the beneficiary",
"reference" : "Your internal reference for the transfer",
"description" : "Your description",
"direction" : "outgoing",
"reason" : "approved",
"status" : "authorised"
}
}
}
}
}