Aller au contenu principal

Logs et Audit

Journaux techniques et journal d'audit.


Logs techniques​

Permissions : log.read ou organization.manage

GET /admin/org/logs​

Logs techniques de l'organisation.

ParamTypeDéfautDescription
levelstring—debug, info, warn, error
modulestring—Module source
fromdatetime—Date de début (RFC 3339)
todatetime—Date de fin (RFC 3339)
limitinteger50Max 200
offsetinteger0

Réponse (200) :

{
"items": [
{
"id": "uuid",
"organization_id": "uuid",
"level": "error",
"module": "payments",
"action": "webhook.callback",
"message": "Webhook validation failed",
"details": {},
"request_path": "/api/v1/payments/callback",
"request_method": "POST",
"actor_id": null,
"ip_address": "192.168.1.1",
"user_agent": "FedaPay/1.0",
"created_at": "2025-01-15T10:00:00Z"
}
],
"total": 340
}

GET /admin/org/logs/modules​

Liste des modules disponibles pour le filtrage.

Permissions : log.read

Réponse (200) : un tableau de chaînes.

["auth", "card", "payment", "product", "reservation", "user"]

Journal d'audit​

Permissions : log.read ou organization.manage

GET /admin/org/audit-log​

Journal d'audit de l'organisation. Chaque entrée est enrichie du nom de l'acteur et de la ressource cible.

ParamTypeDéfautDescription
actor_iduuid—Filtrer par acteur
actionstring—Filtrer par action (ex: user.created)
target_typestring—Filtrer par type de cible
limitinteger50Max 200
offsetinteger0

Réponse (200) :

{
"items": [
{
"id": "uuid",
"actor_id": "uuid",
"actor_name": "Jean Mbeki",
"actor_type": "Tenant",
"action": "user.created",
"target_type": "tenant_user",
"target_id": "uuid",
"target_name": "Fatou Diallo",
"metadata": {},
"occurred_at": "2025-01-15T09:30:00Z"
}
],
"total": 89
}
actor_type

actor_type n'a pas de renommage : les valeurs sont en PascalCase — "Platform", "Tenant", "System".


Logs système (cross-organisation)​

GET /admin/system/logs​

Logs techniques de toutes les organisations.

Permissions : log.read Paramètres : identiques à GET /admin/org/logs, mais sans filtrage par organisation.

Réponse (200) : { "items": [SystemLogEntry], "total": n }


Voir aussi​

  • Anomalies — endpoints d'anomalies (/admin/org/anomalies)
  • Exports — export du journal d'audit (audit-logs/export)
  • Permissions — permission log.read