format: md
Sessions & Code API
Endpoints para gerenciamento de sessões de agente (SDK managed-agents), code sessions com bridge CCR, e files API. Implementação CUSTOM (necessita hooks personalizados no LiteLLM).
format: md
Agent Sessions (SDK managed-agents)
format: md
POST /v1/sessions
POST /v1/sessions?beta=true
Cria uma nova sessão de agente. Requer beta header managed-agents-2026-04-01.
Headers
| Header | Valor | Obrigatório |
|---|---|---|
Authorization | Bearer <token> | Sim |
anthropic-beta | managed-agents-2026-04-01 | Sim |
Request Body
{
name?: string;
participant?: { identity: string };
// managed-agents fields (NDA)
}
Response
{
id: string; // "ms_..."
name?: string;
participant?: { identity: string };
}
format: md
GET /v1/sessions/{session_id}
GET /v1/sessions/{session_id}?beta=true
Recupera detalhes de uma sessão.
| Parâmetro | Tipo | Descrição |
|---|---|---|
session_id | string | ID da sessão (prefixo ms_) |
format: md
POST /v1/sessions/
POST /v1/sessions/?beta=true
Atualiza uma sessão existente.
format: md
GET /v1/sessions
GET /v1/sessions?beta=true
Lista todas as sessões.
format: md
DELETE /v1/sessions/
DELETE /v1/sessions/?beta=true
Exclui uma sessão.
format: md
POST /v1/sessions/{session_id}/archive
POST /v1/sessions/{session_id}/archive?beta=true
Arquiva uma sessão.
format: md
GET /v1/sessions//events
GET /v1/sessions//events?beta=true
Lista eventos de uma sessão.
format: md
POST /v1/sessions/{session_id}/events
POST /v1/sessions/{session_id}/events?beta=true
Envia um evento para a sessão.
format: md
GET /v1/sessions//events/stream
GET /v1/sessions//events/stream?beta=true
Stream SSE de eventos da sessão em tempo real.
format: md
GET /v1/sessions/{session_id}/resources
GET /v1/sessions/{session_id}/resources?beta=true
Lista recursos anexados à sessão.
format: md
POST /v1/sessions//resources
POST /v1/sessions//resources?beta=true
Adiciona um recurso à sessão.
format: md
DELETE /v1/sessions/{session_id}/resources/{resource_id}
DELETE /v1/sessions/{session_id}/resources/{resource_id}?beta=true
Remove um recurso da sessão.
format: md
Code Sessions (Claude Code Bridged)
format: md
POST /v1/code/sessions
POST /v1/code/sessions
Cria uma nova code session. Usa axios (cliente JyA) no main process.
Headers
| Header | Valor | Obrigatório |
|---|---|---|
Authorization | Bearer <token> | Sim |
User-Agent | claude-code/0.3.182 | Sim |
Request Body
{
title: string;
bridge: {}; // sempre vazio
tags?: string[]; // max 32 items, 64 chars each
config: {
cwd: string;
// outras configs
};
}
Response
{
session: {
id: string; // "cse_..."
};
}
Exemplo curl
curl -X POST http://localhost:4000/v1/code/sessions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-H "User-Agent: claude-code/0.3.182" \
-d '{
"title": "meu-projeto",
"bridge": {},
"tags": ["python", "web"],
"config": {
"cwd": "/home/user/projeto"
}
}'
format: md
POST /v1/code/sessions//bridge
POST /v1/code/sessions//bridge
Obtém credenciais bridge para um worker se conectar.
Headers
| Header | Valor | Obrigatório |
|---|---|---|
Authorization | Bearer <token> | Sim |
X-Trusted-Device-Token | <token> | Opcional |
Request Body
{} // body vazio
Response (200)
{
worker_jwt: string; // ingress JWT
expires_in: number; // segundos
api_base_url: string; // bridge API base
worker_epoch: number;
}
Response (403)
{
terminal?: boolean;
reason: "untrusted_device" | "session_stale_relogin";
}
format: md
PUT /v1/code/sessions/{id}
PUT /v1/code/sessions/{id}
Atualiza o título de uma code session.
Timeout: 15s
Request Body
{
title: string; // max 500 chars
}
format: md
GET /v1/code/sessions/
GET /v1/code/sessions/
Verifica se uma code session existe (health check).
Timeout: 15s
Response
| Status | Significado |
|---|---|
200 | Sessão existe |
404 | Sessão não encontrada |
| Outros | Erro transitório |
format: md
DELETE /v1/code/sessions/{id}
DELETE /v1/code/sessions/{id}
Exclui uma code session.
Timeout: 15s
format: md
POST /v1/code/sessions//files
POST /v1/code/sessions//files
Monta um arquivo na code session. Requer beta ccr-byoc-2025-07-29.
Headers
| Header | Valor |
|---|---|
anthropic-beta | ccr-byoc-2025-07-29 |
Request Body
{
file_id: string;
mount_path: string;
}
format: md
GET /v1/code/sessions/{id}/file
GET /v1/code/sessions/{id}/file?path=<path>
Lê o conteúdo de um arquivo montado na code session.
Query Parameters
| Parâmetro | Tipo | Descriç ão |
|---|---|---|
path | string | Caminho do arquivo |
Response
{
content: string; // base64
}
format: md
POST /v1/code/sessions//worker/register
POST /v1/code/sessions//worker/register
Registra um worker para uma code session.
Headers
| Header | Valor |
|---|---|
Authorization | Bearer <ingress_jwt> |
Response
{
worker_epoch: number;
}
format: md
Files API
format: md
GET /v1/files
GET /v1/files?beta=true
Lista arquivos enviados.
Beta: files-api-2025-04-14
format: md
POST /v1/files
POST /v1/files
Faz upload de um arquivo.
Request
multipart/form-data com campo file (Blob).
Headers
| Header | Valor |
|---|---|
anthropic-beta | files-api-2025-04-14,oauth-2025-04-20 |
format: md
DELETE /v1/files/
DELETE /v1/files/?beta=true
Exclui um arquivo.
| Parâmetro | Tipo | Descrição |
|---|---|---|
file_id | string | ID do arquivo |
format: md
GET /v1/files/{file_id}
GET /v1/files/{file_id}?beta=true
Recupera metadados de um arquivo.
format: md
GET /v1/files//content
GET /v1/files//content?beta=true
Faz download do conteúdo do arquivo.
Response: Content-Type: application/binary
format: md
Schemas Compartilhados
interface CodeSession {
id: string; // "cse_..."
title: string;
bridge: {};
tags?: string[];
config: {
cwd: string;
[key: string]: any;
};
}
interface SessionEvent {
type: string; // "user" | "assistant" | "tool" | "control_*"
data: Record<string, any>;
event_id?: string;
parent_id?: string;
}