Businesses operating in Mexico are obliged to verify their users’ identity using database verification checks as part of the identity verification process.
This guide gives an overview of the verification check of the Mexican Clave Única de Registro de Población (CURP). The CURP (Unique Key of Population Registry) is the name of the population number/certificate in Mexico.
The solutionis available via API, web flow, and native SDKs.
Contact your solutions engineer for info and configuration.
Prerequisites
You have a regular identity verification (IDV) integrationintegration set up with Veriff
The solution/check is configured for that integration by your Solutions Engineer
A verification session generated for the end-user
The CURP registry validation webhook has been set up
Flow overview
The flow is a bit different, depending on the method you are using to verify your end-users with Veriff.
Use over SDK
Generate a verification session using the
API keys
and thebaseURL
of the integration used for this solution (see the API Documentation and API Reference[↗] how to find these)Capture end-user’s document and selfie images with Veriff’s SDKs
Send the end-user through the verification flow to capture the images (using the preferred Veriff SDK)
You need the session URL generated in step 1 to use the SDKs (found in response payload as
verification.url
)
Session will be submitted automatically once the end-user takes and submits necessary images
Receive the results from Veriff via CURP registry validation webhook
Use over API
Generate a verification session using the a
API keys
and thebaseURL
of the integration used for this solution integration (see the API Documentation and API Reference[↗] how to find these)Veriff strongly recommends you create and send the
endUserId
orvendorData
Veriff strongly recommends you collect and send additional session/device data via POST sessions/{sessionid}/collected-data[↗] for improved fraud detection
Use your image-capturing method, or prepare previously collected end-user selfie and document images
Upload the end-user's media via POST /sessions/{sessionId}/media[↗] call
Specify the
image.context
as appropriate for the image (see Context types (image, video) for more info about image context types)
Patch session status to
submitted
status using PATCH /sessions/{sessionId}[↗] callCheck the decision data and/or session related info from the CURP registry validation webhook and/or query the data from the GET /sessions/{sessionId}/decision/curp-registry[↗] endpoint
Find the decision and/or session related info
You can get the data from three sources:
Receive the CURP registry validation webhook
Query the results via GET sessions/{sessionId}/decision/curp-registry
View the session in Veriff Customer Portal
Webhook payload
Check the CURP registry validation webhook payload, see the CURP webhook documentation for detailed overview.
API call
You can use the GET /sessions/{sessionId}/decision/curp-registry[↗] endpoint, check the documentation for more info.
Make sure to add the mandatory query parameter
version=1.0.0
to the API URL:GET sessions/{sessionId}/decision/curp-registry?version=1.0.0
Veriff Customer Portal
You can find the verification session related info, including the decision, in the Veriff Customer Portal, under the Webhooks tab.
→ See Review verification in Veriff Customer Portal about how to view the session info in the Veriff Customer portal
Full forms of the statusCurp
acronyms
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)
Status and reason codes
For an approved
session, see the verification.code
and verification.status
parameters.
If the session was declined
or resubmission_requested
, you can find additional information by checking the verification.status
, verification.code
, verification.reason
and verification.reasonCode
data objects.
For more info about the codes you are seeing, refer to:
Article versioning
Date | Description |
---|---|
Mar 28, 2025 | Broken link fixed |
Mar 12, 2025 | Documentation published |