Pular para o conteúdo

Detalha uma sessão do console serial

GET /cloud/servers/{id}/console/{sessionID}

Escopo do token: servers:read. Recurso: Console serial.

Os exemplos leem o token da variável de ambiente HALVER_API_TOKEN (um token sc_live_… criado em Desenvolvedores › Tokens de API). Nunca escreva o token no código.

Janela do terminal
curl "https://dash.halver.com.br/api/v1/cloud/servers/307d7f63-0f00-4d4b-bc28-839d359e13a3/console/a1ae5f0e-3bd9-4f2a-94af-8a07087d0180" \
-H "Authorization: Bearer $HALVER_API_TOKEN"
  • id string (uuid) obrigatório

    Exemplo: 307d7f63-0f00-4d4b-bc28-839d359e13a3.

  • sessionID string (uuid) obrigatório

    Exemplo: a1ae5f0e-3bd9-4f2a-94af-8a07087d0180.

Sessão.

Campos da resposta
  • activated_at string (date-time) obrigatório pode ser nulo
  • apply_error string obrigatório
  • close_reason string obrigatório

    ended pelo cliente; staff pela equipe; idle 15 min sem uso; expired 2 horas; operation uma operação nossa começou no servidor; server_gone o servidor saiu da conta; failed não abriu; engine o broker perdeu a sessão (o SOL caiu). Um de: "" (vazio), ended, staff, idle, expired, operation, server_gone, failed, engine.

  • closed_at string (date-time) obrigatório pode ser nulo
  • created_at string (date-time) obrigatório
  • expires_at string (date-time) obrigatório
  • hostname string obrigatório
  • id string (uuid) obrigatório
  • idle_timeout_seconds integer obrigatório
  • input_bytes integer (int64) obrigatório
  • input_count integer obrigatório
  • opened_by string obrigatório

    Nome de quem abriu.

  • opened_via string obrigatório

    Um de: panel, api, mcp.

  • server_id string (uuid) obrigatório
  • status string obrigatório

    closing = o acesso já terminou; a sessão do broker fecha e a gravação é guardada. Um de: opening, active, closing, closed.

  • transcript string obrigatório

    A gravação (asciicast v2) da sessão; saved pode ser baixada. Um de: pending, saved, unavailable.

  • transcript_bytes integer (int64) obrigatório
Exemplo de resposta
{
"activated_at": null,
"apply_error": "",
"close_reason": "ended",
"closed_at": null,
"created_at": "2026-10-20T18:00:00Z",
"expires_at": "2026-10-20T18:00:00Z",
"hostname": "web-01",
"id": "a1ae5f0e-3bd9-4f2a-94af-8a07087d0180",
"idle_timeout_seconds": 900,
"input_bytes": 0,
"input_count": 0,
"opened_by": "",
"opened_via": "panel",
"server_id": "307d7f63-0f00-4d4b-bc28-839d359e13a3",
"status": "opening",
"transcript": "pending",
"transcript_bytes": 0
}

Todo erro vem como application/problem+json (RFC 9457), com um code estável, a mensagem em português em detail, o motivo de cada campo em errors (nos erros de validação) e o request_id, que você informa ao suporte. Veja a lista completa de códigos.

Status Quando Códigos
400 Requisição inválida (JSON malformado, campo desconhecido, parâmetro inválido ou falha de validação). validation_failed
401 Não autenticado (token ausente, inválido ou expirado; credenciais inválidas). auth.unauthorized
403 Autenticado, mas sem permissão para a área ou a operação. api_token.insufficient_scope
404 Recurso não encontrado (ou fora do escopo do usuário). server.not_found, console_session.not_found
Exemplo de erro
{
"type": "about:blank",
"title": "Forbidden",
"status": 403,
"detail": "o token não tem o escopo servers:read; crie um token com esse escopo em Desenvolvedores › Tokens de API",
"code": "api_token.insufficient_scope",
"request_id": "6f1c0b2a9e4d7c3b5a8f0e1d"
}