api

Validación RENAPO / CURP

Valida que una CURP exista en el Registro Nacional de Población y devuelve los datos completos de la persona registrada.


Endpoint

POST/api/v1/official-list/mx/curp/validate

Valida una CURP contra RENAPO

Headers

HeaderValorRequerido
AuthorizationBearer <api-key-jwt>
Content-Typeapplication/json

Body

NombreTipoRequeridoDescripcion
curpstringCURP a validar. Formato: 18 caracteres (4 letras + 6 dígitos fecha + 1 letra H/M + 5 letras + 2 alfanum).

Ejemplo

curl -X POST https://services.api.jaak.ai/api/v1/official-list/mx/curp/validate \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -H "Content-Type: application/json" \
  -d '{"curp": "PEGJ800115HDFRRL09"}'

Respuesta exitosa (200 OK)

{
  "curp": "PEGJ800115HDFRRL09",
  "isValid": true,
  "message": "",
  "eventId": "evt_345mno",
  "details": {
    "segments": {
      "consonants": "PGJ",
      "homonymy": "80",
      "verificationDigit": "9"
    },
    "person": {
      "fullName": "JUAN PÉREZ GARCÍA",
      "fullPaternalSurname": "PÉREZ",
      "fullMaternalSurname": "GARCÍA",
      "gender": "HOMBRE",
      "birthDate": "1980-01-15",
      "birthEntity": "CDMX",
      "nationality": "MEXICAN",
      "renapoGender": "HOMBRE",
      "renapoBirthDate": "15/01/1980",
      "entityName": "Ciudad de México"
    },
    "probatoryDocument": {
      "registrationYear": "1980",
      "book": "A001",
      "certificateNumber": "12345",
      "registryEntity": "Civil Registry"
    }
  }
}
SecciónDescripción
segmentsDescomposición estructural de la CURP (verificada localmente).
personDatos demográficos según RENAPO.
probatoryDocumentActa de nacimiento que sustenta la CURP (cuando RENAPO la expone).

Respuesta CURP no válida (200 OK)

{
  "curp": "INVALIDA",
  "isValid": false,
  "message": "CURP no encontrada en RENAPO",
  "eventId": "evt_345mno"
}

Errores

HTTPerrorCodeDescripción
4000002CURP con formato inválido (longitud, regex)
401API Key inválida
5000000Error consultando RENAPO

Validar formato sin consultar RENAPO

Si solo necesitas validar el formato de la CURP localmente (sin consumir cuota de RENAPO), valida con regex:

^[A-Z]{4}\d{6}[HM][A-Z]{5}[A-Z0-9]{2}$
  • Posiciones 1-4: 4 letras
  • Posiciones 5-10: fecha de nacimiento YYMMDD
  • Posición 11: H (hombre) o M (mujer)
  • Posiciones 12-16: 5 letras
  • Posiciones 17-18: 2 alfanuméricos (homoclave)