API
Работа с API
Аутентификация, идемпотентность, ошибки, пагинация.
Аутентификация
API принимает access-токен EGN ID (OIDC, JWT) в заголовке Authorization. Токен проверяется по подписи, издателю, аудитории и сроку действия.
Идемпотентность
Создание ресурсов требует заголовок Idempotency-Key. Повтор с тем же ключом и тем же телом вернёт исходный результат; с другим телом — ошибку idempotency_key_reused.
bash
curl -X POST https://console.egn-cloud.ru/api/v1/projects/$PROJECT/instances \
-H "Authorization: Bearer $TOKEN" \
-H "Idempotency-Key: 6f1c2a4e-…" \
-H "Content-Type: application/json" \
-d '{"name":"web-01","region":"egn-hicpu-de","zone":"egn-hicpu-de-a","flavor_id":"…","image_id":"…","boot_disk":{"size_gb":20,"storage_class":"nvme-local"}}'Ошибки
Ошибки возвращаются в формате application/problem+json со стабильным полем code и request_id для обращения в поддержку.
| code | Когда |
|---|---|
| invalid_argument | ошибка валидации; поле fields перечисляет проблемы |
| permission_denied | нет прав |
| quota_exceeded | превышена квота |
| insufficient_funds | недостаточно средств и кредита |
| capacity_exhausted | нет ёмкости в зоне |
| unsupported_in_region | возможность недоступна в регионе |
| integration_unavailable | инфраструктурный сервис недоступен |
Пагинация
Списки используют курсор: параметры limit и cursor, в ответе — next_cursor.