This guide gives an overview of the verification check of the Mexican INE and CURP databases. Businesses operating in Mexico are obliged to verify their users’ identity using database verification checks as part of the identity verification process.
It is available via API, web flow, and native SDKs.
The CURP (Unique Key of Population Registry) is the name of the population number/certificate in Mexico.
INE (Institutio Nacional Electoral - Mexican Electoral Registry) is the organization that issues the voter ID cards and maintains the voters registry.
Prerequisites
You have an integration set up with Veriff
The check is configured for that integration by your Solutions Engineer
A verification session generated for the end-user
The INE+CURP registry validation webhook has been set up
Contact your solutions engineer for info and configuration.
Flow overview
The flow is a bit different, depending on the method you are using to verify your end-users with Veriff.
Use via 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 INE+CURP webhook
Use via API
Generate a verification session using the a
API keys
and thebaseURL
of the integration used for this solution (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 INE+CURP webhook and/or query the data from the endpoint GET /sessions/{sessionId}/decision/combined-ine-curp-registry[↗]
Find decision and/or session related info
Webhook payload
First and foremost, you should check the INE+CURP registry validation webhook payload.
→ See the INE+CURP webhook article for detailed info
API call
Second source is the GET /sessions/{sessionId}/decision/combined-ine-curp-registry[↗] endpoint, see 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/combined-ine-curp-registry?version=1.0.0
Veriff Customer Portal
You can find the verification session related info 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: