---
title: "Verification Webhook Events"
description: "Listen for real-time verification lifecycle events including verification.completed and verification.failed."
order: 5
category: "Identity Verification (KYC)"
updated: "2026-10-13"
isNew: true
---

# Verification Webhook Events

AuthSetu asynchronously delivers webhook events whenever an identity check transitions to a terminal state.

## Subscribed Event Types

- `verification.completed`: Fired when a PAN, DL, or RC check finishes with status `verified` or `rejected`.
- `verification.failed`: Fired when an identity verification encounters an unrecoverable technical error or upstream timeout.

---

## Event Payload Structure

```json
{
  "id": "evt_0192837465aa",
  "event": "verification.completed",
  "created_at": "2026-10-13T13:30:00Z",
  "data": {
    "request_id": "req_pan_0192837465ab",
    "verification_type": "pan",
    "status": "verified",
    "customer_ref": "cust_usr_991823",
    "result": {
      "pan": "ABCDE1234F",
      "name_on_card": "AARAV SHARMA",
      "category": "individual",
      "is_valid": true,
      "name_match_score": 1.0
    }
  }
}
```

## Security & Verification

All webhook requests include the `X-AuthSetu-Signature` HMAC-SHA256 signature header computed with your endpoint signing secret (`whsec_...`).

See [Signature Verification](/docs/webhooks/verify-signatures) for code samples in TypeScript, Python, and Go.
