Справочник endpoint

KernelHost API

Все endpoint возвращают application/json. Ошибки следуют RFC 7807 (Problem+JSON). Каждый ответ содержит заголовок X-Request-Id для сопоставления с серверным журналом аудита.

MethodPathРазрешениеНазначение
GET/v1/healthpublicПроверка работоспособности без аутентификации.
GET/v1/meanyИнформация о собственном аккаунте и метаданные ключа.
GET/v1/productsread:productsСписок всех публично продаваемых продуктов с ценами.
GET/v1/products/{id}read:productsДетали продукта, включая опции конфигурации.
POST/v1/orderswrite:ordersРазмещение заказа. Idempotency-Key обязателен.
GET/v1/orders/{id}read:ordersСтатус собственного заказа.
GET/v1/servicesread:servicesСписок собственных услуг (с пагинацией).
GET/v1/services/{id}read:servicesДетали собственной услуги.
GET/v1/services/{id}/credentialsread:credentialsУчётные данные услуги (отдельное разрешение, фиксируется в журнале аудита).
POST/v1/services/{id}/actionswrite:servicesДействие с услугой: start, stop, reboot, cancel (по окончании расчётного периода), cancel_revoke.
GET/v1/billing/balanceread:billingБаланс.
GET/v1/billing/invoicesread:billingСписок ваших счетов (с пагинацией).
GET/v1/billing/invoices/{id}/pdfread:billingPDF счёта.
GET/v1/webhooksread:webhooksТекущий URL вебхука.
PUT/v1/webhookswrite:webhooksУстановить или удалить URL вебхука.

Идемпотентность

POST /v1/orders и POST /v1/services/{id}/actions требуют заголовок Idempotency-Key (от 1 до 80 символов из набора [A-Za-z0-9_.-]). Ключ привязан к методу, пути и телу запроса. Если повторить тот же запрос с тем же ключом в течение часа, вернётся сохранённый ответ; позже вы получите 410 с reason replay_stale, и тогда нужно отправить новый ключ. Тот же ключ с другим телом запроса или на другом endpoint отклоняется с 409 idempotency_conflict.

Ограничения частоты

По умолчанию действуют лимиты: 60 запросов в минуту (плюс burst в 20 запросов) и 5 000 в сутки на ключ, 120 в минуту на аккаунт по всем ключам и 600 в минуту на исходный IP-адрес. При превышении лимита вы получите HTTP 429 с заголовком Retry-After. Заголовки ответа X-RateLimit-Remaining и X-RateLimit-Reset показывают текущее состояние лимита ключа.