Gestion des clés API
La création, la révocation et la rotation des clés API se font exclusivement depuis le dashboard web MonCréneau, par un utilisateur STAFF (rôle ADMIN ou OWNER) connecté par session.
Une application tierce externe ne peut pas appeler ces endpoints. Ils sont authentifiés par cookie de session (login web), pas par clé API (X-API-Key) — une clé API ne peut pas être utilisée pour gérer d'autres clés API. Cette page décrit le comportement pour référence, pas comme une intégration possible depuis votre code.
Accès requis
- Connexion authentifiée via l'interface web (cookie de session)
- Rôle ADMIN ou OWNER
Lister les clés API
GET /api/staff/api-keys
Réponse 200 :
[
{
"id": 42,
"name": "Production API Key",
"maskedKey": "mk_live_...***",
"environment": "LIVE",
"scopes": ["READ_APPOINTMENTS", "WRITE_APPOINTMENTS"],
"rateLimitPerHour": 1000,
"isActive": true,
"createdAt": "2026-01-15T10:00:00",
"lastUsedAt": "2026-01-22T08:30:00"
}
]
Créer une clé API
POST /api/staff/api-keys — { "name": "...", "environment": "LIVE", "scopes": ["READ_APPOINTMENTS"], "rateLimitPerHour"?: 1000 }.
La clé en clair (mk_live_.../mk_test_...) n'est visible qu'une seule fois, dans la réponse de création — conservez-la immédiatement, elle ne sera plus jamais réaffichée (seul maskedKey reste consultable ensuite).
Révoquer une clé API
DELETE /api/staff/api-keys/{id} — désactive la clé (isActive=false), irréversible.
Faire tourner une clé API
POST /api/staff/api-keys/{id}/rotate — révoque la clé existante et en génère une nouvelle dans le même mouvement (transaction atomique : jamais de fenêtre où les deux sont valides ou aucune ne l'est). Comme à la création, la nouvelle clé en clair n'est visible qu'une seule fois dans la réponse.
Consulter les scopes disponibles
Voir Scopes pour la liste complète des permissions.