Versionnement sémantique. Les ruptures (champs renommés, points de terminaison retirés, schéma d'authentification modifié) n'arrivent que dans une nouvelle version majeure sous un nouveau préfixe d'URL /v2/. Dans /v1/, seuls des changements additifs ont lieu (nouveaux champs optionnels, nouveaux points de terminaison).
v1.1.0 (2026-09-23)
- POST /v1/orders : config_options n'accepte que les options et valeurs visibles dans la boutique, et les quantités dans leurs limites. Les options visibles que vous omettez reçoivent la première valeur listée, exactement comme dans la boutique. GET /v1/products/{id} ne liste que les options commandables et renvoie quantity.min et quantity.max.
- Nouveau statut de commande awaiting_setup avec le champ awaiting_setup pour les produits que l'équipe KernelHost configure manuellement. Les services provisionnés automatiquement le sont exactement une fois.
- Les corps de requête sont limités à 64 Ko (HTTP 413). Une limite de 120 requêtes par minute s'applique par compte, toutes clés confondues, et un compte peut détenir jusqu'à 20 clés actives. Une authentification échouée ne verrouille plus aucune clé et l'Idempotency-Key est liée à la méthode et au chemin.
- Les requêtes comportant plusieurs paramètres dans la query string (par exemple GET /v1/services?limit=10&offset=0) étaient rejetées avec HTTP 401. La signature couvre désormais la query string exactement comme documenté.
v1.0.0 (2026-05-14)
- Version initiale. Les 15 points de terminaison, authentification HMAC, stockage des secrets en AES-GCM, limites de débit, idempotence, journal d'audit.
- 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.

