From f514d607d97bffa5a9cc215e97f46560dea81010 Mon Sep 17 00:00:00 2001 From: Adyen Automation Date: Wed, 13 Nov 2024 10:21:38 +0100 Subject: [PATCH] spec release --- ...ePlatformConfigurationNotification-v1.json | 3 +- ...ePlatformConfigurationNotification-v2.json | 3 +- json/BalancePlatformService-v2.json | 578 +++++++++++++++++- ...ePlatformConfigurationNotification-v1.yaml | 5 +- ...ePlatformConfigurationNotification-v2.yaml | 5 +- yaml/BalancePlatformService-v2.yaml | 389 +++++++++++- 6 files changed, 964 insertions(+), 19 deletions(-) diff --git a/json/BalancePlatformConfigurationNotification-v1.json b/json/BalancePlatformConfigurationNotification-v1.json index a7123d11..7ceb5f86 100644 --- a/json/BalancePlatformConfigurationNotification-v1.json +++ b/json/BalancePlatformConfigurationNotification-v1.json @@ -1613,7 +1613,7 @@ "type" : "string" }, "type" : { - "description" : "Type of payment instrument.\n\nPossible value: **card**, **bankAccount**. ", + "description" : "The type of payment instrument.\n\nPossible values: **card**, **bankAccount**.", "enum" : [ "bankAccount", "card" @@ -1884,6 +1884,7 @@ "pendingApproval", "pendingExecution", "refusedByCounterpartyBank", + "refusedByCustomer", "routeNotFound", "scaFailed", "transferInstrumentDoesNotExist", diff --git a/json/BalancePlatformConfigurationNotification-v2.json b/json/BalancePlatformConfigurationNotification-v2.json index 7cb1ad01..4567962e 100644 --- a/json/BalancePlatformConfigurationNotification-v2.json +++ b/json/BalancePlatformConfigurationNotification-v2.json @@ -1667,7 +1667,7 @@ "type" : "string" }, "type" : { - "description" : "Type of payment instrument.\n\nPossible value: **card**, **bankAccount**. ", + "description" : "The type of payment instrument.\n\nPossible values: **card**, **bankAccount**.", "enum" : [ "bankAccount", "card" @@ -1931,6 +1931,7 @@ "pendingApproval", "pendingExecution", "refusedByCounterpartyBank", + "refusedByCustomer", "routeNotFound", "scaFailed", "transferInstrumentDoesNotExist", diff --git a/json/BalancePlatformService-v2.json b/json/BalancePlatformService-v2.json index 96051fe3..cf3ac63f 100644 --- a/json/BalancePlatformService-v2.json +++ b/json/BalancePlatformService-v2.json @@ -786,6 +786,131 @@ } } }, + "/accountHolders/{id}/transactionRules" : { + "get" : { + "tags" : [ + "Account holders" + ], + "summary" : "Get all transaction rules for an account holder", + "description" : "Returns a list of transaction rules associated with an account holder.", + "x-addedInVersion" : "1", + "operationId" : "get-accountHolders-id-transactionRules", + "x-sortIndex" : 18, + "x-methodName" : "getAllTransactionRulesForAccountHolder", + "security" : [ + { + "clientKey" : [ + ] + }, + { + "BasicAuth" : [ + ] + }, + { + "ApiKeyAuth" : [ + ] + } + ], + "parameters" : [ + { + "description" : "The unique identifier of the account holder.", + "name" : "id", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TransactionRulesResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." + }, + "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, "/balanceAccounts" : { "post" : { "tags" : [ @@ -817,6 +942,15 @@ "examples" : { "createBalanceAccount" : { "$ref" : "#/components/examples/post-balanceAccounts-createBalanceAccount" + }, + "createBalanceAccountCAD" : { + "$ref" : "#/components/examples/post-balanceAccounts-createBalanceAccountCAD" + }, + "createBalanceAccountGBP" : { + "$ref" : "#/components/examples/post-balanceAccounts-createBalanceAccountGBP" + }, + "createBalanceAccountUSD" : { + "$ref" : "#/components/examples/post-balanceAccounts-createBalanceAccountUSD" } }, "schema" : { @@ -832,6 +966,15 @@ "examples" : { "createBalanceAccount" : { "$ref" : "#/components/examples/post-balanceAccounts-createBalanceAccount-200" + }, + "createBalanceAccountCAD" : { + "$ref" : "#/components/examples/post-balanceAccounts-createBalanceAccountCAD-200" + }, + "createBalanceAccountGBP" : { + "$ref" : "#/components/examples/post-balanceAccounts-createBalanceAccountGBP-200" + }, + "createBalanceAccountUSD" : { + "$ref" : "#/components/examples/post-balanceAccounts-createBalanceAccountUSD-200" } }, "schema" : { @@ -2069,6 +2212,131 @@ } } }, + "/balanceAccounts/{id}/transactionRules" : { + "get" : { + "tags" : [ + "Balance accounts" + ], + "summary" : "Get all transaction rules for a balance account", + "description" : "Returns a list of transaction rules associated with a balance account.", + "x-addedInVersion" : "1", + "operationId" : "get-balanceAccounts-id-transactionRules", + "x-sortIndex" : 14, + "x-methodName" : "getAllTransactionRulesForBalanceAccount", + "security" : [ + { + "clientKey" : [ + ] + }, + { + "BasicAuth" : [ + ] + }, + { + "ApiKeyAuth" : [ + ] + } + ], + "parameters" : [ + { + "description" : "The unique identifier of the balance account.", + "name" : "id", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TransactionRulesResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." + }, + "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, "/balancePlatforms/{id}" : { "get" : { "tags" : [ @@ -2349,6 +2617,131 @@ } } }, + "/balancePlatforms/{id}/transactionRules" : { + "get" : { + "tags" : [ + "Platform" + ], + "summary" : "Get all transaction rules for a balance platform", + "description" : "Returns a list of transaction rules associated with a balance platform.", + "x-addedInVersion" : "1", + "operationId" : "get-balancePlatforms-id-transactionRules", + "x-sortIndex" : 5, + "x-methodName" : "getAllTransactionRulesForBalancePlatform", + "security" : [ + { + "clientKey" : [ + ] + }, + { + "BasicAuth" : [ + ] + }, + { + "ApiKeyAuth" : [ + ] + } + ], + "parameters" : [ + { + "description" : "The unique identifier of the balance platform.", + "name" : "id", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TransactionRulesResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-400" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Bad Request - a problem reading or understanding the request." + }, + "401" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-401" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Unauthorized - authentication required." + }, + "403" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-403" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Forbidden - insufficient permissions to process the request." + }, + "422" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-422" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Unprocessable Entity - a request validation error." + }, + "500" : { + "content" : { + "application/json" : { + "examples" : { + "generic" : { + "$ref" : "#/components/examples/generic-500" + } + }, + "schema" : { + "$ref" : "#/components/schemas/RestServiceError" + } + } + }, + "description" : "Internal Server Error - the server could not process the request." + } + } + } + }, "/cardorders" : { "get" : { "tags" : [ @@ -6843,6 +7236,27 @@ ], "type" : "object" }, + "AmountNonZeroDecimalsRequirement" : { + "additionalProperties" : false, + "properties" : { + "description" : { + "description" : "Specifies for which routes the amount in a transfer request must have no non-zero decimal places, so the transfer can only be processed if the amount consists of round numbers.", + "type" : "string" + }, + "type" : { + "default" : "amountNonZeroDecimalsRequirement", + "description" : "**amountNonZeroDecimalsRequirement**", + "enum" : [ + "amountNonZeroDecimalsRequirement" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "type" : "object" + }, "Authentication" : { "additionalProperties" : false, "properties" : { @@ -8236,6 +8650,7 @@ "pendingApproval", "pendingExecution", "refusedByCounterpartyBank", + "refusedByCustomer", "routeNotFound", "scaFailed", "transferInstrumentDoesNotExist", @@ -8815,6 +9230,34 @@ ], "type" : "object" }, + "IbanAccountIdentificationRequirement" : { + "additionalProperties" : false, + "properties" : { + "description" : { + "description" : "Specifies the allowed prefixes for the international bank account number as defined in the ISO-13616 standard.", + "type" : "string" + }, + "ibanPrefixes" : { + "description" : "Contains the list of allowed prefixes for international bank accounts. For example: NL, US, UK.", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "type" : { + "default" : "ibanAccountIdentificationRequirement", + "description" : "**ibanAccountIdentificationRequirement**", + "enum" : [ + "ibanAccountIdentificationRequirement" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "type" : "object" + }, "InternationalTransactionRestriction" : { "additionalProperties" : false, "properties" : { @@ -9397,7 +9840,7 @@ "type" : "string" }, "type" : { - "description" : "Type of payment instrument.\n\nPossible value: **card**, **bankAccount**. ", + "description" : "The type of payment instrument.\n\nPossible values: **card**, **bankAccount**.", "enum" : [ "bankAccount", "card" @@ -9552,7 +9995,7 @@ "type" : "string" }, "type" : { - "description" : "Type of payment instrument.\n\nPossible value: **card**, **bankAccount**. ", + "description" : "The type of payment instrument.\n\nPossible values: **card**, **bankAccount**.", "enum" : [ "bankAccount", "card" @@ -10303,6 +10746,7 @@ "pendingApproval", "pendingExecution", "refusedByCounterpartyBank", + "refusedByCustomer", "routeNotFound", "scaFailed", "transferInstrumentDoesNotExist", @@ -10497,7 +10941,7 @@ }, "outcomeType" : { "x-addedInVersion" : "2", - "description" : "The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule.\n\nPossible values:\n* **hardBlock**: the transaction is declined.\n* **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, declines the Transaction.\n\nDefault value: **hardBlock**.\n\n> **scoreBased** is not allowed when `requestType` is **bankTransfer**.", + "description" : "The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule.\n\nPossible values:\n* **hardBlock**: the transaction is declined.\n* **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined.\n\nDefault value: **hardBlock**.\n\n> **scoreBased** is not allowed when `requestType` is **bankTransfer**.", "enum" : [ "enforceSCA", "hardBlock", @@ -10608,7 +11052,7 @@ }, "outcomeType" : { "x-addedInVersion" : "2", - "description" : "The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule.\n\nPossible values:\n* **hardBlock**: the transaction is declined.\n* **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, declines the Transaction.\n\nDefault value: **hardBlock**.\n\n> **scoreBased** is not allowed when `requestType` is **bankTransfer**.", + "description" : "The [outcome](https://docs.adyen.com/issuing/transaction-rules#outcome) that will be applied when a transaction meets the conditions of the rule.\n\nPossible values:\n* **hardBlock**: the transaction is declined.\n* **scoreBased**: the transaction is assigned the `score` you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined.\n\nDefault value: **hardBlock**.\n\n> **scoreBased** is not allowed when `requestType` is **bankTransfer**.", "enum" : [ "enforceSCA", "hardBlock", @@ -10887,11 +11331,20 @@ { "$ref" : "#/components/schemas/AmountMinMaxRequirement" }, + { + "$ref" : "#/components/schemas/AmountNonZeroDecimalsRequirement" + }, { "$ref" : "#/components/schemas/BankAccountIdentificationTypeRequirement" }, + { + "$ref" : "#/components/schemas/IbanAccountIdentificationRequirement" + }, { "$ref" : "#/components/schemas/PaymentInstrumentRequirement" + }, + { + "$ref" : "#/components/schemas/USInternationalAchAddressRequirement" } ] }, @@ -10997,6 +11450,27 @@ ], "type" : "object" }, + "USInternationalAchAddressRequirement" : { + "additionalProperties" : false, + "properties" : { + "description" : { + "description" : "Specifies that you must provide a complete street address for International ACH (IAT) transactions.", + "type" : "string" + }, + "type" : { + "default" : "usInternationalAchAddressRequirement", + "description" : "**usInternationalAchAddressRequirement**", + "enum" : [ + "usInternationalAchAddressRequirement" + ], + "type" : "string" + } + }, + "required" : [ + "type" + ], + "type" : "object" + }, "USLocalAccountIdentification" : { "additionalProperties" : false, "properties" : { @@ -11135,7 +11609,7 @@ "type" : "string" }, "type" : { - "description" : "Type of payment instrument.\n\nPossible value: **card**, **bankAccount**. ", + "description" : "The type of payment instrument.\n\nPossible values: **card**, **bankAccount**.", "enum" : [ "bankAccount", "card" @@ -11218,6 +11692,7 @@ "pendingApproval", "pendingExecution", "refusedByCounterpartyBank", + "refusedByCustomer", "routeNotFound", "scaFailed", "transferInstrumentDoesNotExist", @@ -12618,6 +13093,99 @@ "status" : "active" } }, + "post-balanceAccounts-createBalanceAccountCAD" : { + "summary" : "Create a balance account - CAD default currency", + "description" : "Example request for creating a balance account with CAD as the default currency.", + "value" : { + "accountHolderId" : "AH0000000000000000000001", + "description" : "CAD Balance Account", + "defaultCurrencyCode" : "CAD", + "timeZone" : "America/Toronto" + } + }, + "post-balanceAccounts-createBalanceAccountCAD-200" : { + "summary" : "Create a balance account - CAD default currency", + "description" : "Example request for creating a balance account with CAD as the default currency.", + "value" : { + "accountHolderId" : "AH0000000000000000000001", + "defaultCurrencyCode" : "CAD", + "description" : "CAD Balance Account", + "timeZone" : "America/Toronto", + "balances" : [ + { + "available" : 0, + "balance" : 0, + "currency" : "CAD", + "pending" : 0, + "reserved" : 0 + } + ], + "id" : "BA0000000000000000000001", + "status" : "active" + } + }, + "post-balanceAccounts-createBalanceAccountGBP" : { + "summary" : "Create a balance account - GBP default currency", + "description" : "Example request for creating a balance account with GBP as the default currency.", + "value" : { + "accountHolderId" : "AH0000000000000000000001", + "description" : "GBP Balance Account", + "defaultCurrencyCode" : "GBP", + "timeZone" : "Europe/London" + } + }, + "post-balanceAccounts-createBalanceAccountGBP-200" : { + "summary" : "Create a balance account - GBP default currency", + "description" : "Example request for creating a balance account with GBP as the default currency.", + "value" : { + "accountHolderId" : "AH0000000000000000000001", + "defaultCurrencyCode" : "GBP", + "description" : "GBP Balance Account", + "timeZone" : "Europe/London", + "balances" : [ + { + "available" : 0, + "balance" : 0, + "currency" : "GBP", + "pending" : 0, + "reserved" : 0 + } + ], + "id" : "BA0000000000000000000001", + "status" : "active" + } + }, + "post-balanceAccounts-createBalanceAccountUSD" : { + "summary" : "Create a balance account - USD default currency", + "description" : "Example request for creating a balance account with USD as the default currency.", + "value" : { + "accountHolderId" : "AH0000000000000000000001", + "description" : "USD Balance Account", + "defaultCurrencyCode" : "USD", + "timeZone" : "America/Chicago" + } + }, + "post-balanceAccounts-createBalanceAccountUSD-200" : { + "summary" : "Create a balance account - USD default currency", + "description" : "Example request for creating a balance account with USD as the default currency.", + "value" : { + "accountHolderId" : "AH0000000000000000000001", + "defaultCurrencyCode" : "USD", + "description" : "USD Balance Account", + "timeZone" : "America/Chicago", + "balances" : [ + { + "available" : 0, + "balance" : 0, + "currency" : "USD", + "pending" : 0, + "reserved" : 0 + } + ], + "id" : "BA0000000000000000000001", + "status" : "active" + } + }, "post-paymentInstrumentGroups-createPaymentInstrumentGroups" : { "summary" : "Create a payment instrument group", "description" : "Example request for creating a payment instrument group", diff --git a/yaml/BalancePlatformConfigurationNotification-v1.yaml b/yaml/BalancePlatformConfigurationNotification-v1.yaml index 1c730aa2..e9388eeb 100644 --- a/yaml/BalancePlatformConfigurationNotification-v1.yaml +++ b/yaml/BalancePlatformConfigurationNotification-v1.yaml @@ -1421,10 +1421,10 @@ components: - discarded type: string type: - description: 'Type of payment instrument. + description: 'The type of payment instrument. - Possible value: **card**, **bankAccount**. ' + Possible values: **card**, **bankAccount**.' enum: - bankAccount - card @@ -1691,6 +1691,7 @@ components: - pendingApproval - pendingExecution - refusedByCounterpartyBank + - refusedByCustomer - routeNotFound - scaFailed - transferInstrumentDoesNotExist diff --git a/yaml/BalancePlatformConfigurationNotification-v2.yaml b/yaml/BalancePlatformConfigurationNotification-v2.yaml index 4480708f..1a6fb749 100644 --- a/yaml/BalancePlatformConfigurationNotification-v2.yaml +++ b/yaml/BalancePlatformConfigurationNotification-v2.yaml @@ -1486,10 +1486,10 @@ components: - transactionRule type: string type: - description: 'Type of payment instrument. + description: 'The type of payment instrument. - Possible value: **card**, **bankAccount**. ' + Possible values: **card**, **bankAccount**.' enum: - bankAccount - card @@ -1785,6 +1785,7 @@ components: - pendingApproval - pendingExecution - refusedByCounterpartyBank + - refusedByCustomer - routeNotFound - scaFailed - transferInstrumentDoesNotExist diff --git a/yaml/BalancePlatformService-v2.yaml b/yaml/BalancePlatformService-v2.yaml index d370bb1a..627e4152 100644 --- a/yaml/BalancePlatformService-v2.yaml +++ b/yaml/BalancePlatformService-v2.yaml @@ -480,6 +480,80 @@ paths: schema: $ref: '#/components/schemas/RestServiceError' description: Internal Server Error - the server could not process the request. + /accountHolders/{id}/transactionRules: + get: + tags: + - Account holders + summary: Get all transaction rules for an account holder + description: Returns a list of transaction rules associated with an account + holder. + x-addedInVersion: '1' + operationId: get-accountHolders-id-transactionRules + x-sortIndex: 18 + x-methodName: getAllTransactionRulesForAccountHolder + security: + - clientKey: [] + - BasicAuth: [] + - ApiKeyAuth: [] + parameters: + - description: The unique identifier of the account holder. + name: id + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionRulesResponse' + description: OK - the request has succeeded. + '400': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-400' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Bad Request - a problem reading or understanding the request. + '401': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-401' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Unauthorized - authentication required. + '403': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-403' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Forbidden - insufficient permissions to process the request. + '422': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-422' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Unprocessable Entity - a request validation error. + '500': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-500' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Internal Server Error - the server could not process the request. /balanceAccounts: post: tags: @@ -501,6 +575,12 @@ paths: examples: createBalanceAccount: $ref: '#/components/examples/post-balanceAccounts-createBalanceAccount' + createBalanceAccountCAD: + $ref: '#/components/examples/post-balanceAccounts-createBalanceAccountCAD' + createBalanceAccountGBP: + $ref: '#/components/examples/post-balanceAccounts-createBalanceAccountGBP' + createBalanceAccountUSD: + $ref: '#/components/examples/post-balanceAccounts-createBalanceAccountUSD' schema: $ref: '#/components/schemas/BalanceAccountInfo' responses: @@ -510,6 +590,12 @@ paths: examples: createBalanceAccount: $ref: '#/components/examples/post-balanceAccounts-createBalanceAccount-200' + createBalanceAccountCAD: + $ref: '#/components/examples/post-balanceAccounts-createBalanceAccountCAD-200' + createBalanceAccountGBP: + $ref: '#/components/examples/post-balanceAccounts-createBalanceAccountGBP-200' + createBalanceAccountUSD: + $ref: '#/components/examples/post-balanceAccounts-createBalanceAccountUSD-200' schema: $ref: '#/components/schemas/BalanceAccount' description: OK - the request has succeeded. @@ -1257,6 +1343,79 @@ paths: schema: $ref: '#/components/schemas/RestServiceError' description: Internal Server Error - the server could not process the request. + /balanceAccounts/{id}/transactionRules: + get: + tags: + - Balance accounts + summary: Get all transaction rules for a balance account + description: Returns a list of transaction rules associated with a balance account. + x-addedInVersion: '1' + operationId: get-balanceAccounts-id-transactionRules + x-sortIndex: 14 + x-methodName: getAllTransactionRulesForBalanceAccount + security: + - clientKey: [] + - BasicAuth: [] + - ApiKeyAuth: [] + parameters: + - description: The unique identifier of the balance account. + name: id + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionRulesResponse' + description: OK - the request has succeeded. + '400': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-400' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Bad Request - a problem reading or understanding the request. + '401': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-401' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Unauthorized - authentication required. + '403': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-403' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Forbidden - insufficient permissions to process the request. + '422': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-422' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Unprocessable Entity - a request validation error. + '500': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-500' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Internal Server Error - the server could not process the request. /balancePlatforms/{id}: get: tags: @@ -1427,6 +1586,79 @@ paths: schema: $ref: '#/components/schemas/RestServiceError' description: Internal Server Error - the server could not process the request. + /balancePlatforms/{id}/transactionRules: + get: + tags: + - Platform + summary: Get all transaction rules for a balance platform + description: Returns a list of transaction rules associated with a balance platform. + x-addedInVersion: '1' + operationId: get-balancePlatforms-id-transactionRules + x-sortIndex: 5 + x-methodName: getAllTransactionRulesForBalancePlatform + security: + - clientKey: [] + - BasicAuth: [] + - ApiKeyAuth: [] + parameters: + - description: The unique identifier of the balance platform. + name: id + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionRulesResponse' + description: OK - the request has succeeded. + '400': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-400' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Bad Request - a problem reading or understanding the request. + '401': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-401' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Unauthorized - authentication required. + '403': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-403' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Forbidden - insufficient permissions to process the request. + '422': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-422' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Unprocessable Entity - a request validation error. + '500': + content: + application/json: + examples: + generic: + $ref: '#/components/examples/generic-500' + schema: + $ref: '#/components/schemas/RestServiceError' + description: Internal Server Error - the server could not process the request. /cardorders: get: tags: @@ -4436,6 +4668,23 @@ components: required: - type type: object + AmountNonZeroDecimalsRequirement: + additionalProperties: false + properties: + description: + description: Specifies for which routes the amount in a transfer request + must have no non-zero decimal places, so the transfer can only be processed + if the amount consists of round numbers. + type: string + type: + default: amountNonZeroDecimalsRequirement + description: '**amountNonZeroDecimalsRequirement**' + enum: + - amountNonZeroDecimalsRequirement + type: string + required: + - type + type: object Authentication: additionalProperties: false properties: @@ -5751,6 +6000,7 @@ components: - pendingApproval - pendingExecution - refusedByCounterpartyBank + - refusedByCustomer - routeNotFound - scaFailed - transferInstrumentDoesNotExist @@ -6284,6 +6534,28 @@ components: - type - iban type: object + IbanAccountIdentificationRequirement: + additionalProperties: false + properties: + description: + description: Specifies the allowed prefixes for the international bank account + number as defined in the ISO-13616 standard. + type: string + ibanPrefixes: + description: 'Contains the list of allowed prefixes for international bank + accounts. For example: NL, US, UK.' + items: + type: string + type: array + type: + default: ibanAccountIdentificationRequirement + description: '**ibanAccountIdentificationRequirement**' + enum: + - ibanAccountIdentificationRequirement + type: string + required: + - type + type: object InternationalTransactionRestriction: additionalProperties: false properties: @@ -6762,10 +7034,10 @@ components: - transactionRule type: string type: - description: 'Type of payment instrument. + description: 'The type of payment instrument. - Possible value: **card**, **bankAccount**. ' + Possible values: **card**, **bankAccount**.' enum: - bankAccount - card @@ -6909,10 +7181,10 @@ components: - transactionRule type: string type: - description: 'Type of payment instrument. + description: 'The type of payment instrument. - Possible value: **card**, **bankAccount**. ' + Possible values: **card**, **bankAccount**.' enum: - bankAccount - card @@ -7631,6 +7903,7 @@ components: - pendingApproval - pendingExecution - refusedByCounterpartyBank + - refusedByCustomer - routeNotFound - scaFailed - transferInstrumentDoesNotExist @@ -7885,7 +8158,8 @@ components: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. - Adyen calculates the total score and if it exceeds 100, declines the Transaction. + Adyen calculates the total score and if it exceeds 100, the transaction + is declined. Default value: **hardBlock**. @@ -8035,7 +8309,8 @@ components: * **hardBlock**: the transaction is declined. * **scoreBased**: the transaction is assigned the `score` you specified. - Adyen calculates the total score and if it exceeds 100, declines the Transaction. + Adyen calculates the total score and if it exceeds 100, the transaction + is declined. Default value: **hardBlock**. @@ -8448,8 +8723,11 @@ components: oneOf: - $ref: '#/components/schemas/AddressRequirement' - $ref: '#/components/schemas/AmountMinMaxRequirement' + - $ref: '#/components/schemas/AmountNonZeroDecimalsRequirement' - $ref: '#/components/schemas/BankAccountIdentificationTypeRequirement' + - $ref: '#/components/schemas/IbanAccountIdentificationRequirement' - $ref: '#/components/schemas/PaymentInstrumentRequirement' + - $ref: '#/components/schemas/USInternationalAchAddressRequirement' type: array type: object TransferRouteRequest: @@ -8562,6 +8840,22 @@ components: - accountNumber - sortCode type: object + USInternationalAchAddressRequirement: + additionalProperties: false + properties: + description: + description: Specifies that you must provide a complete street address for + International ACH (IAT) transactions. + type: string + type: + default: usInternationalAchAddressRequirement + description: '**usInternationalAchAddressRequirement**' + enum: + - usInternationalAchAddressRequirement + type: string + required: + - type + type: object USLocalAccountIdentification: additionalProperties: false properties: @@ -8702,10 +8996,10 @@ components: - transactionRule type: string type: - description: 'Type of payment instrument. + description: 'The type of payment instrument. - Possible value: **card**, **bankAccount**. ' + Possible values: **card**, **bankAccount**.' enum: - bankAccount - card @@ -8825,6 +9119,7 @@ components: - pendingApproval - pendingExecution - refusedByCounterpartyBank + - refusedByCustomer - routeNotFound - scaFailed - transferInstrumentDoesNotExist @@ -9964,6 +10259,84 @@ components: reserved: 0 id: BA3227C223222H5J4DCGQ9V9L status: active + post-balanceAccounts-createBalanceAccountCAD: + summary: Create a balance account - CAD default currency + description: Example request for creating a balance account with CAD as the + default currency. + value: + accountHolderId: AH0000000000000000000001 + description: CAD Balance Account + defaultCurrencyCode: CAD + timeZone: America/Toronto + post-balanceAccounts-createBalanceAccountCAD-200: + summary: Create a balance account - CAD default currency + description: Example request for creating a balance account with CAD as the + default currency. + value: + accountHolderId: AH0000000000000000000001 + defaultCurrencyCode: CAD + description: CAD Balance Account + timeZone: America/Toronto + balances: + - available: 0 + balance: 0 + currency: CAD + pending: 0 + reserved: 0 + id: BA0000000000000000000001 + status: active + post-balanceAccounts-createBalanceAccountGBP: + summary: Create a balance account - GBP default currency + description: Example request for creating a balance account with GBP as the + default currency. + value: + accountHolderId: AH0000000000000000000001 + description: GBP Balance Account + defaultCurrencyCode: GBP + timeZone: Europe/London + post-balanceAccounts-createBalanceAccountGBP-200: + summary: Create a balance account - GBP default currency + description: Example request for creating a balance account with GBP as the + default currency. + value: + accountHolderId: AH0000000000000000000001 + defaultCurrencyCode: GBP + description: GBP Balance Account + timeZone: Europe/London + balances: + - available: 0 + balance: 0 + currency: GBP + pending: 0 + reserved: 0 + id: BA0000000000000000000001 + status: active + post-balanceAccounts-createBalanceAccountUSD: + summary: Create a balance account - USD default currency + description: Example request for creating a balance account with USD as the + default currency. + value: + accountHolderId: AH0000000000000000000001 + description: USD Balance Account + defaultCurrencyCode: USD + timeZone: America/Chicago + post-balanceAccounts-createBalanceAccountUSD-200: + summary: Create a balance account - USD default currency + description: Example request for creating a balance account with USD as the + default currency. + value: + accountHolderId: AH0000000000000000000001 + defaultCurrencyCode: USD + description: USD Balance Account + timeZone: America/Chicago + balances: + - available: 0 + balance: 0 + currency: USD + pending: 0 + reserved: 0 + id: BA0000000000000000000001 + status: active post-paymentInstrumentGroups-createPaymentInstrumentGroups: summary: Create a payment instrument group description: Example request for creating a payment instrument group