Pular para o conteúdo

Pesquisar na documentação

Digite para pesquisar em todas as páginas da documentação.

Menu da documentação
ReferênciaPúblico · Consumidores da API

Referência da API REST

O catálogo completo de endpoints, com exemplos de requisição

Esta página foi traduzida automaticamente do inglês. Em caso de divergência, prevalece o original.Ler o original em inglês

Documentação interativa

Toda aplicação Agent-Lab serve OpenAPI 3 automaticamente — a implementação de referência em http://localhost:18000/docs (ou a sua própria aplicação, onde quer que ela rode). O catálogo abaixo documenta os routers nativos do framework; seus extra_routers aparecem no mesmo schema.

Autenticação

Quando auth.enabled é true (consulte a Referência de configuração), as rotas exigem um bearer token do Keycloak. O router /auth só é montado quando a autenticação está ativada:

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étodo Endpoint Descrição
POST /auth/login Cria um novo bearer token
POST /auth/renew Renova um bearer token existente
POST /auth/exchange Troca um authorization code do Microsoft Entra ID (PKCE) por um token da aplicação
GET /auth/profile Obtém o perfil do usuário autenticado
PUT /auth/profile Atualiza o perfil do usuário autenticado

A configuração do realm/client é explicada em Autenticação com Keycloak.

Caminhos sem autenticação: /status/*, /docs, /openapi.json, /mcp, /static, os endpoints well-known do OAuth e o mount da SPA — todo o resto exige um token válido.

Endpoints

Agentes

Crie instâncias de qualquer tipo de agente registrado; agent_type é validado dinamicamente contra o registro.

Método Endpoint Descrição
GET /agents/list Lista todas as instâncias de agentes
GET /agents/types Lista os tipos de agentes registrados (o registro)
GET /agents/{agent_id} Obtém uma instância de agente pelo ID
POST /agents/create Cria uma nova instância de agente
POST /agents/update Atualiza as informações básicas de um agente
POST /agents/update_setting Atualiza uma única configuração do agente
POST /agents/{agent_id}/reset_settings Restaura as configurações padrão de um agente
DELETE /agents/delete/{agent_id} Exclui uma instância de agente
WS /agents/ws/task_updates/{agent_id} Stream WebSocket com atualizações de progresso de tarefas em operações longas

Mensagens

Método Endpoint Descrição
POST /messages/post Envia uma mensagem a um agente e obtém a resposta
POST /messages/list Lista as mensagens de um agente
GET /messages/{message_id} Obtém os detalhes expandidos de uma mensagem (respostas, anexo)
DELETE /messages/delete/{message_id} Exclui uma mensagem

Modelos de linguagem

Método Endpoint Descrição
GET /llms/list Lista os modelos de linguagem configurados
GET /llms/{language_model_id} Obtém um modelo de linguagem e suas configurações
POST /llms/create Cria um novo modelo de linguagem
POST /llms/update Atualiza a configuração de um modelo de linguagem
POST /llms/update_setting Atualiza uma única configuração do modelo de linguagem
DELETE /llms/delete/{language_model_id} Exclui um modelo de linguagem

Integrações

Método Endpoint Descrição
GET /integrations/list Lista as integrações externas (fornecedores de IA)
GET /integrations/{integration_id} Obtém os detalhes de uma integração
POST /integrations/create Cria uma integração (credenciais armazenadas no Vault)
DELETE /integrations/delete/{integration_id} Exclui uma integração

Anexos

Método Endpoint Descrição
GET /attachments/list Lista os anexos
GET /attachments/download/{attachment_id} Faz o download de um anexo
POST /attachments/upload Faz o upload de um arquivo anexo
POST /attachments/embeddings Gera embeddings para um anexo

Status e MCP

Método Endpoint Descrição
GET /status/liveness Probe de liveness
GET /status/readiness Probe de readiness
GET /status/metrics Métricas do Prometheus
* /mcp O servidor MCP (Streamable HTTP)
GET /.well-known/oauth-protected-resource/mcp Metadados OAuth para clientes MCP

Exemplos de requisição

Criar uma instância de agente — agent_name aceita [a-zA-Z0-9_-]; agent_type deve ser um tipo registrado; language_model_id é opcional:

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

Enviar uma mensagem — message_role é um de human, assistant, tool; attachment_id é opcional:

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

Atualizar uma configuração do agente — setting_key aceita [a-zA-Z_-]; setting_value comporta até 16.000 caracteres (templates de prompt e payloads JSON ficam aqui — consulte o Modelo de domínio de entidades):

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

Convenções

  • IDs são UUIDs; todos os endpoints de listagem aceitam corpos JSON, e não query strings.
  • Configurações são pares chave-valor persistidos com o agente ou o modelo — é assim que a mesma implementação executa muitas instâncias configuradas de formas diferentes.
  • O registro é a fonte da verdade para os valores válidos de agent_type — execute GET /agents/types para ver o que a aplicação em execução descobriu (incluindo seus próprios pacotes via scan_packages).