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

# Get Video KYC Details

> Retrieves the current status and other details of a Video KYC verification request, using the `user_id` and `verification_id` you supplied while initiating the request.


Refer to the [Status and Status Code reference](/docs/api-reference/prepaid-payment-instruments/kyc-verification/vkyc-status-descriptions#status-statuscode-mapping) page for a comprehensive list of status and status\_code combinations.


## OpenAPI

````yaml openapi/ppi/ppi.yaml post /ppi/kyc/vkyc/details
openapi: 3.0.3
info:
  title: PPI Wallet API
  description: >-
    API for managing PPI (Prepaid Payment Instrument) wallets and sub-wallets,
    including credit and debit operations.
  version: 1.0.0
  contact:
    name: PPI Service Team
    email: support@cashfree.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
  - url: https://api.cashfree.com
    description: Production server.
  - url: https://sandbox.cashfree.com
    description: Sandbox server.
security:
  - XClientID: []
    XClientSecret: []
tags:
  - name: Users
    description: Operations related to PPI users.
  - name: User KYC
    description: Operations related to user KYC verification.
  - name: Wallets
    description: Operations related to PPI wallets.
  - name: Beneficiaries
    description: Operations related to user beneficiaries.
  - name: Transfers
    description: Operations related to transfers.
paths:
  /ppi/kyc/vkyc/details:
    post:
      tags:
        - User KYC
      summary: Get Video KYC Details
      description: >
        Retrieves the current status and other details of a Video KYC
        verification request, using the `user_id` and `verification_id` you
        supplied while initiating the request.
      operationId: getVkycStatus
      parameters:
        - $ref: '#/components/parameters/global_x_api_version'
      requestBody:
        $ref: '#/components/requestBodies/VkycStatusRequest'
      responses:
        '200':
          $ref: '#/components/responses/VkycStatusResponse'
        '400':
          description: Bad request - Invalid input parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StructuredErrorResponse'
              examples:
                user_id_missing:
                  $ref: '#/components/examples/user_id_missing'
                verification_id_missing:
                  $ref: '#/components/examples/verification_id_missing'
                user_id_invalid:
                  $ref: '#/components/examples/user_id_invalid'
                verification_id_invalid:
                  $ref: '#/components/examples/verification_id_invalid'
                missingClientId:
                  summary: Missing client ID
                  value:
                    message: x-client-id is missing in the request
                    code: x-client-id_missing
                    type: validation_error
                missingClientSecret:
                  summary: Missing client secret
                  value:
                    message: x-client-secret is missing in the request
                    code: x-client-secret_missing
                    type: validation_error
        '401':
          $ref: '#/components/responses/Response401'
        '403':
          $ref: '#/components/responses/Response403'
        '404':
          description: Not found - User or VKYC verification not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StructuredErrorResponse'
              examples:
                userNotFound:
                  summary: User not found
                  value:
                    code: user_id_not_found
                    type: invalid_request_error
                    message: The specified user_id does not exist
                verificationNotFound:
                  summary: VKYC verification not found
                  value:
                    code: verification_id_not_found
                    type: invalid_request_error
                    message: The specified verification_id does not exist
        '429':
          description: Too Many Requests - Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StructuredErrorResponse'
              examples:
                rateLimitExceeded:
                  summary: Rate limit exceeded
                  value:
                    code: rate_limit_exceeded
                    type: rate_limit_error
                    message: Rate limit exceeded. Please try again after some time
        '500':
          $ref: '#/components/responses/Response500'
components:
  parameters:
    global_x_api_version:
      description: API version to be used. Format is in YYYY-MM-DD.
      name: x-api-version
      in: header
      required: true
      schema:
        type: string
        default: '2025-11-01'
        example: '2025-11-01'
      example: '2025-11-01'
  requestBodies:
    VkycStatusRequest:
      description: >-
        Request parameters to fetch the current status and details of a Video
        KYC verification request.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/VkycStatusRequest'
          examples:
            vkycStatus:
              summary: Get Video KYC status
              value:
                user_id: USER827364
                verification_id: TestVkycVerification
  responses:
    VkycStatusResponse:
      description: Success response for fetching the Video KYC verification status.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/VkycStatusResponse'
          examples:
            SUCCESS:
              summary: VKYC auditor review completed
              value:
                verification_id: TestVkycVerification
                cf_verification_id: '8901234567890123458'
                user_id: USER827364
                status: AUDITOR_REVIEWED
                status_code: AUDITOR_APPROVED
                link: https://vkyc.cashfree.com/session/abc123
                link_expiry: '2026-06-27'
                meeting_schedule: '2026-06-04T10:15:30Z'
                auditor_remarks: Looks Good
                agent_remarks: Good to go
    Response401:
      description: Unauthorised - Invalid or missing authentication.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StructuredErrorResponse'
          examples:
            invalidCredentials:
              summary: Invalid client credentials
              value:
                code: authentication_failed
                type: authentication_error
                message: Invalid client ID and client secret combination
    Response403:
      description: Forbidden - Access denied.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StructuredErrorResponse'
          examples:
            ipNotWhitelisted:
              summary: IP not whitelisted
              value:
                code: ip_not_whitelisted
                type: authentication_error
                message: Authentication error (IP not whitelisted)
    Response500:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StructuredErrorResponse'
          examples:
            internalError:
              summary: Internal server error
              value:
                code: internal_server_error
                type: internal_error
                message: An internal error occurred while processing the request
  schemas:
    StructuredErrorResponse:
      type: object
      properties:
        type:
          type: string
          description: A broad category of the error.
          example: internal_error
        code:
          type: string
          description: A machine-readable error code specific to the issue.
          example: internal_server_error
        message:
          type: string
          description: >-
            A message providing more details about the error, dynamic based on
            the specific issue.
          example: Internal server error
    VkycStatusRequest:
      type: object
      required:
        - user_id
        - verification_id
      properties:
        user_id:
          type: string
          description: >-
            Unique identifier for the user, as provided by you during PPI user
            creation. Only alphanumeric characters, periods (.), hyphens (-),
            and underscores (_) are allowed.
          example: USER827364
          minLength: 1
          maxLength: 50
        verification_id:
          type: string
          description: >-
            Unique identifier for the VKYC verification request, as provided by
            you during VKYC verification initiation. Only alphanumeric
            characters, periods (.), hyphens (-), and underscores (_) are
            allowed.
          example: TestVkycVerification
          minLength: 1
          maxLength: 50
    VkycStatusResponse:
      type: object
      properties:
        verification_id:
          type: string
          description: >-
            Unique identifier for the VKYC verification request, as provided by
            you during VKYC verification initiation.
          example: TestVkycVerification
        cf_verification_id:
          type: string
          description: >-
            Unique identifier for the VKYC verification request, generated by
            Cashfree.
          example: '8901234567890123458'
        user_id:
          type: string
          description: >-
            Unique identifier for the user, as provided by you during PPI user
            creation.
          example: USER827364
        status:
          type: string
          description: >
            Status of the VKYC verification process. Refer to [VKYC status and
            status-code
            mapping](/api-reference/prepaid-payment-instruments/kyc-verification/vkyc-status-descriptions#status-statuscode-mapping)
            for all valid combinations.
          enum:
            - RECEIVED
            - FAILED
            - EXPIRED
            - AGENT_REVIEWED
            - PRE_VIDEO_CALL
            - VIDEO_CALL
            - AUDITOR_REVIEWED
          example: RECEIVED
        status_code:
          type: string
          description: >
            Status code for detailed tracking of the VKYC verification process.
            Refer to [VKYC status and status-code
            mapping](/api-reference/prepaid-payment-instruments/kyc-verification/vkyc-status-descriptions#status-statuscode-mapping)
            for all valid combinations.
          enum:
            - LINK_GENERATED
            - VKYC_EXPIRED
            - AADHAAR_VERIFICATION_SUCCESS
            - AADHAAR_VERIFICATION_FAILED
            - AADHAAR_VERIFICATION_EXPIRED
            - USER_IP_VERIFICATION_SUCCESSFUL
            - USER_PROXY_DETECTED
            - TECHNICAL_FAILURE
            - USER_LOCATION_VERIFICATION_SUCCESS
            - USER_LOCATION_OUTSIDE_INDIA
            - USER_AUDIO_CHECK_FAILED
            - USER_VIDEO_CHECK_FAILED
            - USER_LOCATION_PERMISSION_DISABLED
            - USER_DEVICE_CHECK_SUCCESS
            - USER_QUEUED
            - SCHEDULED_USER_QUEUED
            - NO_AGENT_FOUND
            - AGENT_ASSIGNED_TO_USER
            - USER_MEETING_SCHEDULED
            - USER_MEETING_CANCELLED
            - USER_ACCEPTED_MEETING
            - USER_REJECTED_MEETING
            - USER_MISSED_MEETING
            - USER_DROPPED_OFF
            - AGENT_DROPPED_OFF
            - USER_ENDED_CALL
            - AGENT_ENDED_CALL
            - TECHNICAL_ERROR
            - AGENT_APPROVED
            - AGENT_REJECTED
            - AGENT_UNABLE_TO_VALIDATE
            - AUDITOR_APPROVED
            - AUDITOR_REJECTED
            - INITIATE_FAILED
          example: LINK_GENERATED
        link:
          type: string
          description: Generated VKYC session link for the user.
          example: https://vkyc.cashfree.com/session/abc123
        link_expiry:
          type: string
          description: The date on which the VKYC link will expire.
          example: '2026-06-27'
        meeting_schedule:
          type: string
          nullable: true
          description: >-
            Scheduled UTC timestamp for the VKYC meeting. Returns `null` if no
            meeting is scheduled.
          example: '2026-06-04T10:15:30Z'
        auditor_remarks:
          type: string
          nullable: true
          description: Remarks provided by the auditor during the Video KYC process.
          example: Verification completed successfully
        agent_remarks:
          type: string
          nullable: true
          description: Remarks provided by the agent during the Video KYC process.
          example: Pan not available during video call
  examples:
    user_id_missing:
      summary: User ID missing
      value:
        code: user_id_missing
        type: validation_error
        message: user_id parameter is missing
    verification_id_missing:
      summary: Verification ID missing
      value:
        code: verification_id_missing
        type: validation_error
        message: verification_id parameter is missing
    user_id_invalid:
      summary: User ID value is Invalid
      value:
        code: user_id_value_invalid
        type: validation_error
        message: user_id invalid value
    verification_id_invalid:
      summary: Verification ID value is Invalid
      value:
        code: verification_id_value_invalid
        type: validation_error
        message: verification_id invalid value
  securitySchemes:
    XClientID:
      type: apiKey
      in: header
      name: x-client-id
      description: >-
        Your unique client identifier issued by Cashfree. You can find this in
        your [Merchant
        Dashboard](https://merchant.cashfree.com/merchants/landing?env=prod).
    XClientSecret:
      type: apiKey
      in: header
      name: x-client-secret
      description: >-
        The secret key associated with your client ID. Use this to authenticate
        your API requests. You can find this in your [Merchant
        Dashboard](https://merchant.cashfree.com/merchants/landing?env=prod).

````