Для AI-агентов: markdown этой страницы — /docs-content/infra/jobs/rotate-secret.md индекс документации — /llms.txt

Заменить секрет

POST /v1/infra/servers/:id/jobs/:jobId/rotate-secret

Заменяет секрет подписи и показывает новое значение один раз. Требует доступности функции; enabled не меняется. Следующая попытка использует новый секрет, уже отправленная может быть подписана старым. На стороне приложения держите предыдущий секрет в течение короткого 5-минутного окна или примите отказ этих запросов. Ответы приложения 401/403 постоянные: ротация их не переотправляет.

Нужен ключ с vibe:infra и существующие права на сервер. Для записи — управляющий ключ или роль команды с правом управления жизненным циклом. Общие правила; проверка подписи.

Параметры

Параметр Где Тип Обязателен Описание
id path string yes ID сервера из списка серверов
jobId path string yes ID задачи из списка

Тело запроса и query-параметры не нужны. Для POST без тела не передавайте Content-Type: application/json; пустое JSON-тело отвергается до обработчика.

Примеры

curl — личный ключ

Terminal
curl --max-time 20 -X POST "https://vibecode.bitrix24.tech/v1/infra/servers/SERVER_ID/jobs/JOB_ID/rotate-secret" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth-приложение

Terminal
curl --max-time 20 -X POST "https://vibecode.bitrix24.tech/v1/infra/servers/SERVER_ID/jobs/JOB_ID/rotate-secret" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — личный ключ

javascript
const serverId = 'SERVER_ID';
const jobId = 'JOB_ID';
const res = await fetch(`https://vibecode.bitrix24.tech/v1/infra/servers/${encodeURIComponent(serverId)}/jobs/${encodeURIComponent(jobId)}/rotate-secret`, {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
});
const result = await res.json();
if (!res.ok || !result.success) throw new Error(result.error?.code ?? `HTTP_${res.status}`);
// Store result.data.secret in protected server-side configuration; never log it.

JavaScript — OAuth-приложение

javascript
const serverId = 'SERVER_ID';
const jobId = 'JOB_ID';
const res = await fetch(`https://vibecode.bitrix24.tech/v1/infra/servers/${encodeURIComponent(serverId)}/jobs/${encodeURIComponent(jobId)}/rotate-secret`, {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
});
const result = await res.json();
if (!res.ok || !result.success) throw new Error(result.error?.code ?? `HTTP_${res.status}`);
// Store result.data.secret in protected server-side configuration; never log it.

Ответ

HTTP 200. Пример формы ответа с вымышленными идентификаторами, не результат живого запроса.

JSON
{
  "success": true,
  "data": {
    "secret": "vjs_AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8"
  }
}

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе.
data object Объект только с новым секретом подписи secret.

Поля объекта data:

Поле Тип Описание
secret string Новый секрет, виден только в этом ответе

Ошибки

HTTP Код Причина
401 MISSING_API_KEY Не передан ключ
403 INFRA_FORBIDDEN_FOR_COWORK_KEY Ключ Коворка не допускает запись в инфраструктуру; используйте ключ для развёртывания
403 INFRA_SCOPE_REQUIRED Нужен scope vibe:infra
403 WRITE_BLOCKED_READONLY_KEY Ключ только для чтения не допускает запись
403 SERVER_ROLE_FORBIDDEN Роль участника команды не допускает это действие
404 NOT_FOUND Сервер не найден или недоступен вызывающему
404 NOT_FOUND Задача отсутствует, удалена или принадлежит другому серверу
404 FEATURE_DISABLED Функция недоступна порталу
429 RATE_LIMITED Слишком много запросов; настройка мутаций 10 в минуту, общие ограничения также действуют

Полный список общих ошибок API — Ошибки.

JSON
{
  "success": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "Job not found"
  }
}

Смотрите также