openapi: 3.1.0
info:
  version: '1'
  x-publicVersion: true
  title: Configuration webhooks
  description: "Adyen sends webhooks to inform your system about events that occur\
    \ in your platform. These events include, for example, when an account holder's\
    \ capabilities are updated, or when a sweep configuration is created or updated.\
    \ \nWhen an event occurs, Adyen makes an HTTP POST request to a URL on your server\
    \ and includes the details of the event in the request body.\n\nYou can use these\
    \ webhooks to build your implementation. For example, you can use this information\
    \ to update internal statuses when the status of a capability is changed."
  termsOfService: https://www.adyen.com/legal/terms-and-conditions
  contact:
    name: Adyen Developer Experience team
    url: https://github.com/Adyen/adyen-openapi
tags:
- name: Account holder
- name: Balance account
- name: Payment instrument
- name: Card order
webhooks:
  balancePlatform.accountHolder.created:
    post:
      tags:
      - Account holder
      summary: Account holder created
      description: Adyen sends this webhook when you successfully [create an account
        holder](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/accountHolders).
      operationId: post-balancePlatform.accountHolder.created
      x-sortIndex: 1
      x-methodName: accountHolderCreated
      security:
      - BasicAuth: []
      requestBody:
        content:
          application/json:
            examples:
              balancePlatform-accountHolder-created:
                $ref: '#/components/examples/post-balancePlatform.accountHolder.created-balancePlatform-accountHolder-created'
              balancePlatform-accountHolder-created-lem-v3:
                $ref: '#/components/examples/post-balancePlatform.accountHolder.created-balancePlatform-accountHolder-created-lem-v3'
            schema:
              $ref: '#/components/schemas/AccountHolderNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
  balancePlatform.accountHolder.updated:
    post:
      tags:
      - Account holder
      summary: Account holder updated
      description: Adyen sends this webhook when you successfully [update an account
        holder](https://docs.adyen.com/api-explorer/balanceplatform/latest/patch/accountHolders/_id_).
      operationId: post-balancePlatform.accountHolder.updated
      x-sortIndex: 2
      x-methodName: accountHolderUpdated
      security:
      - BasicAuth: []
      requestBody:
        content:
          application/json:
            examples:
              balancePlatform-accountHolder-updated:
                $ref: '#/components/examples/post-balancePlatform.accountHolder.updated-balancePlatform-accountHolder-updated'
              balancePlatform-accountHolder-updated-lem-v3:
                $ref: '#/components/examples/post-balancePlatform.accountHolder.updated-balancePlatform-accountHolder-updated-lem-v3'
            schema:
              $ref: '#/components/schemas/AccountHolderNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
  balancePlatform.balanceAccount.created:
    post:
      tags:
      - Balance account
      summary: Balance account created
      description: Adyen sends this webhook when you successfully [create a balance
        account](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts).
      operationId: post-balancePlatform.balanceAccount.created
      x-sortIndex: 1
      x-methodName: balanceAccountCreated
      security:
      - BasicAuth: []
      requestBody:
        content:
          application/json:
            examples:
              balancePlatform-balanceAccount-created:
                $ref: '#/components/examples/post-balancePlatform.balanceAccount.created-balancePlatform-balanceAccount-created'
            schema:
              $ref: '#/components/schemas/BalanceAccountNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
  balancePlatform.balanceAccount.updated:
    post:
      tags:
      - Balance account
      summary: Balance account updated
      description: Adyen sends this webhook when you successfully [update a balance
        account](https://docs.adyen.com/api-explorer/balanceplatform/latest/patch/balanceAccounts/_id_).
      operationId: post-balancePlatform.balanceAccount.updated
      x-sortIndex: 2
      x-methodName: balanceAccountUpdated
      security:
      - BasicAuth: []
      requestBody:
        content:
          application/json:
            examples:
              balancePlatform-balanceAccount-updated:
                $ref: '#/components/examples/post-balancePlatform.balanceAccount.updated-balancePlatform-balanceAccount-updated'
            schema:
              $ref: '#/components/schemas/BalanceAccountNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
  balancePlatform.balanceAccountSweep.created:
    post:
      tags:
      - Balance account
      summary: Sweep created
      description: Adyen sends this webhook when you successfully [create a sweep](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts/_balanceAccountId_/sweeps).
      operationId: post-balancePlatform.balanceAccountSweep.created
      x-sortIndex: 3
      x-methodName: sweepCreated
      security:
      - BasicAuth: []
      requestBody:
        content:
          application/json:
            examples:
              balancePlatform-sweep-created:
                $ref: '#/components/examples/post-balancePlatform.balanceAccountSweep.created-balancePlatform-sweep-created'
            schema:
              $ref: '#/components/schemas/SweepConfigurationNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
  balancePlatform.balanceAccountSweep.deleted:
    post:
      tags:
      - Balance account
      summary: Sweep deleted
      description: Adyen sends this webhook when you successfully [delete a sweep](https://docs.adyen.com/api-explorer/balanceplatform/latest/delete/balanceAccounts/_balanceAccountId_/sweeps/_sweepId_).
      operationId: post-balancePlatform.balanceAccountSweep.deleted
      x-sortIndex: 5
      x-methodName: sweepDeleted
      security:
      - BasicAuth: []
      requestBody:
        content:
          application/json:
            examples:
              balancePlatform-sweep-deleted:
                $ref: '#/components/examples/post-balancePlatform.balanceAccountSweep.deleted-balancePlatform-sweep-deleted'
            schema:
              $ref: '#/components/schemas/SweepConfigurationNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
  balancePlatform.balanceAccountSweep.updated:
    post:
      tags:
      - Balance account
      summary: Sweep updated
      description: Adyen sends this webhook when you successfully [update a sweep](https://docs.adyen.com/api-explorer/balanceplatform/latest/patch/balanceAccounts/_balanceAccountId_/sweeps/_sweepId_).
      operationId: post-balancePlatform.balanceAccountSweep.updated
      x-sortIndex: 4
      x-methodName: sweepUpdated
      security:
      - BasicAuth: []
      requestBody:
        content:
          application/json:
            examples:
              balancePlatform-sweep-updated:
                $ref: '#/components/examples/post-balancePlatform.balanceAccountSweep.updated-balancePlatform-sweep-updated'
            schema:
              $ref: '#/components/schemas/SweepConfigurationNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
  balancePlatform.cardorder.created:
    post:
      tags:
      - Card order
      summary: Card order created
      description: Adyen sends this webhook to indicate a successful creation of a
        card order after you create a [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments)
        of `type` **card** and `formFactor` **physical**.
      operationId: post-balancePlatform.cardorder.created
      x-sortIndex: 1
      x-methodName: cardOrderCreated
      security:
      - BasicAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardOrderNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
  balancePlatform.cardorder.updated:
    post:
      tags:
      - Card order
      summary: Card order updated
      description: Adyen sends this webhook when there is an update in card order
        status.
      operationId: post-balancePlatform.cardorder.updated
      x-sortIndex: 2
      x-methodName: cardOrderUpdated
      security:
      - BasicAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardOrderNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
  balancePlatform.paymentInstrument.created:
    post:
      tags:
      - Payment instrument
      summary: Payment instrument created
      description: "Adyen sends this webhook when you successfully [create a payment\
        \ instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments).\
        \ \n>The webhook does not include the card number when creating virtual cards.\
        \ You can only get the card number in the response of the POST [/paymentInstruments](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments#responses-200-card-number)\
        \ request."
      operationId: post-balancePlatform.paymentInstrument.created
      x-sortIndex: 1
      x-methodName: paymentInstrumentCreated
      security:
      - BasicAuth: []
      requestBody:
        content:
          application/json:
            examples:
              balancePlatform-paymentInstrument-created:
                $ref: '#/components/examples/post-balancePlatform.paymentInstrument.created-balancePlatform-paymentInstrument-created'
            schema:
              $ref: '#/components/schemas/PaymentNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
  balancePlatform.paymentInstrument.updated:
    post:
      tags:
      - Payment instrument
      summary: Payment instrument updated
      description: 'Adyen sends this webhook when you successfully [update a payment
        instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/patch/paymentInstruments/_id_). '
      operationId: post-balancePlatform.paymentInstrument.updated
      x-sortIndex: 2
      x-methodName: paymentInstrumentUpdated
      security:
      - BasicAuth: []
      requestBody:
        content:
          application/json:
            examples:
              balancePlatform-paymentInstrument-updated:
                $ref: '#/components/examples/post-balancePlatform.paymentInstrument.updated-balancePlatform-paymentInstrument-updated'
            schema:
              $ref: '#/components/schemas/PaymentNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
components:
  schemas:
    AccountHolder:
      additionalProperties: false
      properties:
        balancePlatform:
          description: The unique identifier of the [balance platform](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balancePlatforms/{id}__queryParam_id)
            to which the account holder belongs. Required in the request if your API
            credentials can be used for multiple balance platforms.
          type: string
        capabilities:
          additionalProperties:
            $ref: '#/components/schemas/AccountHolderCapability'
          description: Contains key-value pairs that specify the actions that an account
            holder can do in your platform. The key is a capability required for your
            integration. For example, **issueCard** for Issuing. The value is an object
            containing the settings for the capability.
          type: object
        contactDetails:
          deprecated: true
          description: Contact details of the account holder.
          $ref: '#/components/schemas/ContactDetails'
        description:
          description: Your description for the account holder.
          maxLength: 300
          type: string
        id:
          description: The unique identifier of the account holder.
          type: string
        legalEntityId:
          description: The unique identifier of the [legal entity](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities#responses-200-id)
            associated with the account holder. Adyen performs a verification process
            against the legal entity of the account holder.
          type: string
        metadata:
          additionalProperties:
            type: string
          description: 'A set of key and value pairs for general use.

            The keys do not have specific names and may be used for storing miscellaneous
            data as desired.

            > 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
        migratedAccountHolderCode:
          description: The unique identifier of the migrated account holder in the
            classic integration.
          type: string
        primaryBalanceAccount:
          description: The ID of the account holder's primary balance account. By
            default, this is set to the first balance account that you create for
            the account holder. To assign a different balance account, send a PATCH
            request.
          type: string
        reference:
          description: Your reference for the account holder.
          maxLength: 150
          type: string
        status:
          description: "The status of the account holder.\n\nPossible values: \n\n\
            \ * **active**: The account holder is active and allowed to use its capabilities.\
            \ This is the initial status for account holders and balance accounts.\
            \ You can change this status to **suspended** or **closed**. \n\n * **suspended**:\
            \ The account holder is temporarily disabled and payouts are blocked.\
            \ You can change this status to **active** or **closed**. \n\n* **closed**:\
            \ The account holder and all of its capabilities are permanently disabled.\
            \ This is a final status and cannot be changed."
          enum:
          - Active
          - Closed
          - Inactive
          - Suspended
          type: string
        timeZone:
          description: 'The time zone of the account holder. For example, **Europe/Amsterdam**.

            Defaults to the time zone of the balance platform if no time zone is set.
            For possible values, see the [list of time zone codes](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).'
          type: string
        verificationDeadlines:
          description: List of verification deadlines and the capabilities that will
            be disallowed if verification errors are not resolved.
          items:
            $ref: '#/components/schemas/VerificationDeadline'
          type: array
      required:
      - legalEntityId
      - id
      type: object
    AccountHolderCapability:
      additionalProperties: false
      properties:
        allowed:
          description: Indicates whether the capability is allowed. Adyen sets this
            to **true** if the verification is successful and the account holder is
            permitted to use the capability.
          type: boolean
        allowedLevel:
          description: 'The capability level that is allowed for the account holder.


            Possible values: **notApplicable**, **low**, **medium**, **high**.'
          enum:
          - high
          - low
          - medium
          - notApplicable
          type: string
        allowedSettings:
          description: A JSON object containing the settings that are allowed for
            the account holder.
          $ref: '#/components/schemas/CapabilitySettings'
        enabled:
          description: Indicates whether the capability is enabled. If **false**,
            the capability is temporarily disabled for the account holder.
          type: boolean
        problems:
          description: Contains verification errors and the actions that you can take
            to resolve them.
          items:
            $ref: '#/components/schemas/CapabilityProblem'
          type: array
        requested:
          description: Indicates whether the capability is requested. To check whether
            the account holder is permitted to use the capability, refer to the `allowed`
            field.
          type: boolean
        requestedLevel:
          description: 'The requested level of the capability. Some capabilities,
            such as those used in [card issuing](https://docs.adyen.com/issuing/add-capabilities#capability-levels),
            have different levels. Levels increase the capability, but also require
            additional checks and increased monitoring.


            Possible values: **notApplicable**, **low**, **medium**, **high**.'
          enum:
          - high
          - low
          - medium
          - notApplicable
          type: string
        requestedSettings:
          description: A JSON object containing the settings that were requested for
            the account holder.
          $ref: '#/components/schemas/CapabilitySettings'
        transferInstruments:
          description: 'Contains the status of the transfer instruments associated
            with this capability. '
          items:
            $ref: '#/components/schemas/AccountSupportingEntityCapability'
          type: array
        verificationStatus:
          description: 'The status of the verification checks for the capability.


            Possible values:


            * **pending**: Adyen is running the verification.


            * **invalid**: The verification failed. Check if the `errors` array contains
            more information.


            * **valid**: The verification has been successfully completed.


            * **rejected**: Adyen has verified the information, but found reasons
            to not allow the capability.

            '
          enum:
          - invalid
          - pending
          - rejected
          - valid
          type: string
      type: object
    AccountHolderNotificationData:
      additionalProperties: false
      properties:
        accountHolder:
          description: Contains information about the account holder resource that
            triggered the event.
          $ref: '#/components/schemas/AccountHolder'
        balancePlatform:
          description: The unique identifier of the balance platform.
          type: string
      type: object
    AccountHolderNotificationRequest:
      additionalProperties: false
      properties:
        data:
          description: Contains event details.
          $ref: '#/components/schemas/AccountHolderNotificationData'
        environment:
          description: 'The environment from which the webhook originated.


            Possible values: **test**, **live**.'
          type: string
        timestamp:
          description: When the event was queued.
          format: date-time
          type: string
        type:
          description: Type of webhook.
          enum:
          - balancePlatform.accountHolder.updated
          - balancePlatform.accountHolder.created
          type: string
      required:
      - environment
      - type
      - data
      type: object
    AccountSupportingEntityCapability:
      additionalProperties: false
      properties:
        allowed:
          description: Indicates whether the supporting entity capability is allowed.
            Adyen sets this to **true** if the verification is successful and the
            account holder is permitted to use the capability.
          type: boolean
        allowedLevel:
          description: 'The capability level that is allowed for the account holder.


            Possible values: **notApplicable**, **low**, **medium**, **high**.'
          enum:
          - high
          - low
          - medium
          - notApplicable
          type: string
        enabled:
          description: Indicates whether the capability is enabled. If **false**,
            the capability is temporarily disabled for the account holder.
          type: boolean
        id:
          description: The ID of the supporting entity.
          type: string
        requested:
          description: Indicates whether the capability is requested. To check whether
            the account holder is permitted to use the capability, refer to the `allowed`
            field.
          type: boolean
        requestedLevel:
          description: 'The requested level of the capability. Some capabilities,
            such as those used in [card issuing](https://docs.adyen.com/issuing/add-capabilities#capability-levels),
            have different levels. Levels increase the capability, but also require
            additional checks and increased monitoring.


            Possible values: **notApplicable**, **low**, **medium**, **high**.'
          enum:
          - high
          - low
          - medium
          - notApplicable
          type: string
        verificationStatus:
          description: 'The status of the verification checks for the supporting entity
            capability.


            Possible values:


            * **pending**: Adyen is running the verification.


            * **invalid**: The verification failed. Check if the `errors` array contains
            more information.


            * **valid**: The verification has been successfully completed.


            * **rejected**: Adyen has verified the information, but found reasons
            to not allow the capability.

            '
          enum:
          - invalid
          - pending
          - rejected
          - valid
          type: string
      type: object
    Address:
      additionalProperties: false
      properties:
        city:
          description: 'The name of the city. Maximum length: 3000 characters.'
          maxLength: 3000
          type: string
        country:
          description: 'The two-character ISO-3166-1 alpha-2 country code. For example,
            **US**.

            > If you don''t know the country or are not collecting the country from
            the shopper, provide `country` as `ZZ`.'
          type: string
        houseNumberOrName:
          description: 'The number or name of the house. Maximum length: 3000 characters.'
          maxLength: 3000
          type: string
        postalCode:
          description: A maximum of five digits for an address in the US, or a maximum
            of ten characters for an address in all other countries.
          type: string
        stateOrProvince:
          description: 'The two-character ISO 3166-2 state or province code. For example,
            **CA** in the US or **ON** in Canada.

            > Required for the US and Canada.'
          type: string
        street:
          description: 'The name of the street. Maximum length: 3000 characters.

            > The house number should not be included in this field; it should be
            separately provided via `houseNumberOrName`.'
          maxLength: 3000
          type: string
      required:
      - street
      - houseNumberOrName
      - city
      - postalCode
      - country
      type: object
    Amount:
      additionalProperties: false
      properties:
        currency:
          description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#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#minor-units).
          format: int64
          type: integer
      required:
      - value
      - currency
      type: object
    Authentication:
      additionalProperties: false
      properties:
        email:
          description: The email address where the one-time password (OTP) is sent.
          type: string
        password:
          description: "The password used for 3D Secure password-based authentication.\
            \ The value must be between 1 to 30 characters and must only contain the\
            \ following supported characters.\n\n* Characters between **a-z**, **A-Z**,\
            \ and **0-9**\n\n* Special characters: **\xE4\xF6\xFC\xDF\xC4\xD6\xDC\
            +-*/\xE7%()=?!~#'\",;:$&\xE0\xF9\xF2\xE2\xF4\xFB\xE1\xFA\xF3**"
          maxLength: 30
          minLength: 1
          type: string
        phone:
          description: 'The phone number where the one-time password (OTP) is sent.


            This object must have:


            * A `type` set to **mobile**.


            * A `number` with a valid country code.


            * A `number` with more than 4 digits, excluding the country code.


            >Make sure to verify that the card user owns the phone number.'
          $ref: '#/components/schemas/Phone'
      type: object
    Balance:
      additionalProperties: false
      properties:
        available:
          description: The balance available for use.
          format: int64
          type: integer
        balance:
          description: The sum of the transactions that have already been settled.
          format: int64
          type: integer
        currency:
          description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes)
            of the balance.
          type: string
        pending:
          description: The sum of the transactions that will be settled in the future.
          format: int64
          type: integer
        reserved:
          description: The balance currently held in reserve.
          format: int64
          type: integer
      required:
      - currency
      - balance
      - reserved
      - available
      type: object
    BalanceAccount:
      additionalProperties: false
      properties:
        accountHolderId:
          description: The unique identifier of the [account holder](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/accountHolders__resParam_id)
            associated with the balance account.
          type: string
        balances:
          description: List of balances with the amount and currency.
          items:
            $ref: '#/components/schemas/Balance'
          type: array
        defaultCurrencyCode:
          description: 'The default three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes)
            of the balance account. This is the currency displayed on the Balance
            Account overview page in your Customer Area.

            The default value is **EUR**.

            > After a balance account is created, you cannot change its default currency.'
          type: string
        description:
          description: A human-readable description of the balance account, maximum
            300 characters. You can use this parameter to distinguish between multiple
            balance accounts under an account holder.
          maxLength: 300
          type: string
        id:
          description: The unique identifier of the balance account.
          type: string
        metadata:
          additionalProperties:
            type: string
          description: 'A set of key and value pairs for general use.

            The keys do not have specific names and may be used for storing miscellaneous
            data as desired.

            > 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
        migratedAccountCode:
          description: The unique identifier of the account of the migrated account
            holder in the classic integration.
          type: string
        paymentInstruments:
          description: List of [payment instruments](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments)
            associated with the balance account.
          items:
            $ref: '#/components/schemas/PaymentInstrumentReference'
          type: array
        platformPaymentConfiguration:
          description: Contains key-value pairs to the configure the settlement model
            in a balance account.
          $ref: '#/components/schemas/PlatformPaymentConfiguration'
        reference:
          description: Your reference for the balance account, maximum 150 characters.
          maxLength: 150
          type: string
        status:
          description: "The status of the balance account, set to **Active** by default.\
            \ \n"
          enum:
          - Active
          - Closed
          - Inactive
          - Suspended
          type: string
        timeZone:
          description: 'The time zone of the balance account. For example, **Europe/Amsterdam**.

            Defaults to the time zone of the account holder if no time zone is set.
            For possible values, see the [list of time zone codes](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).'
          type: string
      required:
      - accountHolderId
      - id
      type: object
    BalanceAccountNotificationData:
      additionalProperties: false
      properties:
        balanceAccount:
          $ref: '#/components/schemas/BalanceAccount'
        balancePlatform:
          description: The unique identifier of the balance platform.
          type: string
      type: object
    BalanceAccountNotificationRequest:
      additionalProperties: false
      properties:
        data:
          description: Contains event details.
          $ref: '#/components/schemas/BalanceAccountNotificationData'
        environment:
          description: 'The environment from which the webhook originated.


            Possible values: **test**, **live**.'
          type: string
        timestamp:
          description: When the event was queued.
          format: date-time
          type: string
        type:
          description: Type of webhook.
          enum:
          - balancePlatform.balanceAccount.updated
          - balancePlatform.balanceAccount.created
          type: string
      required:
      - environment
      - type
      - data
      type: object
    BalancePlatformNotificationResponse:
      additionalProperties: false
      properties:
        notificationResponse:
          description: Respond with any **2xx** HTTP status code to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications).
          type: string
      type: object
    BankAccountDetails:
      additionalProperties: false
      properties:
        accountNumber:
          description: The bank account number, without separators or whitespace.
          type: string
        accountType:
          default: checking
          description: 'The bank account type.


            Possible values: **checking** or **savings**. Defaults to **checking**.'
          type: string
        branchNumber:
          description: The bank account branch number, without separators or whitespace
          type: string
        formFactor:
          default: physical
          description: "Business accounts with a `formFactor` value of **physical**\
            \ are business accounts issued under the central bank of that country.\
            \ The default value is **physical** for NL, US, and UK business accounts.\
            \ \n\nAdyen creates a local IBAN for business accounts when the `formFactor`\
            \ value is set to **virtual**. The local IBANs that are supported are\
            \ for DE and FR, which reference a physical NL account, with funds being\
            \ routed through the central bank of NL."
          type: string
        iban:
          description: The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html)
            standard.
          type: string
        routingNumber:
          description: The [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number),
            without separators or whitespace.
          type: string
        sortCode:
          description: The [sort code](https://en.wikipedia.org/wiki/Sort_code), without
            separators or whitespace.
          type: string
        type:
          default: iban
          description: '**iban** or **usLocal** or **ukLocal**'
          type: string
      required:
      - type
      type: object
    BulkAddress:
      additionalProperties: false
      properties:
        city:
          description: The name of the city.
          type: string
        company:
          description: The name of the company.
          type: string
        country:
          description: The two-character ISO-3166-1 alpha-2 country code. For example,
            **US**.
          type: string
        email:
          description: The email address.
          type: string
        houseNumberOrName:
          description: The house number or name.
          type: string
        mobile:
          description: The full telephone number.
          type: string
        postalCode:
          description: 'The postal code.


            Maximum length:


            * 5 digits for addresses in the US.


            * 10 characters for all other countries.'
          type: string
        stateOrProvince:
          description: 'The two-letter ISO 3166-2 state or province code.


            Maximum length: 2 characters for addresses in the US.'
          type: string
        street:
          description: The streetname of the house.
          type: string
      required:
      - country
      type: object
    CapabilityProblem:
      additionalProperties: false
      properties:
        entity:
          description: Contains the type of the entity and the corresponding ID.
          $ref: '#/components/schemas/CapabilityProblemEntity'
        verificationErrors:
          description: Contains information about the verification error.
          items:
            $ref: '#/components/schemas/VerificationError'
          type: array
      type: object
    CapabilityProblemEntity:
      additionalProperties: false
      properties:
        documents:
          description: List of document IDs to which the verification errors related
            to the capabilities correspond to.
          items:
            type: string
          type: array
        id:
          description: The ID of the entity.
          type: string
        owner:
          description: Contains details about the owner of the entity that has an
            error.
          $ref: '#/components/schemas/CapabilityProblemEntity-recursive'
        type:
          description: "Type of entity. \n\nPossible values: **LegalEntity**, **BankAccount**,\
            \ **Document**."
          enum:
          - BankAccount
          - Document
          - LegalEntity
          type: string
      type: object
    CapabilityProblemEntity-recursive:
      additionalProperties: false
      properties:
        documents:
          description: List of document IDs to which the verification errors related
            to the capabilities correspond to.
          items:
            type: string
          type: array
        id:
          description: The ID of the entity.
          type: string
        type:
          description: "Type of entity. \n\nPossible values: **LegalEntity**, **BankAccount**,\
            \ **Document**."
          enum:
          - BankAccount
          - Document
          - LegalEntity
          type: string
      required: []
      type: object
    CapabilitySettings:
      additionalProperties: false
      properties:
        amountPerIndustry:
          additionalProperties:
            $ref: '#/components/schemas/Amount'
          description: ''
          type: object
        authorizedCardUsers:
          description: ''
          type: boolean
        fundingSource:
          description: ''
          items:
            enum:
            - credit
            - debit
            - prepaid
            type: string
          type: array
        interval:
          description: ''
          enum:
          - daily
          - monthly
          - weekly
          type: string
        maxAmount:
          description: ''
          $ref: '#/components/schemas/Amount'
      type: object
    Card:
      additionalProperties: false
      properties:
        authentication:
          description: Contains the card user's password and mobile phone number.
            This is required when you issue cards that can be used to make online
            payments within the EEA and the UK, or can be added to digital wallets.
            Refer to [3D Secure and digital wallets](https://docs.adyen.com/issuing/3d-secure-and-wallets)
            for more information.
          $ref: '#/components/schemas/Authentication'
        bin:
          description: The bank identification number (BIN) of the card number.
          type: string
        brand:
          description: 'The brand of the physical or the virtual card.

            Possible values: **visa**, **mc**.'
          type: string
        brandVariant:
          description: 'The brand variant of the physical or the virtual card. For
            example, **visadebit** or **mcprepaid**.

            >Reach out to your Adyen contact to get the values relevant for your integration.'
          type: string
        cardholderName:
          description: "The name of the cardholder.\n Maximum length: 26 characters."
          maxLength: 26
          type: string
        configuration:
          description: "Settings required when creating a physical or a virtual card.\
            \ \n\nReach out to your Adyen contact to get the values that you can send\
            \ in this object."
          $ref: '#/components/schemas/CardConfiguration'
        cvc:
          description: 'The CVC2 value of the card.

            > The CVC2 is not sent by default. This is only returned in the `POST`
            response for single-use virtual cards.'
          type: string
        deliveryContact:
          description: The delivery contact (name and address) for physical card delivery.
          $ref: '#/components/schemas/Contact'
        expiration:
          description: The expiration date of the card.
          $ref: '#/components/schemas/Expiry'
        formFactor:
          description: 'The form factor of the card.

            Possible values: **virtual**, **physical**.'
          enum:
          - physical
          - unknown
          - virtual
          type: string
        lastFour:
          description: Last last four digits of the card number.
          type: string
        number:
          description: 'The primary account number (PAN) of the card.

            > The PAN is masked by default and returned only for single-use virtual
            cards.'
          type: string
        threeDSecure:
          description: 'Allocates a specific product range for either a physical or
            a virtual card. Possible values: **fullySupported**, **secureCorporate**.

            >Reach out to your Adyen contact to get the values relevant for your integration.'
          type: string
      required:
      - formFactor
      - cardholderName
      - brand
      - brandVariant
      - number
      type: object
    CardConfiguration:
      additionalProperties: false
      properties:
        activation:
          description: Overrides the activation label design ID defined in the `configurationProfileId`.
            The activation label is attached to the card and contains the activation
            instructions.
          type: string
        activationUrl:
          description: "Your app's URL, if you want to activate cards through your\
            \ app. For example, **my-app://ref1236a7d**. A QR code is created based\
            \ on this URL, and is included in the carrier. Before you use this field,\
            \ reach out to your Adyen contact to set up the QR code process. \n\n\
            Maximum length: 255 characters."
          maxLength: 255
          type: string
        bulkAddress:
          description: Overrides the shipment bulk address defined in the `configurationProfileId`.
          $ref: '#/components/schemas/BulkAddress'
        cardImageId:
          description: The ID of the card image. This is the image that will be printed
            on the full front of the card.
          type: string
        carrier:
          description: Overrides the carrier design ID defined in the `configurationProfileId`.
            The carrier is the letter or packaging to which the card is attached.
          type: string
        carrierImageId:
          description: The ID of the carrier image. This is the image that will printed
            on the letter to which the card is attached.
          type: string
        configurationProfileId:
          description: 'The ID of the card configuration profile that contains the
            settings of the card. For example, the envelope and PIN mailer designs
            or the logistics company handling the shipment. All the settings in the
            profile are applied to the card, unless you provide other fields to override
            them.


            For example, send the `shipmentMethod` to override the logistics company
            defined in the card configuration profile.'
          type: string
        currency:
          description: The three-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217)
            currency code of the card. For example, **EUR**.
          type: string
        envelope:
          description: 'Overrides the envelope design ID defined in the `configurationProfileId`. '
          type: string
        insert:
          description: Overrides the insert design ID defined in the `configurationProfileId`.
            An insert is any additional material, such as marketing materials, that
            are shipped together with the card.
          type: string
        language:
          description: The two-letter [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)
            language code of the card. For example, **en**.
          type: string
        logoImageId:
          description: The ID of the logo image. This is the image that will be printed
            on the partial front of the card, such as a logo on the upper right corner.
          type: string
        pinMailer:
          description: Overrides the PIN mailer design ID defined in the `configurationProfileId`.
            The PIN mailer is the letter on which the PIN is printed.
          type: string
        shipmentMethod:
          description: Overrides the logistics company defined in the `configurationProfileId`.
          type: string
      required:
      - configurationProfileId
      type: object
    CardOrderItem:
      additionalProperties: false
      properties:
        balancePlatform:
          description: The unique identifier of the balance platform.
          type: string
        card:
          description: 'The status of the card delivery.


            Possible values: **created**, **rejected**, **processing**, **produced**,
            **shipped**, **delivered**, **notApplicable**, **unknown**. '
          $ref: '#/components/schemas/CardOrderItemDeliveryStatus'
        cardOrderItemId:
          description: The unique identifier of the card order item.
          type: string
        creationDate:
          description: The date and time when the event was triggered, in ISO 8601
            extended format. For example, **2020-12-18T10:15:30+01:00**.
          format: date-time
          type: string
        id:
          description: The ID of the resource.
          type: string
        paymentInstrumentId:
          description: The unique identifier of the payment instrument related to
            the card order item.
          type: string
        pin:
          description: Contains information about the status of the PIN delivery.
          $ref: '#/components/schemas/CardOrderItemDeliveryStatus'
        shippingMethod:
          description: The shipping method used to deliver the card or the PIN.
          type: string
      type: object
    CardOrderItemDeliveryStatus:
      additionalProperties: false
      properties:
        errorMessage:
          description: An error message.
          type: string
        status:
          description: The status of the PIN delivery.
          enum:
          - created
          - delivered
          - notApplicable
          - processing
          - produced
          - rejected
          - shipped
          - unknown
          type: string
        trackingNumber:
          description: The tracking number of the PIN delivery.
          type: string
      type: object
    CardOrderNotificationRequest:
      additionalProperties: false
      properties:
        data:
          description: Contains event details.
          $ref: '#/components/schemas/CardOrderItem'
        environment:
          description: 'The environment from which the webhook originated.


            Possible values: **test**, **live**.'
          type: string
        timestamp:
          description: When the event was queued.
          format: date-time
          type: string
        type:
          description: Type of webhook.
          enum:
          - balancePlatform.cardorder.created
          - balancePlatform.cardorder.updated
          type: string
      required:
      - environment
      - type
      - data
      type: object
    Contact:
      additionalProperties: false
      properties:
        address:
          description: The address of the contact.
          $ref: '#/components/schemas/Address'
        email:
          description: The e-mail address of the contact.
          type: string
        fullPhoneNumber:
          description: 'The phone number of the contact 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
        name:
          description: The name of the contact.
          $ref: '#/components/schemas/Name'
        personalData:
          description: Personal data of the contact.
          $ref: '#/components/schemas/PersonalData'
        phoneNumber:
          description: The phone number of the contact.
          $ref: '#/components/schemas/PhoneNumber'
        webAddress:
          description: The URL of the website of the contact.
          type: string
      type: object
    ContactDetails:
      deprecated: true
      additionalProperties: false
      properties:
        address:
          description: The address of the account holder.
          $ref: '#/components/schemas/Address'
        email:
          description: The email address of the account holder.
          type: string
        phone:
          description: The phone number of the account holder.
          $ref: '#/components/schemas/Phone'
        webAddress:
          description: The URL of the account holder's website.
          type: string
      required:
      - email
      - phone
      - address
      type: object
    Expiry:
      additionalProperties: false
      properties:
        month:
          description: The month in which the card will expire.
          type: string
        year:
          description: The year in which the card will expire.
          type: string
      type: object
    IbanAccountIdentification:
      additionalProperties: false
      properties:
        iban:
          description: The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html)
            standard.
          type: string
        type:
          default: iban
          description: '**iban**'
          enum:
          - iban
          type: string
      required:
      - type
      - iban
      type: object
    Name:
      additionalProperties: false
      properties:
        firstName:
          description: The first name.
          maxLength: 80
          type: string
        lastName:
          description: The last name.
          maxLength: 80
          type: string
      required:
      - firstName
      - lastName
      type: object
    PaymentInstrument:
      additionalProperties: false
      properties:
        additionalBankAccountIdentifications:
          description: Contains optional, additional business account details. Returned
            when you create a payment instrument with `type` **bankAccount**.
          items:
            oneOf:
            - $ref: '#/components/schemas/IbanAccountIdentification'
          type: array
        balanceAccountId:
          description: The unique identifier of the [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/v1/post/balanceAccounts__resParam_id)
            associated with the payment instrument.
          type: string
        bankAccount:
          description: Contains the business account details. Returned when you create
            a payment instrument with `type` **bankAccount**.
          $ref: '#/components/schemas/BankAccountDetails'
        card:
          description: Contains information about the card payment instrument. Returned
            when you create a payment instrument with `type` **card**.
          $ref: '#/components/schemas/Card'
        description:
          description: Your description for the payment instrument, maximum 300 characters.
          maxLength: 300
          type: string
        id:
          description: The unique identifier of the payment instrument.
          type: string
        issuingCountryCode:
          description: The two-character [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
            country code where the payment instrument is issued. For example, **NL**
            or **US**.
          type: string
        paymentInstrumentGroupId:
          description: The unique identifier of the [payment instrument group](https://docs.adyen.com/api-explorer/#/balanceplatform/v1/post/paymentInstrumentGroups__resParam_id)
            to which the payment instrument belongs.
          type: string
        reference:
          description: Your reference for the payment instrument, maximum 150 characters.
          maxLength: 150
          type: string
        replacedById:
          description: The unique identifier of the payment instrument that replaced
            this payment instrument.
          type: string
        replacementOfId:
          description: The unique identifier of the payment instrument that is replaced
            by this payment instrument.
          type: string
        status:
          description: "The status of the payment instrument. If a status is not specified\
            \ when creating a payment instrument, it is set to **Active** by default.\
            \ However, there can be exceptions for cards based on the `card.formFactor`\
            \ and the `issuingCountryCode`. For example, when issuing physical cards\
            \ in the US, the default status is **Requested**.\n\nPossible values:\
            \ \n\n * **Active**:  The payment instrument is active and can be used\
            \ to make payments. \n\n * **Requested**: The payment instrument has been\
            \ requested. This state is applicable for physical cards. \n\n* **Inactive**:\
            \ The payment instrument is inactive and cannot be used to make payments.\
            \ \n\n * **Suspended**: The payment instrument is temporarily suspended\
            \ and cannot be used to make payments. \n\n * **Closed**: The payment\
            \ instrument is permanently closed. This action cannot be undone. \n\n\
            * **Stolen** \n\n * **Lost**\n\n "
          enum:
          - Active
          - Closed
          - Inactive
          - Lost
          - Requested
          - Stolen
          - Suspended
          - blocked
          - discarded
          type: string
        type:
          description: 'The type of payment instrument.


            Possible values: **card**, **bankAccount**.'
          enum:
          - bankAccount
          - card
          type: string
      required:
      - balanceAccountId
      - issuingCountryCode
      - type
      - id
      type: object
    PaymentInstrumentNotificationData:
      additionalProperties: false
      properties:
        balancePlatform:
          description: The unique identifier of the balance platform.
          type: string
        paymentInstrument:
          description: Contains information about the payment instrument resource
            that triggered the event.
          $ref: '#/components/schemas/PaymentInstrument'
      type: object
    PaymentInstrumentReference:
      additionalProperties: false
      properties:
        id:
          description: The unique identifier of the payment instrument.
          type: string
      required:
      - id
      type: object
    PaymentNotificationRequest:
      additionalProperties: false
      properties:
        data:
          description: Contains event details.
          $ref: '#/components/schemas/PaymentInstrumentNotificationData'
        environment:
          description: 'The environment from which the webhook originated.


            Possible values: **test**, **live**.'
          type: string
        timestamp:
          description: When the event was queued.
          format: date-time
          type: string
        type:
          description: Type of webhook.
          enum:
          - balancePlatform.paymentInstrument.created
          - balancePlatform.paymentInstrument.updated
          type: string
      required:
      - environment
      - type
      - data
      type: object
    PersonalData:
      additionalProperties: false
      properties:
        dateOfBirth:
          description: 'The date of birth of the person.

            The date should be in ISO-8601 format yyyy-mm-dd (e.g. 2000-01-31).'
          type: string
        idNumber:
          description: An ID number of the person.
          type: string
        nationality:
          description: 'The nationality of the person represented by a two-character
            country code.

            >The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. ''NL'').'
          maxLength: 2
          minLength: 2
          type: string
      type: object
    Phone:
      additionalProperties: false
      properties:
        number:
          description: "The full phone number provided as a single string. \nFor example,\
            \ **\"0031 6 11 22 33 44\"**, **\"+316/1122-3344\"**, \n\n or **\"(0031)\
            \ 611223344\"**."
          type: string
        type:
          description: "Type of phone number.\nPossible values: \n**Landline**, **Mobile**.\n"
          enum:
          - Landline
          - Mobile
          type: string
      required:
      - number
      - type
      type: object
    PhoneNumber:
      additionalProperties: false
      properties:
        phoneCountryCode:
          description: 'The two-character ISO-3166-1 alpha-2 country code of the phone
            number.

            For example, **US** or **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.

            Possible values: **Landline**, **Mobile**, **SIP**, **Fax**.'
          enum:
          - Fax
          - Landline
          - Mobile
          - SIP
          type: string
      type: object
    PlatformPaymentConfiguration:
      additionalProperties: false
      properties:
        salesDayClosingTime:
          description: 'Specifies at what time a [sales day](https://docs.adyen.com/platforms/settle-funds/sales-day-settlement#sales-day)
            ends for this account.


            Possible values: Time in **"HH:MM"** format. **HH** ranges from **00**
            to **07**. **MM** must be **00**.


            Default value: **"00:00"**.'
          format: time
          type: string
        settlementDelayDays:
          description: 'Specifies after how many business days the funds in a [settlement
            batch](https://docs.adyen.com/platforms/settle-funds/sales-day-settlement#settlement-batch)
            are made available in this balance account.


            Possible values: **1** to **20**, or **null**.

            * Setting this value to an integer enables Sales day settlement in this
            balance account. See how Sales day settlement works in your [marketplace](https://docs.adyen.com/marketplaces/settle-funds/sales-day-settlement)
            or [platform](https://docs.adyen.com/platforms/settle-funds/sales-day-settlement).

            * Setting this value to **null** enables Pass-through settlement in this
            balance account. See how Pass-through settlement works in your [marketplace](https://docs.adyen.com/marketplaces/settle-funds/pass-through-settlement)
            or [platform](https://docs.adyen.com/platforms/settle-funds/pass-through-settlement).


            Default value: **null**.'
          format: int32
          type: integer
      type: object
    RemediatingAction:
      additionalProperties: false
      properties:
        code:
          description: The remediating action code.
          type: string
        message:
          description: A description of how you can resolve the verification error.
          type: string
      type: object
    Resource:
      additionalProperties: false
      properties:
        balancePlatform:
          description: The unique identifier of the balance platform.
          type: string
        creationDate:
          description: The date and time when the event was triggered, in ISO 8601
            extended format. For example, **2020-12-18T10:15:30+01:00**.
          format: date-time
          type: string
        id:
          description: The ID of the resource.
          type: string
      type: object
    SweepConfigurationNotificationData:
      additionalProperties: false
      properties:
        accountId:
          description: The unique identifier of the balance account for which the
            sweep was configured.
          type: string
        balancePlatform:
          description: The unique identifier of the balance platform.
          type: string
        sweep:
          description: Contains information about the sweep resource that triggered
            the event.
          $ref: '#/components/schemas/SweepConfigurationV2'
      type: object
    SweepConfigurationNotificationRequest:
      additionalProperties: false
      properties:
        data:
          description: Contains event details.
          $ref: '#/components/schemas/SweepConfigurationNotificationData'
        environment:
          description: 'The environment from which the webhook originated.


            Possible values: **test**, **live**.'
          type: string
        timestamp:
          description: When the event was queued.
          format: date-time
          type: string
        type:
          description: Type of webhook.
          enum:
          - balancePlatform.balanceAccountSweep.created
          - balancePlatform.balanceAccountSweep.updated
          - balancePlatform.balanceAccountSweep.deleted
          type: string
      required:
      - environment
      - type
      - data
      type: object
    SweepConfigurationV2:
      additionalProperties: false
      properties:
        counterparty:
          description: 'The destination or the source of the funds, depending on the
            sweep `type`.


            Either a `balanceAccountId`, `transferInstrumentId`, or `merchantAccount`
            is required.'
          $ref: '#/components/schemas/SweepCounterparty'
        currency:
          description: 'The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes)
            in uppercase. For example, **EUR**.


            The sweep currency must match any of the [balances currencies](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balanceAccounts/{id}__resParam_balances).'
          type: string
        description:
          description: 'The message that will be used in the sweep transfer''s description
            body with a maximum length of 140 characters.


            If the message is longer after replacing placeholders, the message will
            be cut off at 140 characters.'
          type: string
        id:
          description: The unique identifier of the sweep.
          type: string
        reason:
          description: The reason for disabling the sweep.
          enum:
          - accountHierarchyNotActive
          - amountLimitExceeded
          - approved
          - balanceAccountTemporarilyBlockedByTransactionRule
          - counterpartyAccountBlocked
          - counterpartyAccountClosed
          - counterpartyAccountNotFound
          - counterpartyAddressRequired
          - counterpartyBankTimedOut
          - counterpartyBankUnavailable
          - declined
          - declinedByTransactionRule
          - directDebitNotSupported
          - error
          - notEnoughBalance
          - pending
          - pendingApproval
          - pendingExecution
          - refusedByCounterpartyBank
          - refusedByCustomer
          - routeNotFound
          - scaFailed
          - transferInstrumentDoesNotExist
          - unknown
          type: string
        reasonDetail:
          description: The human readable reason for disabling the sweep.
          type: string
        reference:
          description: Your reference for the sweep configuration.
          maxLength: 80
          type: string
        referenceForBeneficiary:
          description: The reference sent to or received from the counterparty. Only
            alphanumeric characters are allowed.
          maxLength: 80
          type: string
        schedule:
          description: The schedule when the `triggerAmount` is evaluated. If the
            balance meets the threshold, funds are pushed out of or pulled in to the
            balance account.
          $ref: '#/components/schemas/SweepSchedule'
        status:
          description: "The status of the sweep. If not provided, by default, this\
            \ is set to **active**.\n\nPossible values: \n\n * **active**:  the sweep\
            \ is enabled and funds will be pulled in or pushed out based on the defined\
            \ configuration. \n\n * **inactive**: the sweep is disabled and cannot\
            \ be triggered. \n\n"
          enum:
          - active
          - inactive
          type: string
        sweepAmount:
          description: The amount that must be pushed out or pulled in. You can configure
            either `sweepAmount` or `targetAmount`, not both.
          $ref: '#/components/schemas/Amount'
        targetAmount:
          description: The amount that must be available in the balance account after
            the sweep. You can configure either `sweepAmount` or `targetAmount`, not
            both.
          $ref: '#/components/schemas/Amount'
        triggerAmount:
          description: 'The threshold amount that triggers the sweep. If not provided,
            by default, the amount is set to zero. The `triggerAmount` is evaluated
            according to the specified `schedule.type`.


            * For `type` **pull**, if the balance is less than or equal to the `triggerAmount`,
            funds are pulled in to the balance account.


            * For `type` **push**, if the balance is more than or equal to the `triggerAmount`,
            funds are pushed out of the balance account.'
          $ref: '#/components/schemas/Amount'
        type:
          default: push
          description: "The direction of sweep, whether pushing out or pulling in\
            \ funds to the balance account. If not provided, by default, this is set\
            \ to **push**.\n\nPossible values:\n\n * **push**: _push out funds_ to\
            \ a destination balance account or transfer instrument.\n\n * **pull**:\
            \ _pull in funds_ from a source merchant account, transfer instrument,\
            \ or balance account."
          enum:
          - pull
          - push
          type: string
      required:
      - id
      - schedule
      - currency
      - counterparty
      type: object
    SweepCounterparty:
      additionalProperties: false
      properties:
        balanceAccountId:
          description: "The unique identifier of the destination or source [balance\
            \ account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).\n\
            \n > If you are updating the counterparty from a transfer instrument to\
            \ a balance account, set `transferInstrumentId` to **null**."
          type: string
        merchantAccount:
          description: 'The merchant account that will be the source of funds.


            You can only use this parameter with sweeps of `type` **pull** and if
            you are processing payments with Adyen.'
          type: string
        transferInstrumentId:
          description: 'The unique identifier of the destination or source [transfer
            instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id)
            depending on the sweep `type`


            . To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin)
            or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin),
            use this parameter in combination with a `merchantAccount` and a sweep
            `type` of **pull**.


            Top-up sweeps start a direct debit request from the source transfer instrument.
            Contact Adyen Support to enable this feature.> If you are updating the
            counterparty from a balance account to a transfer instrument, set `balanceAccountId`
            to **null**.'
          type: string
      type: object
    SweepSchedule:
      additionalProperties: false
      properties:
        cronExpression:
          description: "A [cron expression](https://en.wikipedia.org/wiki/Cron#CRON_expression)\
            \ that is used to set the sweep schedule. The schedule uses the time zone\
            \ of the balance account. \nFor example, **30 17 * * MON** schedules a\
            \ sweep every Monday at 17:30.\n\nThe expression must have five values\
            \ separated by a single space in the following order:\n\n* Minute: **0-59**\n\
            \n* Hour: **0-23**\n\n* Day of the month: **1-31**\n\n* Month: **1-12**\
            \ or **JAN-DEC**\n\n* Day of the week: **0-7** (0 and 7 are Sunday) or\
            \ **MON-SUN**.\n\nThe following non-standard characters are supported:\
            \ **&ast;**, **L**, **#**, **W** and **/**. See [crontab guru](https://crontab.guru/)\
            \ for more examples.\n\nRequired when `type` is **cron**.\n"
          type: string
        type:
          description: 'The schedule type.


            Possible values:


            * **cron**: push out funds based on a `cronExpression`.


            * **daily**: push out funds daily at 07:00 AM CET.


            * **weekly**: push out funds every Monday at 07:00 AM CET.


            * **monthly**: push out funds every first of the month at 07:00 AM CET.


            * **balance**: execute the sweep instantly if the `triggerAmount` is reached.

            '
          enum:
          - daily
          - weekly
          - monthly
          - balance
          - cron
          type: string
      required:
      - type
      type: object
    VerificationDeadline:
      additionalProperties: false
      properties:
        capabilities:
          description: The names of the capabilities to be disallowed.
          items:
            enum:
            - acceptExternalFunding
            - acceptPspFunding
            - acceptTransactionInRestrictedCountries
            - acceptTransactionInRestrictedCountriesCommercial
            - acceptTransactionInRestrictedCountriesConsumer
            - acceptTransactionInRestrictedIndustries
            - acceptTransactionInRestrictedIndustriesCommercial
            - acceptTransactionInRestrictedIndustriesConsumer
            - acquiring
            - atmWithdrawal
            - atmWithdrawalCommercial
            - atmWithdrawalConsumer
            - atmWithdrawalInRestrictedCountries
            - atmWithdrawalInRestrictedCountriesCommercial
            - atmWithdrawalInRestrictedCountriesConsumer
            - authorisedPaymentInstrumentUser
            - getGrantOffers
            - issueBankAccount
            - issueCard
            - issueCardCommercial
            - issueCardConsumer
            - issueChargeCard
            - issueChargeCardCommercial
            - issueCreditLimit
            - localAcceptance
            - payout
            - payoutToTransferInstrument
            - processing
            - receiveFromBalanceAccount
            - receiveFromPlatformPayments
            - receiveFromThirdParty
            - receiveFromTransferInstrument
            - receiveGrants
            - receivePayments
            - sendToBalanceAccount
            - sendToThirdParty
            - sendToTransferInstrument
            - thirdPartyFunding
            - useCard
            - useCardCommercial
            - useCardConsumer
            - useCardInRestrictedCountries
            - useCardInRestrictedCountriesCommercial
            - useCardInRestrictedCountriesConsumer
            - useCardInRestrictedIndustries
            - useCardInRestrictedIndustriesCommercial
            - useCardInRestrictedIndustriesConsumer
            - useChargeCard
            - useChargeCardCommercial
            - withdrawFromAtm
            - withdrawFromAtmCommercial
            - withdrawFromAtmConsumer
            - withdrawFromAtmInRestrictedCountries
            - withdrawFromAtmInRestrictedCountriesCommercial
            - withdrawFromAtmInRestrictedCountriesConsumer
            type: string
          type: array
        entityIds:
          description: The unique identifiers of the bank account(s) that the deadline
            applies to
          items:
            type: string
          type: array
        expiresAt:
          description: The date that verification is due by before capabilities are
            disallowed.
          format: date-time
          type: string
      required:
      - expiresAt
      - capabilities
      type: object
    VerificationError:
      additionalProperties: false
      properties:
        capabilities:
          description: Contains the capabilities that the verification error applies
            to.
          items:
            enum:
            - acceptExternalFunding
            - acceptPspFunding
            - acceptTransactionInRestrictedCountries
            - acceptTransactionInRestrictedCountriesCommercial
            - acceptTransactionInRestrictedCountriesConsumer
            - acceptTransactionInRestrictedIndustries
            - acceptTransactionInRestrictedIndustriesCommercial
            - acceptTransactionInRestrictedIndustriesConsumer
            - acquiring
            - atmWithdrawal
            - atmWithdrawalCommercial
            - atmWithdrawalConsumer
            - atmWithdrawalInRestrictedCountries
            - atmWithdrawalInRestrictedCountriesCommercial
            - atmWithdrawalInRestrictedCountriesConsumer
            - authorisedPaymentInstrumentUser
            - getGrantOffers
            - issueBankAccount
            - issueCard
            - issueCardCommercial
            - issueCardConsumer
            - issueChargeCard
            - issueChargeCardCommercial
            - issueCreditLimit
            - localAcceptance
            - payout
            - payoutToTransferInstrument
            - processing
            - receiveFromBalanceAccount
            - receiveFromPlatformPayments
            - receiveFromThirdParty
            - receiveFromTransferInstrument
            - receiveGrants
            - receivePayments
            - sendToBalanceAccount
            - sendToThirdParty
            - sendToTransferInstrument
            - thirdPartyFunding
            - useCard
            - useCardCommercial
            - useCardConsumer
            - useCardInRestrictedCountries
            - useCardInRestrictedCountriesCommercial
            - useCardInRestrictedCountriesConsumer
            - useCardInRestrictedIndustries
            - useCardInRestrictedIndustriesCommercial
            - useCardInRestrictedIndustriesConsumer
            - useChargeCard
            - useChargeCardCommercial
            - withdrawFromAtm
            - withdrawFromAtmCommercial
            - withdrawFromAtmConsumer
            - withdrawFromAtmInRestrictedCountries
            - withdrawFromAtmInRestrictedCountriesCommercial
            - withdrawFromAtmInRestrictedCountriesConsumer
            type: string
          type: array
        code:
          description: The verification error code.
          type: string
        message:
          description: A description of the error.
          type: string
        remediatingActions:
          description: Contains the actions that you can take to resolve the verification
            error.
          items:
            $ref: '#/components/schemas/RemediatingAction'
          type: array
        subErrors:
          description: Contains more granular information about the verification error.
          items:
            $ref: '#/components/schemas/VerificationError-recursive'
          type: array
        type:
          description: "The type of error.\n\n Possible values: **invalidInput**,\
            \ **dataMissing**."
          enum:
          - dataMissing
          - invalidInput
          - pendingStatus
          type: string
      type: object
    VerificationError-recursive:
      additionalProperties: false
      properties:
        capabilities:
          description: Contains the capabilities that the verification error applies
            to.
          items:
            enum:
            - acceptExternalFunding
            - acceptPspFunding
            - acceptTransactionInRestrictedCountries
            - acceptTransactionInRestrictedCountriesCommercial
            - acceptTransactionInRestrictedCountriesConsumer
            - acceptTransactionInRestrictedIndustries
            - acceptTransactionInRestrictedIndustriesCommercial
            - acceptTransactionInRestrictedIndustriesConsumer
            - acquiring
            - atmWithdrawal
            - atmWithdrawalCommercial
            - atmWithdrawalConsumer
            - atmWithdrawalInRestrictedCountries
            - atmWithdrawalInRestrictedCountriesCommercial
            - atmWithdrawalInRestrictedCountriesConsumer
            - authorisedPaymentInstrumentUser
            - getGrantOffers
            - issueBankAccount
            - issueCard
            - issueCardCommercial
            - issueCardConsumer
            - issueChargeCard
            - issueChargeCardCommercial
            - issueCreditLimit
            - localAcceptance
            - payout
            - payoutToTransferInstrument
            - processing
            - receiveFromBalanceAccount
            - receiveFromPlatformPayments
            - receiveFromThirdParty
            - receiveFromTransferInstrument
            - receiveGrants
            - receivePayments
            - sendToBalanceAccount
            - sendToThirdParty
            - sendToTransferInstrument
            - thirdPartyFunding
            - useCard
            - useCardCommercial
            - useCardConsumer
            - useCardInRestrictedCountries
            - useCardInRestrictedCountriesCommercial
            - useCardInRestrictedCountriesConsumer
            - useCardInRestrictedIndustries
            - useCardInRestrictedIndustriesCommercial
            - useCardInRestrictedIndustriesConsumer
            - useChargeCard
            - useChargeCardCommercial
            - withdrawFromAtm
            - withdrawFromAtmCommercial
            - withdrawFromAtmConsumer
            - withdrawFromAtmInRestrictedCountries
            - withdrawFromAtmInRestrictedCountriesCommercial
            - withdrawFromAtmInRestrictedCountriesConsumer
            type: string
          type: array
        code:
          description: The verification error code.
          type: string
        message:
          description: A description of the error.
          type: string
        type:
          description: "The type of error.\n\n Possible values: **invalidInput**,\
            \ **dataMissing**."
          enum:
          - dataMissing
          - invalidInput
          - pendingStatus
          type: string
        remediatingActions:
          description: Contains the actions that you can take to resolve the verification
            error.
          items:
            $ref: '#/components/schemas/RemediatingAction'
          type: array
      required: []
      type: object
  securitySchemes:
    BasicAuth:
      scheme: basic
      type: http
  examples:
    post-balancePlatform.accountHolder.created-balancePlatform-accountHolder-created:
      summary: Account holder created with LEM API v1, v2
      description: Example webhook when an account holder was created with LEM API
        v1, v2
      value:
        data:
          balancePlatform: YOUR_BALANCE_PLATFORM
          accountHolder:
            contactDetails:
              email: test@adyen.com
              phone:
                number: 0612345678
                type: Mobile
              address:
                houseNumberOrName: '23'
                city: Amsterdam
                country: NL
                postalCode: '12345'
                street: Main Street 1
            description: Shelly Eller
            legalEntityId: LE00000000000000000000001
            reference: YOUR_REFERENCE-2412C
            capabilities:
              issueCard:
                enabled: true
                requested: true
                allowed: false
                verificationStatus: pending
              receiveFromTransferInstrument:
                enabled: true
                requested: true
                allowed: false
                verificationStatus: pending
              sendToTransferInstrument:
                enabled: true
                requested: true
                allowed: false
                verificationStatus: pending
              sendToBalanceAccount:
                enabled: true
                requested: true
                allowed: false
                verificationStatus: pending
              receiveFromBalanceAccount:
                enabled: true
                requested: true
                allowed: false
                verificationStatus: pending
            id: AH00000000000000000000001
            status: Active
        environment: test
        timestamp: '2024-12-15T15:42:03+01:00'
        type: balancePlatform.accountHolder.created
    post-balancePlatform.accountHolder.created-balancePlatform-accountHolder-created-lem-v3:
      summary: Account holder created with LEM API v3
      description: Example webhook when an account holder was created with LEM API
        v3
      value:
        data:
          balancePlatform: YOUR_BALANCE_PLATFORM
          accountHolder:
            legalEntityId: LE00000000000000000000001
            reference: YOUR_REFERENCE-2412C
            capabilities:
              sendToTransferInstrument:
                enabled: true
                requested: true
                allowed: false
                problems:
                - entity:
                    id: LE00000000000000000000001
                    type: LegalEntity
                  verificationErrors:
                  - code: '2_902'
                    message: Terms Of Service forms are not accepted.
                    remediatingActions:
                    - code: '2_902'
                      message: Accept TOS
                    type: invalidInput
                - entity:
                    id: SE00000000000000000000001
                    type: BankAccount
                  verificationErrors:
                  - code: '2_8037'
                    message: '''bankStatement'' was missing.'
                    remediatingActions:
                    - code: '1_703'
                      message: Upload a bank statement
                    type: dataMissing
                - entity:
                    id: SE00000000000000000000002
                    type: BankAccount
                  verificationErrors:
                  - code: '2_8037'
                    message: '''bankStatement'' was missing.'
                    remediatingActions:
                    - code: '1_703'
                      message: Upload a bank statement
                    type: dataMissing
                - entity:
                    id: LE00000000000000000000001
                    type: LegalEntity
                  verificationErrors:
                  - code: '2_8189'
                    message: '''UBO through control'' was missing.'
                    remediatingActions:
                    - code: '2_151'
                      message: Add 'organization.entityAssociations' of type 'uboThroughControl'
                        to legal entity
                    type: dataMissing
                  - code: '1_50'
                    message: Organization details couldn't be verified
                    subErrors:
                    - code: '1_5016'
                      message: The tax ID number couldn't be verified
                      remediatingActions:
                      - code: '1_500'
                        message: Update organization details
                      - code: '1_501'
                        message: Upload a registration document
                      type: invalidInput
                    type: invalidInput
                  - code: '2_8067'
                    message: '''Signatory'' was missing.'
                    remediatingActions:
                    - code: '2_124'
                      message: Add 'organization.entityAssociations' of type 'signatory'
                        to legal entity
                    type: dataMissing
                transferInstruments:
                - enabled: true
                  requested: true
                  allowed: false
                  id: SE00000000000000000000001
                  verificationStatus: pending
                - enabled: true
                  requested: true
                  allowed: false
                  id: SE00000000000000000000002
                  verificationStatus: pending
                verificationStatus: pending
            id: AH00000000000000000000001
            status: Active
        environment: live
        timestamp: '2024-12-15T15:42:03+01:00'
        type: balancePlatform.accountHolder.created
    post-balancePlatform.accountHolder.updated-balancePlatform-accountHolder-updated:
      summary: Account holder updated with LEM API v1, v2
      description: Example webhook when an account holder was updated with LEM API
        v1, v2
      value:
        data:
          balancePlatform: YOUR_BALANCE_PLATFORM
          accountHolder:
            description: Shelly Eller
            legalEntityId: LE00000000000000000000001
            reference: YOUR_REFERENCE-2412C
            capabilities:
              sendToTransferInstrument:
                enabled: true
                requested: true
                allowed: false
                problems:
                - entity:
                    id: LE00000000000000000000001
                    type: BankAccount
                  verificationErrors:
                  - code: '2_8037'
                    message: '''bankStatement'' was missing.'
                    remediatingActions:
                    - code: '1_703'
                      message: Upload a bank statement
                    type: dataMissing
                verificationStatus: invalid
            id: AH00000000000000000000001
            status: Active
        environment: test
        timestamp: '2024-12-15T15:42:03+01:00'
        type: balancePlatform.accountHolder.updated
    post-balancePlatform.accountHolder.updated-balancePlatform-accountHolder-updated-lem-v3:
      summary: Account holder updated with LEM API v3
      description: Example webhook when an account holder was updated with LEM API
        v3
      value:
        data:
          balancePlatform: YOUR_BALANCE_PLATFORM
          accountHolder:
            legalEntityId: LE00000000000000000000001
            reference: YOUR_REFERENCE-2412C
            capabilities:
              sendToTransferInstrument:
                enabled: true
                requested: true
                allowed: false
                problems:
                - entity:
                    id: LE00000000000000000000001
                    type: LegalEntity
                  verificationErrors:
                  - code: '2_902'
                    message: Terms Of Service forms are not accepted.
                    remediatingActions:
                    - code: '2_902'
                      message: Accept TOS
                    type: invalidInput
                - entity:
                    id: SE00000000000000000000001
                    type: BankAccount
                  verificationErrors:
                  - code: '2_8037'
                    message: '''bankStatement'' was missing.'
                    remediatingActions:
                    - code: '1_703'
                      message: Upload a bank statement
                    type: dataMissing
                - entity:
                    id: SE00000000000000000000002
                    type: BankAccount
                  verificationErrors:
                  - code: '2_8037'
                    message: '''bankStatement'' was missing.'
                    remediatingActions:
                    - code: '1_703'
                      message: Upload a bank statement
                    type: dataMissing
                - entity:
                    id: LE00000000000000000000001
                    type: LegalEntity
                  verificationErrors:
                  - code: '2_8189'
                    message: '''UBO through control'' was missing.'
                    remediatingActions:
                    - code: '2_151'
                      message: Add 'organization.entityAssociations' of type 'uboThroughControl'
                        to legal entity
                    type: dataMissing
                  - code: '1_50'
                    message: Organization details couldn't be verified
                    subErrors:
                    - code: '1_5016'
                      message: The tax ID number couldn't be verified
                      remediatingActions:
                      - code: '1_500'
                        message: Update organization details
                      - code: '1_501'
                        message: Upload a registration document
                      type: invalidInput
                    type: invalidInput
                  - code: '2_8067'
                    message: '''Signatory'' was missing.'
                    remediatingActions:
                    - code: '2_124'
                      message: Add 'organization.entityAssociations' of type 'signatory'
                        to legal entity
                    type: dataMissing
                transferInstruments:
                - enabled: true
                  requested: true
                  allowed: false
                  id: SE00000000000000000000001
                  verificationStatus: pending
                - enabled: true
                  requested: true
                  allowed: false
                  id: SE00000000000000000000002
                  verificationStatus: pending
                verificationStatus: pending
            id: AH00000000000000000000001
            status: Active
        environment: live
        timestamp: '2024-12-15T15:42:03+01:00'
        type: balancePlatform.accountHolder.updated
    post-balancePlatform.balanceAccount.created-balancePlatform-balanceAccount-created:
      summary: Balance account created
      description: Example webhook when a balance account was created
      value:
        data:
          balancePlatform: YOUR_BALANCE_PLATFORM
          balanceAccount:
            accountHolderId: AH00000000000000000001
            defaultCurrencyCode: EUR
            id: BA00000000000000000001
            status: Active
        environment: test
        timestamp: '2024-12-15T15:42:03+01:00'
        type: balancePlatform.balanceAccount.created
    post-balancePlatform.balanceAccount.updated-balancePlatform-balanceAccount-updated:
      summary: Balance account updated
      description: Example webhook when a balance account was updated
      value:
        data:
          balancePlatform: YOUR_BALANCE_PLATFORM
          balanceAccount:
            accountHolderId: AH00000000000000000001
            defaultCurrencyCode: EUR
            id: BA00000000000000000001
            status: Active
            timeZone: Europe/Amsterdam
        environment: test
        timestamp: '2024-12-15T15:42:03+01:00'
        type: balancePlatform.balanceAccount.updated
    post-balancePlatform.balanceAccountSweep.created-balancePlatform-sweep-created:
      summary: Sweep created
      description: Example webhook when a sweep was created
      value:
        data:
          balancePlatform: YOUR_BALANCE_PLATFORM
          accountId: BA00000000000000000001
          sweep:
            id: SWPC4227C224555B5FTD2NT2JV4WN5
            schedule:
              type: weekly
            status: active
            targetAmount:
              currency: EUR
              value: 0
            triggerAmount:
              currency: EUR
              value: 0
            type: push
            counterparty:
              balanceAccountId: BA00000000000000000002
            currency: EUR
        environment: test
        timestamp: '2024-12-15T15:42:03+01:00'
        type: balancePlatform.balanceAccountSweep.created
    post-balancePlatform.balanceAccountSweep.deleted-balancePlatform-sweep-deleted:
      summary: Sweep deleted
      description: Example webhook when a sweep was deleted
      value:
        data:
          balancePlatform: YOUR_BALANCE_PLATFORM
          accountId: BA00000000000000000001
          sweep:
            id: SWPC4227C224555B5FTD2NT2JV4WN5
            schedule:
              type: weekly
            status: active
            targetAmount:
              currency: EUR
              value: 0
            triggerAmount:
              currency: EUR
              value: 0
            type: push
            counterparty:
              balanceAccountId: BA00000000000000000002
            currency: EUR
        environment: test
        timestamp: '2024-12-15T15:42:03+01:00'
        type: balancePlatform.balanceAccountSweep.deleted
    post-balancePlatform.balanceAccountSweep.updated-balancePlatform-sweep-updated:
      summary: Sweep updated
      description: Example webhook when a sweep was updated
      value:
        data:
          balancePlatform: YOUR_BALANCE_PLATFORM
          accountId: BA00000000000000000001
          sweep:
            id: SWPC4227C224555B5FTD2NT2JV4WN5
            schedule:
              type: weekly
            status: inactive
            targetAmount:
              currency: EUR
              value: 0
            triggerAmount:
              currency: EUR
              value: 0
            type: push
            counterparty:
              balanceAccountId: BA00000000000000000002
            currency: EUR
        environment: test
        timestamp: '2024-12-15T15:42:03+01:00'
        type: balancePlatform.balanceAccountSweep.created
    post-balancePlatform.paymentInstrument.created-balancePlatform-paymentInstrument-created:
      summary: Card created
      description: Example webhook when a card was created
      value:
        data:
          balancePlatform: YOUR_BALANCE_PLATFORM
          paymentInstrument:
            balanceAccountId: BA00000000000000000001
            description: C. Holden - card
            issuingCountryCode: GB
            status: Active
            type: card
            card:
              cardholderName: Carl Holden
              formFactor: virtual
              brand: mc
              brandVariant: mc
              number: '4010100000000000000'
              bin: '555544'
              expiration:
                month: '04'
                year: '2024'
              lastFour: '2732'
            id: PI00000000000000000001
        environment: test
        timestamp: '2024-12-15T15:42:03+01:00'
        type: balancePlatform.paymentInstrument.created
    post-balancePlatform.paymentInstrument.updated-balancePlatform-paymentInstrument-updated:
      summary: Card updated
      description: Example webhook when a card was updated
      value:
        data:
          balancePlatform: YOUR_BALANCE_PLATFORM
          paymentInstrument:
            balanceAccountId: BA00000000000000000001
            description: C. Holden - card
            issuingCountryCode: GB
            status: Suspended
            type: card
            card:
              cardholderName: Carl Holden
              formFactor: virtual
              brand: mc
              brandVariant: mc
              number: '4010100000000000000'
              bin: '555544'
              expiration:
                month: '04'
                year: '2024'
              lastFour: '2732'
            id: PI00000000000000000001
        environment: test
        timestamp: '2024-12-15T15:42:03+01:00'
        type: balancePlatform.paymentInstrument.updated
