Endpoints desktop
Reference API pour la gestion des bureaux, l'interaction, le chat, les operations fichiers et les metriques.
Gestion des bureaux
Endpoints pour creer, lister, mettre a jour et controler le cycle de vie des bureaux.
Lister les bureaux
GET /api/desktops
Retourne tous les bureaux appartenant a l'utilisateur authentifie.
Reponse :
[
{
"id": "clx...",
"name": "my-agent",
"status": "running",
"tier": "pro",
"ipAddress": "10.0.3.42",
"createdAt": "2026-03-15T10:00:00Z",
"keepAlive": false
}
]
Creer un bureau
POST /api/desktops
Body :
| Champ | Type | Requis | Description |
|---|---|---|---|
name | string | Oui | Nom d'affichage du bureau |
tier | "free", "pro", "max" | Oui | Tier de ressources |
providerConfig | object | Oui | Credentials du provider IA |
providerConfig.provider | "anthropic", "openai", "openrouter" | Oui | Choix du provider |
providerConfig.apiKey | string | Oui | Votre cle API provider |
providerConfig.model | string | Non | Override du modele |
providerConfig.embeddingsApiKey | string | Non | Cle API embeddings pour la memoire LanceDB |
providerConfig.embeddingsModel | string | Non | Nom du modele d'embeddings |
Reponse : 201 avec l'objet bureau cree.
Note : Le providerConfig.apiKey est votre propre cle de provider IA (BYOK). Elle est injectee dans la VM au demarrage et n'est jamais stockee dans la base de donnees de Le Bureau.
Obtenir un bureau
GET /api/desktops/:id
Retourne un bureau avec tous les details incluant l'adresse IP, les metriques de ressources et le statut de disponibilite de l'agent.
Mettre a jour un bureau
PATCH /api/desktops/:id
Body :
| Champ | Type | Description |
|---|---|---|
name | string | Nouveau nom d'affichage |
keepAlive | boolean | Si true, le bureau n'est pas arrete automatiquement apres inactivite |
Supprimer un bureau
DELETE /api/desktops/:id
Detruit le bureau et sa VM. Le contenu du disque de donnees est perdu. Retourne 204 No Content.
Demarrer un bureau
POST /api/desktops/:id/start
Demarre un bureau arrete. Le bureau transite par booting vers running. Retourne 200 avec le bureau mis a jour.
Arreter un bureau
POST /api/desktops/:id/stop
Arrete la VM du bureau proprement. Retourne 200 avec le bureau mis a jour.
Redemarrer un bureau
POST /api/desktops/:id/restart
Arrete puis demarre le bureau. Equivalent a stop + start mais atomique. Retourne 200.
Interaction avec le bureau
Envoyer un message chat
POST /api/desktops/:id/chat
Envoie un message a l'agent IA sur le bureau. L'agent traite le message et retourne une reponse.
Body :
| Champ | Type | Requis | Description |
|---|---|---|---|
message | string | Oui | Votre message a l'agent |
Reponse :
{
"response": "J'ai installe PostgreSQL et cree la base de donnees...",
"messageId": "msg_abc123"
}
Note : Le bureau doit etre en etat running avec agentReady: true. Si l'agent n'est pas pret, vous recevez un 503 Service Unavailable.
Streamer la reponse chat
POST /api/desktops/:id/chat/stream
Identique a l'endpoint chat, mais retourne un flux SSE avec des morceaux de reponse incrementaux. Utilisez ceci pour un effet de frappe en temps reel.
Body : identique a /chat.
Obtenir l'historique du chat
GET /api/desktops/:id/chat/messages
Retourne l'historique complet de la conversation pour le bureau.
Executer une commande
POST /api/desktops/:id/exec
Execute une commande unique sur le bureau via SSH.
Body :
| Champ | Type | Requis | Description |
|---|---|---|---|
command | string | Oui | Commande shell a executer |
Reponse :
{
"stdout": "...",
"stderr": "...",
"exitCode": 0
}
Executer un script Bash
POST /api/desktops/:id/bash
Execute un script bash multi-lignes sur le bureau. Le script est ecrit dans un fichier temporaire et execute.
Body :
| Champ | Type | Requis | Description |
|---|---|---|---|
script | string | Oui | Contenu du script bash |
Operations sur les fichiers
GET /api/desktops/:id/files?path=/home/agent/project
Liste les fichiers au chemin donne.
POST /api/desktops/:id/files
Upload ou ecriture d'un fichier.
Body :
| Champ | Type | Requis | Description |
|---|---|---|---|
path | string | Oui | Chemin absolu sur le bureau |
content | string | Oui | Contenu du fichier (base64 pour les binaires) |
Capture d'ecran
GET /api/desktops/:id/screenshot
Retourne une capture d'ecran PNG de l'affichage actuel du bureau. Utile pour surveiller l'activite de l'agent depuis des scripts.
Metriques
GET /api/desktops/:id/metrics
Retourne l'utilisation actuelle du CPU, de la RAM et du disque pour le bureau.
Reponse :
{
"cpu": 23.5,
"memory": { "used": 1024, "total": 4096, "percent": 25.0 },
"disk": { "used": 5120, "total": 20480, "percent": 25.0 }
}
Flux de statut des bureaux
GET /api/desktops/stream
Un endpoint SSE qui pousse des mises a jour de statut en temps reel pour tous vos bureaux. Voir Endpoints streaming pour les details sur la consommation SSE.
Codes d'erreur
| Statut | Signification |
|---|---|
400 | Body ou parametres de requete invalides |
401 | Non authentifie |
403 | Le bureau appartient a un autre utilisateur |
404 | Bureau non trouve |
409 | Conflit -- ex : essayer de demarrer un bureau deja en cours d'execution |
503 | Agent non pret -- le bureau demarre ou l'agent n'a pas encore initialise |
Articles connexes
Authentification API
Deux methodes d'authentification pour l'API : cookies de session pour le navigateur et cles API pour l'acces programmatique.
Cles API
Creation, gestion et revocation des cles API pour l'acces programmatique.
Endpoints mission control
Reference API pour la gestion des taches, les workflows d'approbation, le streaming d'activite et les donnees du tableau de bord.