Aller au contenu

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:

Authorization: Bearer <admin_token>

Erreur si non-admin:

{
  "detail": "Admin access required"
}