VPS.org API

Documentação da API REST

API de servidores

Crie, inspecione, power, redimensionexclua seus servidores VPS. Os servidores são identificados pelo seu uuid.

Pontos finais 15
Caminho base /api/v1/servers
PEGAR /api/v1/servers/

Listar todos os servidores

Devolve os servidores na sua conta, mais recente, 25 por página. Os servidores que estão sendo excluídos não estão incluídos.

Permissão requerida: servers:list

Parâmetros de consulta

Parâmetro Tipo Obrigatório Descrição
page integer Não Número de página, a partir de 1
page_size integer Não Resultados por página (por defeito 25, máximo 100)

Exemplo de solicitação

cURL
Python
JavaScript
PHP
curl -X GET "https://admin.vps.org/api/v1/servers/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

url = "https://admin.vps.org/api/v1/servers/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.get(url, headers=headers)
for server in response.json()["results"]:
    print(server["uuid"], server["hostname"], server["status"])
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);
$ch = curl_init('https://admin.vps.org/api/v1/servers/');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_API_TOKEN']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$data = json_decode(curl_exec($ch), true);
curl_close($ch);

foreach ($data['results'] as $server) {
    echo $server['hostname'] . ' ' . $server['status'] . "\n";
}

Exemplo de resposta

{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b",
      "hostname": "web-01",
      "status": "on",
      "error_description": null,
      "location_name": "New Jersey",
      "plan_name": "1 vCPU / 2 GB RAM / 10 GB",
      "os_name": "Ubuntu",
      "ipv4_addresses": ["203.0.113.10"],
      "ipv6_addresses": ["2001:db8:2:dd::f9:6b"],
      "created_at": "2026-07-30T03:54:14.914364Z",
      "deployed": true
    },
    {
      "uuid": "2d7e9b40-6c1a-4f3e-8b5d-9a0c1e2f3b4d",
      "hostname": "db-01",
      "status": "queue",
      "error_description": null,
      "location_name": "New Jersey",
      "os_name": "Debian",
      "ipv4_addresses": [],
      "ipv6_addresses": [],
      "created_at": "2026-09-14T19:33:49.426508Z",
      "deployed": false
    }
  ]
}

Campos de resposta

Campo Tipo Descrição
uuid string Identificador do servidor utilizado em todos os outros endpoints do servidor
hostname string Nome de máquina que escolheu ao criar o servidor
status string Estado atual. Veja os valores do estado do servidor abaixo.
error_description string | null Detalhes da última falha quando o estado é erro, caso contrário nulo
location_name string Nome da localização em que o servidor é executado
os_name string Nome do sistema operacional, sem a versão
plan_name string Resumo de plano legível, por exemplo 1 vCPU / 2 GB RAM / 10 GB
ipv4_addresses array Direcções IPv4 como strings. Vazio até que o servidor seja implantado, e em planos sem IPv4.
ipv6_addresses array Direcções IPv6 como strings. Vazio até que o servidor seja implantado.
created_at datetime Hora de criação (ISO 8601, UTC)
deployed boolean Verdadeira uma vez que a provisão terminou

Códigos de status de resposta

200 Lista de servidores recuperada com sucesso.
403 Token API faltante ou inválida, ou o token carece da permissão requerida
POST /api/v1/servers/

Criar novo servidor

Encadeia um novo servidor para a implantação e o devolve imediatamente com a fila de estado. O fornecimento continua no fundo: pesquisar o endpoint de estado até que o implantado seja verdadeiro. Quando o servidor está pronto, seus detalhes de login são enviados por email ao proprietário da conta.

Sua conta precisa de um método de pagamento salvo. Dependendo do seu histórico de conta, um depósito temporário pré-autorização de cerca de uma semana do preço do plano ( pelo menos 1 USD) pode ser colocado no seu cartão antes de o servidor ser criado.

Permissão requerida: servers:create

Parâmetros do corpo da requisição

