Adyen Funds API

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

OpenAPI Specification

funds-openapi-original.yml Raw ↑
openapi: 3.1.0
servers:
- url: https://cal-test.adyen.com/cal/services/Fund/v6
info:
  version: '6'
  x-publicVersion: true
  title: Adyen Fund API
  description: >-
    This API is used for the classic integration. If you are just starting your
    implementation, refer to our new integration guide instead. The 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.
  x-timestamp: '2023-05-30T15:27:19Z'
  termsOfService: https://www.adyen.com/legal/terms-and-conditions
  contact:
    name: Adyen Developer Experience team
    url: https://github.com/Adyen/adyen-openapi
x-groups:
- General
- Migration
tags:
- name: accountHolderBalance
- name: accountHolderTransactionList
- name: debitAccountHolder
- name: payoutAccountHolder
- name: refundFundsTransfer
- name: refundNotPaidOutTransfers
- name: setupBeneficiary
- name: transferFunds
paths:
  /accountHolderBalance:
    post:
      tags:
      - accountHolderBalance
      summary: Adyen 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-groupName: General
      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'
              examples:
                post-accountHolderBalance200Example:
                  summary: Default post-accountHolderBalance 200 response
                  x-microcks-default: true
                  value:
                    balancePerAccount:
                    - example_value
                    invalidFields:
                    - example_value
                    pspReference: REF-001
                    resultCode: CODE123
                    totalBalance: example_value
          description: OK - the request has succeeded.
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountHolderBalanceResponse'
              examples:
                post-accountHolderBalance202Example:
                  summary: Default post-accountHolderBalance 202 response
                  x-microcks-default: true
                  value:
                    balancePerAccount:
                    - example_value
                    invalidFields:
                    - example_value
                    pspReference: REF-001
                    resultCode: CODE123
                    totalBalance: example_value
          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'
              examples:
                post-accountHolderBalance400Example:
                  summary: Default post-accountHolderBalance 400 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-accountHolderBalance401Example:
                  summary: Default post-accountHolderBalance 401 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Unauthorized - authentication required.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-accountHolderBalance403Example:
                  summary: Default post-accountHolderBalance 403 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-accountHolderBalance422Example:
                  summary: Default post-accountHolderBalance 422 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Unprocessable Entity - a request validation error.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-accountHolderBalance500Example:
                  summary: Default post-accountHolderBalance 500 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Internal Server Error - the server could not process the request.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /accountHolderTransactionList:
    post:
      tags:
      - accountHolderTransactionList
      summary: Adyen 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-groupName: General
      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'
              examples:
                post-accountHolderTransactionList200Example:
                  summary: Default post-accountHolderTransactionList 200 response
                  x-microcks-default: true
                  value:
                    accountTransactionLists:
                    - example_value
                    invalidFields:
                    - example_value
                    pspReference: REF-001
                    resultCode: CODE123
          description: OK - the request has succeeded.
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountHolderTransactionListResponse'
              examples:
                post-accountHolderTransactionList202Example:
                  summary: Default post-accountHolderTransactionList 202 response
                  x-microcks-default: true
                  value:
                    accountTransactionLists:
                    - example_value
                    invalidFields:
                    - example_value
                    pspReference: REF-001
                    resultCode: CODE123
          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'
              examples:
                post-accountHolderTransactionList400Example:
                  summary: Default post-accountHolderTransactionList 400 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-accountHolderTransactionList401Example:
                  summary: Default post-accountHolderTransactionList 401 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Unauthorized - authentication required.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-accountHolderTransactionList403Example:
                  summary: Default post-accountHolderTransactionList 403 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-accountHolderTransactionList422Example:
                  summary: Default post-accountHolderTransactionList 422 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Unprocessable Entity - a request validation error.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-accountHolderTransactionList500Example:
                  summary: Default post-accountHolderTransactionList 500 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Internal Server Error - the server could not process the request.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /debitAccountHolder:
    post:
      tags:
      - debitAccountHolder
      summary: Adyen 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.

         To learn more about direct debits, see [Top up accounts](https://docs.adyen.com/marketplaces-and-platforms/classic/top-up-accounts).
      operationId: post-debitAccountHolder
      x-groupName: General
      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'
              examples:
                post-debitAccountHolder202Example:
                  summary: Default post-debitAccountHolder 202 response
                  x-microcks-default: true
                  value:
                    accountHolderCode: CODE123
                    bankAccountUUID: '500123'
                    invalidFields:
                    - example_value
                    merchantReferences:
                    - REF-001
                    pspReference: REF-001
                    resultCode: CODE123
          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'
              examples:
                post-debitAccountHolder400Example:
                  summary: Default post-debitAccountHolder 400 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-debitAccountHolder401Example:
                  summary: Default post-debitAccountHolder 401 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Unauthorized - authentication required.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-debitAccountHolder403Example:
                  summary: Default post-debitAccountHolder 403 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-debitAccountHolder422Example:
                  summary: Default post-debitAccountHolder 422 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Unprocessable Entity - a request validation error.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-debitAccountHolder500Example:
                  summary: Default post-debitAccountHolder 500 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Internal Server Error - the server could not process the request.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /payoutAccountHolder:
    post:
      tags:
      - payoutAccountHolder
      summary: Adyen 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-groupName: General
      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'
              examples:
                post-payoutAccountHolder200Example:
                  summary: Default post-payoutAccountHolder 200 response
                  x-microcks-default: true
                  value:
                    bankAccountUUID: '500123'
                    invalidFields:
                    - example_value
                    merchantReference: REF-001
                    payoutSpeed: STANDARD
                    pspReference: REF-001
                    resultCode: CODE123
          description: OK - the request has succeeded.
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutAccountHolderResponse'
              examples:
                post-payoutAccountHolder202Example:
                  summary: Default post-payoutAccountHolder 202 response
                  x-microcks-default: true
                  value:
                    bankAccountUUID: '500123'
                    invalidFields:
                    - example_value
                    merchantReference: REF-001
                    payoutSpeed: STANDARD
                    pspReference: REF-001
                    resultCode: CODE123
          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'
              examples:
                post-payoutAccountHolder400Example:
                  summary: Default post-payoutAccountHolder 400 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-payoutAccountHolder401Example:
                  summary: Default post-payoutAccountHolder 401 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Unauthorized - authentication required.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-payoutAccountHolder403Example:
                  summary: Default post-payoutAccountHolder 403 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-payoutAccountHolder422Example:
                  summary: Default post-payoutAccountHolder 422 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Unprocessable Entity - a request validation error.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-payoutAccountHolder500Example:
                  summary: Default post-payoutAccountHolder 500 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Internal Server Error - the server could not process the request.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /refundFundsTransfer:
    post:
      tags:
      - refundFundsTransfer
      summary: Adyen 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-groupName: General
      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'
              examples:
                post-refundFundsTransfer200Example:
                  summary: Default post-refundFundsTransfer 200 response
                  x-microcks-default: true
                  value:
                    invalidFields:
                    - example_value
                    merchantReference: REF-001
                    message: example_value
                    originalReference: REF-001
                    pspReference: REF-001
                    resultCode: CODE123
          description: OK - the request has succeeded.
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefundFundsTransferResponse'
              examples:
                post-refundFundsTransfer202Example:
                  summary: Default post-refundFundsTransfer 202 response
                  x-microcks-default: true
                  value:
                    invalidFields:
                    - example_value
                    merchantReference: REF-001
                    message: example_value
                    originalReference: REF-001
                    pspReference: REF-001
                    resultCode: CODE123
          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'
              examples:
                post-refundFundsTransfer400Example:
                  summary: Default post-refundFundsTransfer 400 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-refundFundsTransfer401Example:
                  summary: Default post-refundFundsTransfer 401 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Unauthorized - authentication required.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-refundFundsTransfer403Example:
                  summary: Default post-refundFundsTransfer 403 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-refundFundsTransfer422Example:
                  summary: Default post-refundFundsTransfer 422 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Unprocessable Entity - a request validation error.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-refundFundsTransfer500Example:
                  summary: Default post-refundFundsTransfer 500 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Internal Server Error - the server could not process the request.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /refundNotPaidOutTransfers:
    post:
      tags:
      - refundNotPaidOutTransfers
      summary: Adyen 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-groupName: General
      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'
              examples:
                post-refundNotPaidOutTransfers200Example:
                  summary: Default post-refundNotPaidOutTransfers 200 response
                  x-microcks-default: true
                  value:
                    invalidFields:
                    - example_value
                    pspReference: REF-001
                    resultCode: CODE123
          description: OK - the request has succeeded.
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefundNotPaidOutTransfersResponse'
              examples:
                post-refundNotPaidOutTransfers202Example:
                  summary: Default post-refundNotPaidOutTransfers 202 response
                  x-microcks-default: true
                  value:
                    invalidFields:
                    - example_value
                    pspReference: REF-001
                    resultCode: CODE123
          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'
              examples:
                post-refundNotPaidOutTransfers400Example:
                  summary: Default post-refundNotPaidOutTransfers 400 response
                  x-microcks-default: true
                  value:
                    errorCode: CODE123
                    errorType: standard
                    message: example_value
                    pspReference: REF-001
                    status: 500
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            a

# --- truncated at 32 KB (90 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adyen/refs/heads/main/openapi/funds-openapi-original.yml