Referência da API

Sessions

Crie execuções stateful, envie eventos do usuário e leia o histórico de uma session.

#Endpoints

MétodoCaminhoDescrição
POST/v1/projects/:projectId/sessionsCria uma session para um agent.
POST/v1/projects/:projectId/sessions/:id/eventsIngere eventos do usuário.
POST/v1/projects/:projectId/sessions/:id/archiveArquiva a session.
DELETE/v1/projects/:projectId/sessions/:idRemove a session.
GET/v1/projects/:projectId/sessions/:id/eventsLista eventos por `afterSeq`.
GET/v1/projects/:projectId/sessions/:idLê metadados e status da session.
GET/v1/projects/:projectId/sessionsLista sessions por cursor e filtros.

#Criar session

json
{
  "agent": { "id": "agent_...", "version": 3 },
  "title": "Atendimento #123",
  "metadata": { "customerId": "cus_123" },
  "resources": [{ "memoryStore": "ms_...", "mode": "read-only" }],
  "vaultIds": ["vault_..."]
}

agent também aceita apenas o ID para usar a versão atual. Para reprodutibilidade, prefira informar { id, version }.

#Ingerir eventos

json
{
  "events": [
    {
      "type": "user.message",
      "content": [{ "type": "text", "text": "Explique a pendência do sinistro." }],
      "idempotencyKey": "claim-123-turn-1"
    }
  ]
}

Eventos ingeríveis:

TipoUso
user.messageMensagem ou instrução do usuário.
user.interruptSolicita interrupção da execução atual.
user.custom_tool_resultResponde uma custom tool executada pelo seu backend.
user.tool_confirmationAprova ou nega uma tool que exigiu confirmação.

#Histórico

http
GET /v1/projects/:projectId/sessions/:id/events?afterSeq=0&limit=100

Resposta:

json
{
  "data": [],
  "hasMore": true,
  "nextAfterSeq": 100
}

Use nextAfterSeq como próximo afterSeq até hasMore ser false.

#Listagem

GET /sessions aceita limit, cursor, agent, status e filtros de metadata no formato metadata[chave]=valor.

http
GET /v1/projects/:projectId/sessions?status=idle&metadata[customerId]=cus_123

#Relacionado