Sessions
Crie execuções stateful, envie eventos do usuário e leia o histórico de uma session.
#Endpoints
| Método | Caminho | Descrição |
|---|---|---|
| POST | /v1/projects/:projectId/sessions | Cria uma session para um agent. |
| POST | /v1/projects/:projectId/sessions/:id/events | Ingere eventos do usuário. |
| POST | /v1/projects/:projectId/sessions/:id/archive | Arquiva a session. |
| DELETE | /v1/projects/:projectId/sessions/:id | Remove a session. |
| GET | /v1/projects/:projectId/sessions/:id/events | Lista eventos por `afterSeq`. |
| GET | /v1/projects/:projectId/sessions/:id | Lê metadados e status da session. |
| GET | /v1/projects/:projectId/sessions | Lista 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:
| Tipo | Uso |
|---|---|
user.message | Mensagem ou instrução do usuário. |
user.interrupt | Solicita interrupção da execução atual. |
user.custom_tool_result | Responde uma custom tool executada pelo seu backend. |
user.tool_confirmation | Aprova ou nega uma tool que exigiu confirmação. |
#Histórico
http
GET /v1/projects/:projectId/sessions/:id/events?afterSeq=0&limit=100Resposta:
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