---
title: "CURP webhook | Veriff.com"
slug: "curp-webhook"
description: "Learn how to set up the CURP webhook in the Veriff Customer Portal for efficient registry checks and data management in Mexico."
tags: ["Mexican registries", "Registries", "CURP"]
updated: 2025-11-14T11:22:51Z
published: 2025-11-14T11:22:51Z
---

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

# CURP webhook

> [!WARNING]
> This webhook is part of the [**legacy CURP verification**](/v1/docs/curp-clave-única-de-registro-de-población-database-verification-guide) solution. If you are interested in CURO Database Verification solution, see the documentation of the [recent solution](/v1/docs/curp-database-verification).

The CURP webhook passes back data after the check in the [**Mexican Population Registry (Clave Única de Registro de Población)**](/v1/docs/curp-clave-única-de-registro-de-población-database-verification-guide) has been completed. The payload is sent to `Webhook CURP registry URL`, which you need to set up in the Veriff Customer Portal.

→*See Webhooks Guide > [Set up webhooks](https://veriff-dev-documentation.document360.io/docs/webhooks-guide#set-up-webhooks) sub-section for detailed overview of the setup process*

---

## When is CURP webhook sent?

The CURP webhook is sent after the verification session is done and after the registry checks have been completed.

---

## Prerequisites

1. Make sure you **have access to the Veriff Customer Portal**
  1. If you do not, see the Getting Started → [Sign up](https://devdocs.veriff.com/docs/signing-up) and [Log in](https://devdocs.veriff.com/docs/logging-in) articles
2. Set up webhook URL(s) **on your side**and have them at hand
  1. Make sure they **match** the [Webhook URL](https://devdocs.veriff.com/docs/webhooks-guide#webhook-url-requirements) requirements
  2. Make sure your system is **able to handle** [Webhooks receipt, delivery and resending](https://devdocs.veriff.com/docs/webhooks-guide#webhook-delivery-receipt-and-resending) requirements
  3. Check the [Webhooks headers and payload](https://devdocs.veriff.com/docs/webhooks-guide#webhooks-headers-and-payload) section for info
3. Secure your communication, check the [HMAC Authentication and Endpoint Security](https://devdocs.veriff.com/docs/hmac-authentication-and-endpoint-security) article
4. Make sure your system is **able to handle** the [Backwards compatible changes](https://devdocs.veriff.com/docs/backwards-compatible-changes)

5.Proceed to [CURP webhook setup](/v1/docs/curp-webhook#curp-webhook-setup)

---

## CURP webhook setup

1. Log in to the **Veriff Customer Portal**
2. Navigate to the **Integrations** page via the top menu and open the integration used for the registry check
3. On the integration's page, select the **Settings** tab
4. Under the title **Integration settings** you see a list of webhooks
5. Fill in the `Webhook CURP registry URL`

→*See Webhooks Guide > [Set up webhooks](https://veriff-dev-documentation.document360.io/docs/webhooks-guide#set-up-webhooks) sub-section for detailed overview of the setup process*

---

## Sample request

```json
{
  "type": "curp_registry",
  "id": "f04bdb47-d3be-4b28-b028-a652feb060b5",
  "vendorData":  "1234567812345678",
  "endUserId": "a1b2c35d-e8f7-6d5e-3cd2-a1b2c35db3d4",
  "version": "1.0.0",
  "data": {
      "attemptId": "e30122d1-740b-4764-853f-470374a7abf4",
      "name": "curp_registry",
      "status": "found",
      "code": 200,
      "details": {
          "statusCurp": "RCN",
          "curp": "VISH760905HSRLNN06",
          "description": "Registro de cambio no afectando a curp"
      }
  }
}
```

## Full forms of the CURP data status acronyms

The field `statusCurp` returns acronyms, which mean the following:

- **For active CURP**: AN (Alta Normal), AH (Alta con Homonimia), CRA CU (CURP Reactivada), RCN (Registro de Cambio no Afectando a CURP), RCC (Registro de Cambio Afectando a CURP)
- **For inactive CURP**: BD (Baja por Defuncion), BDA (Baja por Duplicidad), BCC (Baja por Cambio en CURP), BCN (Baja no Afectando a CURP)

---

## Request properties explained

*Required field

- `curp_registry`
- `id`: `string`* UUID for the session where this check was executed
- `vendorData`: `string | null`* The unique identifier that you created for your end-user. `null` if not specified
- `endUserId`: `string | null`* The `UUID` identifier that you created for your end-user. `null` if not specified
- `version`: `string`* Version number of the check
- `data`: `object | null`* Array of data objects
  - `attemptId`: `string` UUID v4 which identifies session attempt
  - `name`: `string` Name of the check
  - `status`: `string` Status of the data, one of `found`, `not found`
  - `code`: `number` An integer number of the HTTP status code. See the [Common HTTP status codes table](/v1/docs/common-http-status-codes) for more info
  - `details`: `object` Details connected to the specific check against the registry
    - `statusCurp`: `string | null` CURP data status acronym, one of `AN`, `AH`, `CRA CU`, `RCN`, `RCC`, `BD`,` BDA`, `BCC`, `BCN`
    - `curp`: `string` 18-character alphanumeric code of the person (the CURP identification number)
    - `description`: `string` Explanation of the `details.statusCurp` value

---

## Changelog

| Date | Description |
| --- | --- |
| Nov 14, 2025 | Legacy note added |
| Mar 12, 2025 | Documentation published |

## Related

- [CURP (Clave Única de Registro de Población) database verification guide](/curp-clave-única-de-registro-de-población-database-verification-guide.md)
- [Webhooks Guide](/webhooks-guide.md)
