> ## 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.

# VKYC Status and Status-Code Mapping

> Reference for PPI Video KYC status and status-code combinations returned by VKYC APIs and webhooks, with recommended actions for each scenario.

This reference guide explains the status and status-code values returned by PPI Video KYC APIs and webhooks. Use this information to interpret responses and configure your verification flow.

<span id="status-statuscode-mapping" />

## Status and status-code reference

The following table describes all possible status and status-code combinations returned by the VKYC API, along with recommended actions for each scenario.

### Verification phase statuses

Statuses are organised by verification phase. Each phase contains specific status codes that indicate the current state and required actions.

<Accordion title="`RECEIVED` – Request accepted">
  | Status code      | Description                                         | Recommended action                                          |
  | ---------------- | --------------------------------------------------- | ----------------------------------------------------------- |
  | `LINK_GENERATED` | Cashfree generated the Video KYC link successfully. | Share the link with the user through your preferred channel |
</Accordion>

<Accordion title="`EXPIRED` – Link expired">
  | Status code    | Description                     | Recommended action                            |
  | -------------- | ------------------------------- | --------------------------------------------- |
  | `VKYC_EXPIRED` | The Video KYC link has expired. | Initiate a new Video KYC request for the user |
</Accordion>

<Accordion title="`PRE_VIDEO_CALL` – Pre-verification checks">
  | Status code                          | Description                                       | Recommended action                                     |
  | ------------------------------------ | ------------------------------------------------- | ------------------------------------------------------ |
  | `AADHAAR_VERIFICATION_SUCCESS`       | Aadhaar verification succeeded.                   | Proceed to the next verification step                  |
  | `AADHAAR_VERIFICATION_FAILED`        | Aadhaar verification failed.                      | Ask the user to retry with correct Aadhaar information |
  | `AADHAAR_VERIFICATION_EXPIRED`       | The Aadhaar verification session expired.         | Restart the Aadhaar verification process               |
  | `USER_IP_VERIFICATION_SUCCESSFUL`    | IP address verification succeeded.                | Continue with the verification flow                    |
  | `USER_PROXY_DETECTED`                | Cashfree detected a proxy or VPN.                 | Ask the user to disable the proxy or VPN and retry     |
  | `TECHNICAL_FAILURE`                  | A technical issue occurred during verification.   | Retry after some time or contact Cashfree support      |
  | `USER_LOCATION_VERIFICATION_SUCCESS` | Location verification succeeded.                  | Proceed to device checks                               |
  | `USER_LOCATION_OUTSIDE_INDIA`        | The user is outside India.                        | Reject the request or ask the user to retry from India |
  | `USER_AUDIO_CHECK_FAILED`            | Microphone access is not enabled.                 | Ask the user to enable microphone access               |
  | `USER_VIDEO_CHECK_FAILED`            | Camera access is not enabled.                     | Ask the user to enable camera access                   |
  | `USER_LOCATION_PERMISSION_DISABLED`  | The user did not grant location access.           | Ask the user to allow location permissions             |
  | `USER_DEVICE_CHECK_SUCCESS`          | The device passed all checks.                     | Proceed to agent assignment                            |
  | `USER_QUEUED`                        | The user is waiting for an available agent.       | Display the queue position and estimated wait time     |
  | `SCHEDULED_USER_QUEUED`              | The user is queued for a scheduled appointment.   | Notify the user of the scheduled time                  |
  | `NO_AGENT_FOUND`                     | No agent is available at this time.               | Retry after some time or offer scheduling              |
  | `AGENT_ASSIGNED_TO_USER`             | Cashfree assigned an agent to the user.           | Notify the user that verification will begin           |
  | `USER_MEETING_SCHEDULED`             | Cashfree scheduled the user meeting successfully. | Send the meeting details to the user                   |
  | `USER_MEETING_CANCELLED`             | The user meeting was cancelled.                   | Offer rescheduling options                             |
</Accordion>

<Accordion title="`VIDEO_CALL` – During video verification">
  | Status code             | Description                                 | Recommended action                        |
  | ----------------------- | ------------------------------------------- | ----------------------------------------- |
  | `USER_ACCEPTED_MEETING` | The user accepted the meeting invitation.   | Start the VKYC verification process       |
  | `USER_REJECTED_MEETING` | The user rejected the meeting invitation.   | Reschedule or mark verification as failed |
  | `USER_MISSED_MEETING`   | The user missed the scheduled meeting.      | Offer rescheduling options                |
  | `USER_DROPPED_OFF`      | The user disconnected during verification.  | Log the issue and offer reconnection      |
  | `AGENT_DROPPED_OFF`     | The agent disconnected during verification. | Retry with another agent                  |
  | `USER_ENDED_CALL`       | The user ended the call.                    | Review session completeness               |
  | `AGENT_ENDED_CALL`      | The agent ended the call.                   | Review the agent remarks and next steps   |
</Accordion>

<Accordion title="`FAILED` – Verification failed">
  | Status code       | Description                                     | Recommended action                                     |
  | ----------------- | ----------------------------------------------- | ------------------------------------------------------ |
  | `TECHNICAL_ERROR` | A technical error occurred during verification. | Retry the verification or escalate to Cashfree support |
</Accordion>

<Accordion title="`AGENT_REVIEWED` – Agent review complete">
  | Status code                | Description                              | Recommended action                                 |
  | -------------------------- | ---------------------------------------- | -------------------------------------------------- |
  | `AGENT_APPROVED`           | The agent approved the KYC verification. | Proceed to the auditor review stage                |
  | `AGENT_REJECTED`           | The agent rejected the KYC verification. | Notify the user with the rejection reason          |
  | `AGENT_UNABLE_TO_VALIDATE` | The agent could not complete validation. | Retry with another agent or initiate a new session |
</Accordion>

<Accordion title="`AUDITOR_REVIEWED` – Final review complete">
  | Status code        | Description                                | Recommended action            |
  | ------------------ | ------------------------------------------ | ----------------------------- |
  | `AUDITOR_APPROVED` | The auditor approved the KYC verification. | Mark verification as complete |
  | `AUDITOR_REJECTED` | The auditor rejected the KYC verification. | Mark verification as failed   |
</Accordion>
