Semantische Versionierung. Breaking Changes (Felder umbenannt, Endpoints entfernt, Auth-Schema geändert) erfolgen nur in einer neuen Major-Version unter neuem URL-Prefix /v2/. Innerhalb /v1/ kommen nur additive Änderungen (neue optionale Felder, neue Endpoints).

v1.1.0 (2026-09-23)

  • POST /v1/orders: config_options akzeptiert nur Optionen und Werte, die im Shop sichtbar sind, und Mengen nur innerhalb ihrer Grenzen. Nicht angegebene sichtbare Optionen erhalten den ersten gelisteten Wert, genau wie im Shop. GET /v1/products/{id} listet nur bestellbare Optionen und liefert quantity.min und quantity.max.
  • Neuer Bestellstatus awaiting_setup mit dem Feld awaiting_setup für Produkte, die das KernelHost-Team manuell einrichtet. Automatisch bereitgestellte Services werden genau einmal provisioniert.
  • Request-Bodies sind auf 64 KB begrenzt (HTTP 413). Pro Konto gilt über alle Keys ein Limit von 120 Anfragen pro Minute, ein Konto kann bis zu 20 aktive Keys halten. Fehlgeschlagene Anmeldungen sperren keinen Key mehr, und der Idempotency-Key ist an Methode und Pfad gebunden.
  • Anfragen mit mehr als einem Query-Parameter (etwa GET /v1/services?limit=10&offset=0) wurden mit HTTP 401 abgelehnt. Die Signatur deckt den Query-String jetzt genau so ab, wie es dokumentiert ist.

v1.0.0 (2026-05-14)

  • Erste Veröffentlichung. Alle 15 Endpoints, HMAC-Auth, AES-GCM Secret-Storage, Rate-Limits, Idempotenz, Audit-Log.
  • GET /v1/me, /v1/products, /v1/products/{id}
  • POST /v1/orders, GET /v1/orders/{id}
  • GET /v1/services, /v1/services/{id}, /v1/services/{id}/credentials
  • POST /v1/services/{id}/actions
  • GET /v1/billing/balance, /v1/billing/invoices, /v1/billing/invoices/{id}/pdf
  • GET/PUT /v1/webhooks
  • HMAC-SHA256 signing, AES-256-GCM secret storage, replay protection, idempotency.