> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paysway.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk validate payment details

> Validates multiple payment instructions in a single request. Each item follows the same schema as POST /payments/validations and produces the same alert codes. Results are returned in the same order as the input. The maximum number of items per request is 20.




## OpenAPI

````yaml /api-reference/paysway-api.yaml post /payments/bulk-validations
openapi: 3.1.0
info:
  title: PaySway API
  version: 1.2.0
servers:
  - url: https://api.paysway.dev
    description: Development environment
  - url: https://api.paysway.io
    description: Production environment
security: []
paths:
  /payments/bulk-validations:
    post:
      tags:
        - Payment Preparation
      summary: Bulk validate payment details
      description: >
        Validates multiple payment instructions in a single request. Each item
        follows the same schema as POST /payments/validations and produces the
        same alert codes. Results are returned in the same order as the input.
        The maximum number of items per request is 20.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkValidationsRequest'
      responses:
        '200':
          description: Bulk validations result returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkValidationsResult'
              examples:
                Mixed:
                  value:
                    items:
                      - status: OK
                        alerts: []
                      - status: ALERT
                        alerts:
                          - code: CREDITOR_IBAN_INVALID_FORMAT
      security:
        - oauth2ClientCredentials: []
components:
  schemas:
    BulkValidationsRequest:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Payment'
          maxItems: 20
      required:
        - items
    BulkValidationsResult:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ValidationsResult'
      required:
        - items
    Payment:
      type: object
      properties:
        country:
          $ref: '#/components/schemas/CountryCode'
        currency:
          $ref: '#/components/schemas/CurrencyCode'
        creditorAgent:
          $ref: '#/components/schemas/FinancialInstitution'
        creditorAccount:
          $ref: '#/components/schemas/Account'
        creditor:
          $ref: '#/components/schemas/Party'
        intermediaryAgent1:
          $ref: '#/components/schemas/FinancialInstitution'
        intermediaryAgent2:
          $ref: '#/components/schemas/FinancialInstitution'
        intermediaryAgent3:
          $ref: '#/components/schemas/FinancialInstitution'
        settlementInformation:
          $ref: '#/components/schemas/SettlementInformation'
    ValidationsResult:
      type: object
      properties:
        status:
          type: string
          enum:
            - OK
            - ALERT
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/Alert'
      required:
        - status
        - alerts
    CountryCode:
      description: ISO 3166-1 alpha-2 code
      type: string
      pattern: ^[A-Z]{2,2}$
    CurrencyCode:
      description: ISO 4217 alpha code
      type: string
      pattern: ^[A-Z]{3,3}$
    FinancialInstitution:
      type: object
      properties:
        bic:
          $ref: '#/components/schemas/BIC'
        clearingSystemMemberId:
          $ref: '#/components/schemas/ClearingSystemMemberId'
        branchId:
          type: string
    Account:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/AccountId'
        type:
          $ref: '#/components/schemas/AccountType'
      required:
        - id
    Party:
      type: object
      properties:
        name:
          type: string
        address:
          $ref: '#/components/schemas/Address'
        contactDetails:
          $ref: '#/components/schemas/ContactDetails'
        dateOfBirth:
          type: string
          format: date
        taxId:
          type: string
        documents:
          type: array
          items:
            $ref: '#/components/schemas/IdentificationDocument'
        type:
          $ref: '#/components/schemas/PartyType'
    SettlementInformation:
      type: object
      properties:
        settlementSystem:
          $ref: '#/components/schemas/SettlementSystem'
    Alert:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/AlertCode'
      required:
        - code
    BIC:
      type: string
    ClearingSystemMemberId:
      type: object
      properties:
        memberId:
          type: string
    AccountId:
      type: object
      properties:
        value:
          type: string
        type:
          $ref: '#/components/schemas/AccountIdType'
      required:
        - value
        - type
    AccountType:
      type: string
    Address:
      type: object
      properties:
        addressLine1:
          type: string
        addressLine2:
          type: string
        addressLine3:
          type: string
        department:
          type: string
        streetName:
          type: string
        buildingNumber:
          type: string
        buildingName:
          type: string
        floor:
          type: string
        room:
          type: string
        townName:
          type: string
        townLocationName:
          type: string
        districtName:
          type: string
        postBox:
          type: string
        postCode:
          type: string
        countrySubdivision:
          type: string
        country:
          $ref: '#/components/schemas/CountryCode'
      required:
        - country
    ContactDetails:
      type: object
      properties:
        email:
          type: string
        phone:
          type: string
    IdentificationDocument:
      type: object
      properties:
        value:
          type: string
        type:
          $ref: '#/components/schemas/IdDocumentType'
      required:
        - type
        - value
    PartyType:
      type: string
      enum:
        - INDIVIDUAL
        - BUSINESS
    SettlementSystem:
      description: Encoded cash settlement system
      type: string
      enum:
        - SCT
        - SCT_INST
        - SDD_CORE
        - SDD_B2B
        - US_FEDWIRE
        - US_FEDACH
        - GB_FPS
        - GB_CHAPS
        - GB_CCCC
        - GB_BACS_CR
        - GB_BACS_DR
        - CA_ACSS
        - CA_LYNX
        - AU_PCS
        - AU_RITS
        - AU_BECS
        - AU_HVCS
    AlertCode:
      description: Encoded alert reason
      type: string
      enum:
        - CREDITOR_IBAN_INVALID_FORMAT
        - CREDITOR_IBAN_INVALID_COUNTRY_CODE
        - CREDITOR_IBAN_COUNTRY_NOT_SUPPORTED
        - CREDITOR_IBAN_INVALID_BBAN_STRUCTURE
        - CREDITOR_IBAN_INCORRECT_CHECK_DIGITS
        - CREDITOR_IBAN_COUNTRY_INCONSISTENCY
        - CREDITOR_IBAN_NO_SSI_FOR_CURRENCY
        - CREDITOR_BIC_INVALID_FORMAT
        - CREDITOR_BIC_INVALID_COUNTRY_CODE
        - CREDITOR_BIC_DOES_NOT_EXIST
        - CREDITOR_BIC_IBAN_INCONSISTENCY
        - CREDITOR_BIC_SCHEME_UNSUPPORTED
        - CREDITOR_BIC_NO_SSI_FOR_CURRENCY
        - CREDITOR_BIC_COUNTRY_INCONSISTENCY
        - CREDITOR_BIC_COMPLIANCE_HIT
        - CREDITOR_BANK_IDENTIFIER_INVALID_FORMAT
        - CREDITOR_BANK_IDENTIFIER_DOES_NOT_EXIST
        - CREDITOR_BRANCH_IDENTIFIER_INVALID_FORMAT
        - CREDITOR_BRANCH_IDENTIFIER_DOES_NOT_EXIST
        - CREDITOR_ACCOUNT_NUMBER_INVALID_FORMAT
        - CREDITOR_ACCOUNT_NUMBER_TOO_SHORT
        - CREDITOR_ACCOUNT_NUMBER_TOO_LONG
        - CREDITOR_ACCOUNT_NUMBER_INCORRECT_CHECKSUM
        - CREDITOR_ACCOUNT_NUMBER_INVALID_BANK_IDENTIFIER
        - CREDITOR_ACCOUNT_NUMBER_POSSIBLE_CARD_NUMBER
        - CREDITOR_ACCOUNT_ID_EMAIL_INVALID_FORMAT
        - CREDITOR_ACCOUNT_ID_MSISDN_INVALID_FORMAT
        - CREDITOR_BANK_IDENTIFIER_ACCOUNT_NUMBER_INCONSISTENCY
        - CREDITOR_BANK_IDENTIFIER_ACCOUNT_NUMBER_SWAP
        - CREDITOR_BANK_IDENTIFIER_ACCOUNT_NUMBER_DUPLICATION
        - CREDITOR_BANK_IDENTIFIER_SCHEME_UNSUPPORTED
        - INTERMEDIARY_1_INVALID_FORMAT
        - INTERMEDIARY_1_DOES_NOT_EXIST
        - INTERMEDIARY_1_NO_SSI
        - INTERMEDIARY_1_COMPLIANCE_HIT
        - INTERMEDIARY_2_INVALID_FORMAT
        - INTERMEDIARY_2_DOES_NOT_EXIST
        - INTERMEDIARY_2_NO_SSI
        - INTERMEDIARY_2_COMPLIANCE_HIT
        - INTERMEDIARY_3_INVALID_FORMAT
        - INTERMEDIARY_3_DOES_NOT_EXIST
        - INTERMEDIARY_3_NO_SSI
        - INTERMEDIARY_3_COMPLIANCE_HIT
        - CREDITOR_DOCUMENT_1_INVALID_FORMAT
        - CREDITOR_DOCUMENT_1_INCORRECT_CHECKSUM
    AccountIdType:
      type: string
      enum:
        - IBAN
        - ACCOUNT_NUMBER
        - EMAIL
        - MSISDN
        - CARD_NUMBER
        - GENERIC
    IdDocumentType:
      type: string
  securitySchemes:
    oauth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /oauth2/token
          scopes: {}

````