Inicio rápido de API
Haga su primera llamada a la API de sh0 en pocos minutos: cree una clave de API, liste sus apps, vuelva a desplegar una y lea los formatos de respuesta.
/api/v1. Los ejemplos usan https://panel.example.com: sustitúyalo por su propia dirección.Crear una clave de API
En el panel, abra Configuración → Claves API, cree una clave con el nivel de acceso que necesite y cópiela: solo se muestra una vez. Los niveles de acceso se explican en Autenticación de la API. Después guárdela en una variable de entorno:
export SH0_TOKEN="sh0_..."Paso 2: Listar tus apps
Liste sus aplicaciones. Cualquier nivel de acceso lo permite:
curl https://panel.example.com/api/v1/apps \
-H "Authorization: Bearer $SH0_TOKEN"Volver a desplegar una app
Lance un nuevo despliegue de una app existente con su ID tomado de la lista. Requiere el nivel Despliegue o Administración. El cuerpo puede estar vacío, pero debe ser JSON válido:
curl -X POST https://panel.example.com/api/v1/apps/APP_ID/deployments \
-H "Authorization: Bearer $SH0_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Para crear una app a partir de su propio código, el camino más corto es la CLI: sh0 push sube el directorio de su proyecto como archivo y lo despliega, con o sin Dockerfile.
Formato de respuesta
Todas las respuestas de la API de sh0 siguen un formato consistente:
Respuestas exitosas:
{
"data": { ... }
}Respuestas de lista con paginación:
{
"data": [ ... ],
"total": 42,
"page": 1,
"per_page": 20,
"pages": 3
}Respuestas de error:
{
"error": {
"code": "NOT_FOUND",
"message": "App with id 'app_xyz' not found"
}
}Paginación
Los endpoints de lista soportan paginación con dos parámetros de consulta:
| Parámetro | Por defecto | Descripción |
|---|---|---|
page | 1 | Número de página (indexado desde 1) |
per_page | 20 | Elementos por página (máximo 100) |
# Get page 2, 50 items per page
curl "https://panel.example.com/api/v1/apps/APP_ID/deployments?page=2&per_page=50" \
-H "Authorization: Bearer $SH0_TOKEN"Manejo de errores
La API usa códigos de estado HTTP estándar. Estos son los más comunes:
| Estado | Significado |
|---|---|
| 200 | Éxito |
| 201 | Recurso creado |
| 400 | Solicitud inválida (parámetros inválidos) |
| 401 | No autorizado (token faltante o inválido) |
| 403 | Prohibido (permisos insuficientes) |
| 404 | Recurso no encontrado |
| 409 | Conflicto (nombre duplicado, etc.) |
| 422 | Error de validación |
| 429 | Tasa limitada |
| 500 | Error interno del servidor |
error.code para el manejo programático de errores en lugar de analizar la cadena del mensaje, que puede cambiar entre versiones.Próximos pasos
Ahora que puedes autenticarte y hacer llamadas API básicas, explora las capacidades completas de la API de sh0:
- Referencia API completa -- Explorador interactivo con los más de 180 endpoints
- Despliegue Git -- Configura flujos de despliegue push-to-deploy
- Escalado -- Escala apps vía la API
- Monitoreo -- Recupera métricas y datos de salud