API Cédulas Profesionales
Documentacion operativa

API Cédulas Profesionales.

Manual operativo de la API de consulta de cédulas profesionales federales de BuhoLegal. Permite buscar por número de cédula o por nombre del profesionista.

Token JWT Cédulas federales Profesionistas

Introduccion

La API de Cédulas Profesionales permite consultar el padrón de profesionistas con cédula federal emitida por la Dirección General de Profesiones (SEP). Las búsquedas se realizan sobre un índice actualizado y retornan datos como nombre, carrera, universidad, entidad y año de registro.

Cómo funciona

  • El acceso requiere un token JWT generado en /api/login/.
  • El token se envía directamente, sin prefijo Bearer.
  • Cada consulta exitosa descuenta del saldo del usuario.

Tipos de busqueda

  • Por número de cédula: respuesta exacta.
  • Por nombre / paterno / materno: búsqueda flexible, retorna múltiples resultados.
  • Al menos un campo de nombre debe estar presente.
Header de autenticacion Este API usa JWT sin prefijo Bearer. Usa el header: Authorization: <token>
FormatoJSON
DashboardPanel web
SwaggerUI raiz
FuenteSEP / DGP

Inicio rapido

El flujo mínimo es: obtener token, verificar saldo disponible y realizar una búsqueda por número o por nombre.

Paso 1POST /api/login/
Paso 2GET /api/estado-cuenta/
Paso 3GET /api/cedula/{cedula}/ o /api/cedula/query/
Flujo minimobash
curl -X POST https://cedulas.buholegal.com/api/login/ \
  -H "Content-Type: application/json" \
  -d '{"email": "mi_usuario@empresa.com", "password": "mi_password"}'

curl https://cedulas.buholegal.com/api/estado-cuenta/ \
  -H "Authorization: <token>"

curl "https://cedulas.buholegal.com/api/cedula/1234567/" \
  -H "Authorization: <token>"

Autenticacion

La API usa JWT. El login acepta email y password. El token de acceso se envía directamente en el header Authorization, sin prefijo Bearer.

MetodoEndpointDescripcion
POST/api/login/Genera el par de tokens access / refresh.
POST/api/token/refresh/Renueva el access token usando el refresh token.
POST/api/token/verify/Verifica si un token es válido.
Body de loginjson
{
  "email": "mi_usuario@empresa.com",
  "password": "mi_password"
}
Respuestajson
{
  "access": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
  "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
}
Header en endpoints protegidoshttp
Authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
Sin prefijo Bearer A diferencia del estándar JWT, este API NO requiere la palabra Bearer antes del token.

Busqueda por numero de cedula

Retorna todas las cédulas que coincidan con el número indicado. El resultado es un arreglo; un mismo número puede estar asociado a más de una carrera.

MetodoEndpointDescripcion
GET/api/cedula/{cedula}/Busca por número de cédula (1–9 dígitos).
Ejemplobash
curl "https://cedulas.buholegal.com/api/cedula/1234567/" \
  -H "Authorization: <token>"
Respuesta exitosajson
[
  {
    "cedula": "1234567",
    "nombre": "JUAN",
    "paterno": "PEREZ",
    "materno": "LOPEZ",
    "carrera": "MEDICINA",
    "universidad": "UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO",
    "entidad": "DISTRITO FEDERAL",
    "anno": 1998,
    "tipo": "TITULO",
    "status": 0
  }
]
Resultado vacío Si no se encuentra la cédula, la API retorna un arreglo vacío [] con status 200. No se genera error 404.

Busqueda por nombre

Permite buscar cédulas por nombre, apellido paterno y/o apellido materno. Al menos un campo debe estar presente. Los resultados se ordenan por número de cédula descendente.

MetodoEndpointDescripcion
GET/api/cedula/query/Busca por nombre, paterno y/o materno.
Parametros de busqueda Los parámetros se envían por query string: nombre, paterno, materno. Al menos uno es obligatorio.
Ejemplo con los tres camposbash
curl "https://cedulas.buholegal.com/api/cedula/query/?nombre=JUAN&paterno=PEREZ&materno=LOPEZ" \
  -H "Authorization: <token>"
Ejemplo solo con paternobash
curl "https://cedulas.buholegal.com/api/cedula/query/?paterno=PEREZ" \
  -H "Authorization: <token>"
Respuesta exitosajson
{
  "total": 3,
  "cedulas": [
    {
      "cedula": "9876543",
      "nombre": "JUAN",
      "paterno": "PEREZ",
      "materno": "LOPEZ",
      "carrera": "DERECHO",
      "universidad": "UNIVERSIDAD DE GUADALAJARA",
      "entidad": "JALISCO",
      "anno": 2005,
      "tipo": "TITULO",
      "status": 0
    }
  ]
}

Cuenta y limites

Cada usuario tiene un límite de consultas asignado. Los endpoints de cuenta permiten revisar el saldo disponible y el historial de búsquedas realizadas.

MetodoEndpointDescripcion
GET/api/estado-cuenta/Retorna consultas consumidas y límite total asignado.
GET/api/historial-busquedas/Historial paginado de búsquedas realizadas.
Parametros del historial limite (default 20), pagina (default 1), tipo (nombre o numero).
Estado de cuentajson
{
  "consumidas": 45,
  "limite": 500,
  "disponibles": 455
}
Limite alcanzado Cuando se supera el límite de consultas, la API responde con 429 Too Many Requests e indica cuántas consultas se han consumido.

Errores

La API responde con códigos HTTP estándar. Los errores funcionales retornan un objeto con detail describiendo el problema.

CodigoSignificadoUso tipico
200OKOperación exitosa. Si no hay resultados, retorna arreglo vacío.
400Bad RequestParámetros faltantes o con formato inválido.
401UnauthorizedToken ausente, expirado o inválido.
429Too Many RequestsLímite de consultas alcanzado.
500Internal Server ErrorError interno al consultar el índice de cédulas.

Referencia rapida

MetodoEndpointDescripcion
POST/api/login/Obtiene token JWT.
POST/api/token/refresh/Renueva el token.
POST/api/token/verify/Verifica validez del token.
GET/api/cedula/{cedula}/Busqueda por numero de cedula.
GET/api/cedula/query/Busqueda por nombre / paterno / materno.
GET/api/estado-cuenta/Consultas consumidas y limite.
GET/api/historial-busquedas/Historial paginado de busquedas.

Soporte y recursos