CURP service

CURP API gives the service of CURP (Clave Única de Registro de Población) query, you only need to give birth-data or client id. Also, you can search client data giving CURP values. Both types of methods return same data. * it means Unique id of population register. It´s an id for Mexican people, there only can be one for each person.

Description

Response time

The service is responding in 1-5s per request in production. Next, we expose the web services given by CURPAPI.

Validation ByData

This method makes the consult of CURP when you give biographic data.

Endpoint of byData

~/api/Business/Curp/bydata

Parameters

Tag Type Required Maximum lenght Description
nombres string yes 50 Names.
apellidoPaterno string yes 50 First surname .
apellidoMaterno string yes 50 Second surname.
sexo string yes 1 Gender: “H” For man and “M” for woman.
fechaNacimiento string yes 10 Birthdate: dd/mm/yyyy. Example August 2 of 1990 02/08/1990.
entidadNacimiento string yes 2 Birth entity: Read the table 1.

Headers

Tag Type Required Description
apikey string yes Customer key.

FormData

{
  "nombres": "string",
  "apellidoPaterno": "string",
  "apellidoMaterno": "string",
  "sexo": "string",
  "fechaNacimiento": "string",
  "entidadNacimiento": "string"
}

Response:

Correct

Name Type Description
codigoRespuesta string Answer code
descripcionRespuesta string Answer description
referencia string Operation reference
statusOper string Operation status
Message string Status description
tipoError string Type error
codigoError string Error code
sessionID string Id’s session
resultCURPS
CURP string Clave Única de Registro de Población
apellidoPaterno string First surname
apellidoMaterno string Second surname
Nombres string Names
Sexo string Gender
fechNac string Birthdate
Nacionalidad string Nationality
docProbatorio string Type of the probatory document
anioReg string Year of register
Foja string Sheet number
tomo string Tome
libro string Book
numActa string Act number
CRIP string Register code and Personal id
numEntidadReg string Number of register place
cveMunicipioReg string Code of register place
NumRegExtranjeros string Number of National registry of Foreigners
FolioCarta string Folio carta
cveEntidadNac string State of birth code
cveEntidadEmisora string Issuing state code
statusCurp string CURP Status

Validation ByCURP

This method allows you to consult client data when you give the CURP.

Endpoint ByCurp

~/api/Business/Curp/byCURP

Parameters ByCurp

Tag Type Required Description
CURP string yes Clave Única de Registro de Población

Headers ByCurp

Tag Type Required Description
apikey string yes Customer key.

FormData ByCurp

{
  "curp": "string"
}

Response: ByCurp

Correct ByCurp

Name Type Description
codigoRespuesta string Answer code
descripcionRespuesta string Answer description
referencia string Operation reference
statusOper string Operation status
Message string Status description
tipoError string Type error
codigoError string Error code
sessionID string Id’s session
resultCURPS
CURP string Clave Única de Registro de Población
apellidoPaterno string First Surname
apellidoMaterno string Second Surname
Nombres string Names
Sexo string Gender
fechNac string Birthdate
Nacionalidad string Nationality
docProbatorio string Type of the probatory document
Foja string Sheet number
tomo string Tome
libro string Book
numActa string Act number
CRIP string Register code and Personal id
numEntidadReg string Number of register place
cveMunicipioReg string Code of register place NumRegExtranjeros
FolioCarta string Folio carta
cveEntidadNac string State of birth code
cveEntidadEmisora string Issuing state code
statusCurp string CURP Status

JSON file