Parâmetro Tipo Obrigatório Descrição
hostname string Sim Pelo menos 3 caracteres. Cartas, dígitos, ínfimos e períodos apenas.
location_id integer Sim O id de uma localização ativa da API de Localizações
plan_uuid string Sim O uuid de um plano ativo da API Plans
operating_system_version_uuid string Sim O uuid de uma entrada ativa na lista de versões de um sistema operacional
ssh_key_uuids array Não UUIDs de chaves SSH da API de chaves SSH para instalar no servidor
ssh_key_ids array Não Identificadores enteiros das chaves SSH, como alternativa para ssh_key_uuids. Se ambos forem enviados, ssh_key_ids é usado.
ssh_key_uuid, ssh_key_id string, integer Não Corta para uma única chave SSH
auth_method string Não Senha, ssh_key ou ambos. O padrão para senha, ou para ambas quando as teclas SSH são fornecidas.

Exemplo de solicitação

cURL
Python
JavaScript
PHP
curl -X POST "https://admin.vps.org/api/v1/servers/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "hostname": "web-01",
    "location_id": 1,
    "plan_uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
    "operating_system_version_uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "ssh_key_uuids": ["YOUR_SSH_KEY_UUID"]
  }'
import requests

url = "https://admin.vps.org/api/v1/servers/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
data = {
    "hostname": "web-01",
    "location_id": 1,
    "plan_uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
    "operating_system_version_uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "ssh_key_uuids": ["YOUR_SSH_KEY_UUID"],
}

response = requests.post(url, headers=headers, json=data)
server = response.json()
print(response.status_code, server["uuid"], server["status"])
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    hostname: 'web-01',
    location_id: 1,
    plan_uuid: '3bc2faf6-8f8b-4978-b62d-b52ed3f858e9',
    operating_system_version_uuid: 'c3418f90-80a0-4e00-a7e1-d0ab1822b941',
    ssh_key_uuids: ['YOUR_SSH_KEY_UUID']
  })
});

const server = await response.json();
console.log(server.uuid, server.status);
$data = [
    'hostname' => 'web-01',
    'location_id' => 1,
    'plan_uuid' => '3bc2faf6-8f8b-4978-b62d-b52ed3f858e9',
    'operating_system_version_uuid' => 'c3418f90-80a0-4e00-a7e1-d0ab1822b941',
    'ssh_key_uuids' => ['YOUR_SSH_KEY_UUID']
];

$ch = curl_init('https://admin.vps.org/api/v1/servers/');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_TOKEN',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server = json_decode(curl_exec($ch), true);
curl_close($ch);

Exemplo de resposta

201 Criado com o objeto do servidor completo descrito em Obter Detalhes do Servidor. Os endereços e vmid são preenchidos uma vez que termina a implantação.

{
  "uuid": "5f0c8e2a-6b1d-4c3e-9a7f-2d4b6c8e0a1f",
  "hostname": "web-01",
  "vmid": null,
  "status": "queue",
  "error_description": null,
  "location": {
    "id": 1,
    "name": "New Jersey",
    "country_name": "United States",
    "is_active": true
  },
  "plan": {
    "uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
    "cpu": 1,
    "ram": 2,
    "ram_unit": "GB",
    "disk_space": 10,
    "disk_space_total": 10240,
    "transfer": 500,
    "price": "3.50",
    "cpu_type_name": "Shared",
    "is_active": true,
    "hourly_price": "0.005",
    "monthly_price": "3.50",
    "is_gpu": false,
    "gpu_count": 0,
    "gpu_model": ""
  },
  "operating_system": {
    "id": 1,
    "name": "Ubuntu",
    "svg_icon": "<svg ...>",
    "versions": [ ... ]
  },
  "operating_system_version": {
    "uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "name": "24.04 LTS x64",
    "os_name": "Ubuntu",
    "os_svg_icon": "<svg ...>",
    "is_active": true
  },
  "ipv4_addresses": [],
  "ipv6_addresses": [],
  "deployed": false,
  "created_at": "2026-09-14T21:02:11.402113Z",
  "recent_actions": []
}

Códigos de status de resposta

201 Servidor criado e en espera para a implantação
400 Erro de validação, por exemplo, uma localização inactiva, uma versão do sistema operacional ou planejar
402 Não foi declinado o método de pagamento no arquivo, facturas não pagas ou pré-autorização do cartão
403 Token API faltante ou inválida, ou o token carece da permissão requerida
429 Sua conta atingiu o seu limite de criação do servidor
PEGAR /api/v1/servers/{uuid}/

