Référence API
URL de base
## Points de terminaison
### Journaux
#### POST /api/logs
Créer une nouvelle entrée de journal.
**Corps de la requĂȘte :**
```json
{
"level": "ERROR",
"service": "api-gateway",
"message": "Connection timeout after 30000ms",
"metadata": { "request_id": "req_abc123" },
"stack_trace": "Error: Connection timeout\n at handler...",
"original_language": "en"
}
Champs requis : level, service, message
Réponse : 201 Created
{
"log": {
"id": "uuid",
"timestamp": "2024-01-01T00:00:00.000Z",
"level": "ERROR",
"service": "api-gateway",
"message": "Connection timeout after 30000ms",
"metadata": { "request_id": "req_abc123" },
"created_at": "2024-01-01T00:00:00.000Z"
}
}
GET /api/logs
Récupérer les journaux avec des filtres optionnels.
ParamĂštres de requĂȘte :
limit(nombre, par dĂ©faut : 100) â Nombre maximum de journaux Ă retournerlevel(chaĂźne) â Filtrer par niveau de journal (ERROR, WARNING, INFO, DEBUG)service(chaĂźne) â Filtrer par nom de servicelanguage(chaĂźne, par dĂ©faut : "en") â Langue cible pour la traduction
Réponse : 200 OK
{
"logs": [...]
}
Alertes
POST /api/alerts
Créer une nouvelle alerte.
Corps de la requĂȘte :
{
"title": "High Error Rate",
"description": "Error rate exceeded 5% threshold",
"severity": "CRITICAL",
"metadata": {}
}
Champs requis : title, description, severity
GET /api/alerts
Récupérer les alertes avec des filtres optionnels.
ParamĂštres de requĂȘte :
status(chaĂźne) â Filtrer par statut (active, acknowledged, resolved)language(chaĂźne, par dĂ©faut : "en") â Langue cible
PATCH /api/alerts
Mettre Ă jour le statut d'une alerte.
Corps de la requĂȘte :
{
"id": "alert-uuid",
"status": "resolved"
}
Statistiques
GET /api/stats
Obtenir les statistiques du tableau de bord.
Réponse : 200 OK
{
"totalLogs": 1247,
"errorCount": 23,
"warningCount": 89,
"activeAlerts": 5,
"criticalAlerts": 2,
"servicesMonitored": 6
}
Informations IA
POST /api/insights
Générer une information IA à partir des journaux.
Corps de la requĂȘte :
{
"logIds": ["uuid-1", "uuid-2"],
"language": "en"
}
GET /api/insights
Récupérer les informations récentes.
ParamĂštres de requĂȘte :
limit(nombre, par dĂ©faut : 10) â Nombre maximum d'informations Ă retourner
Authentification
Actuellement, l'API est ouverte Ă des fins de dĂ©monstration. En production, utilisez Supabase Auth avec des jetons JWT dans l'en-tĂȘte Authorization.
Limitation du débit
Aucune limitation du débit en développement. Configurez en production via Vercel ou un proxy inverse.