Aller au contenu

Rechercher dans la documentation

Saisissez votre recherche pour parcourir toutes les pages de la documentation.

Menu de la documentation
RéférencePublic · Consommateurs de l'API

Référence de l'API REST

Le catalogue complet des points de terminaison, avec des exemples de requêtes

Cette page a été traduite automatiquement depuis l'anglais. En cas de divergence, la version originale fait foi.Lire l'original en anglais

Documentation interactive

Chaque application Agent-Lab sert automatiquement une documentation OpenAPI 3 — pour l'implémentation de référence, à l'adresse http://localhost:18000/docs (ou sur votre propre application, où qu'elle s'exécute). Le catalogue ci-dessous documente les routeurs intégrés du framework ; vos extra_routers apparaissent dans le même schéma.

Authentification

Lorsque auth.enabled vaut true (voir la Référence de configuration), les routes exigent un jeton bearer Keycloak. Le routeur /auth n'est monté que lorsque l'authentification est activée :

TOKEN=$(curl -s -X POST https://<host>/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username": "…", "password": "…"}' | jq -r '.access_token')

curl -s https://<host>/agents/list -H "Authorization: Bearer $TOKEN" | jq
Méthode Point de terminaison Description
POST /auth/login Crée un nouveau jeton bearer
POST /auth/renew Renouvelle un jeton bearer existant
POST /auth/exchange Échange un code d'autorisation Microsoft Entra ID (PKCE) contre un jeton de l'application
GET /auth/profile Récupère le profil de l'utilisateur authentifié
PUT /auth/profile Met à jour le profil de l'utilisateur authentifié

La configuration du realm et du client est décrite dans Authentification avec Keycloak.

Chemins non authentifiés : /status/*, /docs, /openapi.json, /mcp, /static, les points de terminaison OAuth well-known et le montage de la SPA — tout le reste nécessite un jeton valide.

Points de terminaison

Agents

Créez des instances de n'importe quel type d'agent enregistré ; agent_type est validé dynamiquement par rapport au registre.

Méthode Point de terminaison Description
GET /agents/list Liste toutes les instances d'agents
GET /agents/types Liste les types d'agents enregistrés (le registre)
GET /agents/{agent_id} Récupère une instance d'agent par son ID
POST /agents/create Crée une nouvelle instance d'agent
POST /agents/update Met à jour les informations de base d'un agent
POST /agents/update_setting Met à jour un paramètre unique d'un agent
POST /agents/{agent_id}/reset_settings Réinitialise les paramètres d'un agent à leurs valeurs par défaut
DELETE /agents/delete/{agent_id} Supprime une instance d'agent
WS /agents/ws/task_updates/{agent_id} Flux WebSocket des mises à jour de progression des tâches pour les opérations longues

Messages

Méthode Point de terminaison Description
POST /messages/post Envoie un message à un agent et récupère sa réponse
POST /messages/list Liste les messages d'un agent
GET /messages/{message_id} Récupère le détail complet d'un message (réponses, pièce jointe)
DELETE /messages/delete/{message_id} Supprime un message

Modèles de langage

Méthode Point de terminaison Description
GET /llms/list Liste les modèles de langage configurés
GET /llms/{language_model_id} Récupère un modèle de langage et ses paramètres
POST /llms/create Crée un nouveau modèle de langage
POST /llms/update Met à jour la configuration d'un modèle de langage
POST /llms/update_setting Met à jour un paramètre unique d'un modèle de langage
DELETE /llms/delete/{language_model_id} Supprime un modèle de langage

Intégrations

Méthode Point de terminaison Description
GET /integrations/list Liste les intégrations externes (fournisseurs d'IA)
GET /integrations/{integration_id} Récupère le détail d'une intégration
POST /integrations/create Crée une intégration (identifiants stockés dans Vault)
DELETE /integrations/delete/{integration_id} Supprime une intégration

Pièces jointes

Méthode Point de terminaison Description
GET /attachments/list Liste les pièces jointes
GET /attachments/download/{attachment_id} Télécharge une pièce jointe
POST /attachments/upload Téléverse un fichier en pièce jointe
POST /attachments/embeddings Génère les embeddings d'une pièce jointe

État et MCP

Méthode Point de terminaison Description
GET /status/liveness Sonde de liveness
GET /status/readiness Sonde de readiness
GET /status/metrics Métriques Prometheus
* /mcp Le serveur MCP (Streamable HTTP)
GET /.well-known/oauth-protected-resource/mcp Métadonnées OAuth pour les clients MCP

Exemples de requêtes

Créer une instance d'agent — agent_name accepte [a-zA-Z0-9_-] ; agent_type doit être un type enregistré ; language_model_id est facultatif :

curl -s -X POST http://localhost:18000/agents/create \
  -H "Content-Type: application/json" \
  -d '{
        "agent_name": "support-agent-1",
        "agent_type": "coordinator_planner_supervisor",
        "language_model_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
      }' | jq

Envoyer un message — message_role vaut human, assistant ou tool ; attachment_id est facultatif :

curl -s -X POST http://localhost:18000/messages/post \
  -H "Content-Type: application/json" \
  -d '{
        "agent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "message_role": "human",
        "message_content": "Summarize the attached report.",
        "attachment_id": null
      }' | jq

Mettre à jour un paramètre d'agent — setting_key accepte [a-zA-Z_-] ; setting_value contient jusqu'à 16 000 caractères (les templates de prompts et les charges utiles JSON se trouvent ici — voir le Modèle de domaine des entités) :

curl -s -X POST http://localhost:18000/agents/update_setting \
  -H "Content-Type: application/json" \
  -d '{
        "agent_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "setting_key": "system_prompt",
        "setting_value": "You are a concise research assistant…"
      }' | jq

Conventions

  • Les ID sont des UUID ; tous les points de terminaison de liste acceptent des corps JSON, et non des query strings.
  • Les paramètres sont des paires clé-valeur persistées avec l'agent ou le modèle — c'est ainsi qu'une même implémentation peut faire tourner de nombreuses instances configurées différemment.
  • Le registre fait foi pour les valeurs valides de agent_type — appelez GET /agents/types pour voir ce que l'application en cours d'exécution a découvert (y compris vos propres packages via scan_packages).