API Admin¶
Endpoints d'administration (role: admin requis).
GET /admin/dashboard¶
Obtenir les statistiques du dashboard.
Response 200¶
{
"users": {
"total": 150,
"active_today": 45,
"new_this_week": 12
},
"conversations": {
"total": 2500,
"today": 320
},
"messages": {
"total": 75000,
"today": 4500
},
"documents": {
"total": 890,
"storage_used_gb": 12.5
},
"llm_usage": {
"total_tokens_today": 1500000,
"local_requests_percent": 15
}
}
GET /admin/users¶
Lister tous les utilisateurs.
Query Parameters¶
| Param | Type | Description |
|---|---|---|
search | string | Email/nom |
role | string | Filtrer par rôle |
skip | int | Pagination |
limit | int | Nombre |
Response 200¶
{
"items": [
{
"id": "uuid",
"email": "user@example.com",
"first_name": "John",
"role": "user",
"last_login": "2026-01-16T09:00:00Z"
}
],
"total": 150
}
GET /admin/audit-logs¶
Consulter les logs d'audit.
Query Parameters¶
| Param | Type | Description |
|---|---|---|
user_id | UUID | Filtrer par user |
action | string | login, create, delete |
from_date | datetime | Date début |
to_date | datetime | Date fin |
Response 200¶
{
"items": [
{
"id": "uuid",
"user_id": "uuid",
"action": "login",
"resource_type": "auth",
"ip_address": "192.168.1.1",
"status": "success",
"created_at": "2026-01-16T10:00:00Z"
}
]
}
Autorisation¶
Tous les endpoints admin nécessitent:
Erreur si non-admin: