История изменений

KernelHost API

Семантическое версионирование. Ломающие изменения (переименование полей, удаление endpoint, смена схемы аутентификации) выпускаются только в новой мажорной версии с новым префиксом URL /v2/. Внутри /v1/ возможны только аддитивные изменения (новые опциональные поля, новые endpoint).

v1.1.0 (2026-09-23)

  • POST /v1/orders: config_options принимает только опции и значения, видимые в магазине, а количества только в допустимых пределах. Видимые опции, которые Вы не указали, получают первое значение из списка, как и в магазине. GET /v1/products/{id} показывает только доступные для заказа опции и возвращает quantity.min и quantity.max.
  • Новый статус заказа awaiting_setup с полем awaiting_setup для продуктов, которые команда KernelHost настраивает вручную. Автоматически разворачиваемые услуги разворачиваются ровно один раз.
  • Размер body запросов ограничен 64 КБ (HTTP 413). Для каждого аккаунта действует общий лимит 120 запросов в минуту на все ключи, а один аккаунт может иметь до 20 активных ключей. Неудачная аутентификация больше не блокирует ключ, а Idempotency-Key привязан к методу и пути.
  • Запросы с несколькими параметрами в query string (например, GET /v1/services?limit=10&offset=0) отклонялись с HTTP 401. Теперь подпись охватывает query string точно так, как описано в документации.

v1.0.0 (2026-05-14)

  • Первый релиз. Все 15 endpoint, аутентификация HMAC, хранение секретов AES-GCM, ограничения частоты, идемпотентность, журнал аудита.
  • 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.