Referencia de endpoints

KernelHost API

Todos los endpoints devuelven application/json. Los errores siguen el RFC 7807 (Problem+JSON). Toda respuesta incluye la cabecera X-Request-Id para correlacionar con el registro de auditoría del servidor.

MethodPathPermisoPropósito
GET/v1/healthpublicComprobación de salud sin autenticación.
GET/v1/meanyInformación de la propia cuenta y metadatos de la clave.
GET/v1/productsread:productsListado de todos los productos públicos con sus precios.
GET/v1/products/{id}read:productsDetalles del producto, incluidas las opciones de configuración.
POST/v1/orderswrite:ordersRealizar un pedido. Idempotency-Key obligatorio.
GET/v1/orders/{id}read:ordersEstado de un pedido propio.
GET/v1/servicesread:servicesListado de los servicios propios (paginado).
GET/v1/services/{id}read:servicesDetalles de un servicio propio.
GET/v1/services/{id}/credentialsread:credentialsCredenciales del servicio (permiso separado, auditado).
POST/v1/services/{id}/actionswrite:servicesAcción de servicio: start, stop, reboot, cancel (al final del periodo de facturación), cancel_revoke.
GET/v1/billing/balanceread:billingSaldo disponible.
GET/v1/billing/invoicesread:billingListado de sus facturas (paginado).
GET/v1/billing/invoices/{id}/pdfread:billingPDF de factura.
GET/v1/webhooksread:webhooksURL actual del webhook.
PUT/v1/webhookswrite:webhooksConfigurar o eliminar la URL del webhook.

Idempotencia

POST /v1/orders y POST /v1/services/{id}/actions requieren la cabecera Idempotency-Key (de 1 a 80 caracteres del conjunto [A-Za-z0-9_.-]). La clave queda vinculada al método, la ruta y el cuerpo. Si repite la misma petición con la misma clave en el plazo de una hora, recibirá la respuesta almacenada; pasado ese plazo, obtendrá un 410 con reason replay_stale y deberá enviar una clave nueva. La misma clave con otro cuerpo o en otro endpoint se rechaza con 409 idempotency_conflict.

Límites de tasa

Por defecto, 60 peticiones por minuto (más una ráfaga de 20) y 5.000 al día por clave, 120 por minuto por cuenta entre todas las claves y 600 por minuto por IP de origen. Si se supera un límite, recibirá HTTP 429 con la cabecera Retry-After. Las cabeceras de respuesta X-RateLimit-Remaining y X-RateLimit-Reset muestran el estado actual del límite de la clave.