Obter detalhes do servidor

Devolve um servidor com sua localização, plano, sistema operacional, endereços IP e as cinco ações mais recentes.

Permissão requerida: servers:list

curl -X GET "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Exemplo de resposta

{
  "uuid": "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b",
  "hostname": "web-01",
  "vmid": 1042,
  "status": "on",
  "error_description": null,
  "location": {
    "id": 1,
    "name": "New Jersey",
    "country_name": "United States",
    "is_active": true
  },
  "plan": {
    "uuid": "14186969-fbaf-43e1-9ab2-b1f1aeb66674",
    "cpu": 1,
    "ram": 2,
    "ram_unit": "GB",
    "disk_space": 25,
    "disk_space_total": 25600,
    "transfer": 1,
    "price": "5.00",
    "cpu_type_name": "Shared",
    "is_active": true,
    "hourly_price": "0.007",
    "monthly_price": "5.00",
    "is_gpu": false,
    "gpu_count": 0,
    "gpu_model": ""
  },
  "operating_system": {
    "id": 1,
    "name": "Ubuntu",
    "svg_icon": "<svg ...>",
    "versions": [ ... ]
  },
  "operating_system_version": {
    "uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "name": "24.04 LTS x64",
    "os_name": "Ubuntu",
    "os_svg_icon": "<svg ...>",
    "is_active": true
  },
  "ipv4_addresses": [
    {
      "ip": "203.0.113.10",
      "gateway": "203.0.113.1",
      "subnet": "203.0.113.0",
      "rdns": "web-01.example.com"
    }
  ],
  "ipv6_addresses": [
    {
      "ip": "2001:db8:2:dd::f9:6b",
      "gateway": "2001:db8:2:dd::f9:1",
      "subnet": "2001:db8:2:dd::f9:0",
      "rdns": "web-01.example.com"
    }
  ],
  "deployed": true,
  "created_at": "2026-07-30T03:54:14.914364Z",
  "recent_actions": [
    {
      "id": 17028,
      "action": "create",
      "action_display": "Create",
      "description": "Server deployed with VMID 1042",
      "user_email": "you@example.com",
      "created_at": "2026-07-30T03:54:32.860854Z"
    }
  ]
}

Marcação de ícones SVG e a lista de versões são abreviadas aqui.

Campos de resposta

Campo Tipo Descrição
vmid integer | null Número de máquina virtual, definido durante a implantação
location object Objeto de localização, conforme retornado pela API de Localizações
plan object Planeie objeto, conforme retornado pela API Plans
operating_system, operating_system_version object Sistema operacional e versão instalada, conforme devolvido pela API de Sistemas Operacionais
ipv4_addresses, ipv6_addresses array Um objeto por endereço com ip, gateway, subnet e rdns (o host host DNS reverso)
recent_actions array Até cinco últimas ações: id, ação, ação_display, descrição, user_email, created_at

Códigos de status de resposta

200 Detalhes do servidor obtidos com sucesso
404 Não encontrado, ou pertence a outra conta
PEGAR /api/v1/servers/{uuid}/status/

Obter o Estado do Servidor

Uma chamada leve para votar depois de criar, poder ou mudar de dimensão de um servidor.

curl -X GET "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/status/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "status": "on",
  "deployed": true,
  "resizing": false
}

Valores do Estado do Servidor

Valor Descrição
queue Uma ação (desenvolvimento, poder, redimensionamento, restauração) é encadeada ou em andamento
deploying Ser provisório. Os servidores criados a partir do painel de controle usam este estado; os servidores criados através da API permanecem na fila até estarem prontos.
on Executar
off Apagado
error A última ação falhou. Veja erro_description.
suspended_payment Suspendido devido a facturas não pagas
POST /api/v1/servers/{uuid}/power/

Energia do Servidor de Controle

Encadeia uma ação de energia. O estado do servidor muda para a fila de espera até que a ação termine.

Permissão requerida: servers:power

Parâmetros do corpo da requisição

Parâmetro Tipo Obrigatório Descrição
action string Sim start: energia ligada
shutdown: desligamento gracioso, forçado se o hóspede não parar
restart: ciclo de energia dura (parar, depois começar)
stop: atualmente executa o mesmo ciclo de energia que reiniciar. Use o desligar para deixar um servidor desligado.

