Referência de endpoints

KernelHost API

Todos os endpoints retornam application/json. Erros seguem a RFC 7807 (Problem+JSON). Cada resposta traz um cabeçalho X-Request-Id para correlação com o log de auditoria do servidor.

MethodPathEscopoFinalidade
GET/v1/healthpublicHealth check sem autenticação.
GET/v1/meanyInformações da própria conta e metadados da chave API.
GET/v1/productsread:productsLista de todos os produtos listados publicamente, com preços.
GET/v1/products/{id}read:productsDetalhes do produto, incluindo opções de configuração.
POST/v1/orderswrite:ordersRealizar um pedido. Idempotency-Key obrigatório.
GET/v1/orders/{id}read:ordersStatus de um pedido próprio.
GET/v1/servicesread:servicesLista dos próprios serviços (paginada).
GET/v1/services/{id}read:servicesDetalhes de um serviço próprio.
GET/v1/services/{id}/credentialsread:credentialsCredenciais do serviço (escopo separado, registrado em auditoria).
POST/v1/services/{id}/actionswrite:servicesAção de serviço: start, stop, reboot, cancel (no fim do período de faturação), cancel_revoke.
GET/v1/billing/balanceread:billingSaldo de crédito.
GET/v1/billing/invoicesread:billingLista das suas faturas (paginada).
GET/v1/billing/invoices/{id}/pdfread:billingPDF da fatura.
GET/v1/webhooksread:webhooksURL atual do webhook.
PUT/v1/webhookswrite:webhooksDefinir ou remover a URL do webhook.

Idempotência

POST /v1/orders e POST /v1/services/{id}/actions exigem um cabeçalho Idempotency-Key (1 a 80 caracteres do conjunto [A-Za-z0-9_.-]). Esta chave fica associada ao método, ao caminho e ao corpo. Se repetir o mesmo pedido com a mesma chave no prazo de uma hora, recebe a resposta guardada; depois desse prazo, obtém 410 com reason replay_stale e deve enviar uma chave nova. A mesma chave com um corpo diferente ou noutro endpoint é rejeitada com 409 idempotency_conflict.

Limites de taxa

Por predefinição: 60 pedidos por minuto (mais um burst de 20) e 5000 por dia por chave, 120 por minuto por conta (somando todas as chaves) e 600 por minuto por IP de origem. Se um limite for excedido, recebe HTTP 429 com o cabeçalho Retry-After. Os cabeçalhos de resposta X-RateLimit-Remaining e X-RateLimit-Reset indicam o estado atual do limite da chave.