openapi: 3.1.0
servers:
  - url: https://cal-test.adyen.com/cal/services/Account/v3
info:
  contact:
    email: developer-experience@adyen.com
    name: Adyen Developer Experience team
    url: https://www.adyen.help/hc/en-us/community/topics
    x-twitter: Adyen
  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 "ws@MarketPlace.YOUR_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/v3/createAccountHolder
    ```
  termsOfService: https://www.adyen.com/legal/terms-and-conditions
  title: Account API
  version: "3"
  x-apisguru-categories:
    - payment
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter_com_Adyen_profile_image.svg
  x-origin:
    - format: openapi
      url: https://raw.githubusercontent.com/Adyen/adyen-openapi/main/json/AccountService-v3.json
      version: "3.1"
  x-preferred: false
  x-providerName: adyen.com
  x-publicVersion: true
  x-serviceName: AccountService
  x-timestamp: 2023-04-11T21:25:35Z
tags:
  - name: Account holders
  - name: Verification
  - name: Accounts
paths:
  /closeAccount:
    post:
      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
      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"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloseAccountResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Close an account
      tags:
        - Accounts
      x-groupName: Accounts
      x-methodName: closeAccount
      x-sortIndex: 3
  /closeAccountHolder:
    post:
      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
      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"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloseAccountHolderResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Close an account holder
      tags:
        - Account holders
      x-groupName: Account holders
      x-methodName: closeAccountHolder
      x-sortIndex: 7
  /createAccount:
    post:
      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
      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"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateAccountResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Create an account
      tags:
        - Accounts
      x-groupName: Accounts
      x-methodName: createAccount
      x-sortIndex: 1
  /createAccountHolder:
    post:
      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
      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:
              examples:
                business:
                  $ref: "#/components/examples/post-createAccountHolder-business-200"
                individual:
                  $ref: "#/components/examples/post-createAccountHolder-individual-200"
              schema:
                $ref: "#/components/schemas/CreateAccountHolderResponse"
          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:
              examples:
                generic:
                  $ref: "#/components/examples/post-createAccountHolder-generic-401"
              schema:
                $ref: "#/components/schemas/ServiceError"
          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:
              examples:
                business:
                  $ref: "#/components/examples/post-createAccountHolder-business-422"
                individual:
                  $ref: "#/components/examples/post-createAccountHolder-individual-422"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unprocessable Entity - a request validation error.
        "500":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/post-createAccountHolder-generic-500"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Internal Server Error - the server could not process the request.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Create an account holder
      tags:
        - Account holders
      x-groupName: Account holders
      x-methodName: createAccountHolder
      x-sortIndex: 1
  /deleteBankAccounts:
    post:
      description: "Deletes bank accounts associated with an account holder. "
      operationId: post-deleteBankAccounts
      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"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GenericResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Delete bank accounts
      tags:
        - Verification
      x-groupName: Verification
      x-methodName: deleteBankAccounts
      x-sortIndex: 4
  /deleteLegalArrangements:
    post:
      description: Deletes legal arrangements and/or legal arrangement entities associated with an account holder.
      operationId: post-deleteLegalArrangements
      requestBody:
        content:
          application/json:
            examples:
              arrangements:
                $ref: "#/components/examples/post-deleteLegalArrangements-arrangements"
              entities:
                $ref: "#/components/examples/post-deleteLegalArrangements-entities"
            schema:
              $ref: "#/components/schemas/DeleteLegalArrangementRequest"
      responses:
        "200":
          content:
            application/json:
              examples:
                arrangements:
                  $ref: "#/components/examples/post-deleteLegalArrangements-arrangements-200"
                entities:
                  $ref: "#/components/examples/post-deleteLegalArrangements-entities-200"
              schema:
                $ref: "#/components/schemas/GenericResponse"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GenericResponse"
          description: Accepted - the request has been accepted for processing, but the processing has not been completed.
        "400":
          content:
            application/json:
              examples:
                arrangements:
                  $ref: "#/components/examples/post-deleteLegalArrangements-arrangements-400"
                entities:
                  $ref: "#/components/examples/post-deleteLegalArrangements-entities-400"
                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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Delete legal arrangements
      tags:
        - Verification
      x-groupName: Verification
      x-methodName: deleteLegalArrangements
      x-sortIndex: 6
  /deleteShareholders:
    post:
      description: Deletes shareholders associated with an account holder.
      operationId: post-deleteShareholders
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: "#/components/examples/post-deleteShareholders-basic"
            schema:
              $ref: "#/components/schemas/DeleteShareholderRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GenericResponse"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GenericResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Delete shareholders
      tags:
        - Verification
      x-groupName: Verification
      x-methodName: deleteShareholders
      x-sortIndex: 7
  /deleteSignatories:
    post:
      description: Deletes signatories associated with an account holder.
      operationId: post-deleteSignatories
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DeleteSignatoriesRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GenericResponse"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GenericResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Delete signatories
      tags:
        - Verification
      x-groupName: Verification
      x-methodName: deleteSignatories
      x-sortIndex: 8
  /getAccountHolder:
    post:
      description: Returns the details of an account holder.
      operationId: post-getAccountHolder
      requestBody:
        content:
          application/json:
            examples:
              accountCode:
                $ref: "#/components/examples/post-getAccountHolder-accountCode"
              accountHolderCode:
                $ref: "#/components/examples/post-getAccountHolder-accountHolderCode"
            schema:
              $ref: "#/components/schemas/GetAccountHolderRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetAccountHolderResponse"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetAccountHolderResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Get an account holder
      tags:
        - Account holders
      x-groupName: Account holders
      x-methodName: getAccountHolder
      x-sortIndex: 2
  /getTaxForm:
    post:
      description: Generates a tax form for account holders operating in the US. For more information, refer to [Providing tax forms](https://docs.adyen.com/marketplaces-and-platforms/classic/tax-forms).
      operationId: post-getTaxForm
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: "#/components/examples/post-getTaxForm-basic"
            schema:
              $ref: "#/components/schemas/GetTaxFormRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetTaxFormResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Get a tax form
      tags:
        - Account holders
      x-groupName: Account holders
      x-methodName: getTaxForm
      x-sortIndex: 8
  /getUploadedDocuments:
    post:
      description: |
        Returns documents that were previously uploaded for an account holder. Adyen uses the documents during the [verification process](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process).
      operationId: post-getUploadedDocuments
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: "#/components/examples/post-getUploadedDocuments-basic"
            schema:
              $ref: "#/components/schemas/GetUploadedDocumentsRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetUploadedDocumentsResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Get documents
      tags:
        - Verification
      x-groupName: Verification
      x-methodName: getUploadedDocuments
      x-sortIndex: 2
  /suspendAccountHolder:
    post:
      description: Changes the [status of an account holder](https://docs.adyen.com/marketplaces-and-platforms/classic/account-holders-and-accounts#account-holder-statuses) to **Suspended**.
      operationId: post-suspendAccountHolder
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: "#/components/examples/post-suspendAccountHolder-basic"
            schema:
              $ref: "#/components/schemas/SuspendAccountHolderRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SuspendAccountHolderResponse"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SuspendAccountHolderResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Suspend an account holder
      tags:
        - Account holders
      x-groupName: Account holders
      x-methodName: suspendAccountHolder
      x-sortIndex: 5
  /unSuspendAccountHolder:
    post:
      description: |-
        Changes the [status of an account holder](https://docs.adyen.com/marketplaces-and-platforms/classic/account-holders-and-accounts#account-holder-statuses) from **Suspended** to **Inactive**. 
        Account holders can have a **Suspended** [`status`](https://docs.adyen.com/api-explorer/#/Account/latest/post/getAccountHolder__resParam_verification-accountHolder-checks-status) if you suspend them through the [`/suspendAccountHolder`](https://docs.adyen.com/api-explorer/#/Account/v5/post/suspendAccountHolder) endpoint or if a verification deadline expires.

        You can only unsuspend account holders if they do not have verification checks with a **FAILED** [`status`](https://docs.adyen.com/api-explorer/#/Account/latest/post/getAccountHolder__resParam_verification-accountHolder-checks-status).
      operationId: post-unSuspendAccountHolder
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: "#/components/examples/post-unSuspendAccountHolder-basic"
            schema:
              $ref: "#/components/schemas/UnSuspendAccountHolderRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnSuspendAccountHolderResponse"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnSuspendAccountHolderResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Unsuspend an account holder
      tags:
        - Account holders
      x-groupName: Account holders
      x-methodName: unSuspendAccountHolder
      x-sortIndex: 6
  /updateAccount:
    post:
      description: Updates the description or payout schedule of an account.
      operationId: post-updateAccount
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: "#/components/examples/post-updateAccount-basic"
            schema:
              $ref: "#/components/schemas/UpdateAccountRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateAccountResponse"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateAccountResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Update an account
      tags:
        - Accounts
      x-groupName: Accounts
      x-methodName: updateAccount
      x-sortIndex: 2
  /updateAccountHolder:
    post:
      description: |+
        Updates the `accountHolderDetails` and `processingTier` of an account holder, and adds bank accounts and shareholders.

        When updating `accountHolderDetails`, parameters that are not included in the request are left unchanged except for the following object:

        * `metadata`: Updating the metadata replaces the entire object. This means that to update an existing key-value pair, you must provide the changes, as well as other existing key-value pairs.

        When updating any field in the following objects, you must submit all the fields required for validation:

         * `address`

        * `fullPhoneNumber`

        * `bankAccountDetails.BankAccountDetail`

        * `businessDetails.shareholders.ShareholderContact`

         For example, to update the `address.postalCode`, you must also submit the `address.country`, `.city`, `.street`, `.postalCode`, and possibly `.stateOrProvince` so that the address can be validated.

        To add a bank account or shareholder, provide the bank account or shareholder details without a `bankAccountUUID` or a `shareholderCode`.

      operationId: post-updateAccountHolder
      requestBody:
        content:
          application/json:
            examples:
              addShareholders:
                $ref: "#/components/examples/post-updateAccountHolder-addShareholders"
              bankAccountDetails:
                $ref: "#/components/examples/post-updateAccountHolder-bankAccountDetails"
              businessDetails:
                $ref: "#/components/examples/post-updateAccountHolder-businessDetails"
              general:
                $ref: "#/components/examples/post-updateAccountHolder-general"
            schema:
              $ref: "#/components/schemas/UpdateAccountHolderRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateAccountHolderResponse"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateAccountHolderResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Update an account holder
      tags:
        - Account holders
      x-groupName: Account holders
      x-methodName: updateAccountHolder
      x-sortIndex: 3
  /updateAccountHolderState:
    post:
      description: Disables or enables the processing or payout state of an account holder.
      operationId: post-updateAccountHolderState
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: "#/components/examples/post-updateAccountHolderState-basic"
            schema:
              $ref: "#/components/schemas/UpdateAccountHolderStateRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetAccountHolderStatusResponse"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetAccountHolderStatusResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Update payout or processing state
      tags:
        - Account holders
      x-groupName: Account holders
      x-methodName: updateAccountHolderState
      x-sortIndex: 4
  /uploadDocument:
    post:
      description: Uploads a document for an account holder. Adyen uses the documents during the [verification process](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process).
      operationId: post-uploadDocument
      requestBody:
        content:
          application/json:
            examples:
              basic:
                $ref: "#/components/examples/post-uploadDocument-basic"
            schema:
              $ref: "#/components/schemas/UploadDocumentRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateAccountHolderResponse"
          description: OK - the request has succeeded.
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateAccountHolderResponse"
          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"
          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"
          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.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Upload a document
      tags:
        - Verification
      x-groupName: Verification
      x-methodName: uploadDocument
      x-sortIndex: 1
components:
  examples:
    generic-400:
      summary: Response code 400. Bad Request.
      value:
        errorCode: "702"
        errorType: validation
        message: "Unexpected input: I"
        status: 400
    generic-403:
      summary: Response code 401. Forbidden.
      value:
        errorCode: 10_003
        errorType: security
        message: Failed to authorize user
        status: 403
    post-closeAccount-closeAccount:
      summary: Close an account
      value:
        accountCode: CODE_OF_ACCOUNT
    post-closeAccountHolder-basic:
      summary: Close an account holder
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
    post-createAccount-basic:
      summary: Add an account to an account holder
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
    post-createAccountHolder-business:
      summary: Create a business account holder
      value:
        accountHolderCode: GENERATE_CODE
        accountHolderDetails:
          businessDetails:
            doingBusinessAs: Real Good Restaurant
            legalBusinessName: Real Good Restaurant Inc.
            shareholders:
              - ShareholderContact:
                  name:
                    firstName: John
                    lastName: Carpenter
          email: test@adyen.com
          webAddress: https://www.your-website.com
        legalEntity: Business
    post-createAccountHolder-business-200:
      summary: Response code 200. Success.
      value:
        accountCode: "8816080397613522"
        accountHolderCode: GENERATE_CODE
        accountHolderDetails:
          address:
            country: US
          bankAccountDetails: []
          email: tim@green.com
          individualDetails:
            name:
              firstName: Tim
              lastName: Green
          merchantCategoryCode: "7999"
          payoutMethods: []
          webAddress: null
        accountHolderStatus:
          events: []
          payoutState:
            allowPayout: false
            disabled: false
          processingState:
            disabled: false
            processedFrom:
              currency: USD
              value: 0
            processedTo:
              currency: USD
              value: 9999
            tierNumber: 0
          status: Active
        invalidFields: []
        legalEntity: Individual
        pspReference: "8816080397613514"
        verification:
          accountHolder:
            checks:
              - requiredFields:
                  - AccountHolderDetails.IndividualDetails.PersonalData.personalData
                  - AccountHolderDetails.Address.city
                  - AccountHolderDetails.Address.houseNumberOrName
                  - AccountHolderDetails.Address.postalCode
                  - AccountHolderDetails.Address.street
                  - AccountHolderDetails.IndividualDetails.PersonalData.idNumber
                  - AccountHolderDetails.PhoneNumber.phoneNumber
                status: AWAITING_DATA
                type: IDENTITY_VERIFICATION
              - requiredFields:
                  - AccountHolderDetails.BankAccountDetails.bankAccount
                status: AWAITING_DATA
                type: PAYOUT_METHOD_VERIFICATION
    post-createAccountHolder-business-422:
      summary: Response code 422. Unprocessable Entity.
      value:
        invalidFields:
          - errorCode: 23
            errorDescription: Account holder code does not exists or invalid
            fieldType:
              field: accountHolderCode
              fieldName: accountHolderCode
        pspReference: "8816080407386622"
    post-createAccountHolder-generic-401:
      summary: Response code 401. Unauthorized.
      value:
        errorCode: "000"
        errorType: security
        message: HTTP Status Response - Unauthorized
        status: 401
    post-createAccountHolder-generic-500:
      summary: Response code 500. Internal Server Error.
      value:
        errorCode: "701"
        errorType: internal
        message: Internal Error in createAccountHolder 991608040809302G
        status: 500
    post-createAccountHolder-individual:
      summary: Create an individual account holder
      value:
        accountHolderCode: GENERATE_CODE
        accountHolderDetails:
          email: tim@green.com
          individualDetails:
            name:
              firstName: Tim
              lastName: Green
          webAddress: https://www.your-website.com
        legalEntity: Individual
    post-createAccountHolder-individual-200:
      summary: Response code 200. Success.
      value:
        accountCode: "8516080413108724"
        accountHolderCode: GENERATE_CODE
        accountHolderDetails:
          address:
            country: US
          bankAccountDetails: []
          email: tim@green.com
          individualDetails:
            name:
              firstName: Tim
              lastName: Green
          merchantCategoryCode: "7999"
          payoutMethods: []
          webAddress: null
        accountHolderStatus:
          events: []
          payoutState:
            allowPayout: false
            disabled: false
          processingState:
            disabled: false
            processedFrom:
              currency: USD
              value: 0
            processedTo:
              currency: USD
              value: 9999
            tierNumber: 0
          status: Active
        invalidFields: []
        legalEntity: Individual
        pspReference: "8516080413108716"
        verification:
          accountHolder:
            checks:
              - requiredFields:
                  - AccountHolderDetails.Address.city
                  - AccountHolderDetails.Address.houseNumberOrName
                  - AccountHolderDetails.Address.postalCode
                  - AccountHolderDetails.Address.street
                  - AccountHolderDetails.IndividualDetails.PersonalData.idNumber
                  - AccountHolderDetails.PhoneNumber.phoneNumber
                  - AccountHolderDetails.IndividualDetails.PersonalData.personalData
                status: AWAITING_DATA
                type: IDENTITY_VERIFICATION
              - requiredFields:
                  - AccountHolderDetails.BankAccountDetails.bankAccount
                status: AWAITING_DATA
                type: PAYOUT_METHOD_VERIFICATION
    post-createAccountHolder-individual-422:
      summary: Response code 422. Unprocessable Entity.
      value:
        invalidFields:
          - errorCode: 21
            errorDescription: Account description ' SpecialCharactersIncluded' is not valid
            fieldType:
              field: description
              fieldName: description
        pspReference: "8816080421120908"
    post-deleteBankAccounts-basic:
      summary: Delete bank accounts
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
        bankAccountUUIDs:
          - eeb6ed22-3bae-483c-83b9-bc2097a75d40
    post-deleteLegalArrangements-arrangements:
      description: Example request for deleting legal arrangements
      summary: Delete legal arrangements
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
        legalArrangements:
          - legalArrangementCode: cdf92f5a-a114-4ce6-8f19-c3f6ec83141c
    post-deleteLegalArrangements-arrangements-200:
      summary: Legal arrangement deleted
      value:
        invalidFields: []
        pspReference: "8816080397613514"
    post-deleteLegalArrangements-arrangements-400:
      summary: Response code 400. Bad Request.
      value:
        invalidFields:
          - errorCode: 34
            errorDescription: An invalid legalArrangementCode code is provided for value 'cdf92f5a-a114-4ce6-8f19-c3f6ec83141c'
            fieldType:
              field: AccountHolderDetails.LegalArrangements.legalArrangementCode
              fieldName: legalArrangementCode
        pspReference: "9916613322577326"
    post-deleteLegalArrangements-entities:
      description: Example request for deleting legal arrangement entities
      summary: Delete legal arrangement entities
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
        legalArrangements:
          - legalArrangementCode: cdf92f5a-a114-4ce6-8f19-c3f6ec83141c
            legalArrangementEntityCodes:
              - 755881d3-d6b0-4b34-8ace-1caceb8add63
    post-deleteLegalArrangements-entities-200:
      summary: Legal arrangement entities deleted
      value:
        invalidFields: []
        pspReference: "8816080397613514"
    post-deleteLegalArrangements-entities-400:
      summary: Response code 400. Bad Request.
      value:
        invalidFields:
          - errorCode: 34
            errorDescription: An invalid legalArrangementEntityCode code is provided for value 'c92bb932-4867-4cef-bf9d-4ecde37745cf'
            fieldType:
              field: AccountHolderDetails.LegalArrangements.LegalArrangementsEntities.legalArrangementEntityCode
              fieldName: legalArrangementEntityCode
        pspReference: "9916613324987358"
    post-deleteShareholders-basic:
      summary: Delete shareholders
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
        shareholderCodes:
          - 9188218c-576e-4cbe-8e86-72722f453920
    post-getAccountHolder-accountCode:
      summary: Get an account holder
      value:
        accountCode: CODE_OF_ACCOUNT
    post-getAccountHolder-accountHolderCode:
      summary: Get an account holder for the account
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
    post-getTaxForm-basic:
      summary: Get a tax form
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
        formType: 1099-K
        year: 2020
    post-getUploadedDocuments-basic:
      summary: Get uploaded documents
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
        bankAccountUUID: EXAMPLE_UUID
    post-suspendAccountHolder-basic:
      summary: Suspend an account holder
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
    post-unSuspendAccountHolder-basic:
      summary: Unsuspend an account holder
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
    post-updateAccount-basic:
      summary: Set a payout schedule
      value:
        accountCode: CODE_OF_ACCOUNT
        payoutSchedule:
          action: CLOSE
          schedule: WEEKLY
    post-updateAccountHolder-addShareholders:
      summary: Add shareholders
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
        accountHolderDetails:
          bankAccountDetails: []
          businessDetails:
            legalBusinessName: legalBusinessName
            shareholders:
              - ShareholderContact:
                  email: testEmail@gmail.com
                  personalData:
                    idNumber: "12345"
            taxId: taxid
    post-updateAccountHolder-bankAccountDetails:
      summary: Update bank account details
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
        accountHolderDetails:
          bankAccountDetails:
            - BankAccountDetail:
                accountNumber: "1678116852"
                branchCode: "053101273"
                countryCode: US
                currencyCode: USD
                ownerCity: Springfield
                ownerCountryCode: US
                ownerHouseNumberOrName: "100"
                ownerName: Tim Green
                ownerPostalCode: "02894"
                ownerState: AZ
                ownerStreet: Main Street
          email: tim@green.com
          individualDetails:
            name:
              firstName: Tim
              lastName: Green
        createDefaultAccount: "true"
        legalEntity: Individual
    post-updateAccountHolder-businessDetails:
      summary: Update business details
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
        accountHolderDetails:
          bankAccountDetails: []
          businessDetails:
            doingBusinessAs: Test company B.V.
            legalBusinessName: Test company
            shareholders:
              - ShareholderContact:
                  address:
                    city: Amsterdam
                    country: NL
                    houseNumberOrName: "1"
                    postalCode: 1111AA
                    stateOrProvince: NH
                    street: Teststreet
                  email: testShareholder@adyen.com
                  name:
                    firstName: TestFirstName
                    lastName: TestLastName
            taxId: BV123456789
          email: test@adyen.com
          phoneNumber:
            phoneCountryCode: NL
            phoneNumber: "0612345678"
            phoneType: Mobile
          webAddress: http://www.accountholderwebsite.com
    post-updateAccountHolder-general:
      summary: Update account holder details
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
        accountHolderDetails:
          address:
            city: Amsterdam
            country: NL
            postalCode: "12345"
            stateOrProvince: NH
            street: Teststreet 1
          bankAccountDetails: []
          email: test@adyen.com
          individualDetails:
            name:
              firstName: First name
              lastName: Last Name
            personalData:
              dateOfBirth: 1970-01-01
              idNumber: "1234567890"
              nationality: NL
          merchantCategoryCode: "7999"
          phoneNumber:
            phoneCountryCode: NL
            phoneNumber: "0612345678"
            phoneType: Mobile
          webAddress: http://www.accountholderwebsite.com
    post-updateAccountHolderState-basic:
      summary: Update account holder state
      value:
        accountHolderCode: CODE_OF_ACCOUNT_HOLDER
        disable: true
        reason: test reason payout
        stateType: Payout
    post-uploadDocument-basic:
      summary: Upload a document
      value:
        documentContent: dGVzdCBkb2N1bWVudCBjb250ZW50
        documentDetail:
          accountHolderCode: CODE_OF_ACCOUNT_HOLDER
          description: test passport description
          documentType: PASSPORT
          filename: passport.png
  schemas:
    Account:
      properties:
        accountCode:
          description: The code of the account.
          type: string
        beneficiaryAccount:
          description: The beneficiary of the account.
          type: string
        beneficiaryMerchantReference:
          description: The reason that a beneficiary has been set up for this account. This may have been supplied during the setup of a beneficiary at the discretion of the executing user.
          type: string
        payoutSchedule:
          $ref: "#/components/schemas/PayoutScheduleResponse"
          description: The account's payout schedule.
      type: object
    AccountEvent:
      properties:
        event:
          description: |-
            The event.
            >Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.
            For more information, refer to [Verification checks](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process).
          enum:
            - InactivateAccount
            - RefundNotPaidOutTransfers
          type: string
        executionDate:
          description: The date on which the event will take place.
          format: date-time
          type: string
        reason:
          description: The reason why this event has been created.
          type: string
      type: object
    AccountEventWrapper:
      properties:
        AccountEvent:
          $ref: "#/components/schemas/AccountEvent"
    AccountHolderDetails:
      properties:
        address:
          $ref: "#/components/schemas/ViasAddress"
          description: The address of the account holder.
        bankAccountDetails:
          description: Array of bank accounts associated with the account holder. For details about the required `bankAccountDetail` fields, see [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information).
          items:
            $ref: "#/components/schemas/BankAccountDetailWrapper"
          type: array
        businessDetails:
          $ref: "#/components/schemas/BusinessDetails"
          description: |-
            Details about the business or nonprofit account holder.
            Required when creating an account holder with `legalEntity` **Business** or **NonProfit**.
        email:
          description: The email address of the account holder.
          type: string
        fullPhoneNumber:
          description: |-
            The phone number of the account holder provided as a single string. It will be handled as a landline phone.
            **Examples:** "0031 6 11 22 33 44", "+316/1122-3344", "(0031) 611223344"
          type: string
        individualDetails:
          $ref: "#/components/schemas/IndividualDetails"
          description: |
            Details about the individual account holder.
            Required when creating an account holder with `legalEntity` **Individual**.
        lastReviewDate:
          description: Date when you last reviewed the account holder's information, in ISO-8601 YYYY-MM-DD format. For example, **2020-01-31**.
          type: string
        merchantCategoryCode:
          description: |-
            The Merchant Category Code of the account holder.
            > If not specified in the request, this will be derived from the platform account (which is configured by Adyen).
          type: string
        metadata:
          additionalProperties:
            type: string
          description: |-
            A set of key and value pairs for general use by the account holder or merchant.
            The keys do not have specific names and may be used for storing miscellaneous data as desired.
            > The values being stored have a maximum length of eighty (80) characters and will be truncated if necessary.
            > Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.
          type: object
        principalBusinessAddress:
          $ref: "#/components/schemas/ViasAddress"
          description: The principal business address of the account holder.
        webAddress:
          description: The URL of the website of the account holder.
          type: string
      type: object
    AccountHolderStatus:
      properties:
        events:
          description: A list of events scheduled for the account holder.
          items:
            $ref: "#/components/schemas/AccountEventWrapper"
          type: array
        payoutState:
          $ref: "#/components/schemas/AccountPayoutState"
          description: The payout state of the account holder.
        processingState:
          $ref: "#/components/schemas/AccountProcessingState"
          description: The processing state of the account holder.
        status:
          description: |-
            The status of the account holder.
            >Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.
          enum:
            - Active
            - Closed
            - Inactive
            - Suspended
          type: string
        statusReason:
          description: The reason why the status was assigned to the account holder.
          type: string
      required:
        - status
      type: object
    AccountPayoutState:
      properties:
        allowPayout:
          description: Indicates whether payouts are allowed. This field is the overarching payout status, and is the aggregate of multiple conditions (e.g., KYC status, disabled flag, etc). If this field is false, no payouts will be permitted for any of the account holder's accounts. If this field is true, payouts will be permitted for any of the account holder's accounts.
          type: boolean
        disableReason:
          description: The reason why payouts (to all of the account holder's accounts) have been disabled (by the platform). If the `disabled` field is true, this field can be used to explain why.
          type: string
        disabled:
          description: Indicates whether payouts have been disabled (by the platform) for all of the account holder's accounts. A platform may enable and disable this field at their discretion. If this field is true, `allowPayout` will be false and no payouts will be permitted for any of the account holder's accounts. If this field is false, `allowPayout` may or may not be enabled, depending on other factors.
          type: boolean
        payoutLimit:
          $ref: "#/components/schemas/Amount"
          description: The maximum amount that payouts are limited to. Only applies if payouts are allowed but limited.
        tierNumber:
          description: The payout tier that the account holder occupies.
          format: int32
          type: integer
          x-addedInVersion: "3"
      type: object
    AccountProcessingState:
      properties:
        disableReason:
          description: The reason why processing has been disabled.
          type: string
        disabled:
          description: Indicates whether the processing of payments is allowed.
          type: boolean
        processedFrom:
          $ref: "#/components/schemas/Amount"
          description: The lower bound of the processing tier (i.e., an account holder must have processed at least this amount of money in order to be placed into this tier).
        processedTo:
          $ref: "#/components/schemas/Amount"
          description: The upper bound of the processing tier (i.e., an account holder must have processed less than this amount of money in order to be placed into this tier).
        tierNumber:
          description: The processing tier that the account holder occupies.
          format: int32
          type: integer
          x-addedInVersion: "3"
      type: object
    AccountWrapper:
      properties:
        Account:
          $ref: "#/components/schemas/Account"
    Amount:
      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:
      properties:
        accountNumber:
          description: |-
            The bank account number (without separators).
            >Refer to [Required information](https://docs.adyen.com/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.
          type: string
        bankAccountName:
          description: The name of 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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/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/marketplaces-and-platforms/classic/verification-process/required-information) for details on field requirements.
          type: string
      type: object
    BankAccountDetailWrapper:
      properties:
        BankAccountDetail:
          $ref: "#/components/schemas/BankAccountDetail"
    BusinessDetails:
      properties:
        doingBusinessAs:
          description: The registered name of the company (if it differs from the legal name of the company).
          type: string
        legalBusinessName:
          description: The legal name of the company.
          type: string
        listedUltimateParentCompany:
          description: Information about the parent public company. Required if the account holder is 100% owned by a publicly listed company.
          items:
            $ref: "#/components/schemas/UltimateParentCompanyWrapper"
          type: array
        shareholders:
          description: Array containing information about individuals associated with the account holder either through ownership or control. For details about how you can identify them, refer to [our verification guide](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process#identify-ubos).
          items:
            $ref: "#/components/schemas/ShareholderContactWrapper"
          type: array
        signatories:
          description: |-
            Signatories associated with the company.
            Each array entry should represent one signatory.
          items:
            $ref: "#/components/schemas/SignatoryContactWrapper"
          type: array
        taxId:
          description: The tax ID of the company.
          type: string
      type: object
    CloseAccountHolderRequest:
      properties:
        accountHolderCode:
          description: The code of the Account Holder to be closed.
          type: string
      required:
        - accountHolderCode
      type: object
    CloseAccountHolderResponse:
      properties:
        accountHolderStatus:
          $ref: "#/components/schemas/AccountHolderStatus"
          description: The new status of the Account Holder.
        pspReference:
          description: The reference of a request. Can be used to uniquely identify the request.
          type: string
        resultCode:
          description: The result code.
          type: string
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
      type: object
    CloseAccountRequest:
      properties:
        accountCode:
          description: The code of account to be closed.
          type: string
      required:
        - accountCode
      type: object
    CloseAccountResponse:
      properties:
        pspReference:
          description: The reference of a request. Can be used to uniquely identify the request.
          type: string
        resultCode:
          description: The result code.
          type: string
        status:
          description: |-
            The new status of the account.
            >Permitted values: `Active`, `Inactive`, `Suspended`, `Closed`.
          enum:
            - Active
            - Closed
            - Inactive
            - Suspended
          type: string
          x-addedInVersion: "2"
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
      type: object
    CreateAccountHolderRequest:
      properties:
        accountHolderCode:
          description: |-
            Your unique identifier for the prospective account holder.
            The length must be between three (3) and fifty (50) characters long. Only letters, digits, and hyphens (-) are allowed.
          type: string
        accountHolderDetails:
          $ref: "#/components/schemas/AccountHolderDetails"
          description: The details of the prospective account holder.
        createDefaultAccount:
          description: |-
            If set to **true**, an account with the default options is automatically created for the account holder.
            By default, this field is set to **true**.
          type: boolean
        legalEntity:
          description: |-
            The legal entity type of the account holder. This determines the information that should be provided in the request.

            Possible values: **Business**, **Individual**, or **NonProfit**.

            * If set to **Business** or **NonProfit**, then `accountHolderDetails.businessDetails` must be provided, with at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.

            * If set to **Individual**, then `accountHolderDetails.individualDetails` must be provided.
          enum:
            - Business
            - Individual
            - NonProfit
          type: string
        processingTier:
          description: The starting [processing tier](https://docs.adyen.com/marketplaces-and-platforms/classic/onboarding-and-verification/precheck-kyc-information) for the prospective account holder.
          format: int32
          type: integer
          x-addedInVersion: "3"
      required:
        - accountHolderCode
        - legalEntity
        - accountHolderDetails
      type: object
    CreateAccountHolderResponse:
      properties:
        accountCode:
          description: The code of a new account created for the account holder.
          type: string
        accountHolderCode:
          description: The code of the new account holder.
          type: string
        accountHolderDetails:
          $ref: "#/components/schemas/AccountHolderDetails"
          description: Details of the new account holder.
        accountHolderStatus:
          $ref: "#/components/schemas/AccountHolderStatus"
          description: The status of the new account holder.
          x-addedInVersion: "2"
        invalidFields:
          description: A list of fields that caused the `/createAccountHolder` request to fail.
          items:
            $ref: "#/components/schemas/ErrorFieldTypeWrapper"
          type: array
          x-addedInVersion: "5"
        pspReference:
          description: The reference of a request. Can be used to uniquely identify the request.
          type: string
        resultCode:
          description: The result code.
          type: string
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
        verification:
          $ref: "#/components/schemas/KYCVerificationResult"
          description: The details of KYC Verification of the account holder.
          x-addedInVersion: "2"
      type: object
    CreateAccountRequest:
      properties:
        accountHolderCode:
          description: The code of Account Holder under which to create the account.
          type: string
        payoutSchedule:
          description: |-
            The payout schedule of the prospective account.
            >Permitted values: `DEFAULT`, `HOLD`, `DAILY`, `WEEKLY`, `MONTHLY`.
          enum:
            - BIWEEKLY_ON_1ST_AND_15TH_AT_MIDNIGHT
            - DAILY
            - DAILY_AU
            - DAILY_EU
            - DAILY_SG
            - DAILY_US
            - HOLD
            - MONTHLY
            - WEEKLY
            - WEEKLY_MON_TO_FRI_AU
            - WEEKLY_MON_TO_FRI_EU
            - WEEKLY_MON_TO_FRI_US
            - WEEKLY_ON_TUE_FRI_MIDNIGHT
            - WEEKLY_SUN_TO_THU_AU
            - WEEKLY_SUN_TO_THU_US
          type: string
        payoutScheduleReason:
          description: |-
            The reason for the payout schedule choice.
            >Required if the payoutSchedule is `HOLD`.
          type: string
      required:
        - accountHolderCode
      type: object
    CreateAccountResponse:
      properties:
        accountCode:
          description: The code of the new account.
          type: string
        accountHolderCode:
          description: The code of the account holder.
          type: string
        payoutSchedule:
          $ref: "#/components/schemas/PayoutScheduleResponse"
          description: The payout schedule of the account.
        pspReference:
          description: The reference of a request. Can be used to uniquely identify the request.
          type: string
        resultCode:
          description: The result code.
          type: string
        status:
          description: |-
            The status of the account.
            >Permitted values: `Active`.
          enum:
            - Active
            - Closed
            - Inactive
            - Suspended
          type: string
          x-addedInVersion: "2"
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
      type: object
    DeleteBankAccountRequest:
      properties:
        accountHolderCode:
          description: The code of the Account Holder from which to delete the Bank Account(s).
          type: string
        bankAccountUUIDs:
          description: The code(s) of the Bank Accounts to be deleted.
          items:
            type: string
          type: array
      required:
        - accountHolderCode
        - bankAccountUUIDs
      type: object
    DeleteLegalArrangementRequest:
      properties:
        accountHolderCode:
          description: The code of the account holder.
          type: string
        legalArrangements:
          description: List of legal arrangements.
          items:
            $ref: "#/components/schemas/LegalArrangementRequestWrapper"
          type: array
      required:
        - accountHolderCode
        - legalArrangements
      type: object
    DeleteShareholderRequest:
      properties:
        accountHolderCode:
          description: The code of the Account Holder from which to delete the Shareholders.
          type: string
        shareholderCodes:
          description: The code(s) of the Shareholders to be deleted.
          items:
            type: string
          type: array
      required:
        - accountHolderCode
        - shareholderCodes
      type: object
    DeleteSignatoriesRequest:
      properties:
        accountHolderCode:
          description: The code of the account holder from which to delete the signatories.
          type: string
        signatoryCodes:
          description: Array of codes of the signatories to be deleted.
          items:
            type: string
          type: array
      required:
        - accountHolderCode
        - signatoryCodes
      type: object
    DocumentDetail:
      properties:
        accountHolderCode:
          description: The code of account holder, to which the document applies.
          type: string
          x-addedInVersion: "2"
        bankAccountUUID:
          description: |
            The Adyen-generated [`bankAccountUUID`](https://docs.adyen.com/api-explorer/#/Account/latest/post/createAccountHolder__resParam_accountHolderDetails-bankAccountDetails-bankAccountUUID) to which the document must be linked. Refer to [Bank account check](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-checks/bank-account-check#uploading-a-bank-statement) for details on when a document should be submitted.
            >Required if the `documentType` is **BANK_STATEMENT**, where a document is being submitted in order to verify a bank account.
          type: string
          x-addedInVersion: "2"
        description:
          description: Description of the document.
          type: string
        documentType:
          description: |
            The type of the document. Refer to [Verification checks](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-checks) for details on when each document type should be submitted and for the accepted file formats.

            Permitted values:
            * **BANK_STATEMENT**: A file containing a bank statement or other document proving ownership of a specific bank account.
            * **COMPANY_REGISTRATION_SCREENING** (Supported from v5 and later): A file containing a company registration document.
            * **CONSTITUTIONAL_DOCUMENT**: A file containing information about the account holder's legal arrangement.
            * **PASSPORT**: A file containing the identity page(s) of a passport.
            * **ID_CARD_FRONT**: A file containing only the front of the ID card. In order for a document to be usable, both the **ID_CARD_FRONT** and **ID_CARD_BACK** must be submitted.
            * **ID_CARD_BACK**: A file containing only the back of the ID card. In order for a document to be usable, both the **ID_CARD_FRONT** and **ID_CARD_BACK** must be submitted.
            * **DRIVING_LICENCE_FRONT**: A file containing only the front of the driving licence. In order for a document to be usable, both the **DRIVING_LICENCE_FRONT** and **DRIVING_LICENCE_BACK** must be submitted.
            * **DRIVING_LICENCE_BACK**: A file containing only the back of the driving licence. In order for a document to be usable, both the **DRIVING_LICENCE_FRONT** and **DRIVING_LICENCE_FRONT** must be submitted.
          enum:
            - BANK_STATEMENT
            - BSN
            - DRIVING_LICENCE
            - DRIVING_LICENCE_BACK
            - DRIVING_LICENCE_FRONT
            - ID_CARD
            - ID_CARD_BACK
            - ID_CARD_FRONT
            - PASSPORT
            - PROOF_OF_RESIDENCY
            - SSN
          type: string
        filename:
          description: Filename of the document.
          type: string
        shareholderCode:
          description: |-
            The Adyen-generated [`shareholderCode`](https://docs.adyen.com/api-explorer/#/Account/latest/post/createAccountHolder__resParam_accountHolderDetails-businessDetails-shareholders-shareholderCode) to which the document must be linked. Refer to [Verification checks](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-checks) for details on when a document should be submitted.
            >Required if the account holder has a `legalEntity` of type **Business** and the `documentType` is either **PASSPORT**, **ID_CARD_FRONT**, **ID_CARD_BACK**, **DRIVING_LICENCE_FRONT**, or **DRIVING_LICENCE_BACK**. 
          type: string
          x-addedInVersion: "2"
        signatoryCode:
          description: The Adyen-generated [`signatoryCode`](https://docs.adyen.com/api-explorer/#/Account/v6/post/createAccountHolder__resParam_accountHolderDetails-businessDetails-signatories-signatoryCode) to which the document must be linked.
          type: string
      required:
        - documentType
      type: object
    DocumentDetailWrapper:
      properties:
        DocumentDetail:
          $ref: "#/components/schemas/DocumentDetail"
    ErrorFieldType:
      properties:
        errorCode:
          description: The validation error code.
          format: int32
          type: integer
        errorDescription:
          description: A description of the validation error.
          type: string
        fieldType:
          $ref: "#/components/schemas/FieldType"
          description: The type of error field.
      type: object
    ErrorFieldTypeWrapper:
      properties:
        ErrorFieldType:
          $ref: "#/components/schemas/ErrorFieldType"
    FieldType:
      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
            - destinationAccountCode
            - document
            - documentContent
            - documentExpirationDate
            - documentIssuerCountry
            - documentIssuerState
            - documentName
            - documentNumber
            - documentType
            - doingBusinessAs
            - drivingLicence
            - drivingLicenceBack
            - drivingLicenceFront
            - drivingLicense
            - email
            - firstName
            - formType
            - fullPhoneNumber
            - gender
            - hopWebserviceUser
            - houseNumberOrName
            - iban
            - idCard
            - idNumber
            - identityDocument
            - individualDetails
            - infix
            - jobTitle
            - lastName
            - lastReviewDate
            - legalArrangement
            - legalArrangementCode
            - legalArrangementEntity
            - legalArrangementEntityCode
            - legalArrangementLegalForm
            - legalArrangementMember
            - legalArrangementMembers
            - legalArrangementName
            - legalArrangementReference
            - legalArrangementRegistrationNumber
            - legalArrangementTaxNumber
            - legalArrangementType
            - legalBusinessName
            - legalEntity
            - legalEntityType
            - logo
            - merchantAccount
            - merchantCategoryCode
            - merchantHouseNumber
            - merchantReference
            - microDeposit
            - name
            - nationality
            - originalReference
            - ownerCity
            - ownerCountryCode
            - ownerDateOfBirth
            - ownerHouseNumberOrName
            - ownerName
            - ownerPostalCode
            - ownerState
            - ownerStreet
            - passport
            - passportNumber
            - payoutMethodCode
            - payoutSchedule
            - pciSelfAssessment
            - personalData
            - phoneCountryCode
            - phoneNumber
            - postalCode
            - primaryCurrency
            - reason
            - 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
    FieldTypeWrapper:
      properties:
        FieldType:
          $ref: "#/components/schemas/FieldType"
    GenericResponse:
      properties:
        pspReference:
          description: The reference of a request. Can be used to uniquely identify the request.
          type: string
        resultCode:
          description: The result code.
          type: string
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
      type: object
    GetAccountHolderRequest:
      properties:
        accountCode:
          description: |-
            The code of the account of which to retrieve the details.
            > Required if no `accountHolderCode` is provided.
          type: string
        accountHolderCode:
          description: |-
            The code of the account holder of which to retrieve the details.
            > Required if no `accountCode` is provided.
          type: string
      type: object
    GetAccountHolderResponse:
      properties:
        accountHolderCode:
          description: The code of the account holder.
          type: string
        accountHolderDetails:
          $ref: "#/components/schemas/AccountHolderDetails"
          description: Details of the account holder.
        accountHolderStatus:
          $ref: "#/components/schemas/AccountHolderStatus"
          description: The status of the account holder.
          x-addedInVersion: "2"
        accounts:
          description: A list of the accounts under the account holder.
          items:
            $ref: "#/components/schemas/AccountWrapper"
          type: array
        legalEntity:
          description: The legal entity of the account holder.
          enum:
            - Business
            - Individual
            - NonProfit
          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
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
        verification:
          $ref: "#/components/schemas/KYCVerificationResult"
          description: The details of KYC Verification of the account holder.
          x-addedInVersion: "2"
      type: object
    GetAccountHolderStatusResponse:
      properties:
        accountHolderCode:
          description: The code of the Account Holder.
          type: string
        accountHolderStatus:
          $ref: "#/components/schemas/AccountHolderStatus"
          description: The status of the Account Holder.
          x-addedInVersion: "2"
        pspReference:
          description: The reference of a request. Can be used to uniquely identify the request.
          type: string
        resultCode:
          description: The result code.
          type: string
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
      type: object
    GetTaxFormRequest:
      properties:
        accountHolderCode:
          description: The account holder code you provided when you created the account holder.
          type: string
        formType:
          description: Type of the requested tax form. For example, 1099-K.
          type: string
        year:
          description: Applicable tax year in the YYYY format.
          format: int32
          type: integer
      required:
        - accountHolderCode
        - formType
        - year
      type: object
    GetTaxFormResponse:
      properties:
        content:
          contentEncoding: base64
          description: The content of the tax form in the Base64 binary format.
          type: string
        contentType:
          description: The content type of the tax form.
          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
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
      type: object
    GetUploadedDocumentsRequest:
      properties:
        accountHolderCode:
          description: The code of the Account Holder for which to retrieve the documents.
          type: string
        bankAccountUUID:
          description: The code of the Bank Account for which to retrieve the documents.
          type: string
          x-addedInVersion: "2"
        shareholderCode:
          description: The code of the Shareholder for which to retrieve the documents.
          type: string
      required:
        - accountHolderCode
      type: object
    GetUploadedDocumentsResponse:
      properties:
        documentDetails:
          description: A list of the documents and their details.
          items:
            $ref: "#/components/schemas/DocumentDetailWrapper"
          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
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
      type: object
    IndividualDetails:
      properties:
        name:
          $ref: "#/components/schemas/ViasName"
          description: |-
            The name of the individual.
            >Make sure your account holder registers using the name shown on their Photo ID.
        personalData:
          $ref: "#/components/schemas/ViasPersonalData"
          description: Personal information of the individual.
      type: object
    KYCBankAccountCheckResult:
      properties:
        bankAccountUUID:
          description: The unique ID of the bank account to which the check applies.
          type: string
        checks:
          description: A list of the checks and their statuses.
          items:
            $ref: "#/components/schemas/KYCCheckStatusData"
          type: array
      type: object
    KYCCheckResult:
      properties:
        checks:
          description: A list of the checks and their statuses.
          items:
            $ref: "#/components/schemas/KYCCheckStatusData"
          type: array
      type: object
    KYCCheckStatusData:
      properties:
        requiredFields:
          description: A list of the fields required for execution of the check.
          items:
            type: string
          type: array
        status:
          description: |-
            The status of the check.

            Possible values: **AWAITING_DATA** , **DATA_PROVIDED**, **FAILED**, **INVALID_DATA**, **PASSED**, **PENDING**, **RETRY_LIMIT_REACHED**.
          enum:
            - AWAITING_DATA
            - DATA_PROVIDED
            - FAILED
            - INVALID_DATA
            - PASSED
            - PENDING
            - PENDING_REVIEW
            - RETRY_LIMIT_REACHED
            - UNCHECKED
          type: string
        summary:
          $ref: "#/components/schemas/KYCCheckSummary"
          description: A summary of the execution of the check.
        type:
          description: |-
            The type of check.

            Possible values:

             * **BANK_ACCOUNT_VERIFICATION**: Used in v5 and earlier. Replaced by **PAYOUT_METHOD_VERIFICATION** in v6 and later.

             * **COMPANY_VERIFICATION**

              * **CARD_VERIFICATION**

            * **IDENTITY_VERIFICATION**

            * **LEGAL_ARRANGEMENT_VERIFICATION**

            * **NONPROFIT_VERIFICATION**

             * **PASSPORT_VERIFICATION**

            * **PAYOUT_METHOD_VERIFICATION**: Used in v6 and later.

            * **PCI_VERIFICATION**
          enum:
            - BANK_ACCOUNT_VERIFICATION
            - CARD_VERIFICATION
            - COMPANY_VERIFICATION
            - IDENTITY_VERIFICATION
            - LEGAL_ARRANGEMENT_VERIFICATION
            - NONPROFIT_VERIFICATION
            - PASSPORT_VERIFICATION
            - PAYOUT_METHOD_VERIFICATION
            - PCI_VERIFICATION
          type: string
      required:
        - type
        - status
      type: object
    KYCCheckSummary:
      properties:
        code:
          description: The code of the check.
          format: int32
          type: integer
        description:
          description: A description of the check.
          type: string
      required:
        - code
      type: object
    KYCShareholderCheckResult:
      properties:
        checks:
          description: A list of the checks and their statuses.
          items:
            $ref: "#/components/schemas/KYCCheckStatusData"
          type: array
        shareholderCode:
          description: The code of the shareholder to which the check applies.
          type: string
      type: object
    KYCSignatoryCheckResult:
      properties:
        checks:
          description: A list of the checks and their statuses.
          items:
            $ref: "#/components/schemas/KYCCheckStatusData"
          type: array
        signatoryCode:
          description: The code of the signatory to which the check applies.
          type: string
      type: object
    KYCVerificationResult:
      properties:
        accountHolder:
          $ref: "#/components/schemas/KYCCheckResult"
          description: The results of the checks on the account holder.
        bankAccounts:
          description: The results of the checks on the bank accounts.
          items:
            $ref: "#/components/schemas/KYCBankAccountCheckResult"
          type: array
        shareholders:
          description: The results of the checks on the shareholders.
          items:
            $ref: "#/components/schemas/KYCShareholderCheckResult"
          type: array
        signatories:
          description: The results of the checks on the signatories.
          items:
            $ref: "#/components/schemas/KYCSignatoryCheckResult"
          type: array
      type: object
    LegalArrangementRequest:
      properties:
        legalArrangementCode:
          description: The code of the legal arrangement to be deleted. If you also send `legalArrangementEntityCodes`, only the entities listed will be deleted.
          type: string
        legalArrangementEntityCodes:
          description: List of legal arrangement entities to be deleted.
          items:
            type: string
          type: array
      required:
        - legalArrangementCode
      type: object
    LegalArrangementRequestWrapper:
      properties:
        LegalArrangementRequest:
          $ref: "#/components/schemas/LegalArrangementRequest"
    PayoutScheduleResponse:
      properties:
        nextScheduledPayout:
          description: The date of the next scheduled payout.
          format: date-time
          type: string
        schedule:
          description: |-
            The payout schedule of the account.
            Permitted values: `DEFAULT`, `DAILY`, `DAILY_US`, `DAILY_EU`, `DAILY_AU`, `DAILY_SG`, `WEEKLY`, `WEEKLY_ON_TUE_FRI_MIDNIGHT`, `BIWEEKLY_ON_1ST_AND_15TH_AT_MIDNIGHT`, `MONTHLY`, `HOLD`.
          enum:
            - BIWEEKLY_ON_1ST_AND_15TH_AT_MIDNIGHT
            - DAILY
            - DAILY_AU
            - DAILY_EU
            - DAILY_SG
            - DAILY_US
            - HOLD
            - MONTHLY
            - WEEKLY
            - WEEKLY_MON_TO_FRI_AU
            - WEEKLY_MON_TO_FRI_EU
            - WEEKLY_MON_TO_FRI_US
            - WEEKLY_ON_TUE_FRI_MIDNIGHT
            - WEEKLY_SUN_TO_THU_AU
            - WEEKLY_SUN_TO_THU_US
          type: string
      type: object
    PersonalDocumentData:
      properties:
        expirationDate:
          description: |-
            The expiry date of the document, 
             in ISO-8601 YYYY-MM-DD format. For example, **2000-01-31**.
          type: string
        issuerCountry:
          description: |-
            The country where the document was issued, in the two-character 
            [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. For example, **NL**.
          maxLength: 2
          minLength: 2
          type: string
        issuerState:
          description: The state where the document was issued (if applicable).
          type: string
        number:
          description: The number in the document.
          type: string
        type:
          description: |-
            The type of the document. Possible values: **ID**, **DRIVINGLICENSE**, **PASSPORT**, **SOCIALSECURITY**, **VISA**.

            To delete an existing entry for a document `type`, send only the `type` field in your request. 
          enum:
            - DRIVINGLICENSE
            - ID
            - PASSPORT
            - SOCIALSECURITY
            - VISA
          type: string
      required:
        - type
      type: object
    PersonalDocumentDataWrapper:
      properties:
        PersonalDocumentData:
          $ref: "#/components/schemas/PersonalDocumentData"
    ServiceError:
      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
    ShareholderContact:
      properties:
        address:
          $ref: "#/components/schemas/ViasAddress"
          description: The address of the person.
        email:
          description: The e-mail address of the person.
          type: string
        fullPhoneNumber:
          description: |-
            The phone number of the person provided as a single string.  It will be handled as a landline phone.
            Examples: "0031 6 11 22 33 44", "+316/1122-3344", "(0031) 611223344"
          type: string
        jobTitle:
          description: |-
            Job title of the person. Required when the `shareholderType` is **Controller**.

            Example values: **Chief Executive Officer**, **Chief Financial Officer**, **Chief Operating Officer**, **President**, **Vice President**, **Executive President**, **Managing Member**, **Partner**, **Treasurer**, **Director**, or **Other**.
          type: string
        name:
          $ref: "#/components/schemas/ViasName"
          description: The name of the person.
        personalData:
          $ref: "#/components/schemas/ViasPersonalData"
          description: Contains information about the person.
        phoneNumber:
          $ref: "#/components/schemas/ViasPhoneNumber"
          description: The phone number of the person.
        shareholderCode:
          description: |
            The unique identifier (UUID) of the shareholder entry.
            >**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Shareholder will be created with a procedurally-generated UUID.**

            >**If, during an Account Holder create request, a UUID is provided, the creation of Account Holder will fail with a validation Error..**

            >**If, during an Account Holder update request, a UUID that is not correlated with an existing Shareholder is provided, the update of the Shareholder will fail.**

            >**If, during an Account Holder update request, a UUID that is correlated with an existing Shareholder is provided, the existing Shareholder will be updated.**
          type: string
        shareholderType:
          description: |-
            Specifies how the person is associated with the account holder. 

            Possible values: 

            * **Owner**: Individuals who directly or indirectly own 25% or more of a company.

            * **Controller**: Individuals who are members of senior management staff responsible for managing a company or organization.
          enum:
            - Controller
            - Owner
            - Signatory
          type: string
        webAddress:
          description: The URL of the person's website.
          type: string
      type: object
    ShareholderContactWrapper:
      properties:
        ShareholderContact:
          $ref: "#/components/schemas/ShareholderContact"
    SignatoryContact:
      properties:
        address:
          $ref: "#/components/schemas/ViasAddress"
          description: The address of the person.
        email:
          description: The e-mail address of the person.
          type: string
        fullPhoneNumber:
          description: |-
            The phone number of the person provided as a single string.  It will be handled as a landline phone.
            Examples: "0031 6 11 22 33 44", "+316/1122-3344", "(0031) 611223344"
          type: string
        jobTitle:
          description: |-
            Job title of the signatory.

            Example values: **Chief Executive Officer**, **Chief Financial Officer**, **Chief Operating Officer**, **President**, **Vice President**, **Executive President**, **Managing Member**, **Partner**, **Treasurer**, **Director**, or **Other**.
          type: string
        name:
          $ref: "#/components/schemas/ViasName"
          description: The name of the person.
        personalData:
          $ref: "#/components/schemas/ViasPersonalData"
          description: Contains information about the person.
        phoneNumber:
          $ref: "#/components/schemas/ViasPhoneNumber"
          description: The phone number of the person.
        signatoryCode:
          description: |
            The unique identifier (UUID) of the signatory.
            >**If, during an Account Holder create or update request, this field is left blank (but other fields provided), a new Signatory will be created with a procedurally-generated UUID.**

            >**If, during an Account Holder create request, a UUID is provided, the creation of the Signatory 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 Signatory is provided, the update of the Signatory will fail.**

            >**If, during an Account Holder update request, a UUID that is correlated with an existing Signatory is provided, the existing Signatory will be updated.**
          type: string
        signatoryReference:
          description: Your reference for the signatory.
          type: string
        webAddress:
          description: The URL of the person's website.
          type: string
      type: object
    SignatoryContactWrapper:
      properties:
        SignatoryContact:
          $ref: "#/components/schemas/SignatoryContact"
    SuspendAccountHolderRequest:
      properties:
        accountHolderCode:
          description: The code of the account holder to be suspended.
          type: string
      required:
        - accountHolderCode
      type: object
    SuspendAccountHolderResponse:
      properties:
        accountHolderStatus:
          $ref: "#/components/schemas/AccountHolderStatus"
          description: The new status of the Account Holder.
        pspReference:
          description: The reference of a request. Can be used to uniquely identify the request.
          type: string
        resultCode:
          description: The result code.
          type: string
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
      type: object
    UltimateParentCompany:
      properties:
        address:
          $ref: "#/components/schemas/ViasAddress"
          description: Address of the ultimate parent company.
        businessDetails:
          $ref: "#/components/schemas/UltimateParentCompanyBusinessDetails"
          description: Details about the ultimate parent company's business.
        ultimateParentCompanyCode:
          description: Adyen-generated unique alphanumeric identifier (UUID) for the entry, returned in the response when you create an ultimate parent company. Required when updating an existing entry in an `/updateAccountHolder` request.
          type: string
      type: object
    UltimateParentCompanyBusinessDetails:
      properties:
        legalBusinessName:
          description: The legal name of the company.
          type: string
        registrationNumber:
          description: The registration number of the company.
          type: string
        stockExchange:
          description: Market Identifier Code (MIC).
          type: string
        stockNumber:
          description: International Securities Identification Number (ISIN).
          type: string
        stockTicker:
          description: Stock Ticker symbol.
          type: string
      type: object
    UltimateParentCompanyWrapper:
      properties:
        UltimateParentCompany:
          $ref: "#/components/schemas/UltimateParentCompany"
    UnSuspendAccountHolderRequest:
      properties:
        accountHolderCode:
          description: The code of the account holder to be reinstated.
          type: string
      required:
        - accountHolderCode
      type: object
    UnSuspendAccountHolderResponse:
      properties:
        accountHolderStatus:
          $ref: "#/components/schemas/AccountHolderStatus"
          description: The new status of the Account Holder.
        pspReference:
          description: The reference of a request. Can be used to uniquely identify the request.
          type: string
        resultCode:
          description: The result code.
          type: string
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
      type: object
    UpdateAccountHolderRequest:
      properties:
        accountHolderCode:
          description: The code of the Account Holder to be updated.
          type: string
        accountHolderDetails:
          $ref: "#/components/schemas/AccountHolderDetails"
          description: |-
            The details to which the Account Holder should be updated.

            Required if a processingTier is not provided.
        processingTier:
          description: |-
            The processing tier to which the Account Holder should be updated.
            >The processing tier can not be lowered through this request.

            >Required if accountHolderDetails are not provided.
          format: int32
          type: integer
          x-addedInVersion: "3"
      required:
        - accountHolderCode
      type: object
    UpdateAccountHolderResponse:
      properties:
        accountHolderCode:
          description: The code of the account holder.
          type: string
        accountHolderDetails:
          $ref: "#/components/schemas/AccountHolderDetails"
          description: Details of the account holder.
        accountHolderStatus:
          $ref: "#/components/schemas/AccountHolderStatus"
          description: The new status of the account holder.
          x-addedInVersion: "2"
        invalidFields:
          description: in case the account holder has not been updated, contains account holder fields, that did not pass the validation.
          items:
            $ref: "#/components/schemas/ErrorFieldTypeWrapper"
          type: array
          x-addedInVersion: "5"
        pspReference:
          description: The reference of a request. Can be used to uniquely identify the request.
          type: string
        resultCode:
          description: The result code.
          type: string
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
        updatedFields:
          description: A list of the fields updated through the request.
          items:
            $ref: "#/components/schemas/FieldTypeWrapper"
          type: array
        verification:
          $ref: "#/components/schemas/KYCVerificationResult"
          description: The details of KYC Verification of the account holder.
          x-addedInVersion: "2"
      type: object
    UpdateAccountHolderStateRequest:
      properties:
        accountHolderCode:
          description: The code of the Account Holder on which to update the state.
          type: string
        disable:
          description: If true, disable the requested state.  If false, enable the requested state.
          type: boolean
        reason:
          description: |-
            The reason that the state is being updated.
            >Required if the state is being disabled.
          type: string
        stateType:
          description: |-
            The state to be updated.
            >Permitted values are: `Processing`, `Payout`
          enum:
            - LimitedPayout
            - LimitedProcessing
            - LimitlessPayout
            - LimitlessProcessing
            - Payout
            - Processing
          type: string
      required:
        - accountHolderCode
        - stateType
        - disable
      type: object
    UpdateAccountRequest:
      properties:
        accountCode:
          description: The code of the account to update.
          type: string
        payoutSchedule:
          $ref: "#/components/schemas/UpdatePayoutScheduleRequest"
          description: The details of the payout schedule, to which the account should be updated.
      required:
        - accountCode
        - payoutSchedule
      type: object
    UpdateAccountResponse:
      properties:
        accountCode:
          description: The code of the account.
          type: string
        payoutSchedule:
          $ref: "#/components/schemas/PayoutScheduleResponse"
          description: The payout schedule of the account.
        pspReference:
          description: The reference of a request. Can be used to uniquely identify the request.
          type: string
        resultCode:
          description: The result code.
          type: string
        submittedAsync:
          description: |-
            Indicates whether the request is processed asynchronously. Depending on the request's platform settings, the following scenarios may be applied:
            * **true**: The request is queued and will be executed when the providing service is available in the order in which the requests are received.
            * **false**: The processing of the request is immediately attempted; it may result in an error if the providing service is unavailable.
          type: boolean
      required:
        - accountCode
      type: object
    UpdatePayoutScheduleRequest:
      properties:
        action:
          description: |-
            Direction on how to handle any payouts that have already been scheduled.
            Permitted values:
            * `CLOSE` will close the existing batch of payouts.
            * `UPDATE` will reschedule the existing batch to the new schedule.
            * `NOTHING` (**default**) will allow the payout to proceed.
          enum:
            - CLOSE
            - NOTHING
            - UPDATE
          type: string
        reason:
          description: |-
            The reason for the payout schedule update.
            > This field is required when the `schedule` parameter is set to `HOLD`.
          type: string
        schedule:
          description: |-
            The payout schedule to which the account is to be updated.
            Permitted values: `DAILY`, `DAILY_US`, `DAILY_EU`, `DAILY_AU`, `DAILY_SG`, `WEEKLY`, `WEEKLY_ON_TUE_FRI_MIDNIGHT`, `BIWEEKLY_ON_1ST_AND_15TH_AT_MIDNIGHT`, `MONTHLY`, `HOLD`.
            `HOLD` will prevent scheduled payouts from happening but will still allow manual payouts to occur.
          enum:
            - BIWEEKLY_ON_1ST_AND_15TH_AT_MIDNIGHT
            - DAILY
            - DAILY_AU
            - DAILY_EU
            - DAILY_SG
            - DAILY_US
            - HOLD
            - MONTHLY
            - WEEKLY
            - WEEKLY_MON_TO_FRI_AU
            - WEEKLY_MON_TO_FRI_EU
            - WEEKLY_MON_TO_FRI_US
            - WEEKLY_ON_TUE_FRI_MIDNIGHT
            - WEEKLY_SUN_TO_THU_AU
            - WEEKLY_SUN_TO_THU_US
          type: string
      required:
        - schedule
      type: object
    UploadDocumentRequest:
      properties:
        accountHolderCode:
          deprecated: true
          description: The code of the account holder, for which the document is submitted.
          type: string
        bankAccountUUID:
          deprecated: true
          description: |-
            The unique ID of the bank account, for which the document is submitted.
            >Required if the document is being submitted in order to verify a bank account.
          type: string
        documentContent:
          contentEncoding: base64
          description: |-
            The content of the document, in Base64-encoded string format.

            To learn about document requirements, refer to [Verification checks](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-checks).
          type: string
        documentDetail:
          $ref: "#/components/schemas/DocumentDetail"
          description: Details of the document being submitted.
        shareholderCode:
          deprecated: true
          description: |-
            The code of the shareholder, for which the document is submitted.
            >Required if the document is being submitted in order to verify a shareholder.
          type: string
      required:
        - documentDetail
        - documentContent
      type: object
    ViasAddress:
      properties:
        city:
          description: The name of the city. Required if the `houseNumberOrName`, `street`, `postalCode`, or `stateOrProvince` are provided.
          type: string
        country:
          description: The two-character country code of the address in ISO-3166-1 alpha-2 format. For example, **NL**.
          type: string
        houseNumberOrName:
          description: The number or name of the house.
          type: string
        postalCode:
          description: |-
            The postal code. Required if the `houseNumberOrName`, `street`, `city`, or `stateOrProvince` are provided.

            Maximum length:

            * 5 digits for addresses in the US.

            * 10 characters for all other countries.
          type: string
        stateOrProvince:
          description: |
            The abbreviation of the state or province. Required if the `houseNumberOrName`, `street`, `city`, or `postalCode` are provided. 

            Maximum length:

            * 2 characters for addresses in the US or Canada.

            * 3 characters for all other countries.
          type: string
        street:
          description: The name of the street. Required if the `houseNumberOrName`, `city`, `postalCode`, or `stateOrProvince` are provided.
          type: string
      type: object
    ViasName:
      properties:
        firstName:
          description: The first name.
          maxLength: 80
          type: string
        gender:
          description: |-
            The gender.
            >The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.
          enum:
            - MALE
            - FEMALE
            - UNKNOWN
          maxLength: 1
          type: string
        infix:
          description: |-
            The name's infix, if applicable.
            >A maximum length of twenty (20) characters is imposed.
          maxLength: 20
          type: string
        lastName:
          description: The last name.
          maxLength: 80
          type: string
      type: object
    ViasPersonalData:
      properties:
        dateOfBirth:
          description: The person's date of birth, in ISO-8601 YYYY-MM-DD format. For example, **2000-01-31**.
          type: string
        documentData:
          description: Array that contains information about the person's identification document. You can submit only one entry per document type.
          items:
            $ref: "#/components/schemas/PersonalDocumentDataWrapper"
          type: array
          x-addedInVersion: "3"
        idNumber:
          deprecated: true
          description: An ID number of the person.
          type: string
          x-deprecatedInVersion: "3"
          x-deprecatedMessage: Use `individualDetails.personalData.documentData.number` instead.
        nationality:
          description: |
            The nationality of the person represented by a two-character country code,  in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. For example, **NL**.
          maxLength: 2
          minLength: 2
          type: string
      type: object
    ViasPhoneNumber:
      properties:
        phoneCountryCode:
          description: |-
            The two-character country code of the phone number.
            >The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').
          type: string
        phoneNumber:
          description: |-
            The phone number.
            >The inclusion of the phone number country code is not necessary.
          type: string
        phoneType:
          description: |-
            The type of the phone number.
            >The following values are permitted: `Landline`, `Mobile`, `SIP`, `Fax`.
          enum:
            - Fax
            - Landline
            - Mobile
            - SIP
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: X-API-Key
      type: apiKey
    BasicAuth:
      scheme: basic
      type: http
x-groups:
  - Account holders
  - Accounts
  - Verification
