Aller au contenu principal
Zenovay
Pro Plan8 minutesIntermédiaire

Export du journal d'audit

Exportez le journal d'audit de votre équipe au format NDJSON, CSV ou JSON pour la conformité, l'archivage et l'analyse en aval. Disponible à partir du plan Pro.

auditexportcomplianceapicli
Dernière mise à jour :
Pro Plan

Exportez le journal d'audit de votre équipe au format NDJSON, CSV ou JSON pour la conformité, l'archivage et l'analyse en aval.

Ce que contient le journal d'audit

Chaque action qui modifie l'état du compte — invitations, changements de rôle, rotations de clés, paramètres de site web, changements de facturation, et plus encore — est enregistrée avec :

  • id — id unique de l'entrée de journal
  • action — ce qui s'est passé (par ex. team.invite_member, website.update_settings)
  • resource_type + resource_id — l'objet sur lequel l'action a porté
  • actor_id — quel membre de l'équipe a effectué l'action
  • metadata — contexte supplémentaire (source, IP hashée, etc.)
  • created_at — horodatage UTC

Les adresses IP à l'intérieur de metadata sont stockées sous forme de hash unidirectionnel avec un sel rotatif quotidien, afin que vous conserviez la valeur forensique sans exposer les IP brutes.

Vous pouvez aussi consulter le même audit-trail dans le tableau de bord sous Paramètres → Sécurité → Audit log.

Disponibilité par plan

L'export d'audit est disponible à partir du plan Pro. (Les plans gratuits n'incluent pas la création de clés API, donc le endpoint n'est pas accessible sur Free.)

Authentification

Le endpoint fait partie de l'External API et s'appelle avec une clé API :

Authorization: Bearer YOUR_API_KEY

Créez une clé API depuis le tableau de bord : Paramètres → Sécurité → API Keys → Nouvelle clé. Une clé d'accès complet fonctionne contre chaque endpoint.

Si votre compte appartient à plusieurs équipes, ciblez une équipe spécifique avec l'en-tête X-Zenovay-Team-Id sur chaque requête.

Exporter le journal d'audit

curl -L "https://api.zenovay.com/v1/cli/mutate/audit/export?format=ndjson" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o zenovay-audit.ndjson

Formats pris en charge

formatContent-TypeIdéal pour
ndjson (par défaut)application/x-ndjsonStreaming vers des pipelines d'analyse de logs (JSON délimité par lignes)
csvtext/csvOuverture dans Excel, Google Sheets ou des outils BI
jsonapplication/jsonTableau JSON unique pour le traitement programmatique

La réponse est envoyée avec Content-Disposition: attachment; filename="zenovay-audit.<format>" afin que la plupart des clients HTTP l'enregistrent sur disque.

L'export couvre l'historique d'audit disponible de votre équipe (les audit logs sont conservés pendant 24 mois). Un export unique retourne jusqu'à 10 000 des entrées les plus récentes. Pour les archives plus volumineuses, effectuez des exports réguliers selon un calendrier et ajoutez-les dans le stockage à froid. Pour des recherches plus légères et interactives, utilisez /v1/cli/mutate/audit/logs (voir ci-dessous).

Récupérer les entrées récentes (paginé)

Pour les requêtes interactives, utilisez /v1/cli/mutate/audit/logs :

curl "https://api.zenovay.com/v1/cli/mutate/audit/logs?since=7d&limit=100" \
  -H "Authorization: Bearer YOUR_API_KEY"

Paramètres de requête

ParamètrePar défautNotes
since7dFenêtre temporelle : 1h, 7d, 4w, 12m
actionFiltrer par chaîne d'action exacte
actorFiltrer par id utilisateur
limit50200 maximum par requête

La réponse inclut pagination.next_cursor lorsque d'autres entrées existent au-delà du limit demandé. Pour accéder aux entrées plus anciennes, augmentez limit (jusqu'à 200) ou réduisez la fenêtre since. Pour une archive complète, utilisez le endpoint d'export ci-dessus, qui retourne jusqu'à 10 000 des entrées les plus récentes en un seul appel.

Bonnes pratiques

  • Planifiez des exports réguliers. Un cron job hebdomadaire qui stocke le NDJSON en cold storage (S3 Glacier, R2, etc.) est un moyen peu coûteux de conserver une trace immuable.
  • Faites tourner votre clé API périodiquement et après chaque départ d'un membre de l'équipe.
  • Traitez les exports comme sensibles. Les entrées ne sont pas des secrets, mais elles décrivent une activité opérationnelle — gardez-les hors des buckets publics et des disques partagés.
  • Combinez avec les webhooks pour réagir à certaines actions en temps réel et utilisez l'export comme réconciliation complète périodique.

Erreurs possibles

StatutSignification
401 unauthorizedClé API manquante ou invalide, ou la clé n'est pas liée à une équipe
402 upgrade_requiredVotre plan n'inclut pas l'export d'audit — passez à Pro ou supérieur
400 invalid_formatformat doit être ndjson, csv ou json

Chaque réponse inclut également l'en-tête x-request-id. Conservez-le dans vos tickets de support pour que nous puissions tracer l'appel de bout en bout.

Cet article vous a-t-il aidé ?