⚡ REST API
API Reference
Documentation complète de l'API REST SysLink. Toutes les requêtes sont au format JSON. L'authentification utilise des tokens Bearer JWT.
Base URL
https://syslink.re/api
Toutes les requêtes doivent inclure l'en-tête
Content-Type: application/json. Les endpoints protégés requièrent un token JWT via l'en-tête Authorization: Bearer <token>.
Authentification
POST
/auth/login
Authentifier un utilisateur
Authentifie un utilisateur et retourne un token JWT valable 24 heures.
Corps de la requête
| Paramètre | Type | Description |
|---|---|---|
| loginrequis | string | Format tenant\prénom.nom |
| passwordrequis | string | Mot de passe de l'utilisateur |
Requête
POST /api/auth/login
Content-Type: application/json
{
"login": "monentreprise\\j.martin",
"password": "motdepasse"
}
Réponse 200
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": 42,
"login": "monentreprise\\j.martin",
"firstname": "Jean",
"lastname": "Martin",
"role": "user",
"tenant_id": "monentreprise"
}
}
Codes de réponse
200 OK
401 Unauthorized
400 Bad Request
Santé du service
GET
/health
Vérifier l'état du backend
Endpoint de santé public, aucune authentification requise. Utilisé par les clients pour vérifier la disponibilité du backend.
Réponse 200
{
"status": "ok",
"version": "1.0.0",
"timestamp": "2026-05-26T10:00:00Z"
}
200 OK
500 Error
IA & Chat
POST
/chat
Envoyer un message à l'assistant IA
Envoie un message à l'assistant IA Claude et retourne une réponse en streaming ou complète selon le paramètre stream.
En-têtes requis
| En-tête | Valeur | Description |
|---|---|---|
| Authorizationrequis | string | Bearer <token JWT> |
Corps de la requête
| Paramètre | Type | Description |
|---|---|---|
| messagerequis | string | Message en langage naturel |
| streamoptionnel | boolean | Réponse en streaming SSE (défaut: false) |
| contextoptionnel | object | Contexte système (hostname, OS, etc.) |
Requête
POST /api/chat
Authorization: Bearer eyJhbGci...
Content-Type: application/json
{
"message": "Mon PC est lent, que faire ?",
"context": {
"hostname": "PC-MARTIN",
"os": "Windows 11"
}
}
Réponse 200
{
"response": "Je vais analyser les performances de votre PC...",
"actions": [],
"ticket_created": false
}
200 OK
401 Unauthorized
400 Bad Request
Tickets
GET
/tickets
Lister les tickets du tenant
Paramètres de requête
| Paramètre | Type | Description |
|---|---|---|
| statusoptionnel | string | Filtrer par statut : open, in_progress, resolved, closed |
| limitoptionnel | integer | Nombre max de résultats (défaut: 50) |
| offsetoptionnel | integer | Décalage pour la pagination |
Réponse 200
{
"tickets": [
{
"id": 12,
"title": "PC lent depuis mise à jour",
"status": "open",
"priority": "medium",
"created_by": "j.martin",
"created_at": "2026-05-26T09:00:00Z"
}
],
"total": 1
}
200 OK
401 Unauthorized
POST
/tickets
Créer un nouveau ticket
Corps de la requête
| Paramètre | Type | Description |
|---|---|---|
| titlerequis | string | Titre du ticket |
| descriptionrequis | string | Description détaillée du problème |
| priorityoptionnel | string | low, medium, high, critical (défaut: medium) |
201 Created
400 Bad Request
401 Unauthorized
PUT
/tickets/{id}
Mettre à jour un ticket
Paramètres URL
| Paramètre | Type | Description |
|---|---|---|
| idrequis | integer | Identifiant du ticket |
Corps de la requête
| Paramètre | Type | Description |
|---|---|---|
| statusoptionnel | string | open, in_progress, resolved, closed |
| resolutionoptionnel | string | Description de la résolution |
200 OK
404 Not Found
401 Unauthorized
Administration
Les endpoints
/admin/* sont réservés aux comptes avec le rôle superadmin ou admin.
GET
/admin/tenants
Lister tous les tenants
Retourne la liste de tous les tenants avec leurs statistiques.
Réponse 200
{
"tenants": [
{
"id": "monentreprise",
"company": "Mon Entreprise SARL",
"plan": "business",
"users_count": 8,
"tickets_open": 3,
"created_at": "2026-01-15T00:00:00Z"
}
]
}
200 OK
403 Forbidden
GET
/admin/stats
Statistiques globales de la plateforme
200 OK
403 Forbidden
Téléchargement client
GET
/download/client
Télécharger l'installeur Windows
Retourne le binaire de l'installeur SysLink pour Windows (NSIS, ~80 Mo). Aucune authentification requise.
200 application/octet-stream
404 Non disponible
GET
/download/info
Informations sur la dernière version
Réponse 200
{
"available": true,
"version": "1.0.0",
"filename": "SysLink-Setup-1.0.0.exe",
"size_mb": 79.4,
"platform": "Windows x64"
}
200 OK