CURP Validation - Error Codes

Incode uses a third party provider to access 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.

Provider Error Codes

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

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

JSON

{
    "success": false,
    "error": {
        "descripcionRespuesta": "LOS DATOS SON INCORRECTOS",
        "codigoRespuesta": "03",
        "codigoError": "06",
        "tipoError": "01"
    },
    "result": "error"
}

JSON

{
    "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:

codigoRespuesta descripcionRespuesta
01 SIN RESPUESTA DE RENAPO
02 SERVIDOR SVBI NO RESPONDE
SE HA ALCANZADO EL LIMITE DE TRANSACCIONES PERMITIDAS POR MES
SE HA ALCANZADO EL LIMITE DE TRANSACCIONES PERMITIDAS POR MINUTO
SE HA ALCANZADO EL LÍMITE DE TRANSACCIONES PERMITIDAS POR
DIA
03 LOS DATOS SON INCORRECTOS
05 ERROR INESPERADO

Renapo Error Codes

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

JSON

{
    "success": false,
    "error": {
        "codigoError": "06",
        "tipoError": "01"
    },
    "result": "",
    "renapo_valid": false
}

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

Group 1

tipoError codigoError message Description
01 04 CURP previamente dada de baja The CURP was previously deactivated.
01 06 La CURP no se encuentra en la base de datos. The CURP is not found in the database.
01 09 La llave de la CURP no está bien formada. The CURP key is not correctly formatted.
01 20 Más de una CURP para estos datos More than one CURP exists for this data.
01 90 Curp status is not acceptable Curp status is not acceptable
03 01 [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:

tipoError codigoError Meaning Group
01 13 Connection Error Group 2
01 14 Connection Error Group 2
01 18 Connection Error Group 2
02 01 Connection Error Group 2
02 02 Connection Error Group 2
02 03 Connection Error Group 2
04 01 Connection Error Group 2
99 01 Connection Error Group 2
99 02 Connection Error Group 2
01 01 Internal Error Group 3
01 02 Internal Error Group 3
01 03 Internal Error Group 3
01 05 Internal Error Group 3
01 07 Internal Error Group 3
01 08 Internal Error Group 3
01 10 Internal Error Group 3
01 11 Internal Error Group 3
01 12 Internal Error Group 3
01 15 Internal Error Group 3
01 16 Internal Error Group 3
01 17 Internal Error Group 3
01 19 Internal Error Group 3
03 02 Internal Error Group 3
05 01 Internal Error Group 3

In case there is a communication error and it was not possible to establish a connection with the provider, you will see the following message: "The CURP validation service is not available":

JSON

{
    "success": false,
    "error": {
        "codigoError": "01",
        "tipoError": "99",
        "message": "The CURP validation service is not available"
    },
    "result": "The CURP validation service is not available",
    "renapo_valid": false
}