Docs/ Referencia API/ Referencia completa

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.
Explorador API interactivo mostrando lista de endpoints con previsualizaciones de solicitud/respuesta

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
Tip
El explorador API se genera automáticamente desde la especificación OpenAPI usando 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:

Terminal
curl https://panel.example.com/api/v1/openapi.json
Especificación OpenAPI renderizada en un visor de documentación

Grupos 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étodoEndpointDescripción
GET/api/v1/appsListar todas las aplicaciones
POST/api/v1/appsCrear una nueva aplicación
POST/api/v1/apps/uploadCrear o actualizar una app a partir de un archivo subido
GET/api/v1/apps/:idObtener detalles de la app
PATCH/api/v1/apps/:idActualizar configuración de la app
DELETE/api/v1/apps/:idEliminar una aplicación
POST/api/v1/apps/:id/restartReiniciar una aplicación

Despliegues

Activar despliegues, ver logs de build, rollback y gestionar historial de despliegues.

MétodoEndpointDescripción
POST/api/v1/apps/:id/deploymentsActivar un nuevo despliegue
GET/api/v1/apps/:id/deploymentsListar historial de despliegues
POST/api/v1/deployments/:id/rollbackRevertir a un despliegue anterior

Dominios y SSL

Listar dominios, asociarlos a una app y gestionar sus certificados.

MétodoEndpointDescripción
GET/api/v1/domainsListar todos los dominios
POST/api/v1/apps/:id/domainsAñadir un dominio a una app
DELETE/api/v1/apps/:id/domains/:domain_idQuitar un dominio de una app
GET/api/v1/apps/:id/certificatesListar los certificados de una app

Bases de datos

Crear servidores de bases de datos y ejecutar copias de seguridad y restauraciones.

MétodoEndpointDescripción
POST/api/v1/database-serversCrear un servidor de bases de datos
GET/api/v1/database-servers/:idObtener un servidor de bases de datos
POST/api/v1/backups/triggerLanzar una copia de seguridad ahora
POST/api/v1/backups/:id/restoreRestaurar una copia de seguridad

Otros endpoints

La API también cubre estas categorías de recursos:

CategoríaEndpointsDescripción
Variables de entorno8 endpointsCRUD para variables de entorno, importación masiva, gestión de secretos
Almacenamiento y montajes6 endpointsGestión de volúmenes, proveedores de almacenamiento
Escalado4 endpointsEscalado manual, reglas de autoescalado
Monitoreo12 endpointsMétricas, alertas, verificaciones de disponibilidad, estado de salud
Trabajos cron5 endpointsProgramar, listar, actualizar, eliminar, ejecutar trabajos cron
Equipo y auth15 endpointsLogin, 2FA, sesiones, miembros del equipo, claves API
Claves SSH4 endpointsAgregar, listar, eliminar claves SSH
Nodos8 endpointsGestión multiservidor, salud de nodos
Servicios8 endpointsURL de subservicios, estado, reiniciar, detener, iniciar, credenciales
Copias de seguridad11 endpointsActivar, listar, restaurar, descargar copias de seguridad, gestionar programaciones
Certificados6 endpointsGestión de certificados SSL, generación de CSR, modos SSL
Proyectos11 endpointsCRUD de proyectos, gestión de miembros, registros de auditoría
Redirecciones5 endpointsReglas de redirección de URL, crear, actualizar, activar/desactivar, eliminar
Entornos de vista previa4 endpointsDespliegues de vista previa de PR, configuración, limpieza
Configuración6 endpointsConfiguración del servidor, dominio, Cloudflare, ACME, DNS
Plantillas5 endpointsNavegar y desplegar desde 171 plantillas
Webhooks6 endpointsWebhooks Git, hooks de despliegue, hooks de notificación
Resumen de grupos de endpoints API en el explorador

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.

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

El 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.
Especificación OpenAPI importada en Postman

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):

Terminal
npx openapi-typescript https://panel.example.com/api/v1/openapi.json \
  -o ./src/lib/api/sh0-types.ts
Tip
Los clientes generados te dan seguridad de tipos completa y autocompletado en tu IDE. Son especialmente útiles al construir pipelines CI/CD o herramientas de automatización personalizadas que interactúan con tu instancia de sh0.
Autocompletado de TypeScript desde tipos API generados en VS Code