Exemplo de solicitação

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/power/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "restart"}'
import requests

server_uuid = "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b"
url = f"https://admin.vps.org/api/v1/servers/{server_uuid}/power/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.post(url, headers=headers, json={"action": "restart"})
print(response.json())

Exemplo de resposta

{
  "message": "Server restart queued"
}

Códigos de status de resposta

200 A ação foi posta na fila
400 Ação não suportada ou desativada
402 início recusado porque a conta tem facturas não pagas
404 Não encontrado, ou pertence a outra conta
POST /api/v1/servers/{uuid}/resize/

Redimensionar um Servidor

Move o servidor para outro plano ativo. O novo plano não pode ter menos espaço de disco do que o actual, e o corpo de pedido deve incluir ação definida para mudar de dimensão. A capacidade de hipervisor para o novo plano é verificada antes de qualquer coisa ser posta em fila, por isso um pedido recusado deixa o servidor inalterado.

O servidor é desligado enquanto é redimensionado e iniciado novamente depois. Se a redimensionação falhar, o servidor é colocado de novo no seu plano anterior e iniciado novamente se estava a executar. O crescimento do disco não pode ser desfeito.

Permissão requerida: servers:resize

Parâmetros do corpo da requisição

Parâmetro Tipo Obrigatório Descrição
action string Sim Deve ser redimensionado
new_plan_uuid string Sim O uuid do plano para mudar para
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/resize/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "resize", "new_plan_uuid": "5e26a4a6-bd0c-467c-abca-da036c811c3f"}'
{
  "message": "Resize queued successfully"
}

Exemplo de uma redimensionação recusada (409):

{
  "error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}

Códigos de status de resposta

200 A ação foi posta na fila
400 Falta ação ou novo_plan_uuid, plano inválido ou inativo, um plano com menos espaço no disco ou um plano GPU (os planos GPU não podem ser redimensionados através da API)
404 Não encontrado, ou pertence a outra conta
409 Uma mudança de redimensionamento ou armazenamento já está em andamento, ou não há capacidade de hipervisor suficiente para o novo plano
503 A capacidade não foi verificada neste momento. O servidor não foi alterado; tente mais tarde.
POST /api/v1/servers/{uuid}/reset-password/

Repor a Senha Root

Gera uma nova senha de root, devolve na resposta e colalteração no servidor. A nova senha também é enviada por email para você. O servidor deve ser implantado. Não é necessário nenhum corpo de pedido.

curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/reset-password/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Password reset queued. New password will also be emailed to you.",
  "password": "generated-password",
  "job_id": "b6f1c7e2-3a4d-4f5e-8b9c-0d1e2f3a4b5c"
}

Códigos de status de resposta

200 A ação foi posta na fila
400 O servidor ainda não está implantado
404 Não encontrado, ou pertence a outra conta
PEGAR POST /api/v1/servers/{uuid}/rdns/

DNS invertido (PTR)

O GET lista o host host DNS reverso de cada endereço IPv4 e IPv6 no servidor. O POST define-o para um endereço. Enviar um host host vazio reinicia o endereço para o seu nome DNS reverso padrão.

Permissão requerida: servers:update

Parâmetros do corpo da requisição (POST)

Parâmetro Tipo Obrigatório Descrição
ip string Sim Um endereço IPv4 ou IPv6 atribuído a este servidor
hostname string Não O nome do host do PTR. Deixe vazio para reiniciar o padrão.
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/rdns/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ip": "203.0.113.10", "hostname": "mail.example.com"}'
{
  "message": "Reverse DNS for 203.0.113.10 set to mail.example.com",
  "ip": "203.0.113.10",
  "hostname": "mail.example.com"
}

Resposta GET:

{
  "rdns": [
    {"ip": "203.0.113.10", "hostname": "mail.example.com"},
    {"ip": "2001:db8:2:dd::f9:6b", "hostname": "mail.example.com"}
  ]
}

Códigos de status de resposta

400 falta ip, ou o nome de máquina não pôde ser configurado
404 O endereço IP não é atribuído a este servidor
POST /api/v1/servers/{uuid}/exec/

Executar um comando num servidor

