Pular para o conteúdo

IPs elásticos

GET /cloud/network/elastic-ips

Escopo do token: ips:read. Recurso: IPs elásticos.

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/network/elastic-ips?limit=50" \
-H "Authorization: Bearer $HALVER_API_TOKEN"
  • limit integer

    Tamanho da página, de 1 a 100. Com limit ou cursor a resposta é uma página em ordem de criação (mais antigo primeiro, depois o id) e next_cursor aponta a próxima; sem os dois vem a lista inteira, na ordem de sempre, com next_cursor nulo (compatibilidade). Com cursor e sem limit, páginas de 50. De 1 a 100. Veja Paginação.

  • cursor string

    O next_cursor da página anterior desta mesma lista (opaco; 400 invalid_cursor se não for). Até 200 caracteres. Veja Paginação.

IPs elásticos vivos.

Campos da resposta
  • items array de object obrigatório
    • address string obrigatório

      IPv4 público (/32).

    • apply_error string obrigatório

      Última resposta do gateway a uma mudança que não passou (“” quando não há).

    • contract_id string (uuid) obrigatório pode ser nulo
    • created_at string (date-time) obrigatório
    • first_invoice_id string (uuid) obrigatório pode ser nulo
    • id string (uuid) obrigatório
    • monthly_cents integer (int64) obrigatório
    • region object obrigatório
      • code string obrigatório
      • id string (uuid) obrigatório
      • name string obrigatório
    • server_hostname string obrigatório
    • server_id string (uuid) obrigatório pode ser nulo

      Servidor para onde o IP vai (null = sem servidor).

    • status string obrigatório

      pending_payment = primeira fatura em cobrança; configuring/moving/releasing = mudança indo para o gateway; failed = o gateway recusou ou não aplicou a tempo (veja apply_error). Um de: pending_payment, configuring, active, moving, releasing, failed.

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

      Rota retirada por falta de pagamento; o endereço continua reservado e a rota volta quando a fatura é paga.

  • next_cursor string pode ser nulo

    Cursor da próxima página (nulo na última e sem paginação; ausente nas listas da equipe).

Exemplo de resposta
{
"items": [
{
"address": "198.51.100.20",
"apply_error": "",
"contract_id": "751e7c9a-fae2-4027-9be3-5728dfce8982",
"created_at": "2026-10-20T18:00:00Z",
"first_invoice_id": "36d56e13-ffa3-4af3-acc1-14aa538fb0ab",
"id": "576fc46b-b2e5-41e7-b9a9-af387899f09a",
"monthly_cents": 79900,
"region": {
"code": "br-mg-1",
"id": "8c48d558-f6ba-472a-b7f4-e834d7d06d10",
"name": "Minas Gerais"
},
"server_hostname": "web-01",
"server_id": "307d7f63-0f00-4d4b-bc28-839d359e13a3",
"status": "active",
"suspended_at": null
}
],
"next_cursor": null
}

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, invalid_cursor
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
Exemplo de erro
{
"type": "about:blank",
"title": "Forbidden",
"status": 403,
"detail": "o token não tem o escopo ips:read; crie um token com esse escopo em Desenvolvedores › Tokens de API",
"code": "api_token.insufficient_scope",
"request_id": "6f1c0b2a9e4d7c3b5a8f0e1d"
}