Referência de API
Integre GPUs de topo de linha à sua aplicação. Simples, rápido e confiável.
URL base
Todos os endpoints ficam sob a URL base abaixo e respondem em JSON:
https://gpubrasil.com.br
Autenticação
Autentique com uma API key no header Authorization. A key não expira e pode ser revogada a qualquer momento no painel. Trate-a como uma senha — quem tiver a key pode criar e apagar instâncias na sua conta.
Authorization: Bearer gpub_live_suachaveaqui
Alternativamente, você pode enviar a key no header x-api-key.
Gere sua API key no painel
Por segurança, as API keys são geradas e gerenciadas dentro da sua conta — na seção API Keys do painel. A chave em claro é exibida uma única vez, no ambiente autenticado.
Abrir painel → API KeysEndpoints
Fluxo completo
O ciclo de vida de uma instância é: escolher a GPU → criar → consultar status/conexão → (opcional) parar/iniciar → deletar. Nos exemplos abaixo, defina sua chave em uma variável de ambiente:
export GPUB_API_KEY="gpub_live_suachaveaqui"
1. Listar GPUs e preços
Retorna o catálogo com preço por hora (em R$) e o gpu_key que você usa para criar a instância. Não exige autenticação.
curl -s "https://gpubrasil.com.br/api/gpus"
Resposta (resumo):
{
"gpus": [
{ "model": "NVIDIA H100 PCIe 80GB", "gpu_key": "premium_H100-80G-PCIe",
"pricePerHourBrl": 19.88, "provider": "premium" },
{ "model": "RTX 4090", "gpu_key": "economic_RTX_4090",
"pricePerHourBrl": 3.34, "provider": "economic" }
]
}
Dica: use /api/gpus/available para ver também a quantidade disponível em tempo real.
2. Criar instância
Use o gpuModel = gpu_key obtido no passo 1. O deploy roda em segundo plano; a resposta volta na hora com um instanceId e status creating.
curl -X POST "https://gpubrasil.com.br/api/instances/deploy" \
-H "Authorization: Bearer $GPUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "minha-vm",
"gpuModel": "premium_H100-80G-PCIe",
"vcpuCount": 8,
"ramGb": 64,
"storageGb": 100
}'
Resposta:
{
"success": true,
"instance": { "instanceId": "abc123", "name": "minha-vm", "status": "creating" },
"chargedAmount": 19.88,
"currency": "R$",
"message": "Instância sendo criada..."
}
Campos: gpuModel (obrigatório), vcpuCount (mín. 2), ramGb (mín. 8), storageGb (mín. 40), name, e opcionalmente sshKey e templateId (template 1-clique).
3. Status e dados de conexão SSH
Consulte pelo instanceId. Quando o status virar running, o objeto connection traz IP, porta e o comando SSH pronto.
curl -s "https://gpubrasil.com.br/api/instances/abc123" \
-H "Authorization: Bearer $GPUB_API_KEY"
Resposta:
{
"id": "abc123",
"name": "minha-vm",
"status": "running",
"gpu_model": "premium_H100-80G-PCIe",
"connection": {
"ip": "203.0.113.42",
"port": 22,
"user": "ubuntu",
"sshCommand": "ssh -i ~/.ssh/your_key -p 22 ubuntu@203.0.113.42"
},
"resources": { "vcpuCount": 8, "ramGb": 64, "storageGb": 100 },
"pricing": { "hourlyRateBrl": 19.88 }
}
4. Listar suas instâncias
curl -s "https://gpubrasil.com.br/api/instances" \ -H "Authorization: Bearer $GPUB_API_KEY"
5. Parar e iniciar (opcional)
Pausar interrompe a cobrança por uso mantendo a instância; iniciar volta a ligá-la.
curl -X POST "https://gpubrasil.com.br/api/instances/abc123/stop" \ -H "Authorization: Bearer $GPUB_API_KEY" curl -X POST "https://gpubrasil.com.br/api/instances/abc123/start" \ -H "Authorization: Bearer $GPUB_API_KEY"
6. Deletar instância
Destrói a instância no provedor e encerra a cobrança. É o endpoint que você perguntou — ele existe e é definitivo.
curl -X DELETE "https://gpubrasil.com.br/api/instances/abc123" \
-H "Authorization: Bearer $GPUB_API_KEY"
Resposta:
{ "success": true, "message": "Instância removida" }
Se a instância ainda estiver sendo criada, o provedor pode recusar a deleção (HTTP 409) — tente de novo em alguns minutos.
Códigos de Resposta
200 · OK
Requisição bem-sucedida
201 · Criado
Instância/recurso criado
400 · Erro
Parâmetros inválidos ou saldo insuficiente
401 · Não autorizado
API key ausente, inválida ou revogada
403 · Proibido
Ação não permitida para esta credencial
404 · Não encontrado
Instância/recurso inexistente
409 · Conflito
Instância ainda sendo criada — tente depois
500 · Erro interno
Erro no servidor