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

# Submit account verification

> Initiates verification of the beneficiary account details.  The verification is processed asynchronously. Instantly returns an account verification model with PENDING state that can be then fetched using the ID.




## OpenAPI

````yaml /api-reference/paysway-api.yaml post /payments/verifications
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/verifications:
    post:
      tags:
        - Payment Preparation
      summary: Submit account verification
      description: >
        Initiates verification of the beneficiary account details.  The
        verification is processed asynchronously. Instantly returns an account
        verification model with PENDING state that can be then fetched using the
        ID.
      parameters:
        - name: Idempotency-Key
          description: >-
            The idempotency key is a unique value sent with a request to prevent
            duplicate processing caused by retries.
          in: header
          schema:
            type: string
            format: uuid
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountVerificationRequest'
      responses:
        '200':
          description: Account verification request submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountVerification'
      security:
        - oauth2ClientCredentials: []
components:
  schemas:
    AccountVerificationRequest:
      type: object
      properties:
        details:
          $ref: '#/components/schemas/Payment'
        metadata:
          $ref: '#/components/schemas/Metadata'
      required:
        - details
    AccountVerification:
      type: object
      properties:
        id:
          type: string
          format: uuid
        createdDate:
          type: string
          format: date-time
        updatedDate:
          type: string
          format: date-time
        state:
          $ref: '#/components/schemas/AccountVerificationState'
        result:
          $ref: '#/components/schemas/AccountVerificationResult'
        failureReason:
          type: string
          enum:
            - INVALID_FIELD
            - UNAVAILABLE_FINANCIAL_INSTITUTION
            - UNSUPPORTED_FINANCIAL_INSTITUTION
            - UNEXPECTED_ERROR
        metadata:
          $ref: '#/components/schemas/Metadata'
      required:
        - id
        - createdDate
        - updatedDate
        - state
    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'
    Metadata:
      type: object
      description: |
        Arbitrary key-value pairs
      additionalProperties:
        type: string
        maxLength: 250
    AccountVerificationState:
      type: string
      enum:
        - PENDING
        - COMPLETED
        - FAILED
    AccountVerificationResult:
      type: object
      properties:
        accountStatus:
          type: string
          enum:
            - ACTIVE
            - NOT_FOUND
            - FORBIDDEN
        accountHolderName:
          $ref: '#/components/schemas/AccountHolderNameVerification'
        accountType:
          $ref: '#/components/schemas/AccountTypeVerification'
        schemeResponseCode:
          type: string
          enum:
            - EPC_VOP_MTCH
            - EPC_VOP_CMTC
            - EPC_VOP_NMTC
            - EPC_VOP_NOAP
            - UK_COP_ANNM
            - UK_COP_MBAM
            - UK_COP_BANM
            - UK_COP_PANM
            - UK_COP_BAMM
            - UK_COP_PAMM
            - UK_COP_AC01
            - UK_COP_IVCR
            - UK_COP_ACNS
            - UK_COP_OPTO
            - UK_COP_CASS
            - UK_COP_SCNS
      required:
        - accountStatus
    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'
    AccountHolderNameVerification:
      type: object
      properties:
        verifiedName:
          type: string
        matchStatus:
          $ref: '#/components/schemas/NameMatchStatus'
    AccountTypeVerification:
      type: object
      properties:
        matchStatus:
          $ref: '#/components/schemas/AccountTypeMatchStatus'
    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
    NameMatchStatus:
      type: string
      enum:
        - FULL_MATCH
        - PARTIAL_MATCH
        - NO_MATCH
    AccountTypeMatchStatus:
      type: string
      enum:
        - MATCH
        - NO_MATCH
    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: {}

````