openapi: 3.1.0
info:
  version: '3'
  x-publicVersion: true
  title: Accounting notifications
  description: 'Adyen sends notifications through webhooks to inform your system about
    incoming and outgoing transfers in your platform.


    You can use these webhooks to build your implementation. For example, you can
    use this information to update balances in your own dashboards or to keep track
    of incoming funds.'
  x-timestamp: '2023-02-10T11:25:40Z'
  termsOfService: https://www.adyen.com/legal/terms-and-conditions
  contact:
    name: Adyen Developer Experience team
    url: https://www.adyen.help/hc/en-us/community/topics
    email: developer-experience@adyen.com
x-groups:
- General
tags: []
x-staticResponse: response.json
webhooks:
  balancePlatform.transfer.created:
    post:
      tags:
      - General
      summary: Transfer created
      description: Adyen sends this webhook when there are fund movements on your
        platform.
      x-addedInVersion: '1'
      operationId: post-balancePlatform.transfer.created
      x-groupName: General
      x-sortIndex: 0
      x-methodName: transferCreated
      security:
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            examples:
              balancePlatform-transfer-created:
                $ref: '#/components/examples/post-balancePlatform.transfer.created-balancePlatform-transfer-created'
            schema:
              $ref: '#/components/schemas/TransferNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              examples:
                balancePlatform-transfer-created:
                  $ref: '#/components/examples/WebhookAck'
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
  balancePlatform.transfer.updated:
    post:
      tags:
      - General
      summary: Transfer updated
      description: "Adyen sends this webhook when the status of a transfer changes.\
        \ Use the `data.id` to track the original transfer resource in the [balancePlatform.transfer.created](https://docs.adyen.com/api-explorer/accounting-webhooks/1/post/balancePlatform.transfer.created)\
        \ webhook.\n\nThe `status` field indicates the event that triggered the webhook.\
        \ \n\n"
      x-addedInVersion: '1'
      operationId: post-balancePlatform.transfer.updated
      x-groupName: General
      x-sortIndex: 0
      x-methodName: transferUpdated
      security:
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            examples:
              balancePlatform-transfer-updated:
                $ref: '#/components/examples/post-balancePlatform.transfer.updated-balancePlatform-transfer-updated'
            schema:
              $ref: '#/components/schemas/TransferNotificationRequest'
      responses:
        '200':
          content:
            application/json:
              examples:
                balancePlatform-transfer-updated:
                  $ref: '#/components/examples/WebhookAck'
              schema:
                $ref: '#/components/schemas/BalancePlatformNotificationResponse'
          description: OK - the request has succeeded.
