Referencia API completa
La API REST completa de sh0: más de 230 rutas bajo /api/v1, un explorador interactivo y una especificación OpenAPI descargable para generar código.
Explorador API interactivo
La forma más fácil de explorar la API de sh0 es a través del explorador API interactivo, disponible en:
- Panel: abra Servicios → Explorador API en su panel de sh0.
- Sitio web: Visita /api en el sitio web de sh0.
El explorador te permite:
- Navegar todos los endpoints organizados por categoría
- Ver parámetros de solicitud, encabezados y esquemas de body
- Ver respuestas de ejemplo para cada endpoint
- Probar endpoints directamente desde el navegador (cuando estés conectado a una instancia de sh0)
- Copiar comandos curl para cualquier endpoint
utoipa. Siempre está sincronizado con los endpoints API reales en tu versión de sh0.Especificación OpenAPI
sh0 expone una especificación OpenAPI 3.1 completa que describe cada endpoint, parámetro, cuerpo de solicitud y tipo de respuesta. La especificación se autogenera desde el código fuente Rust usando utoipa, asegurando que siempre sea precisa y esté actualizada.
La especificación se sirve en JSON, sin autenticación, en:
curl https://panel.example.com/api/v1/openapi.jsonGrupos de endpoints
La API está organizada en grupos lógicos. Aquí hay un resumen de las principales categorías de endpoints:
Apps
Gestiona el ciclo de vida de aplicaciones -- crear, configurar, iniciar, detener, reiniciar y eliminar apps.
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /api/v1/apps | Listar todas las aplicaciones |
| POST | /api/v1/apps | Crear una nueva aplicación |
| POST | /api/v1/apps/upload | Crear o actualizar una app a partir de un archivo subido |
| GET | /api/v1/apps/:id | Obtener detalles de la app |
| PATCH | /api/v1/apps/:id | Actualizar configuración de la app |
| DELETE | /api/v1/apps/:id | Eliminar una aplicación |
| POST | /api/v1/apps/:id/restart | Reiniciar una aplicación |
Despliegues
Activar despliegues, ver logs de build, rollback y gestionar historial de despliegues.
| Método | Endpoint | Descripción |
|---|---|---|
| POST | /api/v1/apps/:id/deployments | Activar un nuevo despliegue |
| GET | /api/v1/apps/:id/deployments | Listar historial de despliegues |
| POST | /api/v1/deployments/:id/rollback | Revertir a un despliegue anterior |
Dominios y SSL
Listar dominios, asociarlos a una app y gestionar sus certificados.
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /api/v1/domains | Listar todos los dominios |
| POST | /api/v1/apps/:id/domains | Añadir un dominio a una app |
| DELETE | /api/v1/apps/:id/domains/:domain_id | Quitar un dominio de una app |
| GET | /api/v1/apps/:id/certificates | Listar los certificados de una app |
Bases de datos
Crear servidores de bases de datos y ejecutar copias de seguridad y restauraciones.
| Método | Endpoint | Descripción |
|---|---|---|
| POST | /api/v1/database-servers | Crear un servidor de bases de datos |
| GET | /api/v1/database-servers/:id | Obtener un servidor de bases de datos |
| POST | /api/v1/backups/trigger | Lanzar una copia de seguridad ahora |
| POST | /api/v1/backups/:id/restore | Restaurar una copia de seguridad |
Otros endpoints
La API también cubre estas categorías de recursos:
| Categoría | Endpoints | Descripción |
|---|---|---|
| Variables de entorno | 8 endpoints | CRUD para variables de entorno, importación masiva, gestión de secretos |
| Almacenamiento y montajes | 6 endpoints | Gestión de volúmenes, proveedores de almacenamiento |
| Escalado | 4 endpoints | Escalado manual, reglas de autoescalado |
| Monitoreo | 12 endpoints | Métricas, alertas, verificaciones de disponibilidad, estado de salud |
| Trabajos cron | 5 endpoints | Programar, listar, actualizar, eliminar, ejecutar trabajos cron |
| Equipo y auth | 15 endpoints | Login, 2FA, sesiones, miembros del equipo, claves API |
| Claves SSH | 4 endpoints | Agregar, listar, eliminar claves SSH |
| Nodos | 8 endpoints | Gestión multiservidor, salud de nodos |
| Servicios | 8 endpoints | URL de subservicios, estado, reiniciar, detener, iniciar, credenciales |
| Copias de seguridad | 11 endpoints | Activar, listar, restaurar, descargar copias de seguridad, gestionar programaciones |
| Certificados | 6 endpoints | Gestión de certificados SSL, generación de CSR, modos SSL |
| Proyectos | 11 endpoints | CRUD de proyectos, gestión de miembros, registros de auditoría |
| Redirecciones | 5 endpoints | Reglas de redirección de URL, crear, actualizar, activar/desactivar, eliminar |
| Entornos de vista previa | 4 endpoints | Despliegues de vista previa de PR, configuración, limpieza |
| Configuración | 6 endpoints | Configuración del servidor, dominio, Cloudflare, ACME, DNS |
| Plantillas | 5 endpoints | Navegar y desplegar desde 171 plantillas |
| Webhooks | 6 endpoints | Webhooks Git, hooks de despliegue, hooks de notificación |
Descargar la especificación OpenAPI
Puedes descargar la especificación OpenAPI para usar con herramientas de documentación, frameworks de pruebas o generadores de código.
curl -o sh0-openapi.json https://panel.example.com/api/v1/openapi.jsonEl archivo de especificación puede importarse en herramientas como:
- Postman: Importa la especificación para crear una colección con todos los endpoints preconfigurados.
- Insomnia: Importar para un workspace API interactivo.
- Swagger UI: Aloja tu propia documentación API interactiva.
- Redocly: Genera documentación API elegante.
Usar con generadores de código
La especificación OpenAPI puede usarse con generadores de código para crear clientes API tipados en cualquier lenguaje:
Cliente TypeScript (usando openapi-typescript):
npx openapi-typescript https://panel.example.com/api/v1/openapi.json \
-o ./src/lib/api/sh0-types.ts