Caputchin
Автоматизация

Управляй Caputchin через API

Всё, что ты можешь делать в панели, кроме оплаты, ты также можешь делать из кода. Caputchin выставляет один API управления, и три поверхности сидят поверх него: этот HTTP API напрямую, сервер MCP для ИИ-агентов и провайдер Terraform и OpenTofu для infrastructure-as-code. Они различаются только на краю; те же валидация, права и журналирование аудита применяются, какую бы ты ни использовал.

Все три аутентифицируются одними и теми же учётными данными: токеном доступа, который ты выпускаешь один раз.

Выпусти токен доступа

Ты шлёшь токен как заголовок Bearer. Есть два вида, покрытые в полном виде в персональном токене доступа и токенах команды:

ТокенДосягаемостьГде выпустить
Персональный токен доступаМастер над всем твоим аккаунтомНастройки аккаунта. Бесплатно, один на аккаунт.
Токен доступа командыТолько команды, к которым он привязан, с выданными правамиСтраница токенов команды. Занимает место.

Используй персональный токен доступа для своей собственной автоматизации на весь аккаунт; используй токен команды для доступа с охватом и наименьшими привилегиями (CI-задание, которое трогает только одну команду). Любой работает везде ниже. Значение токена показывается один раз при создании, так что скопируй его в хранилище секретов.

Базовый URL и аутентификация

API управления укоренён по адресу:

https://caputchin.com/api/v1/management

Каждый запрос несёт токен как заголовок Bearer:

Authorization: Bearer cpt_pat_...

Запросы и ответы это JSON. Вызов, который твоему токену не дозволено делать, возвращает 403; неизвестный или отозванный токен возвращает 401.

Разобранный пример: создай ключ сайта

Скажем, ты хочешь новый ключ сайта в своей команде shop-team. Сначала перечисли свои команды, чтобы найти её id, затем создай в ней ключ.

# 1. Find the troop id.
curl -s https://caputchin.com/api/v1/management/troops \
  -H "Authorization: Bearer $CAPUTCHIN_MANAGEMENT_TOKEN"
# → { "troops": [ { "id": "troop_…", "name": "shop-team", … }, … ] }

# 2. Create a site key in that troop.
curl -s -X POST https://caputchin.com/api/v1/management/sites \
  -H "Authorization: Bearer $CAPUTCHIN_MANAGEMENT_TOKEN" \
  -H "content-type: application/json" \
  -d '{ "name": "shop-frontend", "troop_id": "troop_…" }'
# → { "id": "site_…", "key": "cpt_pub_…", "secret": "cpt_sec_…", … }

Ответ несёт публичный key нового ключа и его secret. Секрет показывается один раз, здесь, так что захвати его сейчас; ты будешь проверять с ним на своём бэкенде. Опусти troop_id, и ключ приземлится в твою Личную команду.

Вот и весь шаблон: токен Bearer, тело JSON, один вызов на операцию. Перечисление это GET, создание это POST, обновление это PATCH или PUT, удаление это DELETE, по путям ресурсов под базовым URL.

Полный справочник

Каждый эндпоинт с его параметрами, схемами запроса и ответа и встроенной панелью «попробуй», которая аутентифицируется твоим токеном, в интерактивном справочнике API. Он генерируется из той же спецификации OpenAPI, под которую построен API, так что никогда не расходится с живой поверхностью. Нацель свои генераторы клиентов на спецификацию по ссылке там.

См. также

На этой странице