---
title: "Endpoint canonique d'audit log (chantier 3 follow-up #16)."
method: GET
path: "/api/v1/admin/audit"
tags: ["Administration"]
---

# Endpoint canonique d'audit log (chantier 3 follow-up #16).

`GET /api/v1/admin/audit`

## Request

- Base URL: `https://erp.eyeot.fr/api/v1`
- URL: `https://erp.eyeot.fr/api/v1/api/v1/admin/audit`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Endpoint canonique d'audit log (chantier 3 follow-up #16).

    Sprint +25 Phase 4 (2026-05-18) — RBAC élargi : `admin:all` OR
    `compliance:read`. Avant : admin:all seul ⇒ le DAF (qui a
    `compliance:read` via daf role) et le Responsable Qualité (DPO,
    `responsable_process` qui a `compliance:read/write`) recevaient un 403
    sur la consultation du journal d'audit. Or ISO 27001 A.12.4.3 + RGPD
    Art. 30/32 exigent que le DPO et le contrôleur de gestion puissent
    auditer les actions cross-module sans privilèges admin système.

    Unifie la consultation de l'audit-trail. Remplace `/admin/audit-trail`
    qui devient un alias avec en-tête `Deprecation: true`.

    Note : `/api/v1/audit/entity/<type>/<id>` (blueprint `audit` créé le
    2026-04-30 AM) reste complémentaire — il fait de l'audit ciblé sur une
    entité unique, pas la consultation paginée multi-critères.

    Bug 02eb5bad (2026-05-03) : la shape interne `{items, total, page, ...}`
    ne matchait pas la convention frontend `{data: [...], meta: {...}}`
    → le frontend voyait audit log vide. On normalise la sortie ici.

**Permissions requises** : `admin:all`

## Response `200`

Succès — payload `{data, meta}` (cf. API-GUIDE §3.1)

## Other responses

- `401`: JWT manquant, expiré ou révoqué.
- `402`: L'organisation n'a pas d'abonnement actif (paywall). Rediriger vers /activate.
- `403`: Permissions `module:action` insuffisantes pour cette route.
- `404`: Ressource introuvable (ou cross-tenant — équivalent à hidden).
- `429`: Trop de requêtes. Honorer le header `Retry-After` (secondes).

---

[API](https://skmtc.dev/eyeot/apis/eyeot-erp-api.md) · [All operations](https://skmtc.dev/eyeot/apis/eyeot-erp-api/llms.txt) · [OpenAPI document](https://skmtc.dev/eyeot/apis/eyeot-erp-api/revisions/42ab95222a89?raw)
