Obtener un evento de auditoría
GET /v1/audit-events/{event_id} · permiso audit-events:read
Devuelve un registro de auditoría de cualquiera de los flujos (admin o application).
Solicitud
| Parámetro | En | Obligatorio | Descripción |
|---|---|---|---|
event_id |
path | sí | Id del registro de auditoría, con el prefijo evt_. |
Respuesta
200 OK y el registro, con la misma forma que un elemento de Listar eventos de auditoría. Los campos vacíos son null.
ip y user_agent solo aparecen cuando la clave tiene el permiso audit-events:read_ip (solo se rellenan para registros de menos de 13 meses). Sin ese permiso, los campos se omiten por completo.
{
"id": "evt_01j9xk3m7q8r2s4t6v8w0y2z4a",
"stream": "admin",
"seq": 4182,
"schema_version": 1,
"action": "user.blocked",
"category": "administration",
"outcome": "success",
"reason_code": null,
"occurred_at": "2026-10-01T08:15:42.120Z",
"received_at": "2026-10-01T08:15:42.131Z",
"recorded_at": "2026-10-01T08:15:42.140Z",
"clock_anomaly": false,
"actor_type": "api_key",
"actor_id": "key_01j9xk3m7q8r2s4t6v8w0y2z4d",
"act_chain": null,
"session_id": null,
"auth_context": null,
"elevation_ref": null,
"org_id": null,
"targets": [
{"type": "user", "id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p", "org_id": null, "name": null}
],
"application_id": null,
"ip": "203.0.113.7",
"ip_prefix": "203.0.113.0/24",
"ip_country": "DE",
"ip_asn": 64500,
"user_agent": "keenauth-go/1.4.0 (go/1.25.3)",
"user_agent_family": "keenauth-go",
"request_id": "0192a6c1-7d3e-7a10-9b2c-3d4e5f607182",
"correlation_id": null,
"trace_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"producer_service": "directory",
"policy_ref": "perm:users:write",
"changes": {"status": {"old": "active", "new": "blocked"}},
"metadata": null,
"prev_hash": "n4bQgYhMfWWaL-qgxVrQFaO_TxsrC4Is0V1sFbDwCgg",
"org_prev_hash": null,
"record_hash": "LCa0a2j_xo_5m0U8HTBBNBNCLXBkg7-g-YpeiGJm564"
}
Errores
Cada 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 audit-events:read. |
| 404 | not_found |
El registro no existe, pertenece a otro entorno, está fuera del periodo de retención o el id tiene un formato incorrecto. |
| 429 | rate_limited |
Se ha superado el límite de peticiones; respete Retry-After. |
| 503 | service_unavailable |
Una dependencia no está disponible temporalmente; reintente más tarde. |
Ejemplo
curl https://api.eu.keenauth.com/v1/audit-events/evt_01j9xk3m7q8r2s4t6v8w0y2z4a \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
keenauth audit-events get evt_01j9xk3m7q8r2s4t6v8w0y2z4a
Datos personales
Este endpoint contiene datos personales: eventos de auditoría. Datos personales en las API de KeenAuth describe qué se almacena, 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.