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

# Verify proof (optional)

> Optional endpoint to verify a proof hash from a previous successful validation.
This can be used to confirm that a validation was completed successfully.




## OpenAPI

````yaml /openapi/en/verify/verifyapi_v1.yaml patch /v1/validations/{token}
openapi: 3.1.0
info:
  title: SMS Validation API
  description: >
    Backend API for phone number validation via SMS and other channels. This API
    allows you to validate phone numbers

    by sending SMS verification codes and verifying them. 



    ## Rate Limiting

    The API implements multi-level rate limiting per account, country, and phone
    number.


    ## Offline Proof Verification

    If your tenant has a `verificationSecret` configured, the API returns an
    HMAC proof in the 

    validation response. This proof can be verified offline without calling the
    API (see `/v1/verify-proof` endpoint).
  version: 1.0.0
  contact:
    name: API Support
    email: support@smsmanager.com
servers:
  - url: https://verify-api.smsmanager.com
    description: Production server
security:
  - ApiKeyAuth: []
tags:
  - name: Validation
    description: Phone number validation operations
  - name: Tenant
    description: Tenant configuration endpoints
  - name: System
    description: System health and status endpoints
paths:
  /v1/validations/{token}:
    patch:
      tags:
        - Validation
      summary: Verify proof (optional)
      description: >
        Optional endpoint to verify a proof hash from a previous successful
        validation.

        This can be used to confirm that a validation was completed
        successfully.
      operationId: verifyProof
      parameters:
        - $ref: '#/components/parameters/ValidationToken'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProofVerificationRequest'
      responses:
        '200':
          description: Proof verified successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  valid:
                    type: boolean
                    description: Whether the proof is valid
                  phoneNumber:
                    type: string
                    description: The validated phone number
                  verifiedAt:
                    type: string
                    format: date-time
                    description: When the validation was completed
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Validation session or proof not found
        '500':
          $ref: '#/components/responses/InternalError'
components:
  parameters:
    ValidationToken:
      name: token
      in: path
      required: true
      description: The validation token returned from the start validation endpoint
      schema:
        type: string
        example: val_7af7215261b8497cb355e617b13f4ef2
  schemas:
    ProofVerificationRequest:
      type: object
      required:
        - proof
      properties:
        proof:
          type: string
          description: The proof hash to verify
          example: 86dd8444ed76402c93ce62497cb29a0d7af7215261b8497cb355e617b13f4ef2
    ErrorResponse:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          description: Human-readable error message
          example: Invalid code
        error:
          type: string
          description: Error code for programmatic handling
          example: INVALID_CODE
        attemptsRemaining:
          type: integer
          description: >-
            Number of verification attempts remaining (only for verification
            errors)
          example: 3
          minimum: 0
  responses:
    BadRequest:
      description: Bad request - Invalid input data
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            invalidPhone:
              summary: Invalid phone number
              value:
                message: Invalid phone number
                error: INVALID_PHONE
            missingField:
              summary: Missing required field
              value:
                message: 'Missing required field: phoneNumber'
                error: MISSING_FIELD
    Unauthorized:
      description: Unauthorized - Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missingKey:
              summary: Missing API key
              value:
                message: Missing X-API-Key header
                error: MISSING_API_KEY
            invalidKey:
              summary: Invalid API key
              value:
                message: Invalid or disabled API key
                error: INVALID_API_KEY
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            message: Internal server error
            error: INTERNAL_ERROR
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your tenant's API key

````