Alla endpoints returnerar application/json. Fel följer RFC 7807 (Problem+JSON). Svaret innehåller alltid headern X-Request-Id för korrelation med den serversida granskningsloggen.
| Method | Path | Behörighet | Syfte |
|---|---|---|---|
| GET | /v1/health | public | Hälsokontroll utan autentisering. |
| GET | /v1/me | any | Egen kontoinformation samt nyckelmetadata. |
| GET | /v1/products | read:products | Lista över alla offentligt listade produkter med priser. |
| GET | /v1/products/{id} | read:products | Produktdetaljer inklusive konfigurationsalternativ. |
| POST | /v1/orders | write:orders | Lägg en beställning. Idempotency-Key krävs. |
| GET | /v1/orders/{id} | read:orders | Status för en egen beställning. |
| GET | /v1/services | read:services | Lista över egna tjänster (paginerad). |
| GET | /v1/services/{id} | read:services | Detaljer för en egen tjänst. |
| GET | /v1/services/{id}/credentials | read:credentials | Tjänstens inloggningsuppgifter (separat behörighet, granskad). |
| POST | /v1/services/{id}/actions | write:services | Tjänsteåtgärd: start, stopp, omstart, ominstallation, suspendera, återaktivera, terminera. |
| GET | /v1/billing/balance | read:billing | Saldo. |
| GET | /v1/billing/invoices | read:billing | Lista över dina fakturor (paginerad). |
| GET | /v1/billing/invoices/{id}/pdf | read:billing | Faktura-PDF. |
| GET | /v1/webhooks | read:webhooks | Aktuell Webhook-URL. |
| PUT | /v1/webhooks | write:webhooks | Ställ in eller ta bort Webhook-URL. |
Idempotens
POST /v1/orders och POST /v1/services/{id}/actions kräver en Idempotency-Key-header (1-80 tecken från [A-Za-z0-9_.-]). Servern cachar svaret samt body-hashen i 24 timmar, en andra förfrågan med identisk nyckel och identisk body returnerar samma svar, en andra förfrågan med samma nyckel men avvikande body avvisas med 409 idempotency_conflict.
Hastighetsbegränsningar
Standard: 60 förfrågningar/minut (med 20-burst) och 5000/dag per nyckel, plus 600 förfrågningar/minut per IP oberoende av nyckel. Vid överskridning följer HTTP 429 med headern Retry-After. Svar-headers X-RateLimit-Remaining och X-RateLimit-Reset visar det aktuella tillståndet.

