Pular para o conteúdo

Detalha uma operação

GET /cloud/operations/{id}

Escopo do token: servers:read. Recurso: Operações.

O contrato de espera: consulte até status ser succeeded ou failed, respeitando Retry-After enquanto pending ou running.

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/operations/38b54c25-1f8d-40fe-8cb1-649ddb710f23" \
-H "Authorization: Bearer $HALVER_API_TOKEN"
  • id string (uuid) obrigatório

    Exemplo: 38b54c25-1f8d-40fe-8cb1-649ddb710f23.

Operação.

Cabeçalhos:

  • Retry-After: Segundos sugeridos até consultar de novo (GET /cloud/operations/{id} ou o recurso): a operação segue em segundo plano e avança a cada 10 s.
Campos da resposta
  • error string obrigatório

    Resumo da etapa que falhou (vazio sem falha).

  • finished_at string (date-time) obrigatório pode ser nulo
  • id string (uuid) obrigatório
  • requested_at string (date-time) obrigatório
  • server_id string (uuid) obrigatório
  • started_at string (date-time) obrigatório pode ser nulo
  • status string obrigatório

    Um de: pending, running, succeeded, failed.

  • steps array de object obrigatório
    • finished_at string (date-time) obrigatório pode ser nulo
    • message string obrigatório
    • name string obrigatório

      Um de: prepare, erase, install, configure, reboot, ready, release.

    • started_at string (date-time) obrigatório pode ser nulo
    • status string obrigatório

      Um de: pending, running, done, failed.

  • type string obrigatório

    Um de: deploy, reinstall, wipe, delete.

Exemplo de resposta
{
"error": "",
"finished_at": null,
"id": "38b54c25-1f8d-40fe-8cb1-649ddb710f23",
"requested_at": "2026-10-20T18:00:00Z",
"server_id": "307d7f63-0f00-4d4b-bc28-839d359e13a3",
"started_at": null,
"status": "succeeded",
"steps": [
{
"finished_at": null,
"message": "",
"name": "prepare",
"started_at": null,
"status": "done"
}
],
"type": "deploy"
}

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). operation.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"
}