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

# Check a verification

> Checks a verification with a phone number, an email address, or a verification ID.
A `pending` verification status changes to `approved` once you receive a response with the `valid` parameter is `true`. An approved verification cannot be checked anymore.



## OpenAPI

````yaml /openapi/endpoints/ycloud-api-v2.yaml post /verify/verificationChecks
openapi: 3.0.0
info:
  description: >-
    The [YCloud](https://ycloud.com) API is organized around
    [REST](https://en.wikipedia.org/wiki/Representational_state_transfer). Our
    API is designed to have predictable, resource-oriented URLs, return
    [JSON](https://www.json.org) responses, and use standard HTTP response codes
    and verbs.
  version: v2
  title: YCloud API
  termsOfService: https://ycloud.com/terms-service
  contact:
    email: service@ycloud.com
servers:
  - url: https://api.ycloud.com/v2
    description: Base URL
security:
  - api_key: []
tags:
  - name: Balance
  - name: Contacts
  - name: Custom Events
  - name: Emails
  - name: SMS
  - name: Unsubscribers
  - name: Verify
  - name: Voices
  - name: Webhook Endpoints
  - name: WhatsApp Business Accounts
  - name: WhatsApp Inbound Messages
  - name: WhatsApp Media
  - name: WhatsApp Messages
  - name: WhatsApp Blocked Users
  - name: WhatsApp Groups
  - name: WhatsApp Calling
  - name: WhatsApp Phone Numbers
  - name: WhatsApp Templates
  - name: WhatsApp Flows
  - name: Meta Business Agent
  - name: WhatsApp Group Messages
externalDocs:
  description: Homepage
  url: https://ycloud.com
paths:
  /verify/verificationChecks:
    post:
      tags:
        - Verify
      summary: Check a verification
      description: >-
        Checks a verification with a phone number, an email address, or a
        verification ID.

        A `pending` verification status changes to `approved` once you receive a
        response with the `valid` parameter is `true`. An approved verification
        cannot be checked anymore.
      operationId: verification-check
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerificationCheckRequest'
        required: true
      responses:
        '200':
          description: Successfully processed the verification check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerificationCheck'
components:
  schemas:
    VerificationCheckRequest:
      type: object
      required:
        - code
      not:
        allOf:
          - not:
              required:
                - verificationId
          - not:
              required:
                - to
      properties:
        verificationId:
          type: string
          description: >-
            ID of the verification to be checked. One of `verificationId` or
            `to` is required.
          example: vid
        to:
          type: string
          description: >-
            The recipient's phone number or email address. One of
            `verificationId` or `to` is required.
          example: '+16315551111'
        code:
          type: string
          description: The verification to be checked.
          example: '123456'
    VerificationCheck:
      type: object
      required:
        - id
        - valid
      properties:
        id:
          type: string
          description: ID of this verification check.
          example: vc8f92c20
        valid:
          type: boolean
          description: Whether the verification code is valid for this check.
          example: false
        status:
          $ref: '#/components/schemas/VerificationStatus'
        to:
          type: string
          description: >-
            The recipient's phone number in
            [E.164](https://en.wikipedia.org/wiki/E.164) format or email
            address.
          example: '+16315551111'
        channel:
          $ref: '#/components/schemas/VerificationChannel'
    VerificationStatus:
      type: string
      description: >-
        Status of the verification.

        - `pending`: The verification message (SMS, Voice, etc.) is sent,
        waiting to be checked. This happens when you call the 'Start a
        verification' API successfully.

        - `approved`: The verification has been successfully checked. A
        `pending` verification status changes to `approved` when you call the
        'Check a verification' API and receive a response with the `valid`
        parameter is `true`. An approved verification cannot be checked anymore.

        - `blocked`: The verification is blocked by user-defined rules such as
        denylist, and geographical permission restrictions. A blocked
        verification cannot be checked.

        - `expired`: The verification has expired and cannot be checked anymore.

        - `undelivered`: Our system has received a delivery receipt indicating
        that the verification message was not delivered. An undelivered
        verification cannot be checked anymore.
      enum:
        - pending
        - approved
        - blocked
        - expired
        - undelivered
    VerificationChannel:
      type: string
      description: |-
        Supports several independent channels for verification:
        - `sms`: Sends an SMS message with a verification code.
        - `voice`: Makes a voice call with a verification code.
        - `email_code`: Sends an email with a verification code.
        - `whatsapp`: Sends a WhatsApp message with a verification code.
      enum:
        - sms
        - voice
        - email_code
        - whatsapp
      example: sms
  securitySchemes:
    api_key:
      type: apiKey
      name: X-API-Key
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.