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
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

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 Description
CURP001 Empty request data found, please review your request. Message displayed when the request has not data.
CURP002 The $fieldName$ field is not in the allowed format. Message displayed when any field do not match with their right format.
CURP003 Error processing your request, please try again. Message displayed when there is an error on the server.
CURP004 Access Denied - Header Apikey not Found. Message to be displayed when the user enters an incorrect apikey or when the apikey is not displayed.
CURP018 Something was wrong, We're working on the failure. Please try again. Message displayed when the timeout for validation against the source is exceeded.

Data returned by RENAPO

CURP status
AN Alta Normal.
AH Alta con Homonimia.
RCC Registro de cambio afectando a CURP.
RCN Registro de cambio no afectando a CURP.
BAP Baja por documento apócrifo.
BSU Baja sin uso.
BD Baja por defunción.
BDM Baja administrativa.
BDP Baja por adopción.
BJD Baja Judicial.
Field Observations
Documento probatorio 1. Birth certificate.
3. Immigration document.
4. Naturalization letter.
7. Certificate of Mexican nationality.
8. Processing before SEGOB.
Año de registro If the supporting document is 1, 4 and 7.
Foja If the supporting document is 1.
Tomo If the supporting document is 1.
Libro If the supporting document is 1.
Número de acta If the supporting document is 1.
CRIP If the supporting document is 1 and 8.
Entidad de Registro If the supporting document is 1.
Municipio de Registro If the supporting document is 1.
Número de Registro de Extranjeros If the supporting document is 3.
Folio de Carta de Naturalización If the supporting document is 4.
Folio de Certificado de Nacionalidad Mexicana If the supporting document is 7.