Administration plateforme
Base URL : /api/v1/admin/system
Endpoints réservés aux administrateurs plateforme (N2) : gestion des organisations, utilisateurs plateforme, rôles système, permissions, audit global, anomalies cross-organisation, statistiques et analytics.
Health check
GET /healthz
Sonde de santé (sans authentification).
{ "status": "ok", "service": "caffette-api", "version": "1.2.0" }
version est injecté à la compilation (CARGO_PKG_VERSION).
Organisations
Permissions : organization.manage
| Méthode | Chemin | Description |
|---|---|---|
GET | /admin/system/organizations | Liste des organisations |
POST | /admin/system/organizations | Créer une organisation |
GET | /admin/system/organizations/{id} | Détail |
PUT | /admin/system/organizations/{id} | Mettre à jour |
POST | /admin/system/organizations/{id}/suspend | Suspendre |
POST | /admin/system/organizations/{id}/activate | Activer |
Voir le détail complet dans Organisations (Admin).
Utilisateurs plateforme
Permissions : platform.user.manage
| Méthode | Chemin | Description |
|---|---|---|
GET | /admin/system/users | Liste |
POST | /admin/system/users | Créer |
GET | /admin/system/users/{id} | Détail |
PUT | /admin/system/users/{id} | Mettre à jour |
DELETE | /admin/system/users/{id} | Supprimer |
GET | /admin/system/users/{id}/roles | Lister les rôles |
POST | /admin/system/users/{id}/roles | Assigner un rôle |
DELETE | /admin/system/users/{id}/roles/{role_id} | Retirer un rôle |
Voir le détail complet dans Utilisateurs (Admin).
Rôles système
Permissions : organization.manage
| Méthode | Chemin | Description |
|---|---|---|
GET | /admin/system/roles | Liste |
POST | /admin/system/roles | Créer |
GET | /admin/system/roles/{id} | Détail |
PUT | /admin/system/roles/{id} | Mettre à jour |
DELETE | /admin/system/roles/{id} | Supprimer |
GET | /admin/system/roles/{id}/permissions | Lister les permissions |
POST | /admin/system/roles/{id}/permissions | Ajouter une permission |
DELETE | /admin/system/roles/{id}/permissions/{permission_name} | Retirer une permission |
Voir le détail complet dans Rôles (Admin).
Catalogue des permissions
GET /admin/system/permissions
Liste toutes les permissions disponibles dans le système.
Permissions : organization.manage
Réponse (200) : tableau de chaînes.
["card.read", "card.create", "organization.manage", "stats.exhaustive.read"]
Audit log global
Permissions : stats.exhaustive.read
GET /admin/system/audit-log
Journal d'audit cross-organisation (table public.audit_log_global).
| Param | Type | Défaut | Description |
|---|---|---|---|
limit | integer | 100 | Max 1000 |
offset | integer | 0 |
Réponse (200) : { "items": [AuditEntry], "total": n } — chaque entrée correspond à une ligne brute de audit_log_global, triée par occurred_at descendant.
Anomalies cross-organisation
Permissions : stats.exhaustive.read
GET /admin/system/anomalies
Liste les anomalies de toutes les organisations.
| Param | Type | Défaut | Description |
|---|---|---|---|
kind | string | — | Type d'anomalie |
status | string | — | open, acknowledged, resolved, false_positive |
severity | string | — | low, medium, high, critical |
from | datetime | — | Date de début (RFC 3339) |
to | datetime | — | Date de fin (RFC 3339) |
limit | integer | 100 | Max 1000 |
offset | integer | 0 |
Réponse (200) : { "items": [Anomaly], "total": n }
Cette version système utilise stats.exhaustive.read, tandis que la version organisation (/admin/org/anomalies) utilise anomaly.manage.
Statistiques système
Permissions : stats.exhaustive.read
Base URL : /api/v1/admin/system/stats
| Endpoint | Description |
|---|---|
GET /admin/system/stats/summary | Résumé agrégé de toutes les organisations |
GET /admin/system/stats/daily | Stats quotidiennes par organisation |
GET /admin/system/stats/revenue-trends | Tendances de revenus (30 jours) |
GET /admin/system/stats/top-organizations | Classement des organisations |
GET /admin/system/stats/financial-overview | Vue financière globale |
Analytics système
Permissions : stats.exhaustive.read
Base URL : /api/v1/admin/system/analytics
| Endpoint | Description |
|---|---|
GET /admin/system/analytics/overview | Vue d'ensemble |
GET /admin/system/analytics/top-products | Top produits cross-org |
GET /admin/system/analytics/sites-revenue | Revenus par site cross-org |
GET /admin/system/analytics/transaction-breakdown | Répartition des transactions |
GET /admin/system/analytics/growth | Croissance globale |
GET /admin/system/analytics/inactive-cards | Cartes inactives |