Skip to main content

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

HeaderValorObrigatório
AuthorizationBearer <token>Sim
anthropic-betamanaged-agents-2026-04-01Sim

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/&#123;session_id&#125;

GET /v1/sessions/&#123;session_id&#125;?beta=true

Recupera detalhes de uma sessão.

ParâmetroTipoDescrição
session_idstringID 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/&#123;session_id&#125;/archive

POST /v1/sessions/&#123;session_id&#125;/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/&#123;session_id&#125;/events

POST /v1/sessions/&#123;session_id&#125;/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/&#123;session_id&#125;/resources

GET /v1/sessions/&#123;session_id&#125;/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/&#123;session_id&#125;/resources/&#123;resource_id&#125;

DELETE /v1/sessions/&#123;session_id&#125;/resources/&#123;resource_id&#125;?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

HeaderValorObrigatório
AuthorizationBearer <token>Sim
User-Agentclaude-code/0.3.182Sim

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

HeaderValorObrigatório
AuthorizationBearer <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/&#123;id&#125;

PUT /v1/code/sessions/&#123;id&#125;

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

StatusSignificado
200Sessão existe
404Sessão não encontrada
OutrosErro transitório

format: md

DELETE /v1/code/sessions/&#123;id&#125;

DELETE /v1/code/sessions/&#123;id&#125;

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

HeaderValor
anthropic-betaccr-byoc-2025-07-29

Request Body

{
file_id: string;
mount_path: string;
}

format: md

GET /v1/code/sessions/&#123;id&#125;/file

GET /v1/code/sessions/&#123;id&#125;/file?path=<path>

Lê o conteúdo de um arquivo montado na code session.

Query Parameters

ParâmetroTipoDescrição
pathstringCaminho 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

HeaderValor
AuthorizationBearer <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

HeaderValor
anthropic-betafiles-api-2025-04-14,oauth-2025-04-20

format: md

DELETE /v1/files/

DELETE /v1/files/?beta=true

Exclui um arquivo.

ParâmetroTipoDescrição
file_idstringID do arquivo

format: md

GET /v1/files/&#123;file_id&#125;

GET /v1/files/&#123;file_id&#125;?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;
}