Récupérer un journal
GET /v1/logs/{log_id} · autorisation logs:read
Renvoie un enregistrement de journal, y compris details.
Requête
| Paramètre | Dans | Obligatoire | Description |
|---|---|---|---|
log_id |
chemin | oui | Identifiant de l'enregistrement de journal, préfixé evt_. |
Réponse
200 OK avec l'enregistrement. Les champs vides valent null.
Les champs ip, ip_asn, user_agent et user_agent_family ne sont présents que si la clé possède l'autorisation audit-events:read_ip, et identifier_hint uniquement si elle possède users:read_pii. Sans cette autorisation, le champ est omis entièrement (aucune valeur masquée). ip_country est toujours renvoyé.
{
"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"
}
Erreurs
Chaque erreur est un corps application/problem+json accompagné d'un code stable.
| HTTP | code |
Quand |
|---|---|---|
| 401 | unauthenticated |
La clé d'API est absente, invalide ou révoquée. |
| 403 | insufficient_permissions |
La clé ne possède pas l'autorisation logs:read. |
| 404 | not_found |
L'enregistrement n'existe pas, appartient à un autre environnement ou se situe en dehors de la période de conservation. |
| 429 | rate_limited |
La limite de débit a été dépassée ; respectez Retry-After. |
| 503 | service_unavailable |
Une dépendance est temporairement indisponible ; réessayez plus tard. |
Exemple
curl https://api.eu.keenauth.com/v1/logs/log_01j9xk3m7q8r2s4t6v8w0y2z4a \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
Données personnelles
Cet endpoint contient des données personnelles : les journaux de l'environnement. Données personnelles dans les API KeenAuth décrit ce qui est stocké, la durée de conservation et la manière dont elles sont supprimées. N'envoyez aucune catégorie particulière de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.