components:
  schemas:
    AULocalAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: The bank account number, without separators or whitespace.
          maxLength: 9
          minLength: 5
          type: string
        bsbCode:
          description: The 6-digit [Bank State Branch (BSB) code](https://en.wikipedia.org/wiki/Bank_state_branch),
            without separators or whitespace.
          maxLength: 6
          minLength: 6
          type: string
        type:
          default: auLocal
          description: '**auLocal**'
          enum:
          - auLocal
          type: string
      required:
      - type
      - accountNumber
      - bsbCode
    AdditionalBankIdentification:
      properties:
        code:
          description: The value of the additional bank identification.
          type: string
        type:
          description: "The type of additional bank identification, depending on the\
            \ country.\n\nPossible values:\n\n * **gbSortCode**: The 6-digit [UK sort\
            \ code](https://en.wikipedia.org/wiki/Sort_code), without separators or\
            \ spaces\n * **usRoutingNumber**: The 9-digit [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number),\
            \ without separators or spaces."
          enum:
          - gbSortCode
          - usRoutingNumber
          type: string
    Address-2:
      properties:
        city:
          description: The name of the city.
          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
        line1:
          description: First line of the street address.
          type: string
        line2:
          description: Second line of the street address.
          type: string
        postalCode:
          description: 'The postal code.

            Maximum length:

            * 5 digits for an address in the US.

            * 10 characters for an address in all other countries.'
          type: string
        stateOrProvince:
          description: 'The two-letter 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
      required:
      - country
    Amount:
      properties:
        currency:
          description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
          maxLength: 3
          minLength: 3
          type: string
        value:
          description: The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
          format: int64
          type: integer
      required:
      - value
      - currency
    AmountAdjustment:
      properties:
        amount:
          x-addedInVersion: '3'
          description: The adjustment amount.
          $ref: '#/components/schemas/Amount'
        amountAdjustmentType:
          x-addedInVersion: '3'
          description: 'The type of markup that is applied to an authorised payment.


            Possible values: **exchange**, **forexMarkup**, **authHoldReserve**, **atmMarkup**.'
          enum:
          - atmMarkup
          - authHoldReserve
          - exchange
          - forexMarkup
          type: string
        basepoints:
          x-addedInVersion: '3'
          description: The basepoints associated with the applied markup.
          format: int32
          type: integer
    BRLocalAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: The bank account number (without separators or whitespace).
          maxLength: 10
          minLength: 1
          type: string
        bankCode:
          description: The 3-digit Brazilian bank code (with leading zeros).
          maxLength: 3
          minLength: 3
          type: string
        branchNumber:
          description: The bank account branch number (without separators or whitespace).
          maxLength: 4
          minLength: 1
          type: string
        type:
          default: brLocal
          description: '**brLocal**'
          enum:
          - brLocal
          type: string
      required:
      - type
      - branchNumber
      - accountNumber
      - bankCode
    BalanceMutation:
      properties:
        balance:
          x-addedInVersion: '3'
          description: The amount in the payment's currency that is debited or credited
            on the balance accounting register.
          format: int64
          type: integer
        currency:
          x-addedInVersion: '3'
          description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
          type: string
        received:
          x-addedInVersion: '3'
          description: The amount in the payment's currency that is debited or credited
            on the received accounting register.
          format: int64
          type: integer
        reserved:
          x-addedInVersion: '3'
          description: The amount in the payment's currency that is debited or credited
            on the reserved accounting register.
          format: int64
          type: integer
    BalancePlatformNotificationResponse:
      properties:
        notificationResponse:
          description: Respond with **HTTP 200 OK** and `[accepted]` in the response
            body to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications).
          type: string
    BankAccountV3:
      properties:
        accountHolder:
          description: Information about the owner of the bank account.
          $ref: '#/components/schemas/PartyIdentification-2'
        accountIdentification:
          description: Contains the bank account details. The fields required in this
            object depend on the country of the bank account and the currency of the
            transfer.
          oneOf:
          - $ref: '#/components/schemas/AULocalAccountIdentification'
          - $ref: '#/components/schemas/BRLocalAccountIdentification'
          - $ref: '#/components/schemas/CALocalAccountIdentification'
          - $ref: '#/components/schemas/CZLocalAccountIdentification'
          - $ref: '#/components/schemas/DKLocalAccountIdentification'
          - $ref: '#/components/schemas/HULocalAccountIdentification'
          - $ref: '#/components/schemas/IbanAccountIdentification'
          - $ref: '#/components/schemas/NOLocalAccountIdentification'
          - $ref: '#/components/schemas/NumberAndBicAccountIdentification'
          - $ref: '#/components/schemas/PLLocalAccountIdentification'
          - $ref: '#/components/schemas/SELocalAccountIdentification'
          - $ref: '#/components/schemas/SGLocalAccountIdentification'
          - $ref: '#/components/schemas/UKLocalAccountIdentification'
          - $ref: '#/components/schemas/USLocalAccountIdentification'
      required:
      - accountIdentification
      - accountHolder
    CALocalAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: The 5- to 12-digit bank account number, without separators
            or whitespace.
          maxLength: 12
          minLength: 5
          type: string
        institutionNumber:
          description: The 3-digit institution number, without separators or whitespace.
          maxLength: 3
          minLength: 3
          type: string
        transitNumber:
          description: The 5-digit transit number, without separators or whitespace.
          maxLength: 5
          minLength: 5
          type: string
        type:
          default: caLocal
          description: '**caLocal**'
          enum:
          - caLocal
          type: string
      required:
      - type
      - accountNumber
      - institutionNumber
      - transitNumber
    CZLocalAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: "The 2- to 16-digit bank account number (\u010C\xEDslo \xFA\
            \u010Dtu) in the following format:\n\n- The optional prefix (p\u0159ed\u010D\
            \xEDsl\xED).\n\n- The required second part (z\xE1kladn\xED \u010D\xE1\
            st) which must be at least two non-zero digits.\n\nExamples:\n\n- **19-123457**\
            \ (with prefix)\n\n- **123457** (without prefix)\n\n- **000019-0000123457**\
            \ (with prefix, normalized)\n\n- **000000-0000123457** (without prefix,\
            \ normalized)"
          maxLength: 17
          minLength: 2
          type: string
        bankCode:
          description: "The 4-digit bank code (K\xF3d banky), without separators or\
            \ whitespace."
          maxLength: 4
          minLength: 4
          type: string
        type:
          default: czLocal
          description: '**czLocal**'
          enum:
          - czLocal
          type: string
      required:
      - type
      - accountNumber
      - bankCode
    CounterpartyV3:
      properties:
        balanceAccountId:
          description: Unique identifier of the [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).
          type: string
        bankAccount:
          description: Contains information about the bank account.
          $ref: '#/components/schemas/BankAccountV3'
        merchant:
          description: Contains information about the merchant.
          $ref: '#/components/schemas/MerchantData'
        transferInstrumentId:
          description: Unique identifier of the [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id).
          type: string
    DKLocalAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: The 4-10 digits bank account number (Kontonummer) (without
            separators or whitespace).
          maxLength: 10
          minLength: 4
          type: string
        bankCode:
          description: The 4-digit bank code (Registreringsnummer) (without separators
            or whitespace).
          maxLength: 4
          minLength: 4
          type: string
        type:
          default: dkLocal
          description: '**dkLocal**'
          enum:
          - dkLocal
          type: string
      required:
      - type
      - accountNumber
      - bankCode
    HULocalAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: The 24-digit bank account number, without separators or whitespace.
          maxLength: 24
          minLength: 24
          type: string
        type:
          default: huLocal
          description: '**huLocal**'
          enum:
          - huLocal
          type: string
      required:
      - type
      - accountNumber
    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
    MerchantData:
      properties:
        mcc:
          description: The merchant category code.
          type: string
        merchantId:
          description: The merchant identifier.
          type: string
        nameLocation:
          description: Contains the merchant's name and location.
          $ref: '#/components/schemas/NameLocation'
        postalCode:
          description: The merchant postal code.
          type: string
    NOLocalAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: The 11-digit bank account number, without separators or whitespace.
          maxLength: 11
          minLength: 11
          type: string
        type:
          default: noLocal
          description: '**noLocal**'
          enum:
          - noLocal
          type: string
      required:
      - type
      - accountNumber
    NameLocation:
      properties:
        city:
          description: The city where the merchant is located.
          type: string
        country:
          description: The country where the merchant is located in [three-letter
            country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) format.
          type: string
        countryOfOrigin:
          description: The home country in [three-digit country code](https://en.wikipedia.org/wiki/ISO_3166-1_numeric)
            format, used for government-controlled merchants such as embassies.
          type: string
        name:
          description: The name of the merchant's shop or service.
          type: string
        rawData:
          description: The raw data.
          type: string
        state:
          description: The state where the merchant is located.
          type: string
    NumberAndBicAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: The bank account number, without separators or whitespace.
            The length and format depends on the bank or country.
          maxLength: 34
          type: string
        additionalBankIdentification:
          description: Additional identification codes of the bank. Some banks may
            require these identifiers for cross-border transfers.
          $ref: '#/components/schemas/AdditionalBankIdentification'
        bic:
          description: The bank's 8- or 11-character BIC or SWIFT code.
          maxLength: 11
          minLength: 8
          type: string
        type:
          default: numberAndBic
          description: '**numberAndBic**'
          enum:
          - numberAndBic
          type: string
      required:
      - type
      - accountNumber
      - bic
    PLLocalAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: The 26-digit bank account number ([Numer rachunku](https://pl.wikipedia.org/wiki/Numer_Rachunku_Bankowego)),
            without separators or whitespace.
          maxLength: 26
          minLength: 26
          type: string
        type:
          default: plLocal
          description: '**plLocal**'
          enum:
          - plLocal
          type: string
      required:
      - type
      - accountNumber
    PartyIdentification-2:
      properties:
        address:
          description: Address of the bank account owner.
          $ref: '#/components/schemas/Address-2'
        firstName:
          description: First name of the individual. Required when `type` is **individual**.
          type: string
        fullName:
          description: The name of the entity.
          type: string
        lastName:
          description: Last name of the individual. Required when `type` is **individual**.
          type: string
        type:
          default: unknown
          description: "The type of entity that owns the bank account.\n\n Possible\
            \ values: **individual**, **organization**, or **unknown**."
          enum:
          - individual
          - organization
          - unknown
          type: string
      required:
      - fullName
    PaymentInstrument:
      properties:
        description:
          description: The description of the resource.
          type: string
        id:
          description: The unique identifier of the resource.
          type: string
        reference:
          description: The reference for the resource.
          type: string
        tokenType:
          x-addedInVersion: '3'
          description: The type of wallet the network token is associated with.
          type: string
    RelayedAuthorisationData-2:
      properties:
        metadata:
          x-addedInVersion: '3'
          additionalProperties:
            type: string
          description: Contains key-value pairs of your references and descriptions,
            for example, `customId`:`your-own-custom-field-12345`.
          type: object
        reference:
          x-addedInVersion: '3'
          description: Your reference for the relayed authorisation data.
          type: string
    Resource:
      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
    ResourceReference:
      properties:
        description:
          description: The description of the resource.
          type: string
        id:
          description: The unique identifier of the resource.
          type: string
        reference:
          description: The reference for the resource.
          type: string
    SELocalAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: The 7- to 10-digit bank account number ([Bankkontonummer](https://sv.wikipedia.org/wiki/Bankkonto)),
            without the clearing number, separators, or whitespace.
          maxLength: 10
          minLength: 7
          type: string
        clearingNumber:
          description: The 4- to 5-digit clearing number ([Clearingnummer](https://sv.wikipedia.org/wiki/Clearingnummer)),
            without separators or whitespace.
          maxLength: 5
          minLength: 4
          type: string
        type:
          default: seLocal
          description: '**seLocal**'
          enum:
          - seLocal
          type: string
      required:
      - type
      - accountNumber
      - clearingNumber
    SGLocalAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: The 4- to 19-digit bank account number, without separators
            or whitespace.
          maxLength: 19
          minLength: 4
          type: string
        bic:
          description: The bank's 8- or 11-character BIC or SWIFT code.
          maxLength: 11
          minLength: 8
          type: string
        type:
          default: sgLocal
          description: '**sgLocal**'
          enum:
          - sgLocal
          type: string
      required:
      - accountNumber
      - bic
    TransactionEventViolation:
      properties:
        reason:
          description: An explanation about why the transaction rule failed.
          type: string
        transactionRule:
          description: Contains information about the transaction rule.
          $ref: '#/components/schemas/TransactionRuleReference'
        transactionRuleSource:
          description: Contains the type and ID of the resource to which the transaction
            rule is linked.
          $ref: '#/components/schemas/TransactionRuleSource'
    TransactionRuleReference:
      properties:
        description:
          description: The description of the resource.
          type: string
        id:
          description: The unique identifier of the resource.
          type: string
        reference:
          description: The reference for the resource.
          type: string
    TransactionRuleSource:
      properties:
        id:
          description: ID of the resource, when applicable.
          type: string
        type:
          description: "Indicates the type of resource for which the transaction rule\
            \ is defined.\n\nPossible values:\n\n * **PaymentInstrumentGroup**\n\n\
            * **PaymentInstrument**\n\n* **BalancePlatform**\n\n* **EntityUsageConfiguration**\n\
            \n* **PlatformRule**: The transaction rule is a platform-wide rule imposed\
            \ by Adyen."
          type: string
    TransactionRulesResult:
      properties:
        advice:
          description: The advice given by the Risk analysis.
          type: string
        allRulesPassed:
          description: Indicates whether the transaction passed the evaluation for
            all transaction rules.
          type: boolean
        failedTransactionRules:
          description: Array containing all the transaction rules that the transaction
            violated. This list is only sent when `allRulesPassed` is **false**.
          items:
            $ref: '#/components/schemas/TransactionEventViolation'
          type: array
        score:
          description: The score of the Risk analysis.
          format: int32
          type: integer
    TransferEvent:
      properties:
        amountAdjustments:
          x-addedInVersion: '3'
          description: The amount adjustments in this transfer.
          items:
            $ref: '#/components/schemas/AmountAdjustment'
          type: array
        bookingDate:
          x-addedInVersion: '3'
          description: The date when the transfer request was sent.
          format: date-time
          type: string
        id:
          x-addedInVersion: '3'
          description: The unique identifier of the transfer event.
          type: string
        mutations:
          x-addedInVersion: '3'
          description: The list of the balance mutation per event.
          items:
            $ref: '#/components/schemas/BalanceMutation'
          type: array
        originalAmount:
          x-addedInVersion: '3'
          description: The amount in the original currency.
          $ref: '#/components/schemas/Amount'
        reason:
          x-addedInVersion: '3'
          description: The reason for the transfer status.
          enum:
          - amountLimitExceded
          - approved
          - counterpartyAccountBlocked
          - counterpartyAccountClosed
          - counterpartyAccountNotFound
          - counterpartyAddressRequired
          - counterpartyBankTimedOut
          - counterpartyBankUnavailable
          - error
          - notEnoughBalance
          - refusedByCounterpartyBank
          - routeNotFound
          - unknown
          type: string
        status:
          x-addedInVersion: '3'
          description: The status of the transfer event.
          enum:
          - atmWithdrawal
          - atmWithdrawalReversalPending
          - atmWithdrawalReversed
          - authAdjustmentAuthorised
          - authAdjustmentError
          - authAdjustmentRefused
          - authorised
          - bankTransfer
          - bankTransferPending
          - booked
          - bookingPending
          - cancelled
          - capturePending
          - captureReversalPending
          - captureReversed
          - captured
          - chargeback
          - chargebackPending
          - chargebackReversalPending
          - chargebackReversed
          - credited
          - depositCorrection
          - depositCorrectionPending
          - dispute
          - disputeClosed
          - disputeExpired
          - disputeNeedsReview
          - error
          - expired
          - failed
          - fee
          - feePending
          - internalTransfer
          - internalTransferPending
          - invoiceDeduction
          - invoiceDeductionPending
          - manualCorrectionPending
          - manuallyCorrected
          - matchedStatement
          - matchedStatementPending
          - merchantPayin
          - merchantPayinPending
          - merchantPayinReversed
          - merchantPayinReversedPending
          - miscCost
          - miscCostPending
          - paymentCost
          - paymentCostPending
          - received
          - refundPending
          - refundReversalPending
          - refundReversed
          - refunded
          - refused
          - reserveAdjustment
          - reserveAdjustmentPending
          - returned
          - secondChargeback
          - secondChargebackPending
          - undefined
          type: string
        transactionId:
          x-addedInVersion: '3'
          description: The id of the transaction that is related to this accounting
            event. Only sent for events of type **accounting** where the balance changes.
          type: string
        type:
          x-addedInVersion: '3'
          description: 'The type of the transfer event. Possible values: **accounting**,
            **tracking**.'
          enum:
          - accounting
          - tracking
          type: string
        updateDate:
          x-addedInVersion: '3'
          description: The date when the tracking status was updated.
          format: date-time
          type: string
        valueDate:
          x-addedInVersion: '3'
          description: A future date, when the funds are expected to be deducted from
            or credited to the balance account.
          format: date-time
          type: string
    TransferNotificationData:
      properties:
        accountHolder:
          x-addedInVersion: '3'
          description: The account holder associated with the balance account used
            in the transfer.
          $ref: '#/components/schemas/ResourceReference'
        amount:
          x-addedInVersion: '1'
          description: The amount of the transfer.
          $ref: '#/components/schemas/Amount'
        balanceAccount:
          x-addedInVersion: '3'
          description: Contains information about the balance account involved in
            the transfer.
          $ref: '#/components/schemas/ResourceReference'
        balanceAccountId:
          x-addedInVersion: '3'
          deprecated: true
          x-deprecatedInVersion: '3'
          x-deprecatedMessage: Use the [id](https://docs.adyen.com/api-explorer/accounting-webhooks/latest/post/balancePlatform.transfer.created#request-data-balanceAccount-id)
            in the `balanceAccount` object instead.
          description: The unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).
          type: string
        balances:
          x-addedInVersion: '3'
          description: The list of the latest balance statuses in the transfer.
          items:
            $ref: '#/components/schemas/BalanceMutation'
          type: array
        category:
          x-addedInVersion: '3'
          description: "The type of transfer.\n\nPossible values:\n\n - **bank**:\
            \ Transfer to a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id)\
            \ or a bank account.\n\n- **internal**: Transfer to another [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id)\
            \ within your platform.\n\n- **issuedCard**: Transfer initiated by a Adyen-issued\
            \ card.\n\n- **platformPayment**: Fund movements related to payments that\
            \ are acquired for your users."
          enum:
          - bank
          - internal
          - issuedCard
          - platformPayment
          type: string
        counterparty:
          x-addedInVersion: '3'
          description: The other party in the transfer.
          $ref: '#/components/schemas/CounterpartyV3'
        description:
          x-addedInVersion: '1'
          description: A human-readable description for the transfer. You can use
            alphanumeric characters and hyphens. We recommend sending a maximum of
            140 characters, otherwise the description may be truncated.
          type: string
        direction:
          x-addedInVersion: '2'
          description: 'The direction of the transfer.


            Possible values: **incoming**, **outgoing**.'
          enum:
          - incoming
          - outgoing
          type: string
        events:
          x-addedInVersion: '3'
          description: The list of events leading up to the current status of the
            transfer.
          items:
            $ref: '#/components/schemas/TransferEvent'
          type: array
        id:
          description: The ID of the resource.
          type: string
        modificationMerchantReference:
          x-addedInVersion: '3'
          description: The capture's merchant reference included in the transfer.
          type: string
        modificationPspReference:
          x-addedInVersion: '3'
          description: The capture reference included in the transfer.
          type: string
        panEntryMode:
          x-addedInVersion: '3'
          description: 'Indicates the method used for entering the PAN to initiate
            a transaction.


            Possible values: **manual**, **chip**, **magstripe**, **contactless**,
            **cof**, **ecommerce**, **token**.'
          enum:
          - chip
          - cof
          - contactless
          - ecommerce
          - magstripe
          - manual
          - token
          type: string
        paymentInstrument:
          x-addedInVersion: '3'
          description: Contains information about the payment instrument used in the
            transfer.
          $ref: '#/components/schemas/PaymentInstrument'
        paymentInstrumentId:
          description: The unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments__resParam_id).
          type: string
        paymentMerchantReference:
          x-addedInVersion: '3'
          description: The payment's merchant reference included in the transfer.
          type: string
        priority:
          x-addedInVersion: '3'
          description: 'The priority for the bank transfer. This sets the speed at
            which the transfer is sent and the fees that you have to pay. Required
            for transfers with `category` **bank**.


            Possible values:


            * **regular**: For normal, low-value transactions.


            * **fast**: Faster way to transfer funds but has higher fees. Recommended
            for high-priority, low-value transactions.


            * **wire**: Fastest way to transfer funds but has the highest fees. Recommended
            for high-priority, high-value transactions.


            * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html)


            .* **crossBorder**: High value transfer to receipt in a different country. '
          enum:
          - crossBorder
          - directDebit
          - fast
          - instant
          - regular
          - wire
          type: string
        processingType:
          x-addedInVersion: '3'
          description: Contains information about how the payment was processed. For
            example, **ecommerce** for online or **pos** for in-person payments.
          enum:
          - atmWithdraw
          - balanceInquiry
          - ecommerce
          - moto
          - pos
          - purchaseWithCashback
          - recurring
          - token
          type: string
        pspPaymentReference:
          x-addedInVersion: '3'
          description: The payment reference included in the transfer.
          type: string
        reason:
          x-addedInVersion: '2'
          description: Additional information about the status of the transfer.
          enum:
          - amountLimitExceded
          - approved
          - counterpartyAccountBlocked
          - counterpartyAccountClosed
          - counterpartyAccountNotFound
          - counterpartyAddressRequired
          - counterpartyBankTimedOut
          - counterpartyBankUnavailable
          - error
          - notEnoughBalance
          - refusedByCounterpartyBank
          - routeNotFound
          - unknown
          type: string
        reference:
          x-addedInVersion: '2'
          description: Your reference for the transfer, used internally within your
            platform. If you don't provide this in the request, Adyen generates a
            unique reference.
          maxLength: 80
          type: string
        referenceForBeneficiary:
          x-addedInVersion: '2'
          description: " A reference that is sent to the recipient. This reference\
            \ is also sent in all notification webhooks related to the transfer, so\
            \ you can use it to track statuses for both the source and recipient of\
            \ funds.\n\n Supported characters: **a-z**, **A-Z**, **0-9**. The maximum\
            \ length depends on the `category`.\n\n- **internal**: 80 characters\n\
            \n- **bank**: 35 characters when transferring to an IBAN, 15 characters\
            \ for others."
          maxLength: 80
          type: string
        relayedAuthorisationData:
          x-addedInVersion: '3'
          description: If you are using relayed authorisation, this object contains
            information from the relayed authorisation response from your server.
          $ref: '#/components/schemas/RelayedAuthorisationData-2'
        sequenceNumber:
          x-addedInVersion: '3'
          description: 'The sequence number of the transfer notification. The numbers
            start from 1 and increase with each new notification for a specific transfer.


            It can help you restore the correct sequence of events even if they arrive
            out of order.'
          format: int32
          type: integer
        status:
          x-addedInVersion: '2'
          description: "The result of the transfer.\n\n For example, **authorised**,\
            \ **refused**, or **error**."
          enum:
          - atmWithdrawal
          - atmWithdrawalReversalPending
          - atmWithdrawalReversed
          - authAdjustmentAuthorised
          - authAdjustmentError
          - authAdjustmentRefused
          - authorised
          - bankTransfer
          - bankTransferPending
          - booked
          - bookingPending
          - cancelled
          - capturePending
          - captureReversalPending
          - captureReversed
          - captured
          - chargeback
          - chargebackPending
          - chargebackReversalPending
          - chargebackReversed
          - credited
          - depositCorrection
          - depositCorrectionPending
          - dispute
          - disputeClosed
          - disputeExpired
          - disputeNeedsReview
          - error
          - expired
          - failed
          - fee
          - feePending
          - internalTransfer
          - internalTransferPending
          - invoiceDeduction
          - invoiceDeductionPending
          - manualCorrectionPending
          - manuallyCorrected
          - matchedStatement
          - matchedStatementPending
          - merchantPayin
          - merchantPayinPending
          - merchantPayinReversed
          - merchantPayinReversedPending
          - miscCost
          - miscCostPending
          - paymentCost
          - paymentCostPending
          - received
          - refundPending
          - refundReversalPending
          - refundReversed
          - refunded
          - refused
          - reserveAdjustment
          - reserveAdjustmentPending
          - returned
          - secondChargeback
          - secondChargebackPending
          - undefined
          type: string
        tracking:
          x-addedInVersion: '3'
          description: The tracking information for the transfer.
          $ref: '#/components/schemas/TransferNotificationTransferTracking'
        transactionId:
          x-addedInVersion: '3'
          deprecated: true
          x-deprecatedInVersion: '3'
          x-deprecatedMessage: Use the [transactionId](https://docs.adyen.com/api-explorer/accounting-webhooks/latest/post/balancePlatform.transfer.created#request-data-events-transactionId)
            in the `events` array instead.
          description: The ID of the transaction that is created based on the transfer.
          type: string
        transactionRulesResult:
          x-addedInVersion: '3'
          description: Contains the results of the evaluation of the transaction rules.
          $ref: '#/components/schemas/TransactionRulesResult'
        type:
          x-addedInVersion: '3'
          description: The type of transfer or transaction. For example, **refund**,
            **payment**, **internalTransfer**, **bankTransfer**.
          enum:
          - atmWithdrawal
          - atmWithdrawalReversal
          - balanceAdjustment
          - balanceRollover
          - bankTransfer
          - capture
          - captureReversal
          - chargeback
          - chargebackReversal
          - depositCorrection
          - fee
          - grant
          - installment
          - installmentReversal
          - internalTransfer
          - invoiceDeduction
          - leftover
          - manualCorrection
          - miscCost
          - payment
          - paymentCost
          - refund
          - refundReversal
          - repayment
          - reserveAdjustment
          - secondChargeback
          type: string
        validationFacts:
          x-addedInVersion: '3'
          description: The evaluation of the validation facts. See [validation checks](https://docs.adyen.com/issuing/validation-checks)
            for more information.
          items:
            $ref: '#/components/schemas/TransferNotificationValidationFact'
          type: array
      required:
      - category
      - amount
      - counterparty
      - status
    TransferNotificationRequest:
      properties:
        data:
          description: Contains details about the event.
          $ref: '#/components/schemas/TransferNotificationData'
        environment:
          description: 'The environment from which the webhook originated.


            Possible values: **test**, **live**.'
          type: string
        type:
          description: The type of the notification.
          enum:
          - balancePlatform.transfer.created
          - balancePlatform.transfer.updated
          type: string
      required:
      - environment
      - data
    TransferNotificationTransferTracking:
      properties:
        status:
          x-addedInVersion: '3'
          description: The tracking status of the transfer.
          enum:
          - credited
          type: string
    TransferNotificationValidationFact:
      properties:
        result:
          description: The evaluation result of the validation fact.
          type: string
        type:
          description: The type of the validation fact.
          type: string
    UKLocalAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: The 8-digit bank account number, without separators or whitespace.
          maxLength: 8
          minLength: 8
          type: string
        sortCode:
          description: The 6-digit [sort code](https://en.wikipedia.org/wiki/Sort_code),
            without separators or whitespace.
          maxLength: 6
          minLength: 6
          type: string
        type:
          default: ukLocal
          description: '**ukLocal**'
          enum:
          - ukLocal
          type: string
      required:
      - type
      - accountNumber
      - sortCode
    USLocalAccountIdentification:
      additionalProperties: false
      properties:
        accountNumber:
          description: The bank account number, without separators or whitespace.
          maxLength: 18
          minLength: 2
          type: string
        accountType:
          default: checking
          description: 'The bank account type.


            Possible values: **checking** or **savings**. Defaults to **checking**.'
          enum:
          - checking
          - savings
          type: string
        routingNumber:
          description: The 9-digit [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number),
            without separators or whitespace.
          maxLength: 9
          minLength: 9
          type: string
        type:
          default: usLocal
          description: '**usLocal**'
          enum:
          - usLocal
          type: string
      required:
      - type
      - accountNumber
      - routingNumber
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: X-API-Key
      type: apiKey
    BasicAuth:
      scheme: basic
      type: http
  examples:
    WebhookAck:
      summary: Acknowledge Webhook
      value:
        notificationResponse: '[accepted]'
    post-balancePlatform.transfer.created-balancePlatform-transfer-created:
      summary: Incoming transfer
      description: Example webhook for an incoming transfer
      value:
        data:
          accountHolder:
            description: Your description for the account holder
            id: AH00000000000000000000001
            reference: Your reference for the account holder
          amount:
            currency: EUR
            value: 9999
          balanceAccount:
            id: BA00000000000000000000001
          balanceAccountId: BA00000000000000000000001
          balancePlatform: YOUR_BALANCE_PLATFORM
          category: platformPayment
          creationDate: '2022-08-15T13:30:05+02:00'
          description: Your description for the transfer
          direction: incoming
          events:
          - bookingDate: '2022-08-15T13:30:18+02:00'
            mutations: []
            status: received
          id: 3JY1Y65VWIRGUETT
          modificationMerchantReference: <auto>
          modificationPspReference: '8026605630053940'
          paymentMerchantReference: Payment reference
          pspPaymentReference: CWBC43ZX2VTFWR82
          reason: approved
          reference: Your reference for the transfer
          sequenceNumber: 1
          status: received
          type: capture
        environment: test
        type: balancePlatform.transfer.created
    post-balancePlatform.transfer.updated-balancePlatform-transfer-updated:
      summary: Incoming transfer status changed
      description: Example webhook when an incoming transfer's status changes
      value:
        data:
          accountHolder:
            description: Your description for the account holder
            id: AH00000000000000000000001
            reference: Your reference for the account holder
          amount:
            currency: EUR
            value: 9999
          balanceAccount:
            id: BA00000000000000000000001
          balanceAccountId: BA00000000000000000000001
          balancePlatform: YOUR_BALANCE_PLATFORM
          balances:
          - currency: EUR
            reserved: 9999
          category: platformPayment
          creationDate: '2022-08-15T13:30:05+02:00'
          description: Your description for the transfer
          direction: incoming
          events:
          - bookingDate: '2022-08-15T13:30:18+02:00'
            mutations: []
            status: received
          - bookingDate: '2022-08-15T13:30:18+02:00'
            mutations:
            - currency: EUR
              reserved: 9999
            status: authorised
          id: 3JY1Y65VWIRGUETT
          modificationMerchantReference: <auto>
          modificationPspReference: '8026605630053940'
          paymentMerchantReference: Payment reference
          pspPaymentReference: CWBC43ZX2VTFWR82
          reason: approved
          reference: Your reference for the transfer
          sequenceNumber: 2
          status: authorised
          type: capture
        environment: test
        type: balancePlatform.transfer.updated
