{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/adyen/main/json-schema/adyen-transfer-route-response-schema.json", "title": "TransferRouteResponse", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/adyen-calculate-api-openapi.yml#/components/schemas/TransferRouteResponse", "properties": { "transferRoutes": { "description": "List of available priorities for a transfer, along with requirements. Use this information to initiate a transfer.", "items": { "$ref": "#/$defs/TransferRoute" }, "type": "array" } }, "type": "object", "$defs": { "AddressRequirement": { "additionalProperties": false, "properties": { "description": { "description": "Specifies the required address related fields for a particular route.", "type": "string" }, "requiredAddressFields": { "description": "List of address fields.", "items": { "enum": [ "city", "country", "line1", "postalCode", "stateOrProvince" ], "type": "string" }, "type": "array" }, "type": { "default": "addressRequirement", "description": "**addressRequirement**", "enum": [ "addressRequirement" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, "AmountMinMaxRequirement": { "additionalProperties": false, "properties": { "description": { "description": "Specifies the eligible amounts for a particular route.", "type": "string" }, "max": { "description": "Maximum amount.", "format": "int64", "type": "integer" }, "min": { "description": "Minimum amount.", "format": "int64", "type": "integer" }, "type": { "default": "amountMinMaxRequirement", "description": "**amountMinMaxRequirement**", "enum": [ "amountMinMaxRequirement" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, "BankAccountIdentificationTypeRequirement": { "additionalProperties": false, "properties": { "bankAccountIdentificationTypes": { "description": "List of bank account identification types: eg.; [iban , numberAndBic]", "items": { "enum": [ "auLocal", "brLocal", "caLocal", "czLocal", "dkLocal", "hkLocal", "huLocal", "iban", "legacy", "noLocal", "numberAndBic", "nzLocal", "plLocal", "seLocal", "sgLocal", "ukLocal", "usLocal" ], "type": "string" }, "type": "array" }, "description": { "description": "Specifies the bank account details for a particular route per required field in this object depending on the country of the bank account and the currency of the transfer.", "type": "string" }, "type": { "default": "bankAccountIdentificationTypeRequirement", "description": "**bankAccountIdentificationTypeRequirement**", "enum": [ "bankAccountIdentificationTypeRequirement" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, "PaymentInstrumentRequirement": { "additionalProperties": false, "properties": { "description": { "description": "Specifies the requirements for the payment instrument that need to be included in the request for a particular route.", "type": "string" }, "issuingCountryCode": { "description": "The two-character [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code where the payment instrument is issued. For example, **NL** or **US**.", "type": "string" }, "onlyForCrossBalancePlatform": { "description": "Specifies if the requirement only applies to transfers to another balance platform.", "type": "boolean" }, "paymentInstrumentType": { "description": "The type of the payment instrument. For example, \"BankAccount\" or \"Card\".", "enum": [ "BankAccount", "Card" ], "type": "string" }, "type": { "default": "paymentInstrumentRequirement", "description": "**paymentInstrumentRequirement**", "enum": [ "paymentInstrumentRequirement" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, "TransferRoute": { "properties": { "category": { "description": " The type of transfer.\n\n Possible 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", "enum": [ "bank", "card", "grants", "internal", "issuedCard", "migration", "platformPayment", "topUp", "upgrade" ], "type": "string" }, "country": { "description": "The two-character ISO-3166-1 alpha-2 country code of the counterparty. For example, **US** or **NL**.", "type": "string" }, "currency": { "description": "The three-character ISO currency code of transfer. For example, **USD** or **EUR**.", "type": "string" }, "priority": { "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. Possible 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).\n\n* **crossBorder**: High-value transfer to a recipient in a different country.\n\n* **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN).", "enum": [ "crossBorder", "fast", "instant", "internal", "regular", "wire" ], "type": "string" }, "requirements": { "description": "A set of rules defined by clearing houses and banking partners. Your transfer request must adhere to these rules to ensure successful initiation of transfer. Based on the priority, one or more requirements may be returned. Each requirement is defined with a `type` and `description`.", "oneOf": [ { "$ref": "#/$defs/AddressRequirement" }, { "$ref": "#/$defs/AmountMinMaxRequirement" }, { "$ref": "#/$defs/BankAccountIdentificationTypeRequirement" }, { "$ref": "#/$defs/PaymentInstrumentRequirement" } ] } }, "type": "object" } } }