Executar um comando de shell dentro do servidor através do agente convidado QEMU e espera que ele termine. O servidor deve ser implantado e executado, e qemu-free-agent deve ser instalado e executado no convidado.

Permissão requerida: servers:exec

Parâmetros do corpo da requisição

Parâmetro Tipo Obrigatório Descrição
command string Sim Linha de comando executada com /bin/sh -c, até 2000 caracteres
timeout integer Não Segundos para esperar pelo comando, 1 a 300 (por defeito 30)
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/exec/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"command": "uptime", "timeout": 30}'
{
  "stdout": " 21:14:03 up 46 days,  2:10,  0 users,  load average: 0.08, 0.03, 0.01\n",
  "stderr": "",
  "exit_code": 0,
  "timed_out": false
}

Se o comando ainda estiver em execução quando o tempo de expiração expira, a resposta tem tempo_out definido para true e out_code configurado para nulo.

Códigos de status de resposta

200 Comando terminado ou esgotado
400 Servidor não implantado ou não executado, ou parâmetros inválidos
409 O agente convidado QEMU não está a executar-se no servidor
503 Problema de conexão temporária. Volte a tentar após o cabeçalho de Voltar a seguir.
EXCLUIR /api/v1/servers/{uuid}/

Excluir servidor

Encadea o servidor para a exclusão permanente. O servidor desaparece da lista imediatamente e não pode ser recuperado.

Permissão requerida: servers:delete

curl -X DELETE "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Server deletion queued"
}

Códigos de status de resposta

202 Aceito: o pedido foi encadeado
404 Não encontrado, ou pertence a outra conta
PEGAR POST /api/v1/ssh-keys/

Chaves SSH

Armazene chaves SSH públicas na sua conta e depois passe seus uuids como ssh_key_uuids ao criar um servidor. GET lista suas chaves (25 por página); POST adiciona uma.

Permissão requerida: ssh-keys:list (GET), ssh-keys:create (POST)

Parâmetros do corpo da requisição (POST)

Parâmetro Tipo Obrigatório Descrição
name string Sim Um nome para reconhecer a chave por, até 100 caracteres
public_key string Sim A chave pública no formato OpenSSH, por exemplo, o conteúdo de id_ed25519.pub

Exemplo de solicitação

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/ssh-keys/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "laptop", "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... you@laptop"}'
import requests

url = "https://admin.vps.org/api/v1/ssh-keys/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

with open("/home/you/.ssh/id_ed25519.pub") as f:
    data = {"name": "laptop", "public_key": f.read().strip()}

response = requests.post(url, headers=headers, json=data)
print(response.status_code, response.json()["uuid"])

Exemplo de resposta

{
  "id": 19,
  "uuid": "6e1b9c52-3f8a-4d7e-a2c4-5b9d0e1f2a3c",
  "name": "laptop",
  "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... you@laptop",
  "fingerprint": "0b:4c:9b:48:76:e7:1d:07:b9:ac:71:90:70:f7:9a:69",
  "created_at": "2026-08-23T19:16:11.547183Z",
  "last_used_at": null
}

Campos de resposta

Campo Tipo Descrição
id, uuid integer, string Identificadores de chaves. Use uuid em ssh_key_uuids e na URL abaixo; o id funciona em ssh_key_ids.
fingerprint string Impressão digital MD5 da chave, calculada pela plataforma
last_used_at datetime | null Quando a chave foi instalada pela última vez em um novo servidor

Códigos de status de resposta

201 Chave adicionada
400 Nome faltante, ou a chave pública não é uma chave pública SSH válida
PEGAR EXCLUIR /api/v1/ssh-keys/{uuid}/

Obter ou Apagar uma Chave SSH

O GET devolve uma chave com os campos acima. DELETE remove-a da sua conta e retorna 204 sem corpo. Se apagar uma chave não remove-a dos servidores que já foi instalado. As chaves não podem ser editadas: apagar e adicionar novamente.

Permissão requerida: ssh-keys:list (GET), ssh-keys:delete (DELETE)

curl -X DELETE "https://admin.vps.org/api/v1/ssh-keys/6e1b9c52-3f8a-4d7e-a2c4-5b9d0e1f2a3c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Backups e Snapshots

Criar um backup ou um instantâneo é também uma ação do servidor: