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

# Verify a bank account (V2)

> Run the bank account validation for a prospective beneficiary and suggest the bank account fields (e.g. IBAN, SWIFT code, bank name), so they can be reviewed before creating the beneficiary. Only the bank account is checked; the full beneficiary validation happens at creation.



## OpenAPI

````yaml https://api.ebury.io/openapi.json post /v2/beneficiaries/bank-account-verifications
openapi: 3.0.0
info:
  description: |
    Ebury API allows customers:
      to retrieve accounts, balances, beneficiaries, and transactions;
      to get buy/sell estimates and quotes, book trades and retrieve trade history;
      to allocate payments to a trade and beneficiary, and to submit payments in bulk;
      to download documents such as trade receipt, payment instruction and payment receipt;
      to manage the authorised persons on their account.
    The Metadata API allows applications to clarify some parts of the Ebury API
      that are impractical to express schematically.
  termsOfService: https://docs.ebury.io/#terms-of-use
  title: Ebury API
  version: '0.1'
servers:
  - url: https://{environment}.ebury.io
    variables:
      environment:
        default: api
        enum:
          - api
          - sandbox
security: []
paths:
  /v2/beneficiaries/bank-account-verifications:
    parameters:
      - $ref: '#/components/parameters/ClientId'
      - $ref: '#/components/parameters/Authorization'
    post:
      tags:
        - Beneficiaries V2
      summary: Verify a bank account (V2)
      description: >-
        Run the bank account validation for a prospective beneficiary and
        suggest the bank account fields (e.g. IBAN, SWIFT code, bank name), so
        they can be reviewed before creating the beneficiary. Only the bank
        account is checked; the full beneficiary validation happens at creation.
      operationId: beneficiaries_v2_bank_account_verifications_post
      parameters:
        - $ref: '#/components/parameters/XBeneficiaryPolicyVersion'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BeneficiaryV2BankAccountVerificationRequest'
        description: The bank account details to verify.
        required: true
      responses:
        '200':
          $ref: '#/components/responses/BeneficiaryV2BankAccountVerification'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/ClientNotFound'
        '422':
          $ref: '#/components/responses/ValidationError'
        '500':
          $ref: '#/components/responses/IntegrationError'
        '502':
          $ref: '#/components/responses/IntegrationError'
components:
  parameters:
    ClientId:
      description: The identifier of a client.
      in: query
      name: client_id
      required: true
      schema:
        type: string
    Authorization:
      description: The access token.
      in: header
      name: Authorization
      required: true
      schema:
        type: string
    XBeneficiaryPolicyVersion:
      description: >-
        The version of the beneficiary validation policy to apply. The latest
        one is used when omitted.
      in: header
      name: X-Beneficiary-Policy-Version
      required: false
      schema:
        type: string
  schemas:
    BeneficiaryV2BankAccountVerificationRequest:
      description: The bank account details to verify.
      properties:
        bank_country_code:
          description: The ISO 3166-1 alpha-2 code of the bank's country.
          maxLength: 2
          minLength: 2
          type: string
        bank_account_currency_code:
          description: The ISO 4217 code of the bank account's currency.
          maxLength: 3
          minLength: 3
          type: string
        bank_account_iban:
          description: The IBAN of the bank account, if applicable.
          minLength: 1
          type: string
          nullable: true
        bank_account_number:
          description: The account number of the bank account, if applicable.
          minLength: 1
          type: string
          nullable: true
        bank_swift_code:
          description: The SWIFT code of the bank, if applicable.
          minLength: 1
          type: string
          nullable: true
        bank_identifier:
          description: >-
            The local identifier of the bank (e.g. Sort Code, IFSC, routing
            number), if applicable.
          minLength: 1
          type: string
          nullable: true
      required:
        - bank_country_code
        - bank_account_currency_code
      type: object
    BeneficiaryV2BankAccountVerification:
      description: The outcome of the bank account verification.
      properties:
        verification_status:
          description: 'The verification verdict: `passed`, `caution` or `failed`.'
          type: string
        suggested_fields:
          $ref: '#/components/schemas/BeneficiaryV2BankAccountSuggestedFields'
        issues:
          description: The problems or caveats found in the bank account.
          items:
            $ref: '#/components/schemas/BeneficiaryV2BankAccountVerificationIssue'
          type: array
      required:
        - verification_status
        - suggested_fields
      type: object
    ErrorMessage:
      description: An error message.
      properties:
        code:
          type: string
          description: The code for the error.
        details:
          description: Error details
          type: string
        message:
          type: string
          description: A short description of the cause of the error.
      required:
        - code
        - message
        - details
      type: object
    BeneficiaryV2BankAccountSuggestedFields:
      description: >-
        The resolved bank account fields to prefill the beneficiary with. A
        field is `null` when it could not be resolved.
      properties:
        bank_account_number:
          description: The account number of the bank account.
          type: string
          nullable: true
        bank_account_iban:
          description: The IBAN of the bank account.
          type: string
          nullable: true
        bank_identifier:
          description: >-
            The local identifier of the bank (e.g. Sort Code, IFSC, routing
            number).
          type: string
          nullable: true
        bank_swift_code:
          description: The SWIFT code of the bank.
          type: string
          nullable: true
        bank_name:
          description: The name of the bank.
          type: string
          nullable: true
        bank_address:
          description: The address of the bank.
          type: string
          nullable: true
      type: object
    BeneficiaryV2BankAccountVerificationIssue:
      description: A problem or caveat found in the bank account.
      properties:
        message:
          description: The description of the issue, in English.
          type: string
        severity:
          description: >-
            The severity of the issue: `warning` (advisory, does not block the
            beneficiary creation) or `error` (blocks the beneficiary creation
            until resolved).
          type: string
        error_code:
          description: A stable machine-readable code for the issue, if any.
          type: string
          nullable: true
        fields:
          description: The bank account fields the issue relates to.
          items:
            type: string
          type: array
      required:
        - message
        - severity
      type: object
  responses:
    BeneficiaryV2BankAccountVerification:
      description: The outcome of the bank account verification.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BeneficiaryV2BankAccountVerification'
    ValidationError:
      description: >-
        Formatting, parameter or schema validation error. See error message for
        further details.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Unauthorized:
      description: Access denied due to authentication failure.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Forbidden:
      description: >-
        Could not complete action due to data constraints. Refer to error
        message for additional details.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    ClientNotFound:
      description: Client identifier not found.
    IntegrationError:
      description: Internal integration error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'

````