Riferimento endpoint

KernelHost API

Tutti gli endpoint restituiscono application/json. Gli errori seguono RFC 7807 (Problem+JSON). Ogni risposta contiene un header X-Request-Id per la correlazione con l'audit log lato server.

MethodPathPermessoScopo
GET/v1/healthpublicHealth check non autenticato.
GET/v1/meanyInformazioni del proprio account e metadati chiave.
GET/v1/productsread:productsElenco di tutti i prodotti pubblicamente disponibili con prezzi.
GET/v1/products/{id}read:productsDettagli prodotto incluse opzioni di configurazione.
POST/v1/orderswrite:ordersEffettuare un ordine. Idempotency-Key obbligatoria.
GET/v1/orders/{id}read:ordersStato di un proprio ordine.
GET/v1/servicesread:servicesElenco dei propri servizi (paginato).
GET/v1/services/{id}read:servicesDettagli di un proprio servizio.
GET/v1/services/{id}/credentialsread:credentialsCredenziali del servizio (permesso separato, registrato in audit).
POST/v1/services/{id}/actionswrite:servicesAzione sul servizio: start, stop, reboot, cancel (alla fine del periodo di fatturazione), cancel_revoke.
GET/v1/billing/balanceread:billingSaldo credito.
GET/v1/billing/invoicesread:billingElenco delle sue fatture (paginato).
GET/v1/billing/invoices/{id}/pdfread:billingPDF della fattura.
GET/v1/webhooksread:webhooksURL del webhook corrente.
PUT/v1/webhookswrite:webhooksImpostare o rimuovere l'URL del webhook.

Idempotenza

POST /v1/orders e POST /v1/services/{id}/actions richiedono un header Idempotency-Key (da 1 a 80 caratteri dell'insieme [A-Za-z0-9_.-]). La chiave è legata a metodo, percorso e body. Se ripete la stessa richiesta con la stessa chiave entro un'ora, riceve la risposta memorizzata; trascorsa l'ora, riceve 410 con reason replay_stale e deve inviare una nuova chiave. La stessa chiave con un body diverso o su un altro endpoint viene rifiutata con 409 idempotency_conflict.

Limiti di velocità

Per impostazione predefinita valgono 60 richieste al minuto (più un burst di 20) e 5.000 al giorno per chiave, 120 al minuto per account su tutte le chiavi e 600 al minuto per IP di origine. Se un limite viene superato, riceve HTTP 429 con l'header Retry-After. Gli header di risposta X-RateLimit-Remaining e X-RateLimit-Reset mostrano lo stato attuale del limite della chiave.