Obtener un registro de log
GET /v1/logs/{log_id} · permiso logs:read
Devuelve un registro de log, incluido details.
Solicitud
| Parámetro | En | Obligatorio | Descripción |
|---|---|---|---|
log_id |
path | sí | Id del registro de log, con el prefijo evt_. |
Respuesta
200 OK con el registro. Los campos vacíos son null.
ip, ip_asn, user_agent y user_agent_family solo se incluyen cuando la clave tiene el permiso audit-events:read_ip, y identifier_hint solo cuando tiene users:read_pii. Sin el permiso, el campo se omite por completo (no se devuelve ningún valor enmascarado). ip_country se devuelve siempre.
{
"id": "evt_01j9xk3m7q8r2s4t6v8w0y2z4a",
"occurred_at": "2026-10-01T08:15:42.120Z",
"type": "authentication.password.failed",
"outcome": "failure",
"reason_code": "invalid_credentials",
"user_id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
"org_id": null,
"application_id": "app_01j9xk3m7q8r2s4t6v8w0y2z4b",
"connection_id": "conn_01j9xk3m7q8r2s4t6v8w0y2z4c",
"directory_id": null,
"session_id": null,
"identifier_hint": "a***@e***.com",
"ip": "203.0.113.7",
"ip_country": "DE",
"ip_asn": 64500,
"user_agent": "Mozilla/5.0 (X11; Linux x86_64)",
"user_agent_family": "Firefox",
"risk": null,
"auth_context": null,
"act_chain": null,
"details": {"attempt": 3},
"request_id": "0192a6c1-7d3e-7a10-9b2c-3d4e5f607182",
"correlation_id": null,
"trace_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}
Errores
Todo error es un cuerpo application/problem+json con un code estable.
| HTTP | code |
Cuándo |
|---|---|---|
| 401 | unauthenticated |
Falta la clave de API, no es válida o ha sido revocada. |
| 403 | insufficient_permissions |
La clave no tiene el permiso logs:read. |
| 404 | not_found |
El registro no existe, pertenece a otro entorno o está fuera del periodo de retención. |
| 429 | rate_limited |
Se superó el límite de frecuencia; respete Retry-After. |
| 503 | service_unavailable |
Una dependencia no está disponible temporalmente; reintente más tarde. |
Ejemplo
curl https://api.eu.keenauth.com/v1/logs/log_01j9xk3m7q8r2s4t6v8w0y2z4a \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
Datos personales
Este endpoint contiene datos personales: logs del entorno. Datos personales en las API de KeenAuth describe qué se almacena, durante cuánto tiempo se conserva y cómo se elimina. No envíe categorías especiales de datos personales (salud, datos biométricos, religión, opiniones políticas, orientación sexual) en ningún campo.