Autenticación
La API de Corpohosting se basa en principios REST. Aceptamos cuerpos de solicitud codificados en JSON, devolvemos respuestas JSON y utilizamos códigos de respuesta HTTP estándar.
Toda solicitud a la API debe estar autenticada utilizando un Bearer Token. Puede generar tokens de API con distintos privilegios desde el Portal de Administración VDC.
https://api.corpohosting.com/v2/
Tipos de Tokens
sk_live_***: Tokens de Producción (Cobro activo).sk_test_***: Tokens de Sandbox (Sin facturación, recursos efímeros).
# Autenticar una petición de prueba comprobando la cuenta curl -X GET https://api.corpohosting.com/v2/account \ -H "Authorization: Bearer sk_live_y8bH1..." \ -H "Content-Type: application/json"
Manejo de Errores
Corpohosting utiliza códigos de respuesta HTTP convencionales para indicar el éxito o el fracaso de una solicitud de API.
| CÓDIGO HTTP | DESCRIPCIÓN |
|---|---|
| 200 - OK | Todo funcionó como se esperaba. |
| 400 - Bad Request | Faltan parámetros requeridos o hay un error de sintaxis en el JSON. |
| 401 - Unauthorized | Token de API inválido, expirado o revocado. |
| 403 - Forbidden | El Token no tiene permisos (Scopes) para ejecutar esta acción. |
| 429 - Too Many Requests | Ha superado el Rate Limit de 1000 req/minuto por endpoint. |
{
"error": {
"code": "invalid_parameter",
"message": "El parámetro 'flavor_id' es requerido.",
"doc_url": "https://docs.corpohosting.com/errors#invalid-parameter",
"request_id": "req_c7f8a92b"
}
}
/v2/instances
Listar Instancias Activas
Retorna una lista paginada de todos los servidores virtuales aprovisionados bajo su Tenant actual. Puede utilizar parámetros de consulta para filtrar.
PARÁMETROS DE CONSULTA
| limit entero |
Número de resultados a retornar (1 a 100). Default: 20. |
| status string |
Filtra por estado: ACTIVE, OFFLINE, PROVISIONING. |
curl -X GET https://api.corpohosting.com/v2/instances?status=ACTIVE&limit=5 \ -H "Authorization: Bearer sk_live_YOUR_TOKEN"
{
"object": "list",
"data": [
{
"id": "inst-c7d8e9",
"name": "erp-db-primary",
"status": "ACTIVE",
"ipv4_public": "192.168.10.55"
}
],
"has_more": true
}
/v2/instances
Aprovisionar Instancia
Aprovisiona un nuevo servidor virtual KVM de alto rendimiento. Las instancias se facturan de forma horaria. Puede inyectar scripts de inicio mediante user_data.
BODY PARAMS (JSON)
| name * string |
El hostname que se asignará al servidor. Ejemplo: erp-node-01. |
| flavor_id * string |
El ID de la plantilla de hardware. Define CPU, RAM y NVMe. Ejemplo: FLV-NVME-8C-16G. |
| image_id * string |
El sistema operativo base. Ejemplo: almalinux-9-x64 o ubuntu-24-04-lts. |
| vpc_id * string |
El ID de la red privada (VPC) donde se conectará la instancia. |
| ssh_keys array of strings |
Lista de IDs o Fingerprints de las llaves SSH públicas a inyectar en el usuario root. Recomendado para seguridad Zero-Trust. |
| user_data string (Base64) |
Un script cloud-init codificado en Base64 que se ejecutará en el primer arranque. Ideal para instalar Docker o Nginx automáticamente. |
curl -X POST https://api.corpohosting.com/v2/instances \ -H "Authorization: Bearer sk_live_YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "erp-node-01", "flavor_id": "FLV-NVME-8C-16G", "image_id": "ubuntu-24-04-lts", "vpc_id": "vpc-8f92a3", "ssh_keys": ["key-2b4c5"], "user_data": "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKICAtIGRvY2tlci5pbwo=" }'
{
"id": "inst-c7d8e9",
"name": "erp-node-01",
"status": "PROVISIONING",
"created_at": "2026-05-01T17:20:27Z",
"networks": [
{
"type": "private",
"ipv4": "10.0.1.15",
"mac_address": "00:1A:2B:3C:4D:5E"
}
]
}