openapi: 3.1.0
servers:
- url: https://cal-test.adyen.com/cal/services/Fund/v5
info:
  version: '5'
  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\n\
    Your 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```\n\
    When 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/v5/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.

            >Permitted values:

            >* `PendingCredit` - a pending balance credit.

            >* `CreditFailed` - a pending credit failure; the balance will not be
            credited.

            >* `Credited` - a credited balance.

            >* `PendingDebit` - a pending balance debit (e.g., a refund).

            >* `CreditClosed` - a pending credit closed; the balance will not be credited.

            >* `CreditSuspended` - a pending credit closed; the balance will not be
            credited.

            >* `DebitFailed` - a pending debit failure; the balance will not be debited.

            >* `Debited` - a debited balance (e.g., a refund).

            >* `DebitReversedReceived` - a pending refund reversal.

            >* `DebitedReversed` - a reversed refund.

            >* `ChargebackReceived` - a received chargeback request.

            >* `Chargeback` - a processed chargeback.

            >* `ChargebackReversedReceived` - a pending chargeback reversal.

            >* `ChargebackReversed` - a reversed chargeback.

            >* `Converted` - converted.

            >* `ManualCorrected` - manual booking/adjustment by Adyen.

            >* `Payout` - a payout.

            >* `PayoutReversed` - a reversed payout.

            >* `PendingFundTransfer` - a pending transfer of funds from one account
            to another.

            >* `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).

            >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.

            Only applicable to bank accounts held in the USA.

            The permitted values are: `checking`, `savings`.


            >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.

            >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.


            >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.


            >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.


            >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.

            '
          type: string
        bankBicSwift:
          description: 'The bank identifier code.

            >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.


            >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.


            >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.


            >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:

            * United States - Routing number

            * United Kingdom - Sort code

            * Germany - Bankleitzahl

            >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.


            >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.

            >The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. ''NL'').


            >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.

            >The permitted currency codes are defined in ISO-4217 (e.g. ''EUR'').

            '
          type: string
        iban:
          description: 'The international bank account number.

            >The IBAN standard is defined in ISO-13616.


            >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.

            >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.

            >The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. ''NL'').


            >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.

            The 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.

            >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.

            >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.

            >The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. ''NL'').


            >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.

            >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.

            >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.

            >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.


            >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.

            This may be generated on bank account creation.


            >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.


            Allowed 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.

            The 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.

            If the account has multiple currencies, specify the currency to be used.

            If the `bankAccountUUID` is provided in the request, the currency supported
            by the bank is used.

            If 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.

            If left blank, a bank account is automatically selected.'
          type: string
        description:
          description: 'A description of the payout. Maximum 200 characters.

            Allowed: **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.

            If 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**.


            * [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.

            * [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.


            * Required for all split types in the [Classic Platforms integration](https://docs.adyen.com/classic-platforms).

            * 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`.


            This 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)).


            For 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.

            >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.

            Each 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.

            >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.

            >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.

            >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 \u2013 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
