Naar de inhoud springen

Zoek in de documentatie

Typ om elke pagina van de documentatie te doorzoeken.

Documentatiemenu
ReferentieDoelgroep · API-gebruikers

REST API-referentie

De volledige endpointcatalogus, met voorbeeldrequests

Deze pagina is automatisch vanuit het Engels vertaald. Bij verschillen geldt het origineel.Het origineel in het Engels lezen

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"
      }' | jq

Een 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
      }' | jq

Een 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…"
      }' | jq

Conventies

  • 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 — voer GET /agents/types uit om te zien wat de draaiende app heeft ontdekt (inclusief je eigen packages via scan_packages).