VPS

Endpoints para listar, provisionar e controlar energia das VPS, além de status, métricas, senha e reset.

8 min de leitura Atualizado em 25 de maio de 2026

O que você vai conseguir

Liste, provisione e controle suas VPS: energia, status, métricas, senha e reset.

Antes de começar

  • Autenticação via token Bearer no header Authorization.
  • As rotas operam apenas sobre os recursos do cliente autenticado.

Endpoints para gerenciar as instâncias VPS da sua conta: listar, provisionar, controlar energia, consultar status e métricas, trocar a senha, gerenciar chaves SSH e resetar. Todas as rotas exigem autenticação e operam apenas sobre as VPS que pertencem ao cliente autenticado.

Endpoints

GET /api/vps

Listar VPS

Lista todas as VPS do cliente autenticado, em formato resumido.

{
    "data": [
        {
            "id": "9f1c8a2e-3b4d-4c5e-9a1b-2c3d4e5f6a7b",
            "hostname": "vps-web-01.cliente.com.br",
            "ipv4": "203.0.113.10",
            "ipv6": "2001:db8:abcd::10",
            "power_state": "running",
            "is_online": true,
            "os": "Ubuntu 22.04 LTS",
            "datacenter": {
                "id": "4a2b1c3d-...",
                "name": "São Paulo - SP1",
                "location": "São Paulo, BR"
            },
            "service": {
                "id": "7c8d9e0f-...",
                "name": "VPS Cloud 4GB",
                "status": "active"
            }
        }
    ]
}
POST /api/vps/provision

Provisionar VPS

Provisiona uma nova VPS. O pagamento é automático: a plataforma tenta usar créditos primeiro e, se insuficiente, cobra no cartão padrão. Responde 201 em caso de sucesso. Os IDs vêm de Produtos (product_id) e Datacenters (datacenter_id, os_template_id).

Corpo (JSON)

CampoTipoDescrição
product_id obrigatóriouuidID do produto VPS (ativo e do tipo VPS).
datacenter_id obrigatóriouuidID do datacenter (deve ter IPs disponíveis).
os_template_id obrigatóriouuidID do template de sistema operacional.
root_password obrigatóriostring (8–128)Senha root da VPS.
hostnamestring (≤253)Hostname desejado. Gerado automaticamente se omitido.
ssh_public_keystringChave pública SSH a injetar na VPS.
addonsobjectMapa { resource_id: quantidade }. Addons obrigatórios são incluídos automaticamente.

O status vem na resposta — você não envia esse campo

No corpo 201, data.status reflete o resultado do pagamento: provisioning = pagamento confirmado e provisionamento já iniciado; pending_payment = cobrança ainda não confirmada pelo gateway (o provisionamento dispara automaticamente quando o pagamento confirmar). Já os erros de regra de negócio (produto inativo, datacenter sem IP, cartão expirado) nem chegam a criar a VPS — retornam 422.

{
    "success": true,
    "data": {
        "service_id": "7c8d9e0f-...",
        "vps_id": "9f1c8a2e-...",
        "status": "provisioning",
        "hostname": "vps-web-01.cliente.com.br",
        "ssh_port": 22,
        "product": {
            "id": "1a2b3c4d-...",
            "name": "VPS Cloud 4GB"
        },
        "invoice": {
            "invoice_number": "INV-2026-000123",
            "amount": 104.9,
            "status": "paid"
        },
        "payment": {
            "method": "card",
            "credits_used": 0,
            "card_last_digits": "4242"
        }
    }
}
GET /api/vps/{id}

Detalhar VPS

Retorna os detalhes completos de uma VPS: acesso, serviço, tráfego, monitoramento, backup e timestamps.

Parâmetros de rota

CampoTipoDescrição
id obrigatóriouuidID da VPS (deve pertencer à sua conta).

A senha root nunca é exposta — apenas access.has_root_password. Retorna 404 se a VPS não existir ou não for sua.

{
    "data": {
        "id": "9f1c8a2e-...",
        "hostname": "vps-web-01.cliente.com.br",
        "ipv4": "203.0.113.10",
        "power_state": "running",
        "is_online": true,
        "os": "Ubuntu 22.04 LTS",
        "service": {
            "name": "VPS Cloud 4GB",
            "status": "active",
            "price": 89.9,
            "billing_cycle": "monthly",
            "next_billing_date": "2026-07-28T00:00:00+00:00"
        },
        "access": {
            "has_root_password": true,
            "ipv4": "203.0.113.10",
            "ssh_port": 22
        },
        "traffic": {
            "used": 5368709120,
            "limit": 1099511627776,
            "percentage": 0.49,
            "formatted": "5 GB / 1 TB"
        },
        "backup": {
            "enabled": true,
            "schedule": "daily",
            "last_backup_at": "2026-06-28T03:00:00+00:00"
        }
    }
}
POST /api/vps/{id}/start

Ligar VPS

Inicia (liga) a VPS. Retorna 409 se ela já estiver ligada.

Parâmetros de rota

CampoTipoDescrição
id obrigatóriouuidID da VPS.
{
    "message": "VPS start initiated",
    "data": {
        "id": "9f1c8a2e-...",
        "hostname": "vps-web-01.cliente.com.br",
        "power_state": "running"
    }
}
POST /api/vps/{id}/stop

Desligar VPS

Desliga a VPS de forma graciosa (shutdown). Retorna 409 se já estiver desligada.

Parâmetros de rota

