Adyen Account API

This API is used for the classic integration. The Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and verification-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.

OpenAPI Specification

accounts-openapi-original.yml Raw ↑
openapi: 3.1.0
servers:
- url: https://cal-test.adyen.com/cal/services/Account/v6
info:
  version: '6'
  x-publicVersion: true
  title: Adyen Account 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/marketplaces-and-platforms) instead.


    The Account API provides endpoints for managing account-related entities on
    your platform. These related entities include account holders, accounts,
    bank accounts, shareholders, and verification-related documents. The
    management operations include actions such as creation, retrieval, updating,
    and deletion of them.


    For more information, refer to our
    [documentation](https://docs.adyen.com/marketplaces-and-platforms/classic).

    ## Authentication

    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:

     ```
    curl

    -H "Content-Type: application/json" \

    -H "X-API-Key: YOUR_API_KEY" \

    ...

    ```


    Alternatively, you can use the username and password to connect to the API
    using basic authentication. For example:


    ```

    curl

    -U "[email protected]_PLATFORM_ACCOUNT":"YOUR_WS_PASSWORD" \

    -H "Content-Type: application/json" \

    ...

    ```

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


    ## Versioning

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


    For example:

    ```

    https://cal-test.adyen.com/cal/services/Account/v6/createAccountHolder

    ```
  x-timestamp: '2023-05-30T15:27:20Z'
  termsOfService: https://www.adyen.com/legal/terms-and-conditions
  contact:
    name: Adyen Developer Experience team
    url: https://github.com/Adyen/adyen-openapi
x-groups:
- Account holders
- Accounts
- Verification
tags:
- name: checkAccountHolder
- name: closeAccount
- name: closeAccountHolder
- name: closeStores
- name: createAccount
- name: createAccountHolder
- name: deleteBankAccounts
- name: deleteLegalArrangements
- name: deletePayoutMethods
- name: deleteShareholders
- name: deleteSignatories
- name: getAccountHolder
- name: getTaxForm
- name: getUploadedDocuments
- name: suspendAccountHolder
- name: unSuspendAccountHolder
- name: updateAccount
- name: updateAccountHolder
- name: updateAccountHolderState
- name: uploadDocument
paths:
  /checkAccountHolder:
    post:
      tags:
      - checkAccountHolder
      summary: Adyen Trigger Verification
      description: >-
        Triggers the verification of an account holder even if the checks are
        not yet required for the volume that they are currently processing.
      x-addedInVersion: '5'
      operationId: post-checkAccountHolder
      x-groupName: Verification
      x-sortIndex: 3
      x-methodName: checkAccountHolder
      security:
      - BasicAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: '#/components/examples/post-checkAccountHolder-basic'
            schema:
              $ref: '#/components/schemas/PerformVerificationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
              examples:
                post-checkAccountHolder200Example:
                  summary: Default post-checkAccountHolder 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/GenericResponse'
              examples:
                post-checkAccountHolder202Example:
                  summary: Default post-checkAccountHolder 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:
              examples:
                generic:
                  $ref: '#/components/examples/generic-400'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-checkAccountHolder401Example:
                  summary: Default post-checkAccountHolder 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:
              examples:
                generic:
                  $ref: '#/components/examples/generic-403'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-checkAccountHolder422Example:
                  summary: Default post-checkAccountHolder 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-checkAccountHolder500Example:
                  summary: Default post-checkAccountHolder 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
  /closeAccount:
    post:
      tags:
      - closeAccount
      summary: Adyen Close an Account
      description: >-
        Closes an account. If an account is closed, you cannot process
        transactions, pay out its funds, or reopen it. If payments are made to a
        closed account, the payments are sent to your liable account.
      operationId: post-closeAccount
      x-groupName: Accounts
      x-sortIndex: 3
      x-methodName: closeAccount
      security:
      - BasicAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            examples:
              closeAccount:
                $ref: '#/components/examples/post-closeAccount-closeAccount'
            schema:
              $ref: '#/components/schemas/CloseAccountRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseAccountResponse'
              examples:
                post-closeAccount200Example:
                  summary: Default post-closeAccount 200 response
                  x-microcks-default: true
                  value:
                    accountCode: CODE123
                    invalidFields:
                    - example_value
                    pspReference: REF-001
                    resultCode: CODE123
                    status: Active
          description: OK - the request has succeeded.
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseAccountResponse'
              examples:
                post-closeAccount202Example:
                  summary: Default post-closeAccount 202 response
                  x-microcks-default: true
                  value:
                    accountCode: CODE123
                    invalidFields:
                    - example_value
                    pspReference: REF-001
                    resultCode: CODE123
                    status: Active
          description: >-
            Accepted - the request has been accepted for processing, but the
            processing has not been completed.
        '400':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-400'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-closeAccount401Example:
                  summary: Default post-closeAccount 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:
              examples:
                generic:
                  $ref: '#/components/examples/generic-403'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-closeAccount422Example:
                  summary: Default post-closeAccount 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-closeAccount500Example:
                  summary: Default post-closeAccount 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
  /closeAccountHolder:
    post:
      tags:
      - closeAccountHolder
      summary: Adyen Close an Account Holder
      description: >-
        Changes the [status of an account
        holder](https://docs.adyen.com/marketplaces-and-platforms/classic/account-holders-and-accounts#account-holder-statuses)
        to **Closed**. This state is final. If an account holder is closed, you
        can't process transactions, pay out funds, or reopen it. If payments are
        made to an account of an account holder with a **Closed**
        [`status`](https://docs.adyen.com/api-explorer/#/Account/latest/post/getAccountHolder__resParam_verification-accountHolder-checks-status),
        the payments are sent to your liable account.
      operationId: post-closeAccountHolder
      x-groupName: Account holders
      x-sortIndex: 7
      x-methodName: closeAccountHolder
      security:
      - BasicAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: '#/components/examples/post-closeAccountHolder-basic'
            schema:
              $ref: '#/components/schemas/CloseAccountHolderRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseAccountHolderResponse'
              examples:
                post-closeAccountHolder200Example:
                  summary: Default post-closeAccountHolder 200 response
                  x-microcks-default: true
                  value:
                    accountHolderStatus: active
                    invalidFields:
                    - example_value
                    pspReference: REF-001
                    resultCode: CODE123
          description: OK - the request has succeeded.
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseAccountHolderResponse'
              examples:
                post-closeAccountHolder202Example:
                  summary: Default post-closeAccountHolder 202 response
                  x-microcks-default: true
                  value:
                    accountHolderStatus: active
                    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:
              examples:
                generic:
                  $ref: '#/components/examples/generic-400'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-closeAccountHolder401Example:
                  summary: Default post-closeAccountHolder 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:
              examples:
                generic:
                  $ref: '#/components/examples/generic-403'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-closeAccountHolder422Example:
                  summary: Default post-closeAccountHolder 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-closeAccountHolder500Example:
                  summary: Default post-closeAccountHolder 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
  /closeStores:
    post:
      tags:
      - closeStores
      summary: Adyen Close Stores
      description: Closes stores associated with an account holder.
      x-addedInVersion: '5'
      operationId: post-closeStores
      x-groupName: Account holders
      x-sortIndex: 9
      x-methodName: closeStores
      security:
      - BasicAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloseStoresRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
              examples:
                post-closeStores200Example:
                  summary: Default post-closeStores 200 response
                  x-microcks-default: true
                  value:
                    invalidFields:
                    - example_value
                    pspReference: REF-001
                    resultCode: CODE123
          description: OK - the request has succeeded.
        '400':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-400'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-closeStores401Example:
                  summary: Default post-closeStores 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:
              examples:
                generic:
                  $ref: '#/components/examples/generic-403'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-closeStores422Example:
                  summary: Default post-closeStores 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-closeStores500Example:
                  summary: Default post-closeStores 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
  /createAccount:
    post:
      tags:
      - createAccount
      summary: Adyen Create an Account
      description: >-
        Creates an account under an account holder. An account holder can have
        [multiple
        accounts](https://docs.adyen.com/marketplaces-and-platforms/classic/account-holders-and-accounts#create-additional-accounts).
      operationId: post-createAccount
      x-groupName: Accounts
      x-sortIndex: 1
      x-methodName: createAccount
      security:
      - BasicAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: '#/components/examples/post-createAccount-basic'
            schema:
              $ref: '#/components/schemas/CreateAccountRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountResponse'
              examples:
                post-createAccount200Example:
                  summary: Default post-createAccount 200 response
                  x-microcks-default: true
                  value:
                    accountCode: CODE123
                    accountHolderCode: CODE123
                    bankAccountUUID: '500123'
                    description: A sample description for this resource.
                    invalidFields:
                    - example_value
                    metadata: {}
                    payoutMethodCode: CODE123
                    payoutSchedule: example_value
                    payoutSpeed: INSTANT
                    pspReference: REF-001
                    resultCode: CODE123
                    status: Active
          description: OK - the request has succeeded.
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountResponse'
              examples:
                post-createAccount202Example:
                  summary: Default post-createAccount 202 response
                  x-microcks-default: true
                  value:
                    accountCode: CODE123
                    accountHolderCode: CODE123
                    bankAccountUUID: '500123'
                    description: A sample description for this resource.
                    invalidFields:
                    - example_value
                    metadata: {}
                    payoutMethodCode: CODE123
                    payoutSchedule: example_value
                    payoutSpeed: INSTANT
                    pspReference: REF-001
                    resultCode: CODE123
                    status: Active
          description: >-
            Accepted - the request has been accepted for processing, but the
            processing has not been completed.
        '400':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-400'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-createAccount401Example:
                  summary: Default post-createAccount 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:
              examples:
                generic:
                  $ref: '#/components/examples/generic-403'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-createAccount422Example:
                  summary: Default post-createAccount 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-createAccount500Example:
                  summary: Default post-createAccount 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
  /createAccountHolder:
    post:
      tags:
      - createAccountHolder
      summary: Adyen Create an Account Holder
      description: >-
        Creates an account holder that [represents the sub-merchant's
        entity](https://docs.adyen.com/marketplaces-and-platforms/classic/account-structure#your-platform)
        in your platform. The details that you need to provide in the request
        depend on the sub-merchant's legal entity type. For more information,
        refer to [Account holder and
        accounts](https://docs.adyen.com/marketplaces-and-platforms/classic/account-holders-and-accounts#legal-entity-types).
      operationId: post-createAccountHolder
      x-groupName: Account holders
      x-sortIndex: 1
      x-methodName: createAccountHolder
      security:
      - BasicAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            examples:
              business:
                $ref: '#/components/examples/post-createAccountHolder-business'
              individual:
                $ref: '#/components/examples/post-createAccountHolder-individual'
            schema:
              $ref: '#/components/schemas/CreateAccountHolderRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountHolderResponse'
              examples:
                post-createAccountHolder200Example:
                  summary: Default post-createAccountHolder 200 response
                  x-microcks-default: true
                  value:
                    accountCode: CODE123
                    accountHolderCode: CODE123
                    accountHolderDetails: example_value
                    accountHolderStatus: active
                    description: A sample description for this resource.
                    invalidFields:
                    - example_value
                    legalEntity: Business
                    primaryCurrency: USD
                    pspReference: REF-001
                    resultCode: CODE123
                    verification: example_value
                    verificationProfile: example_value
          description: OK - the request has succeeded.
        '400':
          content:
            application/json:
              examples:
                generic:
                  $ref: '#/components/examples/generic-400'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Bad Request - a problem reading or understanding the request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-createAccountHolder401Example:
                  summary: Default post-createAccountHolder 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:
              examples:
                generic:
                  $ref: '#/components/examples/generic-403'
              schema:
                $ref: '#/components/schemas/ServiceError'
          description: Forbidden - insufficient permissions to process the request.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceError'
              examples:
                post-createAccountHolder422Example:
                  summary: Default post-createAccountHolder 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-createAccountHolder500Example:
                  summary: Default post-createAccountHolder 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
  /deleteBankAccounts:
    post:
      tags:
      - deleteBankAccounts
      summary: Adyen Delete Bank Accounts
      description: 'Deletes bank accounts associated with an account holder. '
      operationId: post-deleteBankAccounts
      x-groupName: Verification
      x-sortIndex: 4
      x-methodName: deleteBankAccounts
      security:
      - BasicAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: '#/components/examples/post-deleteBankAccounts-basic'
            schema:
              $ref: '#/components/schemas/DeleteBankAccountRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
              examples:
                post-deleteBankAccounts200Example:
                  summary: Default post-deleteBankAccounts 200 response
                  x-microcks-default: true
                  value:
                    invalidFields:
                    - example_value
                    pspReference: REF-001
                    resultCode: CODE123
          description: OK - the reque

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