Loading...

Публичный API

Помощник API

Эти endpoints являются эквивалентами API процессов Container App и Object Storage в панели. Все запросы выполняются в рамках авторизованного аккаунта CDN.

Вернуться к справке платформы

Container Apps

GET    /api/accounts/{uuid}/platform/container/apps
POST   /api/accounts/{uuid}/platform/container/apps
PATCH  /api/accounts/{uuid}/platform/container/apps/{app_uuid}
GET    /api/accounts/{uuid}/platform/container/registry-credentials
POST   /api/accounts/{uuid}/platform/container/registry-credentials
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/deploy
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/restart
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/scale
GET    /api/accounts/{uuid}/platform/container/apps/{app_uuid}/status
GET    /api/accounts/{uuid}/platform/container/apps/{app_uuid}/logs
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/imports/database
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/imports/files
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/scheduled-jobs
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/scheduled-jobs/{job_uuid}/run
DELETE /api/accounts/{uuid}/platform/container/apps/{app_uuid}

Object Storage

GET    /api/accounts/{uuid}/platform/container/object-storage/buckets
POST   /api/accounts/{uuid}/platform/container/object-storage/buckets
POST   /api/accounts/{uuid}/platform/container/object-storage/access-keys
POST   /api/accounts/{uuid}/platform/container/object-storage/access-keys/{key_uuid}/rotate
DELETE /api/accounts/{uuid}/platform/container/object-storage/access-keys/{key_uuid}
POST   /api/accounts/{uuid}/platform/container/apps/{app_uuid}/object-storage/bindings

Аутентификация

Каждый эндпоинт требует Bearer-токен, привязанный к вашему пользователю. Быстрее всего получить его через cdnctl login; этот токен также работает для прямых вызовов curl/HTTP из скриптов и CI.

# 1) аутентифицируйтесь один раз (токен сохраняется в ~/.cdnctl/config.json)
cdnctl login --email you@example.com

# 2) вызывайте любой эндпоинт напрямую с тем же Bearer-токеном
curl -H "Authorization: Bearer $TOKEN" \
  https://cdn.com.tr/api/accounts/{uuid}/platform/container/apps

Разбор примера: чтение статуса приложения

Ответы приходят в JSON. Ответы, отличные от 2xx, содержат поле status и поле message, объясняющее, что пошло не так.

curl -H "Authorization: Bearer $TOKEN" \
  https://cdn.com.tr/api/accounts/{uuid}/platform/container/apps/{app_uuid}/status

# ответ (сокращённо)
{
  "status": "success",
  "app": { "uuid": "…", "name": "web", "status": "running", "replicas": 1 }
}

Полезно знать

  • Это те же эндпоинты, которые использует панель и cdnctl, — всё, что можно кликнуть, можно и заскриптовать.
  • При автоматизации деплоя предпочитайте «cdnctl container apps wait --status running» вместо частых циклов опроса.
  • Операции асинхронны: изменяющие вызовы возвращают операцию, за которой можно следить из панели или через эндпоинт status.