Interactieve documentatie
Elke Agent-Lab-applicatie serveert automatisch OpenAPI 3 — voor de referentie-implementatie
op http://localhost:18000/docs (of voor je
eigen app, waar die ook draait). De onderstaande catalogus documenteert de ingebouwde routers
van het framework; je extra_routers verschijnen in hetzelfde schema.
Authenticatie
Als auth.enabled op true staat (zie de Configuratiereferentie),
vereisen routes een bearer-token van Keycloak. De /auth-router wordt alleen gemount als authenticatie
is ingeschakeld:
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| Methode | Endpoint | Beschrijving |
|---|---|---|
| POST | /auth/login |
Een nieuw bearer-token aanmaken |
| POST | /auth/renew |
Een bestaand bearer-token vernieuwen |
| POST | /auth/exchange |
Een authorization code (PKCE) van Microsoft Entra ID inwisselen voor een app-token |
| GET | /auth/profile |
Het profiel van de geauthenticeerde gebruiker ophalen |
| PUT | /auth/profile |
Het profiel van de geauthenticeerde gebruiker bijwerken |
De inrichting van de realm/client wordt behandeld in Authenticatie met Keycloak.
Paden zonder authenticatie: /status/*, /docs, /openapi.json, /mcp, /static,
de well-known-endpoints van OAuth en de SPA-mount — al het andere vereist een geldig
token.
Endpoints
Agents
Maak instanties van elk geregistreerd agenttype aan; agent_type wordt dynamisch gevalideerd
tegen het register.
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /agents/list |
Alle agentinstanties opsommen |
| GET | /agents/types |
Geregistreerde agenttypen opsommen (het register) |
| GET | /agents/{agent_id} |
Een agentinstantie ophalen op ID |
| POST | /agents/create |
Een nieuwe agentinstantie aanmaken |
| POST | /agents/update |
De basisgegevens van een agent bijwerken |
| POST | /agents/update_setting |
Eén instelling van een agent bijwerken |
| POST | /agents/{agent_id}/reset_settings |
De instellingen van een agent terugzetten naar de standaardwaarden |
| DELETE | /agents/delete/{agent_id} |
Een agentinstantie verwijderen |
| WS | /agents/ws/task_updates/{agent_id} |
WebSocket-stream met voortgangsupdates van taken bij langdurige bewerkingen |
Berichten
| Methode | Endpoint | Beschrijving |
|---|---|---|
| POST | /messages/post |
Een bericht naar een agent sturen en het antwoord ontvangen |
| POST | /messages/list |
Berichten van een agent opsommen |
| GET | /messages/{message_id} |
Uitgebreide details van een bericht ophalen (antwoorden, bijlage) |
| DELETE | /messages/delete/{message_id} |
Een bericht verwijderen |
Taalmodellen
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /llms/list |
Geconfigureerde taalmodellen opsommen |
| GET | /llms/{language_model_id} |
Een taalmodel en de instellingen ervan ophalen |
| POST | /llms/create |
Een nieuw taalmodel aanmaken |
| POST | /llms/update |
De configuratie van een taalmodel bijwerken |
| POST | /llms/update_setting |
Eén instelling van een taalmodel bijwerken |
| DELETE | /llms/delete/{language_model_id} |
Een taalmodel verwijderen |
Integraties
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /integrations/list |
Externe integraties opsommen (AI-leveranciers) |
| GET | /integrations/{integration_id} |
Details van een integratie ophalen |
| POST | /integrations/create |
Een integratie aanmaken (inloggegevens opgeslagen in Vault) |
| DELETE | /integrations/delete/{integration_id} |
Een integratie verwijderen |
Bijlagen
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /attachments/list |
Bijlagen opsommen |
| GET | /attachments/download/{attachment_id} |
Een bijlage downloaden |
| POST | /attachments/upload |
Een bestand als bijlage uploaden |
| POST | /attachments/embeddings |
Embeddings voor een bijlage genereren |
Status en MCP
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /status/liveness |
Liveness-probe |
| GET | /status/readiness |
Readiness-probe |
| GET | /status/metrics |
Prometheus-metrics |
| * | /mcp |
De MCP-server (Streamable HTTP) |
| GET | /.well-known/oauth-protected-resource/mcp |
OAuth-metadata voor MCP-clients |
Voorbeeldrequests
Een agentinstantie aanmaken — agent_name accepteert [a-zA-Z0-9_-];
agent_type moet een geregistreerd type zijn; language_model_id is optioneel:
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"
}' | jqEen bericht sturen — message_role is human, assistant of tool;
attachment_id is optioneel:
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
}' | jqEen instelling van een agent bijwerken — setting_key accepteert [a-zA-Z_-];
setting_value bevat maximaal 16.000 tekens (prompttemplates en JSON-payloads
worden hier opgeslagen — zie het Domeinmodel van entiteiten):
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…"
}' | jqConventies
- ID's zijn UUID's; alle list-endpoints accepteren JSON-bodies, geen querystrings.
- Instellingen zijn key-value-paren die bij de agent of het model worden opgeslagen — zo draait dezelfde implementatie veel verschillend geconfigureerde instanties.
- Het register is de bron van waarheid voor geldige
agent_type-waarden — voerGET /agents/typesuit om te zien wat de draaiende app heeft ontdekt (inclusief je eigen packages viascan_packages).