VPS.org API

Documentação da API REST

API de backups

Enumere seus backups do servidor, inicie um novo backup e restabeleça um servidor de um.

Pontos finais 4
Caminho base /api/v1/backups
PEGAR /api/v1/backups/

Listar todos os backups

Devolve os backups de todos os seus servidores, mais recentes, 25 por página. Não há nenhum filtro de servidor: use server_hostname para os agrupar.

Permissão requerida: backups: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

Exemplo de solicitação

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

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

response = requests.get(url, headers=headers)
for backup in response.json()["results"]:
    print(backup["id"], backup["server_hostname"], backup["created_at"])
const response = await fetch('https://admin.vps.org/api/v1/backups/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);

Exemplo de resposta

{
  "count": 96,
  "next": "https://admin.vps.org/api/v1/backups/?page=2",
  "previous": null,
  "results": [
    {
      "id": 5512,
      "server_hostname": "web-01",
      "name": "vzdump-qemu-1042-2026_09_14-16_44_10.vma.zst",
      "size_gb": 3.12,
      "deletion_date": "2026-09-21T20:45:40.697512Z",
      "days_remaining": 6,
      "created_at": "2026-09-14T20:45:40.699494Z"
    }
  ]
}

Campos de resposta

Campo Tipo Descrição
id integer Identificador de backup, usado pelos endpoints de obtenção e restauração
server_hostname string Nome de máquina do servidor do backup foi tomado de
name string Nome do arquivo de backup
size_gb number Tamanho comprimido em gigabytes
deletion_date datetime Quando o backup será removido automaticamente
days_remaining integer Dias inteiros à esquerda até a data_ de_ exclusão
created_at datetime Hora de criação (ISO 8601, UTC)

Códigos de status de resposta

200 Lista de backup recuperada com sucesso
403 Token API faltante ou inválida, ou o token carece da permissão requerida
PEGAR /api/v1/backups/{id}/

Obtenha um Backup

Devolve um objeto de backup com os campos acima.

curl -X GET "https://admin.vps.org/api/v1/backups/5512/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
POST /api/v1/servers/{uuid}/backup/

Criar um Backup

Encadeia um backup de um servidor implantado. Não é necessário nenhum corpo de pedido. O backup aparece na lista uma vez que ele terminou, o que pode demorar vários minutos dependendo do uso do disco.

Permissão requerida: servers:backup

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

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

response = requests.post(url, headers=headers)
print(response.json())

Exemplo de resposta

{
  "message": "Backup queued successfully"
}

Códigos de status de resposta

200 A ação foi posta na fila
400 O servidor ainda não está implantado
402 Não há método de pagamento no processo, nem facturas não pagas
404 Não encontrado, ou pertence a outra conta
POST /api/v1/backups/{id}/restore/

Restaurar um Servidor a partir de um Backup

Para o servidor o backup foi tomado, sobrescreve seu disco com o backup e o inicia novamente. Não é necessário nenhum corpo de pedido. O estado do servidor é fila enquanto a restauração se executa.

Permissão requerida: backups:restore

curl -X POST "https://admin.vps.org/api/v1/backups/5512/restore/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Backup restore queued. The server will be stopped, restored, and restarted.",
  "backup": "vzdump-qemu-1042-2026_09_14-16_44_10.vma.zst",
  "job_id": "b6f1c7e2-3a4d-4f5e-8b9c-0d1e2f3a4b5c"
}
Aviso: Tudo escrito para o servidor após a tomada do backup é perdido. Uma restauração não pode ser desfetada.

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

Notas