CURP Validation - Error Codes

Incode uses a third party provider to access to the official Renapo records.

Errors while requesting the CURP validation might come from different sources: Provider and Renapo.

The details of the error will be included within the error field in the response.

  • The errors from the Provider suggest a connectivity error. These are provided via a pair of fields: codigoRespuesta and descripcionRespuesta.
  • Renapo errors are of a different nature, as they indicate errors with the CURP data itself or Renapo internal errors. These errors are provided with a pair of fields: tipoError and codigoError

Provider Error Codes

Errors originated directly from the Provider do not reach to query the information at the Renapo services.

When an error at happens at the Provider level, you should get a response similar to this:

{
    "success": false,
    "error": {
        "codigoRespuesta": "01",
        "descripcionRespuesta": "SIN RESPUESTA DE RENAPO",
        "referencia": "",
        "respuestaRENAPO": null
    },
    "result": ""
}

Here are the possible values of the codigoRespuesta and descripcionRespuesta fields:

codigoRespuestadescripcionRespuestaDescription
01SIN RESPUESTA DE RENAPONo response from Renapo
02SERVIDOR SVBI NO RESPONDE

SE HA ALCANZADO EL LIMITE DE
TRANSACCIONES PERMITIDAS POR
MINUTO

SE HA ALCANZADO EL LÍMITE DE
TRANSACCIONES PERMITIDAS POR
DIA
- SVBI server is not responding

- The limit of transactions allowed per minute
has been reached

- The limit of transactions allowed per day
has been reached
03LOS DATOS SON INCORRECTOSData is incorrect
05ERROR INESPERADOUnexpected error

Renapo Error Codes

When a CURP validation request is successful (meaning, RENAPO responded), you will get a response that looks like the following:

{
    "success": false,
    "error": {
        "codigoError": "06",
        "tipoError": "01",
        .. // other fields
    },
    "result": "",
    "transactionId": "",
    "renapo_valid": false
}

Errors are divided in 3 groups. You can identify them by the tipoError and codigoError fields.

  • Group 1: Errors most likely to be found. Might be due to incorrect curp input in the session.
  • Group 2: Connectivity errors (within Renapo). Most of these should be transient and might require you to retry.
  • Group 3: Internal errors. These should not be found. Please reach out to Incode technical support if you find any of these.

Group 1

tipoErrorcodigoErrormessageDescription
0104CURP previamente dada de bajaThe CURP was previously deactivated.
0106La CURP no se encuentra en la base de datos.The CURP is not found in the database.
0109La llave de la CURP no está bien formada.The CURP key is not correctly formatted.
0120Más de una CURP para estos datosMore than one CURP exists for this data.
0301[Nombre campo]: No cumple con el formato especificado[Field name]: Does not meet the specified format.

For Group 2 and Group 3, you can handle the same meaning for all combinations:

tipoErrorcodigoErrorMeaningGroup
0113Connection ErrorGroup 2
0114Connection ErrorGroup 2
0118Connection ErrorGroup 2
0201Connection ErrorGroup 2
0202Connection ErrorGroup 2
0203Connection ErrorGroup 2
0401Connection ErrorGroup 2
9901Connection ErrorGroup 2
9902Connection ErrorGroup 2
0101Internal ErrorGroup 3
0102Internal ErrorGroup 3
0103Internal ErrorGroup 3
0105Internal ErrorGroup 3
0107Internal ErrorGroup 3
0108Internal ErrorGroup 3
0110Internal ErrorGroup 3
0111Internal ErrorGroup 3
0112Internal ErrorGroup 3
0115Internal ErrorGroup 3
0116Internal ErrorGroup 3
0117Internal ErrorGroup 3
0119Internal ErrorGroup 3
0302Internal ErrorGroup 3
0501Internal ErrorGroup 3