{
    "codigoRespuesta": "string",
    "descripcionRespuesta": "string",
    "referencia": "string",
    "respuestaRENAPO": {
      "curpStatus": {
        "statusOper": "string",
        "message": "string",
        "tipoError": "string",
        "codigoError": "string",
        "sessionID": "string",
        "resultCURPS":{
        "curp": "string",
        "apellidoPaterno": "string",
        "apellidoMaterno": "string",
        "nombres": "string",
        "sexo": "string",
        "fechNac": "string",
        "nacionalidad": "string",
        "docProbatorio": "string",
        "anioReg": "string",
        "foja": "string",
        "tomo": "string",
        "libro": "string",
        "numActa": "string",
        "crip": "string",
        "numEntidadReg": "string",
        "cveMunicipioReg": "string",
        "numRegExtranjeros": "string",
        "folioCarta": "string",
        "cveEntidadNac": "string",
        "cveEntidadEmisora": "string",
        "statusCurp": "string"
      }
    }
}

Error structure

Name Type Description
code string Error code
message string Error message

Error model

{
  "error": "string", // Error code
  "message": "string" // Error message
}

Table 1. Federal entities

State Code
Aguascalientes AS
Baja California BC
Baja California Sur BS
Campeche CC
Chiapas CS
Chihuahua CH
Coahuila CL
Colima CM
Distrito Federal DF
Durango DG
Guerrero GR
Hidalgo HG
Jalisco JC
México MC
Michoacán MN
Morelos MS
Nayarit NT
Nuevo León NL
Oaxaca OC
Puebla PL
Querétaro QT
Quintana Roo QR
San Luis Potosí SP
Sinaloa SL
Sonora SR
Tabasco TC
Tlaxcala TL
Tamaulipas TS
Guanajuato GT
Veracruz VZ
Yucatán YN
Zacatecas ZS
Jalisco JC
México MC
Michoacán MN
Morelos MS
Nayarit NT
Nuevo León NL

Table 2. Service messages

Atribute Description
Operation status Indicates if the operation was successful or not. The values will be EXITOSO o NO EXITOSO. In case of error it will always be NO EXITOSO.
Error type Indicates the type of error that can be:
01 for business. Errors that have to do with business rules (business layer). These types of errors are returned by the eCURP system.
02 EJB invocation errors. This type of errors are returned when the call to some EJB corresponds to the eCURP system returns an error.
03 for Errors in the input parameters. These types of errors are generated when the input parameters of the web service do not comply with the required format, data type or field.
04 for LDAP connection errors. This type of error will be generated when the connection to the LDAP server cannot be established.
05 For Output Parameter Errors. This type of errors will be generated when the output data processing cannot be carried out.
Error code Indicates the error code that corresponds to a subtype of error more detailed.
Description of the movement. Detailed description of the operation.

Service errors

Error type Error code Description Cause of error
01 01 "Los cambios no han sido aplicados por igualdad con una versión anterior, revise sus cambios." Occurs when a previous version of the curp is not updated for equality with the changes of a current version.
01 02 "No se han modificado los datos." It is presented when the CURP data to be modified have not changed in the CURP national database.
01 03 "Alguno(s) de los datos seleccionados para actualizar no han sido modificados." Occurs when some of the data selected have not changed in the CURP national database.
01 04 "CURP previamente dada de baja." Occurs when the CURP to be deleted was deleted previously.
01 05 "No se pudo dar de baja. La CURP tiene una nueva versión." When the data to be deleted have changed in the database and not corresponds to the data to be deleted.
01 06 "La CURP no se encuentra en la base de datos." When the CURP requested doesn't exists in the national database.
01 07 "No se pudo realizar la baja, CURP no encontrada en la base de datos." When the CURP to be deleted doesn't exists in the national database.
01 08 "El documento probatorio está mal formado". Occurs when the data type of the supporting document aren't correct and neccesary to execute some transaction.
01 09 "La llave de la CURP no está bien formada." Occurs when the CURP format is incorrect.
01 10 "No se pudo desplegar la CURP." Occurs when there was a problem when removing the CURP from the database.
01 11 "No se puede realizar el cambio". It occurs when the specified change could not be made in the database of some of the data that defines the CURP.
01 12 "No se encontró la CURP especificada." It is presented when a query is made to verify that the CURP to modify exists in the Database.
01 13 "Se detectó un error al procesar su requerimiento, por favor inténtelo de nuevo." It occurs when an error occurs during the process of the transaction to modify the CURP.
01 14 "No se pudo realizar la consulta, inténtelo nuevamente." It is presented when an error occurred during the query to the database.
01 15 "No se pudo desplegar los factores." It occurs when the CURP has risk factors and these cannot be obtained from the Database and presented to the user.
01 16 "No se pudo realizar el cambio especial, inténtelo nuevamente." It occurs when an error occurs in the special change in CURP.
01 17 "No se pudo realizar el registro, inténtelo nuevamente." It occurs when the system could not register the CURP in the database.
01 18 "Usuario no válido." It occurs when the system user is not valid to execute the transaction.
01 19 "CURP ya existente en la base de datos." It occurs when a valid user tries to register a CURP that already exists in the database.
02 01 Error al invocar al sistema eCURP. javax.ejb.CreateException. Error in the creation of an EJB object.
02 02 Error invoking the eCURP system. javax.ejb.NamingException. This is the superclass of all exceptions returned by operations with the context and dirContext interfaces.
02 03 Error invoking the eCURP system. java.rmi.RemoteException
03 01 [field name] It do not have the specified format. This exception is generated when the field don't have the correct format.
03 02 [field name] Is a required data. This exception is generated when the field is required for the operation indicated for the client.
04 01 LDAP connection couldn't be set successfully. This exception is generated when it is required to connect to the LDAP server in order to carry out the validation of the user who requested the execution of an operation with eCURP through a web service.
05 01 Error processing XML output parameters. This exception is generated when processing the curp object or objects obtained from the EJB, in order to pass them to XML.

Service error messages

Code Message FullMessage
CURP000 El servicio de RENAPO no se encuentra disponible.
CURP001 No data were found to consult.
CURP003 Error on request information Error processing your request, please try again.
CURP004 Apikey invalid Access Denied - Header Apikey not Found.
CURP005 The Name is invalid. Message displayed when name value is not entered or invalid characters are entered as numbers.
CURP006 The lastname is invalid. Message displayed when the value of the paternal last name is not entered or when invalid characters are entered as numbers.
CURP007 The secondLastname is invalid. Message displayed when the value of the mother's last name is not entered or when invalid characters are entered as numbers.
CURP008 The sex field is invalid. Message displayed when gender value null or incorrect.
CURP009 The birthDate field is invalid. Message displayed when the value of the date of birth is null or when invalid characters such as $ # $! #% are entered.
CURP010 The state field is invalid. Message displayed when the correct birth status value is not entered or when invalid characters such as # $% &% $ & are entered.
CURP011 The CURP field is invalid. Message displayed when the value of the CURP is null or when invalid format are entered.
CURP018 Something was wrong, We're working on the failure. Please try again.
CURP019 Empty data response from RENAPO, please verify data request.

Data returned by RENAPO

CURP status Descripción Description Response to clients Registration status
AN Alta Normal Normal registration AN Active
AH Alta con Homonimia Registration with homonymy AH Active
RCC Registro de cambio afectando a CURP Change affecting CURP. RCC Active
RCN Registro de cambio no afectando a CURP Change not affecting CURP RCN Active
BAP Baja por documento apócrifo Low due to apocryphal document. BAP Inactive
BSU Baja sin uso Low curp without use BSU Inactive
BD Baja por defunción Low curp due to death BD Inactive
BDM Baja administrativa Low, due to administrative process BDM Inactive
BDP Baja por adopción Low, due to adoption BDP Inactive
BJD Baja Judicial Low for judicial reasons BJD Inactive
Field Campo Observations of the evidentiary document
1. Birth certificate.
3. Immigration document.
4. Naturalization letter.
7. Certificate of Mexican nationality.
8. Processing before SEGOB.
Register year Año de registro If the supporting document is 1, 4 and 7.
Sheet Foja If the supporting document is 1.
Tome Tomo If the supporting document is 1.
Book Libro If the supporting document is 1.
Act number Número de acta If the supporting document is 1.
CRIP CRIP If the supporting document is 1 and 8.
Register entity Entidad de Registro If the supporting document is 1.
City ​​of registration Municipio de Registro If the supporting document is 1.
Foreigner registration number Número de Registro de Extranjeros If the supporting document is 3.
Folio of Naturalization Letter Folio de Carta de Naturalización If the supporting document is 4.
Folio of Certificate of Mexican Nationality Folio de Certificado de Nacionalidad Mexicana If the supporting document is 7.