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

# Verify Check

> Verify a check before submitting it for processing. The endpoint validates the MICR line (routing and account numbers), confirms the account is in good standing and returns a risk decision so the platform can decide whether to deposit the check.



## OpenAPI

````yaml /api-reference/openapi.json post /service/checks/verify
openapi: 3.1.0
info:
  title: Payra API
  version: 1.0.0
  description: Documentação da API para Backoffice e Service
servers: []
security: []
paths:
  /service/checks/verify:
    post:
      tags:
        - Checks
      summary: Verify Check
      description: >-
        Verify a check before submitting it for processing. The endpoint
        validates the MICR line (routing and account numbers), confirms the
        account is in good standing and returns a risk decision so the platform
        can decide whether to deposit the check.
      operationId: verifyCheck
      requestBody:
        description: Check verification request body
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                routingNumber:
                  type: string
                  description: ABA routing number extracted from the MICR line
                  minLength: 9
                  maxLength: 9
                accountNumber:
                  type: string
                  description: Bank account number the check is drawn on
                checkNumber:
                  type: string
                  description: Sequential number printed on the check
                amount:
                  type: number
                  description: Check amount in the smallest currency unit (e.g. cents)
                currency:
                  type: string
                  description: ISO 4217 currency code
                  default: USD
                checkType:
                  type: string
                  enum:
                    - personal
                    - business
                  description: Type of check being verified
                payerName:
                  type: string
                  description: Name of the account holder issuing the check
                frontImage:
                  type: string
                  description: >-
                    Base64-encoded image of the front of the check captured from
                    a scanner or mobile app
                backImage:
                  type: string
                  description: Base64-encoded image of the back of the check
              required:
                - routingNumber
                - accountNumber
                - amount
                - checkType
      responses:
        '200':
          description: Check verification completed successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - health_status_ok
                      - health_status_error
                      - validation_error
                      - bad_request
                      - unauthorized
                      - forbidden
                      - not_found
                      - method_not_allowed
                      - internal_server_error
                      - organization_not_found
                      - cannot_access_organization
                      - api_key_not_found
                      - resource_already_exists
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      verificationId:
                        type: string
                        description: Unique identifier of this verification request
                      status:
                        type: string
                        enum:
                          - verified
                          - review
                          - declined
                        description: Outcome of the verification
                      decision:
                        type: string
                        enum:
                          - approve
                          - manual_review
                          - reject
                        description: Recommended action for the platform
                      riskScore:
                        type: number
                        description: Risk score from 0 (lowest risk) to 100 (highest risk)
                      routingNumberValid:
                        type: boolean
                        description: >-
                          Whether the routing number passed checksum and bank
                          lookup validation
                      accountStatus:
                        type: string
                        enum:
                          - open
                          - closed
                          - frozen
                          - unknown
                        description: Status of the account the check is drawn on
                      reasons:
                        type: array
                        description: Reason codes explaining the decision
                        items:
                          type: string
                      createdAt:
                        type: string
                    required:
                      - verificationId
                      - status
                      - decision
                      - riskScore
                      - routingNumberValid
                      - accountStatus
                      - createdAt
                required:
                  - data
        '400':
          description: >-
            Validation error. One or more fields in the request body are missing
            or invalid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - health_status_ok
                      - health_status_error
                      - validation_error
                      - bad_request
                      - unauthorized
                      - forbidden
                      - not_found
                      - method_not_allowed
                      - internal_server_error
                      - organization_not_found
                      - cannot_access_organization
                      - api_key_not_found
                      - resource_already_exists
                    default: validation_error
                  message:
                    type: string
                  data: {}
        '401':
          description: >-
            Unauthorized. The provided authentication token is invalid or
            expired.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - health_status_ok
                      - health_status_error
                      - validation_error
                      - bad_request
                      - unauthorized
                      - forbidden
                      - not_found
                      - method_not_allowed
                      - internal_server_error
                      - organization_not_found
                      - cannot_access_organization
                      - api_key_not_found
                      - resource_already_exists
                    default: unauthorized
                  message:
                    type: string
                  data: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - health_status_ok
                      - health_status_error
                      - validation_error
                      - bad_request
                      - unauthorized
                      - forbidden
                      - not_found
                      - method_not_allowed
                      - internal_server_error
                      - organization_not_found
                      - cannot_access_organization
                      - api_key_not_found
                      - resource_already_exists
                    default: internal_server_error
                  message:
                    type: string
                  data: {}
      security:
        - Bearer: []
components:
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer

````