Referência Completa da API
A API sh0 completa com 180+ endpoints, um explorador interativo e uma especificação OpenAPI para download para 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:
- Dashboard: Navegue até API Docs na barra lateral do seu dashboard 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 spec está disponível em:
# JSON format
curl https://your-server:9000/api/openapi.json
# YAML format
curl https://your-server:9000/api/openapi.yamlGrupos 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/apps | Listar todas as aplicações |
| POST | /api/apps | Criar uma nova aplicação |
| GET | /api/apps/:id | Obter detalhes do app |
| PUT | /api/apps/:id | Atualizar configuração do app |
| DELETE | /api/apps/:id | Excluir uma aplicação |
| POST | /api/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/apps/:id/deploy | Acionar um novo deploy |
| GET | /api/apps/:id/deployments | Listar histórico de deploys |
| POST | /api/apps/:id/rollback | Rollback para um deploy anterior |
Domínios & SSL
Adicionar domínios personalizados, verificar DNS e gerenciar certificados SSL.
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /api/domains | Listar todos os domínios |
| POST | /api/domains | Adicionar um domínio personalizado |
| POST | /api/domains/verify | Verificar DNS do domínio |
| GET | /api/certificates | Listar certificados SSL |
Bancos de Dados
Provisionar bancos de dados, gerenciar backups e obter strings de conexão.
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /api/databases | Criar um novo banco de dados |
| GET | /api/databases/:id | Obter detalhes do banco + string de conexão |
| POST | /api/databases/:id/backup | Acionar um backup manual |
| POST | /api/databases/:id/restore | Restaurar a partir de 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 |
| Scaling | 4 endpoints | Scaling manual, regras de autoscaling |
| Monitoramento | 12 endpoints | Métricas, alertas, verificações de uptime, status de saúde |
| Cron Jobs | 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 mais de 170 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.
# Download as JSON
curl -o sh0-openapi.json https://your-server:9000/api/openapi.json
# Download as YAML
curl -o sh0-openapi.yaml https://your-server:9000/api/openapi.yamlO 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://your-server:9000/api/openapi.json \
-o ./src/lib/api/sh0-types.tsCliente Python (usando openapi-python-client):
pip install openapi-python-client
openapi-python-client generate \
--url https://your-server:9000/api/openapi.jsonCliente Go (usando oapi-codegen):
go install github.com/deepmap/oapi-codegen/v2/cmd/oapi-codegen@latest
oapi-codegen -package sh0 sh0-openapi.json > sh0_client.go