CampoTipoDescrição
id obrigatóriouuidID da VPS.
{
    "message": "VPS stop initiated",
    "data": {
        "id": "9f1c8a2e-...",
        "hostname": "vps-web-01.cliente.com.br",
        "power_state": "stopped",
        "is_online": false
    }
}
POST /api/vps/{id}/restart

Reiniciar VPS

Reinicia a VPS. Retorna 409 se ela estiver desligada (use ligar).

Parâmetros de rota

CampoTipoDescrição
id obrigatóriouuidID da VPS.
{
    "message": "VPS restart initiated",
    "data": {
        "id": "9f1c8a2e-...",
        "hostname": "vps-web-01.cliente.com.br",
        "power_state": "running"
    }
}
POST /api/vps/{id}/force-stop

Forçar desligamento

Força o desligamento imediato (hard shutdown). Retorna 409 se já estiver desligada.

Parâmetros de rota

CampoTipoDescrição
id obrigatóriouuidID da VPS.
{
    "message": "VPS force stop initiated",
    "data": {
        "id": "9f1c8a2e-...",
        "hostname": "vps-web-01.cliente.com.br",
        "power_state": "stopped",
        "is_online": false
    }
}
GET /api/vps/{id}/status

Status da VPS

Estado de energia atual, uptime e timestamps. uptime é null quando a VPS não está rodando.

Parâmetros de rota

CampoTipoDescrição
id obrigatóriouuidID da VPS.
{
    "data": {
        "id": "9f1c8a2e-...",
        "power_state": "running",
        "is_online": true,
        "uptime": "2d 4h 15m",
        "timestamps": {
            "last_started_at": "2026-06-26T09:50:00+00:00",
            "last_ping_at": "2026-06-28T14:00:00+00:00"
        }
    }
}
GET /api/vps/{id}/metrics

Métricas da VPS

Tráfego, rede, monitoramento, backup, uso de disco e séries temporais (RRD do Proxmox).

Parâmetros de rota

CampoTipoDescrição
id obrigatóriouuidID da VPS.

Query string

CampoTipoDescrição
timeframehour|day|week|month|yearJanela do gráfico. Padrão: hour.

Unidades dos pontos: time em segundos Unix; cpu fração 0..1; memória e disco em bytes; netin/netout/diskread/diskwrite em bytes por segundo. Sem provisionamento ou nó inacessível, charts.points vem [] com HTTP 200.

{
    "data": {
        "id": "9f1c8a2e-...",
        "traffic": {
            "used": 5368709120,
            "limit": 1099511627776,
            "percentage": 0.49,
            "exceeded": false
        },
        "disk": {
            "used": 12884901888,
            "total": 85899345920,
            "percentage": 15,
            "source": "storage-allocation"
        },
        "charts": {
            "timeframe": "hour",
            "points": [
                {
                    "time": 1782658800,
                    "cpu": 0.0423,
                    "mem": 1610612736,
                    "maxmem": 4294967296,
                    "netin": 10485,
                    "netout": 8192
                }
            ]
        }
    }
}
POST /api/vps/{id}/password

Trocar senha

Troca a senha do usuário no SO da VPS (via guest agent, na hora). A VPS precisa estar ligada e com o guest agent disponível. Não altera o cloud-init.

Parâmetros de rota

CampoTipoDescrição
id obrigatóriouuidID da VPS.

Corpo (JSON)

CampoTipoDescrição
usernameroot|administratorUsuário alvo. Padrão: root.
password obrigatóriostring (8–72)Nova senha.
password_confirmation obrigatóriostringConfirmação da senha (igual a password).

VPS desligada → 409. Guest agent indisponível → 409. Sucesso → 200.

GET /api/vps/{id}/os-templates

Templates de SO da VPS

Lista os templates de SO disponíveis no datacenter desta VPS — use um id daqui no reset (troca de SO).

Parâmetros de rota

CampoTipoDescrição
id obrigatóriouuidID da VPS.
{
    "data": [
        {
            "id": "5e1b0c9a-...",
            "display_name": "Ubuntu 22.04 LTS",
            "os_family": "linux",
            "os_type": "ubuntu",
            "additional_price": 0,
            "min_requirements": {
                "cpu_cores": 1,
                "ram_gb": 1,
                "storage_gb": 10
            }
        }
    ]
}
POST /api/vps/{id}/reset

Resetar (reinstalar)

Reseta a VPS para uma instalação limpa do SO (enfileirado). Destrutivo: apaga todos os dados da VPS. Pode trocar o SO por outro template do mesmo datacenter (ver templates da VPS). Responde 202.

Parâmetros de rota

CampoTipoDescrição
id obrigatóriouuidID da VPS.

Corpo (JSON)

CampoTipoDescrição
os_template_id obrigatóriouuidTemplate de SO (deve ser do datacenter da VPS).
confirm obrigatóriobooleanDeve ser true — confirma a operação destrutiva.
keep_passwordbooleanManter a senha atual. Padrão: true.
new_passwordstring (8–72)Nova senha (obrigatória se keep_password=false).
keep_ssh_keysbooleanManter as chaves SSH atuais. Padrão: true.
ssh_key_idsuuid[]Chaves a aplicar quando keep_ssh_keys=false.

Pré-condições: VPS provisionada, com IP, serviço ativo e não em reset — senão 409. Template de outro datacenter → 422.

A sua privacidade é muito importante para nós

Nós usamos cookies para garantir a melhor experiência e para coletar dados sobre como os visitantes interagem com o nosso site. Ao clicar em "Aceitar todos", você concorda em usarmos todos os cookies para anúncios, personalização e análises, como descrito na nossa Política de cookies.