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.
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
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:
curl https://panel.example.com/api/v1/openapi.jsonGrupos 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étodo | Endpoint | Descrição |
|---|---|---|
| GET | /api/v1/apps | Listar todas as aplicações |
| POST | /api/v1/apps | Criar uma nova aplicação |
| POST | /api/v1/apps/upload | Criar ou atualizar uma app a partir de um arquivo enviado |
| GET | /api/v1/apps/:id | Obter detalhes do app |
| PATCH | /api/v1/apps/:id | Atualizar configuração do app |
| DELETE | /api/v1/apps/:id | Excluir uma aplicação |
| POST | /api/v1/apps/:id/restart | Reiniciar uma aplicação |
Deploys
Acionar deploys, visualizar logs de build, fazer rollback e gerenciar histórico de deploy.
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /api/v1/apps/:id/deployments | Acionar um novo deploy |
| GET | /api/v1/apps/:id/deployments | Listar histórico de deploys |
| POST | /api/v1/deployments/:id/rollback | Rollback para um deploy anterior |
Domínios & SSL
Listar domínios, associá-los a uma app e gerenciar seus certificados.
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /api/v1/domains | Listar todos os domínios |
| POST | /api/v1/apps/:id/domains | Adicionar um domínio a uma app |
| DELETE | /api/v1/apps/:id/domains/:domain_id | Remover um domínio de uma app |
| GET | /api/v1/apps/:id/certificates | Listar os certificados de uma app |
Bancos de Dados
Criar servidores de banco de dados e executar backups e restaurações.
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /api/v1/database-servers | Criar um servidor de banco de dados |
| GET | /api/v1/database-servers/:id | Obter um servidor de banco de dados |
| POST | /api/v1/backups/trigger | Disparar um backup agora |
| POST | /api/v1/backups/:id/restore | Restaurar um backup |
Outros Endpoints
A API também cobre estas categorias de recursos:
| Categoria | Endpoints | Descrição |
|---|---|---|
| Variáveis de Ambiente | 8 endpoints | CRUD para vars de ambiente, importação em lote, gerenciamento de secrets |
| Armazenamento & Montagens | 6 endpoints | Gerenciamento de volumes, provedores de armazenamento |
| Escalonamento | 4 endpoints | Scaling manual, regras de autoscaling |
| Monitoramento | 12 endpoints | Métricas, alertas, verificações de uptime, status de saúde |
| Tarefas cron | 5 endpoints | Agendar, listar, atualizar, excluir, executar cron jobs |
| Equipe & Autenticação | 15 endpoints | Login, 2FA, sessões, membros da equipe, chaves API |
| Chaves SSH | 4 endpoints | Adicionar, listar, excluir chaves SSH |
| Nós | 8 endpoints | Gerenciamento multi-servidor, saúde do nó |
| Serviços | 8 endpoints | URLs de subserviços, status, reiniciar, parar, iniciar, credenciais |
| Backups | 11 endpoints | Acionar, listar, restaurar, baixar backups, gerenciar agendamentos |
| Certificados | 6 endpoints | Gerenciamento de certificados SSL, geração de CSR, modos SSL |
| Projetos | 11 endpoints | CRUD de projetos, gerenciamento de membros, logs de auditoria |
| Redirecionamentos | 5 endpoints | Regras de redirecionamento de URL, criar, atualizar, ativar/desativar, excluir |
| Ambientes de Preview | 4 endpoints | Deploys de preview de PR, configurações, limpeza |
| Configurações | 6 endpoints | Configuração do servidor, domínio, Cloudflare, ACME, DNS |
| Templates | 5 endpoints | Navegar e fazer deploy de 171 templates |
| Webhooks | 6 endpoints | Webhooks Git, hooks de deploy, hooks de notificação |
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.
curl -o sh0-openapi.json https://panel.example.com/api/v1/openapi.jsonO 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.
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):
npx openapi-typescript https://panel.example.com/api/v1/openapi.json \
-o ./src/lib/api/sh0-types.ts