Docs/ Referência da API/ Referência Completa

Referência Completa da API

A API REST completa do sh0: mais de 230 caminhos sob /api/v1, um explorador interativo e uma especificação OpenAPI para download e geração de código.

Explorador de API Interativo

A forma mais fácil de explorar a API sh0 é pelo explorador de API interativo, disponível em:

  • Painel: abra Serviços → Explorador API no seu painel do sh0.
  • Website: Visite /api no site do sh0.
Explorador de API interativo mostrando lista de endpoints com previews de requisição/resposta

O explorador permite:

  • Navegar por todos os endpoints organizados por categoria
  • Ver parâmetros de requisição, headers e esquemas de body
  • Ver respostas de exemplo para cada endpoint
  • Testar endpoints diretamente do navegador (quando conectado a uma instância sh0)
  • Copiar comandos curl para qualquer endpoint
Tip
O explorador de API é gerado automaticamente a partir da spec OpenAPI usando utoipa. Está sempre em sincronia com os endpoints API reais na sua versão do sh0.

Especificação OpenAPI

sh0 expõe uma especificação OpenAPI 3.1 completa que descreve cada endpoint, parâmetro, body de requisição e tipo de resposta. A spec é gerada automaticamente do código-fonte Rust usando utoipa, garantindo que está sempre precisa e atualizada.

A especificação é servida em JSON, sem autenticação, em:

Terminal
curl https://panel.example.com/api/v1/openapi.json
Spec OpenAPI renderizada em um visualizador de documentação

Grupos de Endpoints

A API é organizada em grupos lógicos. Aqui está um resumo das principais categorias de endpoints:

Apps

Gerenciar ciclo de vida de aplicações — criar, configurar, iniciar, parar, reiniciar e excluir apps.

MétodoEndpointDescrição
GET/api/v1/appsListar todas as aplicações
POST/api/v1/appsCriar uma nova aplicação
POST/api/v1/apps/uploadCriar ou atualizar uma app a partir de um arquivo enviado
GET/api/v1/apps/:idObter detalhes do app
PATCH/api/v1/apps/:idAtualizar configuração do app
DELETE/api/v1/apps/:idExcluir uma aplicação
POST/api/v1/apps/:id/restartReiniciar uma aplicação

Deploys

Acionar deploys, visualizar logs de build, fazer rollback e gerenciar histórico de deploy.

MétodoEndpointDescrição
POST/api/v1/apps/:id/deploymentsAcionar um novo deploy
GET/api/v1/apps/:id/deploymentsListar histórico de deploys
POST/api/v1/deployments/:id/rollbackRollback para um deploy anterior

Domínios & SSL

Listar domínios, associá-los a uma app e gerenciar seus certificados.

MétodoEndpointDescrição
GET/api/v1/domainsListar todos os domínios
POST/api/v1/apps/:id/domainsAdicionar um domínio a uma app
DELETE/api/v1/apps/:id/domains/:domain_idRemover um domínio de uma app
GET/api/v1/apps/:id/certificatesListar os certificados de uma app

Bancos de Dados

Criar servidores de banco de dados e executar backups e restaurações.

MétodoEndpointDescrição
POST/api/v1/database-serversCriar um servidor de banco de dados
GET/api/v1/database-servers/:idObter um servidor de banco de dados
POST/api/v1/backups/triggerDisparar um backup agora
POST/api/v1/backups/:id/restoreRestaurar um backup

Outros Endpoints

A API também cobre estas categorias de recursos:

CategoriaEndpointsDescrição
Variáveis de Ambiente8 endpointsCRUD para vars de ambiente, importação em lote, gerenciamento de secrets
Armazenamento & Montagens6 endpointsGerenciamento de volumes, provedores de armazenamento
Escalonamento4 endpointsScaling manual, regras de autoscaling
Monitoramento12 endpointsMétricas, alertas, verificações de uptime, status de saúde
Tarefas cron5 endpointsAgendar, listar, atualizar, excluir, executar cron jobs
Equipe & Autenticação15 endpointsLogin, 2FA, sessões, membros da equipe, chaves API
Chaves SSH4 endpointsAdicionar, listar, excluir chaves SSH
Nós8 endpointsGerenciamento multi-servidor, saúde do nó
Serviços8 endpointsURLs de subserviços, status, reiniciar, parar, iniciar, credenciais
Backups11 endpointsAcionar, listar, restaurar, baixar backups, gerenciar agendamentos
Certificados6 endpointsGerenciamento de certificados SSL, geração de CSR, modos SSL
Projetos11 endpointsCRUD de projetos, gerenciamento de membros, logs de auditoria
Redirecionamentos5 endpointsRegras de redirecionamento de URL, criar, atualizar, ativar/desativar, excluir
Ambientes de Preview4 endpointsDeploys de preview de PR, configurações, limpeza
Configurações6 endpointsConfiguração do servidor, domínio, Cloudflare, ACME, DNS
Templates5 endpointsNavegar e fazer deploy de 171 templates
Webhooks6 endpointsWebhooks Git, hooks de deploy, hooks de notificação
Visão geral dos grupos de endpoints API no explorador

Baixando a Spec OpenAPI

Você pode baixar a especificação OpenAPI para usar com ferramentas de documentação, frameworks de teste ou geradores de código.

Terminal
curl -o sh0-openapi.json https://panel.example.com/api/v1/openapi.json

O arquivo spec pode ser importado em ferramentas como:

  • Postman: Importe a spec para criar uma collection com todos os endpoints pré-configurados.
  • Insomnia: Importe para um workspace de API interativo.
  • Swagger UI: Hospede sua própria documentação de API interativa.
  • Redocly: Gere documentação de API elegante.
Spec OpenAPI importada no Postman

Usando com Geradores de Código

A especificação OpenAPI pode ser usada com geradores de código para criar clientes API tipados em qualquer linguagem:

Cliente TypeScript (usando openapi-typescript):

Terminal
npx openapi-typescript https://panel.example.com/api/v1/openapi.json \
  -o ./src/lib/api/sh0-types.ts
Tip
Clientes gerados oferecem tipagem completa e autocompletar no seu IDE. São especialmente úteis ao construir pipelines CI/CD ou ferramentas de automação personalizadas que interagem com sua instância sh0.
Autocompletar TypeScript de tipos API gerados no VS Code