{
   "openapi" : "3.1.0",
   "servers" : [
      {
         "url" : "https://cal-test.adyen.com/cal/services/Fund/v6"
      }
   ],
   "info" : {
      "version" : "6",
      "x-publicVersion" : true,
      "title" : "Fund API",
      "description" : "This API is used for the classic integration. If you are just starting your implementation, refer to our [new integration guide](https://docs.adyen.com/adyen-for-platforms-model) instead.\n\nThe Fund API provides endpoints for managing the funds in the accounts on your platform. These management operations include, for example, the transfer of funds from one account to another, the payout of funds to an account holder, and the retrieval of balances in an account.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/classic-platforms).\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-U \"ws@MarketPlace.YOUR_PLATFORM_ACCOUNT\":\"YOUR_WS_PASSWORD\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nWhen going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Fund 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://cal-test.adyen.com/cal/services/Fund/v6/accountHolderBalance\n```",
      "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions",
      "contact" : {
         "name" : "Adyen Developer Experience team",
         "url" : "https://github.com/Adyen/adyen-openapi"
      }
   },
   "tags" : [
      {
         "name" : "General"
      },
      {
         "name" : "Migration"
      }
   ],
   "paths" : {
      "/accountHolderBalance" : {
         "post" : {
            "tags" : [
               "General"
            ],
            "summary" : "Get the balances of an account holder",
            "description" : "Returns the account balances of an account holder. An account's balances are organized according by currencies. This mean that an account may have multiple balances: one for each currency.",
            "operationId" : "post-accountHolderBalance",
            "x-sortIndex" : 1,
            "x-methodName" : "accountHolderBalance",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "basic" : {
                           "$ref" : "#/components/examples/post-accountHolderBalance-basic"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/AccountHolderBalanceRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/AccountHolderBalanceResponse"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "202" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/AccountHolderBalanceResponse"
                        }
                     }
                  },
                  "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/accountHolderTransactionList" : {
         "post" : {
            "tags" : [
               "General"
            ],
            "summary" : "Get a list of transactions",
            "description" : "Returns a list of transactions for an account holder's accounts. You can specify the accounts and transaction statuses to be included on the list. The call returns a maximum of 50 transactions for each account. To retrieve all transactions, you must make another call with the 'page' value incremented. Transactions are listed in chronological order, with the most recent transaction first.",
            "operationId" : "post-accountHolderTransactionList",
            "x-sortIndex" : 2,
            "x-methodName" : "accountHolderTransactionList",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "basic" : {
                           "$ref" : "#/components/examples/post-accountHolderTransactionList-basic"
                        },
                        "specific" : {
                           "$ref" : "#/components/examples/post-accountHolderTransactionList-specific"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/AccountHolderTransactionListRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/AccountHolderTransactionListResponse"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "202" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/AccountHolderTransactionListResponse"
                        }
                     }
                  },
                  "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/debitAccountHolder" : {
         "post" : {
            "tags" : [
               "General"
            ],
            "summary" : "Send a direct debit request",
            "description" : "Sends a direct debit request to an account holder's bank account. If the direct debit is successful, the funds are settled in the accounts specified in the split instructions. Adyen sends the result of the direct debit in a [`DIRECT_DEBIT_INITIATED`](https://docs.adyen.com/api-explorer/#/NotificationService/latest/post/DIRECT_DEBIT_INITIATED) notification webhook.\n\n To learn more about direct debits, see [Top up accounts](https://docs.adyen.com/classic-platforms/top-up-accounts).",
            "operationId" : "post-debitAccountHolder",
            "x-sortIndex" : 8,
            "x-methodName" : "debitAccountHolder",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "debit-account-holder" : {
                           "$ref" : "#/components/examples/post-debitAccountHolder-debit-account-holder"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/DebitAccountHolderRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "debit-account-holder" : {
                              "$ref" : "#/components/examples/post-debitAccountHolder-debit-account-holder-200"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/DebitAccountHolderResponse"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "202" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/DebitAccountHolderResponse"
                        }
                     }
                  },
                  "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/payoutAccountHolder" : {
         "post" : {
            "tags" : [
               "General"
            ],
            "summary" : "Pay out from an account to the account holder",
            "description" : "Pays out a specified amount from an account to the bank account of account holder.",
            "operationId" : "post-payoutAccountHolder",
            "x-sortIndex" : 3,
            "x-methodName" : "payoutAccountHolder",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "oneOff" : {
                           "$ref" : "#/components/examples/post-payoutAccountHolder-oneOff"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/PayoutAccountHolderRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/PayoutAccountHolderResponse"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "202" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/PayoutAccountHolderResponse"
                        }
                     }
                  },
                  "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/refundFundsTransfer" : {
         "post" : {
            "tags" : [
               "General"
            ],
            "summary" : "Refund a funds transfer",
            "description" : "Refunds funds transferred from one account to another. Both accounts must be in the same platform, but can have different account holders. ",
            "operationId" : "post-refundFundsTransfer",
            "x-sortIndex" : 5,
            "x-methodName" : "refundFundsTransfer",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "basic" : {
                           "$ref" : "#/components/examples/post-refundFundsTransfer-basic"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/RefundFundsTransferRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/RefundFundsTransferResponse"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "202" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/RefundFundsTransferResponse"
                        }
                     }
                  },
                  "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/refundNotPaidOutTransfers" : {
         "post" : {
            "tags" : [
               "General"
            ],
            "summary" : "Refund all transactions of an account since the most recent payout",
            "description" : "Refunds all the transactions of an account that have taken place since the most recent payout. This request is on a account basis (as opposed to a payment basis), so only the portion of the payment that was made to the specified account is refunded. The commissions, fees, and payments to other accounts remain in the accounts to which they were sent as designated by the original payment's split details.",
            "operationId" : "post-refundNotPaidOutTransfers",
            "x-sortIndex" : 7,
            "x-methodName" : "refundNotPaidOutTransfers",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "basic" : {
                           "$ref" : "#/components/examples/post-refundNotPaidOutTransfers-basic"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/RefundNotPaidOutTransfersRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/RefundNotPaidOutTransfersResponse"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "202" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/RefundNotPaidOutTransfersResponse"
                        }
                     }
                  },
                  "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/setupBeneficiary" : {
         "post" : {
            "tags" : [
               "General"
            ],
            "summary" : "Designate a beneficiary account and transfer the benefactor's current balance",
            "description" : "Defines a benefactor and a beneficiary relationship between two accounts. At the time of benefactor/beneficiary setup, the funds in the benefactor account are transferred to the beneficiary account, and any further payments to the benefactor account are automatically sent to the beneficiary account. A series of benefactor/beneficiaries may not exceed four beneficiaries and may not have a cycle in it.",
            "operationId" : "post-setupBeneficiary",
            "x-sortIndex" : 6,
            "x-methodName" : "setupBeneficiary",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "basic" : {
                           "$ref" : "#/components/examples/post-setupBeneficiary-basic"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/SetupBeneficiaryRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/SetupBeneficiaryResponse"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "202" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/SetupBeneficiaryResponse"
                        }
                     }
                  },
                  "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/transferFunds" : {
         "post" : {
            "tags" : [
               "General"
            ],
            "summary" : "Transfer funds between platform accounts",
            "description" : "Transfers funds from one account to another account. Both accounts must be in the same platform, but can have different account holders. The transfer must include a transfer code, which should be determined by the platform, in compliance with local regulations.",
            "operationId" : "post-transferFunds",
            "x-sortIndex" : 4,
            "x-methodName" : "transferFunds",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "basic" : {
                           "$ref" : "#/components/examples/post-transferFunds-basic"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/TransferFundsRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/TransferFundsResponse"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "202" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/TransferFundsResponse"
                        }
                     }
                  },
                  "description" : "Accepted - the request has been accepted for processing, but the processing has not been completed."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      }
   },
   "components" : {
      "schemas" : {
         "AccountDetailBalance" : {
            "additionalProperties" : false,
            "properties" : {
               "accountCode" : {
                  "description" : "The code of the account that holds the balance.",
                  "type" : "string"
               },
               "detailBalance" : {
                  "description" : "Details of the balance held by the account.",
                  "$ref" : "#/components/schemas/DetailBalance"
               }
            },
            "type" : "object"
         },
         "AccountHolderBalanceRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "accountHolderCode" : {
                  "description" : "The code of the Account Holder of which to retrieve the balance.",
                  "type" : "string"
               }
            },
            "required" : [
               "accountHolderCode"
            ],
            "type" : "object"
         },
         "AccountHolderBalanceResponse" : {
            "additionalProperties" : false,
            "properties" : {
               "balancePerAccount" : {
                  "description" : "A list of each account and their balances.",
                  "items" : {
                     "$ref" : "#/components/schemas/AccountDetailBalance"
                  },
                  "type" : "array"
               },
               "invalidFields" : {
                  "x-addedInVersion" : "5",
                  "description" : "Contains field validation errors that would prevent requests from being processed.",
                  "items" : {
                     "$ref" : "#/components/schemas/ErrorFieldType"
                  },
                  "type" : "array"
               },
               "pspReference" : {
                  "description" : "The reference of a request. Can be used to uniquely identify the request.",
                  "type" : "string"
               },
               "resultCode" : {
                  "description" : "The result code.",
                  "type" : "string"
               },
               "totalBalance" : {
                  "description" : "The total balance of the account holder.",
                  "$ref" : "#/components/schemas/DetailBalance"
               }
            },
            "type" : "object"
         },
         "AccountHolderTransactionListRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "accountHolderCode" : {
                  "description" : "The code of the account holder that owns the account(s) of which retrieve the transaction list.",
                  "type" : "string"
               },
               "transactionListsPerAccount" : {
                  "description" : "A list of accounts to include in the transaction list. If left blank, the last fifty (50) transactions for all accounts of the account holder will be included.",
                  "items" : {
                     "$ref" : "#/components/schemas/TransactionListForAccount"
                  },
                  "type" : "array"
               },
               "transactionStatuses" : {
                  "description" : "A list of statuses to include in the transaction list. If left blank, all transactions will be included.\n>Permitted values:\n>* `PendingCredit` - a pending balance credit.\n>* `CreditFailed` - a pending credit failure; the balance will not be credited.\n>* `Credited` - a credited balance.\n>* `PendingDebit` - a pending balance debit (e.g., a refund).\n>* `CreditClosed` - a pending credit closed; the balance will not be credited.\n>* `CreditSuspended` - a pending credit closed; the balance will not be credited.\n>* `DebitFailed` - a pending debit failure; the balance will not be debited.\n>* `Debited` - a debited balance (e.g., a refund).\n>* `DebitReversedReceived` - a pending refund reversal.\n>* `DebitedReversed` - a reversed refund.\n>* `ChargebackReceived` - a received chargeback request.\n>* `Chargeback` - a processed chargeback.\n>* `ChargebackReversedReceived` - a pending chargeback reversal.\n>* `ChargebackReversed` - a reversed chargeback.\n>* `Converted` - converted.\n>* `ManualCorrected` - manual booking/adjustment by Adyen.\n>* `Payout` - a payout.\n>* `PayoutReversed` - a reversed payout.\n>* `PendingFundTransfer` - a pending transfer of funds from one account to another.\n>* `FundTransfer` - a transfer of funds from one account to another.",
                  "items" : {
                     "enum" : [
                        "BalanceNotPaidOutTransfer",
                        "BalancePlatformFundTransfer",
                        "BalancePlatformSweep",
                        "BalancePlatformSweepReturned",
                        "Chargeback",
                        "ChargebackCorrection",
                        "ChargebackCorrectionReceived",
                        "ChargebackReceived",
                        "ChargebackReversed",
                        "ChargebackReversedCorrection",
                        "ChargebackReversedCorrectionReceived",
                        "ChargebackReversedReceived",
                        "Converted",
                        "CreditClosed",
                        "CreditFailed",
                        "CreditReversed",
                        "CreditReversedReceived",
                        "CreditSuspended",
                        "Credited",
                        "DebitFailed",
                        "DebitReversedReceived",
                        "Debited",
                        "DebitedReversed",
                        "DepositCorrectionCredited",
                        "DepositCorrectionDebited",
                        "DepositCorrectionReceived",
                        "Fee",
                        "FeeReceived",
                        "FundTransfer",
                        "FundTransferReversed",
                        "InvoiceDeductionCredited",
                        "InvoiceDeductionDebited",
                        "InvoiceDeductionReceived",
                        "ManualCorrected",
                        "ManualCorrectionCredited",
                        "ManualCorrectionDebited",
                        "MerchantPayin",
                        "MerchantPayinReceived",
                        "MerchantPayinReversed",
                        "Payout",
                        "PayoutReversed",
                        "PendingCredit",
                        "PendingDebit",
                        "PendingFundTransfer",
                        "ReCredited",
                        "ReCreditedReceived",
                        "SecondChargeback",
                        "SecondChargebackCorrection",
                        "SecondChargebackCorrectionReceived",
                        "SecondChargebackReceived"
                     ],
                     "type" : "string"
                  },
                  "type" : "array"
               }
            },
            "required" : [
               "accountHolderCode"
            ],
            "type" : "object"
         },
         "AccountHolderTransactionListResponse" : {
            "additionalProperties" : false,
            "properties" : {
               "accountTransactionLists" : {
                  "description" : "A list of the transactions.",
                  "items" : {
                     "$ref" : "#/components/schemas/AccountTransactionList"
                  },
                  "type" : "array"
               },
               "invalidFields" : {
                  "x-addedInVersion" : "5",
                  "description" : "Contains field validation errors that would prevent requests from being processed.",
                  "items" : {
                     "$ref" : "#/components/schemas/ErrorFieldType"
                  },
                  "type" : "array"
               },
               "pspReference" : {
                  "description" : "The reference of a request. Can be used to uniquely identify the request.",
                  "type" : "string"
               },
               "resultCode" : {
                  "description" : "The result code.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AccountTransactionList" : {
            "additionalProperties" : false,
            "properties" : {
               "accountCode" : {
                  "description" : "The code of the account.",
                  "type" : "string"
               },
               "hasNextPage" : {
                  "description" : "Indicates whether there is a next page of transactions available.",
                  "type" : "boolean"
               },
               "transactions" : {
                  "description" : "The list of transactions.",
                  "items" : {
                     "$ref" : "#/components/schemas/Transaction"
                  },
                  "type" : "array"
               }
            },
            "type" : "object"
         },
         "Amount" : {
            "additionalProperties" : false,
            "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"
            ],
            "type" : "object"
         },
         "BankAccountDetail" : {
            "additionalProperties" : false,
            "properties" : {
               "accountNumber" : {
                  "description" : "The bank account number (without separators).\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "accountType" : {
                  "description" : "The type of bank account.\nOnly applicable to bank accounts held in the USA.\nThe permitted values are: `checking`, `savings`.\n\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "bankAccountName" : {
                  "description" : "The name of the bank account.",
                  "type" : "string"
               },
               "bankAccountReference" : {
                  "x-addedInVersion" : "5",
                  "description" : "Merchant reference to the bank account.",
                  "type" : "string"
               },
               "bankAccountUUID" : {
                  "description" : "The unique identifier (UUID) of the Bank Account.\n>If, during an account holder create or update request, this field is left blank (but other fields provided), a new Bank Account will be created with a procedurally-generated UUID.\n\n>If, during an account holder create request, a UUID is provided, the creation of the Bank Account will fail while the creation of the account holder will continue.\n\n>If, during an account holder update request, a UUID that is not correlated with an existing Bank Account is provided, the update of the account holder will fail.\n\n>If, during an account holder update request, a UUID that is correlated with an existing Bank Account is provided, the existing Bank Account will be updated.\n",
                  "type" : "string"
               },
               "bankBicSwift" : {
                  "description" : "The bank identifier code.\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "bankCity" : {
                  "description" : "The city in which the bank branch is located.\n\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "bankCode" : {
                  "description" : "The bank code of the banking institution with which the bank account is registered.\n\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "bankName" : {
                  "description" : "The name of the banking institution with which the bank account is held.\n\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "branchCode" : {
                  "description" : "The branch code of the branch under which the bank account is registered. The value to be specified in this parameter depends on the country of the bank account:\n* United States - Routing number\n* United Kingdom - Sort code\n* Germany - Bankleitzahl\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "checkCode" : {
                  "description" : "The check code of the bank account.\n\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "countryCode" : {
                  "description" : "The two-letter country code in which the bank account is registered.\n>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').\n\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "currencyCode" : {
                  "description" : "The currency in which the bank account deals.\n>The permitted currency codes are defined in ISO-4217 (e.g. 'EUR').\n",
                  "type" : "string"
               },
               "iban" : {
                  "description" : "The international bank account number.\n>The IBAN standard is defined in ISO-13616.\n\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "ownerCity" : {
                  "description" : "The city of residence of the bank account owner.\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "ownerCountryCode" : {
                  "description" : "The country code of the country of residence of the bank account owner.\n>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').\n\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "ownerDateOfBirth" : {
                  "deprecated" : true,
                  "description" : "The date of birth of the bank account owner.\nThe date should be in ISO-8601 format yyyy-mm-dd (e.g. 2000-01-31).",
                  "type" : "string"
               },
               "ownerHouseNumberOrName" : {
                  "description" : "The house name or number of the residence of the bank account owner.\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "ownerName" : {
                  "description" : "The name of the bank account owner.\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "ownerNationality" : {
                  "description" : "The country code of the country of nationality of the bank account owner.\n>The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').\n\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "ownerPostalCode" : {
                  "description" : "The postal code of the residence of the bank account owner.\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "ownerState" : {
                  "description" : "The state of residence of the bank account owner.\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "ownerStreet" : {
                  "description" : "The street name of the residence of the bank account owner.\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "primaryAccount" : {
                  "description" : "If set to true, the bank account is a primary account.",
                  "type" : "boolean"
               },
               "taxId" : {
                  "description" : "The tax ID number.\n\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               },
               "urlForVerification" : {
                  "description" : "The URL to be used for bank account verification.\nThis may be generated on bank account creation.\n\n>Refer to [Required information](https://docs.adyen.com/classic-platforms/verification-process/required-information) for details on field requirements.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "DebitAccountHolderRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "accountHolderCode" : {
                  "description" : "The code of the account holder.",
                  "type" : "string"
               },
               "amount" : {
                  "description" : "The amount to be debited from the account holder's bank account.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "bankAccountUUID" : {
                  "description" : "The Adyen-generated unique alphanumeric identifier (UUID) of the account holder's bank account.",
                  "type" : "string"
               },
               "description" : {
                  "description" : "A description of the direct debit. Maximum length: 35 characters.\n\nAllowed characters: **a-z**, **A-Z**, **0-9**, and special characters **/?:().,'+ \";**.",
                  "maxLength" : 35,
                  "type" : "string"
               },
               "merchantAccount" : {
                  "description" : "Your merchant account.",
                  "type" : "string"
               },
               "splits" : {
                  "description" : "Contains instructions on how to split the funds between the accounts in your platform. The request must have at least one split item.",
                  "items" : {
                     "$ref" : "#/components/schemas/Split"
                  },
                  "type" : "array"
               }
            },
            "required" : [
               "accountHolderCode",
               "bankAccountUUID",
               "amount",
               "splits",
               "merchantAccount"
            ],
            "type" : "object"
         },
         "DebitAccountHolderResponse" : {
            "additionalProperties" : false,
            "properties" : {
               "accountHolderCode" : {
                  "description" : "The code of the account holder.",
                  "type" : "string"
               },
               "bankAccountUUID" : {
                  "description" : "The Adyen-generated unique alphanumeric identifier (UUID) of the account holder's bank account.",
                  "type" : "string"
               },
               "invalidFields" : {
                  "x-addedInVersion" : "5",
                  "description" : "Contains field validation errors that would prevent requests from being processed.",
                  "items" : {
                     "$ref" : "#/components/schemas/ErrorFieldType"
                  },
                  "type" : "array"
               },
               "merchantReferences" : {
                  "description" : "List of the `reference` values from the `split` array in the request.",
                  "items" : {
                     "type" : "string"
                  },
                  "type" : "array"
               },
               "pspReference" : {
                  "description" : "The reference of a request. Can be used to uniquely identify the request.",
                  "type" : "string"
               },
               "resultCode" : {
                  "description" : "The result code.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "DetailBalance" : {
            "additionalProperties" : false,
            "properties" : {
               "balance" : {
                  "description" : "The list of balances held by the account.",
                  "items" : {
                     "$ref" : "#/components/schemas/Amount"
                  },
                  "type" : "array"
               },
               "onHoldBalance" : {
                  "x-addedInVersion" : "5",
                  "description" : "The list of on hold balances held by the account.",
                  "items" : {
                     "$ref" : "#/components/schemas/Amount"
                  },
                  "type" : "array"
               },
               "pendingBalance" : {
                  "description" : "The list of pending balances held by the account.",
                  "items" : {
                     "$ref" : "#/components/schemas/Amount"
                  },
                  "type" : "array"
               }
            },
            "type" : "object"
         },
         "ErrorFieldType" : {
            "additionalProperties" : false,
            "properties" : {
               "errorCode" : {
                  "description" : "The validation error code.",
                  "format" : "int32",
                  "type" : "integer"
               },
               "errorDescription" : {
                  "description" : "A description of the validation error.",
                  "type" : "string"
               },
               "fieldType" : {
                  "description" : "The type of error field.",
                  "$ref" : "#/components/schemas/FieldType"
               }
            },
            "type" : "object"
         },
         "FieldType" : {
            "additionalProperties" : false,
            "properties" : {
               "field" : {
                  "description" : "The full name of the property.",
                  "type" : "string"
               },
               "fieldName" : {
                  "description" : "The type of the field.",
                  "enum" : [
                     "accountCode",
                     "accountHolderCode",
                     "accountHolderDetails",
                     "accountNumber",
                     "accountStateType",
                     "accountStatus",
                     "accountType",
                     "address",
                     "balanceAccount",
                     "balanceAccountActive",
                     "balanceAccountCode",
                     "balanceAccountId",
                     "bankAccount",
                     "bankAccountCode",
                     "bankAccountName",
                     "bankAccountUUID",
                     "bankBicSwift",
                     "bankCity",
                     "bankCode",
                     "bankName",
                     "bankStatement",
                     "branchCode",
                     "businessContact",
                     "cardToken",
                     "checkCode",
                     "city",
                     "companyRegistration",
                     "constitutionalDocument",
                     "controller",
                     "country",
                     "countryCode",
                     "currency",
                     "currencyCode",
                     "dateOfBirth",
                     "description",
                     "destinationAccountCode",
                     "document",
                     "documentContent",
                     "documentExpirationDate",
                     "documentIssuerCountry",
                     "documentIssuerState",
                     "documentName",
                     "documentNumber",
                     "documentType",
                     "doingBusinessAs",
                     "drivingLicence",
                     "drivingLicenceBack",
                     "drivingLicenceFront",
                     "drivingLicense",
                     "email",
                     "firstName",
                     "formType",
                     "fullPhoneNumber",
                     "gender",
                     "hopWebserviceUser",
                     "houseNumberOrName",
                     "iban",
                     "idCard",
                     "idCardBack",
                     "idCardFront",
                     "idNumber",
                     "identityDocument",
                     "individualDetails",
                     "infix",
                     "jobTitle",
                     "lastName",
                     "lastReviewDate",
                     "legalArrangement",
                     "legalArrangementCode",
                     "legalArrangementEntity",
                     "legalArrangementEntityCode",
                     "legalArrangementLegalForm",
                     "legalArrangementMember",
                     "legalArrangementMembers",
                     "legalArrangementName",
                     "legalArrangementReference",
                     "legalArrangementRegistrationNumber",
                     "legalArrangementTaxNumber",
                     "legalArrangementType",
                     "legalBusinessName",
                     "legalEntity",
                     "legalEntityType",
                     "linkedViasVirtualAccount",
                     "logo",
                     "merchantAccount",
                     "merchantCategoryCode",
                     "merchantHouseNumber",
                     "merchantReference",
                     "microDeposit",
                     "name",
                     "nationality",
                     "originalReference",
                     "ownerCity",
                     "ownerCountryCode",
                     "ownerDateOfBirth",
                     "ownerHouseNumberOrName",
                     "ownerName",
                     "ownerPostalCode",
                     "ownerState",
                     "ownerStreet",
                     "passport",
                     "passportNumber",
                     "payoutMethod",
                     "payoutMethodCode",
                     "payoutSchedule",
                     "pciSelfAssessment",
                     "personalData",
                     "phoneCountryCode",
                     "phoneNumber",
                     "postalCode",
                     "primaryCurrency",
                     "reason",
                     "registrationNumber",
                     "returnUrl",
                     "schedule",
                     "shareholder",
                     "shareholderCode",
                     "shareholderCodeAndSignatoryCode",
                     "shareholderCodeOrSignatoryCode",
                     "shareholderType",
                     "shareholderTypes",
                     "shopperInteraction",
                     "signatory",
                     "signatoryCode",
                     "socialSecurityNumber",
                     "sourceAccountCode",
                     "splitAccount",
                     "splitConfigurationUUID",
                     "splitCurrency",
                     "splitValue",
                     "splits",
                     "stateOrProvince",
                     "status",
                     "stockExchange",
                     "stockNumber",
                     "stockTicker",
                     "store",
                     "storeDetail",
                     "storeName",
                     "storeReference",
                     "street",
                     "taxId",
                     "tier",
                     "tierNumber",
                     "transferCode",
                     "ultimateParentCompany",
                     "ultimateParentCompanyAddressDetails",
                     "ultimateParentCompanyAddressDetailsCountry",
                     "ultimateParentCompanyBusinessDetails",
                     "ultimateParentCompanyBusinessDetailsLegalBusinessName",
                     "ultimateParentCompanyBusinessDetailsRegistrationNumber",
                     "ultimateParentCompanyCode",
                     "ultimateParentCompanyStockExchange",
                     "ultimateParentCompanyStockNumber",
                     "ultimateParentCompanyStockNumberOrStockTicker",
                     "ultimateParentCompanyStockTicker",
                     "unknown",
                     "value",
                     "verificationType",
                     "virtualAccount",
                     "visaNumber",
                     "webAddress",
                     "year"
                  ],
                  "type" : "string"
               },
               "shareholderCode" : {
                  "description" : "The code of the shareholder that the field belongs to. If empty, the field belongs to an account holder.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "PayoutAccountHolderRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "accountCode" : {
                  "description" : "The code of the account from which the payout is to be made.",
                  "type" : "string"
               },
               "accountHolderCode" : {
                  "description" : "The code of the Account Holder who owns the account from which the payout is to be made.\nThe Account Holder is the party to which the payout will be made.",
                  "type" : "string"
               },
               "amount" : {
                  "description" : "An object containing the currency and value of the payout.\nIf the account has multiple currencies, specify the currency to be used.\nIf the `bankAccountUUID` is provided in the request, the currency supported by the bank is used.\nIf the `payoutMethodCode` is provided in the request, the specified payout method is selected.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "bankAccountUUID" : {
                  "description" : "The unique ID of the Bank Account held by the Account Holder to which the payout is to be made.\nIf left blank, a bank account is automatically selected.",
                  "type" : "string"
               },
               "description" : {
                  "description" : "A description of the payout. Maximum 200 characters.\nAllowed: **abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/?:().,'+ \";**",
                  "maxLength" : 200,
                  "type" : "string"
               },
               "merchantReference" : {
                  "x-addedInVersion" : "2",
                  "description" : "A value that can be supplied at the discretion of the executing user in order to link multiple transactions to one another.",
                  "type" : "string"
               },
               "payoutMethodCode" : {
                  "x-addedInVersion" : "5",
                  "description" : "The unique ID of the payout method held by the Account Holder to which the payout is to be made.\nIf left blank, a payout instrument is automatically selected.",
                  "type" : "string"
               },
               "payoutSpeed" : {
                  "x-addedInVersion" : "5",
                  "default" : "STANDARD",
                  "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.",
                  "enum" : [
                     "INSTANT",
                     "SAME_DAY",
                     "STANDARD"
                  ],
                  "type" : "string"
               }
            },
            "required" : [
               "accountHolderCode",
               "accountCode"
            ],
            "type" : "object"
         },
         "PayoutAccountHolderResponse" : {
            "additionalProperties" : false,
            "properties" : {
               "bankAccountUUID" : {
                  "description" : "The unique ID of the Bank Account to which the payout was made.",
                  "type" : "string"
               },
               "invalidFields" : {
                  "x-addedInVersion" : "5",
                  "description" : "Contains field validation errors that would prevent requests from being processed.",
                  "items" : {
                     "$ref" : "#/components/schemas/ErrorFieldType"
                  },
                  "type" : "array"
               },
               "merchantReference" : {
                  "x-addedInVersion" : "2",
                  "description" : "The value supplied by the executing user when initiating the transfer; may be used to link multiple transactions.",
                  "type" : "string"
               },
               "payoutSpeed" : {
                  "x-addedInVersion" : "5",
                  "default" : "STANDARD",
                  "description" : "Speed with which payouts for this account are processed. Permitted values: `STANDARD`, `SAME_DAY`.",
                  "enum" : [
                     "INSTANT",
                     "SAME_DAY",
                     "STANDARD"
                  ],
                  "type" : "string"
               },
               "pspReference" : {
                  "description" : "The reference of a request. Can be used to uniquely identify the request.",
                  "type" : "string"
               },
               "resultCode" : {
                  "description" : "The result code.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "RefundFundsTransferRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "amount" : {
                  "description" : "The amount to be transferred.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "merchantReference" : {
                  "description" : "A value that can be supplied at the discretion of the executing user in order to link multiple transactions to one another.",
                  "type" : "string"
               },
               "originalReference" : {
                  "description" : "A PSP reference of the original fund transfer.",
                  "type" : "string"
               }
            },
            "required" : [
               "originalReference",
               "amount"
            ],
            "type" : "object"
         },
         "RefundFundsTransferResponse" : {
            "additionalProperties" : false,
            "properties" : {
               "invalidFields" : {
                  "x-addedInVersion" : "5",
                  "description" : "Contains field validation errors that would prevent requests from being processed.",
                  "items" : {
                     "$ref" : "#/components/schemas/ErrorFieldType"
                  },
                  "type" : "array"
               },
               "merchantReference" : {
                  "description" : "The value supplied by the executing user when initiating the transfer refund; may be used to link multiple transactions.",
                  "type" : "string"
               },
               "message" : {
                  "description" : "The message of the response.",
                  "type" : "string"
               },
               "originalReference" : {
                  "description" : "A PSP reference of the original fund transfer.",
                  "type" : "string"
               },
               "pspReference" : {
                  "description" : "The reference of a request. Can be used to uniquely identify the request.",
                  "type" : "string"
               },
               "resultCode" : {
                  "description" : "The result code.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "RefundNotPaidOutTransfersRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "accountCode" : {
                  "description" : "The code of the account from which to perform the refund(s).",
                  "type" : "string"
               },
               "accountHolderCode" : {
                  "description" : "The code of the Account Holder which owns the account from which to perform the refund(s).",
                  "type" : "string"
               }
            },
            "required" : [
               "accountHolderCode",
               "accountCode"
            ],
            "type" : "object"
         },
         "RefundNotPaidOutTransfersResponse" : {
            "additionalProperties" : false,
            "properties" : {
               "invalidFields" : {
                  "x-addedInVersion" : "5",
                  "description" : "Contains field validation errors that would prevent requests from being processed.",
                  "items" : {
                     "$ref" : "#/components/schemas/ErrorFieldType"
                  },
                  "type" : "array"
               },
               "pspReference" : {
                  "description" : "The reference of a request. Can be used to uniquely identify the request.",
                  "type" : "string"
               },
               "resultCode" : {
                  "description" : "The result code.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "ServiceError" : {
            "additionalProperties" : false,
            "properties" : {
               "errorCode" : {
                  "description" : "The error code mapped to the error message.",
                  "type" : "string"
               },
               "errorType" : {
                  "description" : "The category of the error.",
                  "type" : "string"
               },
               "message" : {
                  "description" : "A short explanation of the issue.",
                  "type" : "string"
               },
               "pspReference" : {
                  "description" : "The PSP reference of the payment.",
                  "type" : "string"
               },
               "status" : {
                  "description" : "The HTTP response status.",
                  "format" : "int32",
                  "type" : "integer"
               }
            },
            "type" : "object"
         },
         "SetupBeneficiaryRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "destinationAccountCode" : {
                  "description" : "The destination account code.",
                  "type" : "string"
               },
               "merchantReference" : {
                  "description" : "A value that can be supplied at the discretion of the executing user.",
                  "type" : "string"
               },
               "sourceAccountCode" : {
                  "description" : "The benefactor account.",
                  "type" : "string"
               }
            },
            "required" : [
               "sourceAccountCode",
               "destinationAccountCode"
            ],
            "type" : "object"
         },
         "SetupBeneficiaryResponse" : {
            "additionalProperties" : false,
            "properties" : {
               "invalidFields" : {
                  "x-addedInVersion" : "5",
                  "description" : "Contains field validation errors that would prevent requests from being processed.",
                  "items" : {
                     "$ref" : "#/components/schemas/ErrorFieldType"
                  },
                  "type" : "array"
               },
               "pspReference" : {
                  "description" : "The reference of a request. Can be used to uniquely identify the request.",
                  "type" : "string"
               },
               "resultCode" : {
                  "description" : "The result code.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "Split" : {
            "additionalProperties" : false,
            "properties" : {
               "account" : {
                  "description" : "The unique identifier of the account to which the split amount is booked. Required if `type` is **MarketPlace** or **BalanceAccount**.\n\n* [Classic Platforms integration](https://docs.adyen.com/classic-platforms): The [`accountCode`](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccount#request-accountCode) of the account to which the split amount is booked.\n* [Balance Platform](https://docs.adyen.com/adyen-for-platforms-model): The [`balanceAccountId`](https://docs.adyen.com/api-explorer/balanceplatform/latest/get/balanceAccounts/_id_#path-id) of the account to which the split amount is booked.",
                  "type" : "string"
               },
               "amount" : {
                  "description" : "The amount of the split item.\n\n* Required for all split types in the [Classic Platforms integration](https://docs.adyen.com/classic-platforms).\n* Required if `type` is **BalanceAccount**, **Commission**, **Default**, or **VAT** in your [Balance Platform](https://docs.adyen.com/adyen-for-platforms-model) integration.",
                  "$ref" : "#/components/schemas/SplitAmount"
               },
               "description" : {
                  "description" : "Your description for the split item.",
                  "type" : "string"
               },
               "reference" : {
                  "description" : "Your unique reference for the part of the payment booked to the specified `account`.\n\nThis is required if `type` is **MarketPlace** ([Classic Platforms integration](https://docs.adyen.com/classic-platforms)) or **BalanceAccount** ([Balance Platform](https://docs.adyen.com/adyen-for-platforms-model)).\n\nFor the other types, we also recommend providing a **unique** reference so you can reconcile the split and the associated payment in the transaction overview and in the reports.",
                  "type" : "string"
               },
               "type" : {
                  "description" : "The part of the payment you want to book to the specified `account`.\n\nPossible values for the [Balance Platform](https://docs.adyen.com/adyen-for-platforms-model):\n* **BalanceAccount**: books part of the payment (specified in `amount`) to the specified `account`.\n* Transaction fees types that you can book to the specified `account`:\n   * **AcquiringFees**: the aggregated amount of the interchange and scheme fees.\n   * **PaymentFee**: the aggregated amount of all transaction fees.\n   * **AdyenFees**: the aggregated amount of Adyen's commission and markup fees.\n   * **AdyenCommission**: the transaction fees due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/interchange-fees-explained).\n   * **AdyenMarkup**: the transaction fees due to Adyen under [Interchange ++ pricing](https://www.adyen.com/knowledge-hub/interchange-fees-explained).\n   * **Interchange**: the fees paid to the issuer for each payment made with the card network.\n   * **SchemeFee**: the fees paid to the card scheme for using their network. \n* **Commission**: your platform's commission on the payment (specified in `amount`), booked to your liable balance account.\n* **Remainder**: the amount left over after a currency conversion, booked to the specified `account`.\n* **TopUp**: allows you and your users to top up balance accounts using direct debit, card payments, or other payment methods.\n* **VAT**: the value-added tax charged on the payment, booked to your platforms liable balance account.\n* **Commission**: your platform's commission (specified in `amount`) on the payment, booked to your liable balance account.\n* **Default**: in very specific use cases, allows you to book the specified `amount` to the specified `account`. For more information, contact Adyen support.\n\nPossible values for the [Classic Platforms integration](https://docs.adyen.com/classic-platforms): **Commission**, **Default**, **Marketplace**, **PaymentFee**, **VAT**.",
                  "enum" : [
                     "AcquiringFees",
                     "AdyenCommission",
                     "AdyenFees",
                     "AdyenMarkup",
                     "BalanceAccount",
                     "Commission",
                     "Default",
                     "Interchange",
                     "MarketPlace",
                     "PaymentFee",
                     "Remainder",
                     "SchemeFee",
                     "Surcharge",
                     "Tip",
                     "VAT"
                  ],
                  "type" : "string"
               }
            },
            "required" : [
               "type"
            ],
            "type" : "object"
         },
         "SplitAmount" : {
            "additionalProperties" : false,
            "properties" : {
               "currency" : {
                  "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). By default, this is the original payment currency.",
                  "maxLength" : 3,
                  "minLength" : 3,
                  "type" : "string"
               },
               "value" : {
                  "description" : "The value of the split amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).",
                  "format" : "int64",
                  "type" : "integer"
               }
            },
            "required" : [
               "value"
            ],
            "type" : "object"
         },
         "Transaction" : {
            "additionalProperties" : false,
            "properties" : {
               "amount" : {
                  "description" : "The amount of the transaction.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "bankAccountDetail" : {
                  "description" : "The details of the bank account to where a payout was made.",
                  "$ref" : "#/components/schemas/BankAccountDetail"
               },
               "captureMerchantReference" : {
                  "description" : "The merchant reference of a related capture.",
                  "type" : "string"
               },
               "capturePspReference" : {
                  "description" : "The psp reference of a related capture.",
                  "type" : "string"
               },
               "creationDate" : {
                  "description" : "The date on which the transaction was performed.",
                  "format" : "date-time",
                  "type" : "string"
               },
               "description" : {
                  "description" : "A description of the transaction.",
                  "type" : "string"
               },
               "destinationAccountCode" : {
                  "description" : "The code of the account to which funds were credited during an outgoing fund transfer.",
                  "type" : "string"
               },
               "disputePspReference" : {
                  "description" : "The psp reference of the related dispute.",
                  "type" : "string"
               },
               "disputeReasonCode" : {
                  "description" : "The reason code of a dispute.",
                  "type" : "string"
               },
               "merchantReference" : {
                  "description" : "The merchant reference of a transaction.",
                  "type" : "string"
               },
               "paymentPspReference" : {
                  "x-addedInVersion" : "3",
                  "description" : "The psp reference of the related authorisation or transfer.",
                  "type" : "string"
               },
               "payoutPspReference" : {
                  "x-addedInVersion" : "3",
                  "description" : "The psp reference of the related payout.",
                  "type" : "string"
               },
               "pspReference" : {
                  "description" : "The psp reference of a transaction.",
                  "type" : "string"
               },
               "sourceAccountCode" : {
                  "description" : "The code of the account from which funds were debited during an incoming fund transfer.",
                  "type" : "string"
               },
               "transactionStatus" : {
                  "description" : "The status of the transaction.\n>Permitted values: `PendingCredit`, `CreditFailed`, `CreditClosed`, `CreditSuspended`, `Credited`, `Converted`, `PendingDebit`, `DebitFailed`, `Debited`, `DebitReversedReceived`, `DebitedReversed`, `ChargebackReceived`, `Chargeback`, `ChargebackReversedReceived`, `ChargebackReversed`, `Payout`, `PayoutReversed`, `FundTransfer`, `PendingFundTransfer`, `ManualCorrected`.",
                  "enum" : [
                     "BalanceNotPaidOutTransfer",
                     "BalancePlatformFundTransfer",
                     "BalancePlatformSweep",
                     "BalancePlatformSweepReturned",
                     "Chargeback",
                     "ChargebackCorrection",
                     "ChargebackCorrectionReceived",
                     "ChargebackReceived",
                     "ChargebackReversed",
                     "ChargebackReversedCorrection",
                     "ChargebackReversedCorrectionReceived",
                     "ChargebackReversedReceived",
                     "Converted",
                     "CreditClosed",
                     "CreditFailed",
                     "CreditReversed",
                     "CreditReversedReceived",
                     "CreditSuspended",
                     "Credited",
                     "DebitFailed",
                     "DebitReversedReceived",
                     "Debited",
                     "DebitedReversed",
                     "DepositCorrectionCredited",
                     "DepositCorrectionDebited",
                     "DepositCorrectionReceived",
                     "Fee",
                     "FeeReceived",
                     "FundTransfer",
                     "FundTransferReversed",
                     "InvoiceDeductionCredited",
                     "InvoiceDeductionDebited",
                     "InvoiceDeductionReceived",
                     "ManualCorrected",
                     "ManualCorrectionCredited",
                     "ManualCorrectionDebited",
                     "MerchantPayin",
                     "MerchantPayinReceived",
                     "MerchantPayinReversed",
                     "Payout",
                     "PayoutReversed",
                     "PendingCredit",
                     "PendingDebit",
                     "PendingFundTransfer",
                     "ReCredited",
                     "ReCreditedReceived",
                     "SecondChargeback",
                     "SecondChargebackCorrection",
                     "SecondChargebackCorrectionReceived",
                     "SecondChargebackReceived"
                  ],
                  "type" : "string"
               },
               "transferCode" : {
                  "description" : "The transfer code of the transaction.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "TransactionListForAccount" : {
            "additionalProperties" : false,
            "properties" : {
               "accountCode" : {
                  "description" : "The account for which to retrieve the transactions.",
                  "type" : "string"
               },
               "page" : {
                  "description" : "The page of transactions to retrieve.\nEach page lists fifty (50) transactions.  The most recent transactions are included on page 1.",
                  "format" : "int32",
                  "type" : "integer"
               }
            },
            "required" : [
               "accountCode",
               "page"
            ],
            "type" : "object"
         },
         "TransferFundsRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "amount" : {
                  "description" : "The amount to be transferred.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "destinationAccountCode" : {
                  "description" : "The code of the account to which the funds are to be credited.\n>The state of the Account Holder of this account must be Active.",
                  "type" : "string"
               },
               "merchantReference" : {
                  "x-addedInVersion" : "2",
                  "description" : "A value that can be supplied at the discretion of the executing user in order to link multiple transactions to one another.",
                  "type" : "string"
               },
               "sourceAccountCode" : {
                  "description" : "The code of the account from which the funds are to be debited.\n>The state of the Account Holder of this account must be Active and allow payouts.",
                  "type" : "string"
               },
               "transferCode" : {
                  "description" : "The code related to the type of transfer being performed.\n>The permitted codes differ for each platform account and are defined in their service level agreement.",
                  "type" : "string"
               }
            },
            "required" : [
               "sourceAccountCode",
               "destinationAccountCode",
               "transferCode",
               "amount"
            ],
            "type" : "object"
         },
         "TransferFundsResponse" : {
            "additionalProperties" : false,
            "properties" : {
               "invalidFields" : {
                  "x-addedInVersion" : "5",
                  "description" : "Contains field validation errors that would prevent requests from being processed.",
                  "items" : {
                     "$ref" : "#/components/schemas/ErrorFieldType"
                  },
                  "type" : "array"
               },
               "merchantReference" : {
                  "x-addedInVersion" : "2",
                  "description" : "The value supplied by the executing user when initiating the transfer; may be used to link multiple transactions.",
                  "type" : "string"
               },
               "pspReference" : {
                  "description" : "The reference of a request. Can be used to uniquely identify the request.",
                  "type" : "string"
               },
               "resultCode" : {
                  "description" : "The result code.",
                  "type" : "string"
               }
            },
            "type" : "object"
         }
      },
      "securitySchemes" : {
         "ApiKeyAuth" : {
            "in" : "header",
            "name" : "X-API-Key",
            "type" : "apiKey"
         },
         "BasicAuth" : {
            "scheme" : "basic",
            "type" : "http"
         }
      },
      "examples" : {
         "post-accountHolderBalance-basic" : {
            "summary" : "Review the account holder balance",
            "value" : {
               "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER"
            }
         },
         "post-accountHolderTransactionList-basic" : {
            "summary" : "Retrieve transactions page by page",
            "value" : {
               "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER",
               "transactionListsPerAccount" : [
                  {
                     "accountCode" : "195752115",
                     "page" : 1
                  }
               ]
            }
         },
         "post-accountHolderTransactionList-specific" : {
            "summary" : "Retrieve transactions with specific statuses.",
            "value" : {
               "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER",
               "transactionStatuses" : [
                  "PendingCredit",
                  "Credited",
                  "Debited"
               ],
               "transactionListsPerAccount" : [
                  {
                     "accountCode" : "2e64b396-1200-4474-b848-0cb06b52b3c7",
                     "page" : 2
                  }
               ]
            }
         },
         "post-debitAccountHolder-debit-account-holder" : {
            "summary" : "Send a bank account direct debit",
            "description" : "Example request to send a direct debit from a bank account",
            "value" : {
               "accountHolderCode" : "ACCOUNT_HOLDER_CODE",
               "description" : "YOUR_DESCRIPTION",
               "bankAccountUUID" : "000b81aa-ae7e-4492-aa7e-72b2129dce0c",
               "amount" : {
                  "value" : 6200,
                  "currency" : "USD"
               },
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT",
               "splits" : [
                  {
                     "amount" : {
                        "value" : 6000
                     },
                     "type" : "MarketPlace",
                     "account" : "8535516988037431",
                     "reference" : "YOUR_SPLIT_REFERENCE_1"
                  },
                  {
                     "amount" : {
                        "value" : 200
                     },
                     "type" : "Commission",
                     "reference" : "YOUR_SPLIT_REFERENCE_2"
                  }
               ]
            }
         },
         "post-debitAccountHolder-debit-account-holder-200" : {
            "summary" : "Direct debit request sent",
            "description" : "Example response for requesting a direct debit from a bank account",
            "value" : {
               "pspReference" : "8816480354727275",
               "submittedAsync" : "false"
            }
         },
         "post-payoutAccountHolder-oneOff" : {
            "summary" : "One-off payout",
            "value" : {
               "accountCode" : "118731451",
               "amount" : {
                  "currency" : "EUR",
                  "value" : 99792
               },
               "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER",
               "description" : "12345 – Test",
               "bankAccountUUID" : "000b81aa-ae7e-4492-aa7e-72b2129dce0c"
            }
         },
         "post-refundFundsTransfer-basic" : {
            "summary" : "Refund the fund transfer",
            "value" : {
               "originalReference" : "PSP_REFERENCE_OF_TRANSFER_TO_REFUND",
               "amount" : {
                  "currency" : "EUR",
                  "value" : 1000
               },
               "merchantReference" : "YOUR_REFERENCE_ID"
            }
         },
         "post-refundNotPaidOutTransfers-basic" : {
            "summary" : "Refund last transactions",
            "value" : {
               "accountHolderCode" : "CODE_OF_ACCOUNT_HOLDER",
               "accountCode" : "189184578"
            }
         },
         "post-setupBeneficiary-basic" : {
            "summary" : "Set up a beneficiary",
            "value" : {
               "destinationAccountCode" : "128952522",
               "merchantReference" : "YOUR_REFERENCE_ID",
               "sourceAccountCode" : "134498192"
            }
         },
         "post-transferFunds-basic" : {
            "summary" : "Transfer funds from one account to another",
            "value" : {
               "sourceAccountCode" : "100000000",
               "destinationAccountCode" : "190324759",
               "amount" : {
                  "currency" : "EUR",
                  "value" : 2000
               },
               "transferCode" : "TransferCode_1"
            }
         }
      }
   }
}