Для AI-агентов: markdown этой страницы — /docs-content/cowork/key.md индекс документации — /llms.txt
Отключить это устройство
DELETE /v1/cowork/key
Отзывает ключ, которым сделан этот вызов, — приложение на этом устройстве сразу теряет доступ к порталу. Идентификатора в запросе нет, поэтому отключить чужое устройство через этот эндпоинт невозможно.
Вызов доступен только ключу десктопа Cowork/Code со скоупом vibe:cowork. Ключ агентского места и проектный ключ деплоя несут тот же скоуп, но получают отказ 403 COWORK_DESKTOP_KEY_REQUIRED.
Скоуп: vibe:cowork плюс класс ключа десктопа Cowork/Code. Тело запроса не читается.
Примеры
Ось авторизации одна: OAuth-приложение вызвать этот эндпоинт не может — его ключ не относится к классу десктопа и получает 403 COWORK_DESKTOP_KEY_REQUIRED.
curl — ключ Cowork/Code
curl -X DELETE https://vibecode.bitrix24.tech/v1/cowork/key \
-H "X-Api-Key: YOUR_COWORK_KEY"
JavaScript — ключ Cowork/Code
const res = await fetch('https://vibecode.bitrix24.tech/v1/cowork/key', {
method: 'DELETE',
headers: { 'X-Api-Key': 'YOUR_COWORK_KEY' },
})
if (res.ok) {
// Ключ погашен — сотрите локальную копию секрета и покажите экран входа.
} else if (res.status === 404) {
const body = await res.json()
if (body.error?.code === 'ROUTE_NOT_FOUND') {
// Версия платформы старше эндпоинта: сохраните локальную сессию и не показывайте ошибку.
}
}
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе. Ключ погашен либо уже был погашен ранее |
Пример ответа
{
"success": true
}
Пример ответа при ошибке
403 — вызов сделан ключом другого класса:
{
"success": false,
"error": {
"code": "COWORK_DESKTOP_KEY_REQUIRED",
"message": "Only a Cowork/Code desktop key may revoke itself on this endpoint."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 401 | MISSING_API_KEY |
Не передан заголовок X-Api-Key |
| 401 | INVALID_API_KEY |
Ключ не опознан: такой строки на платформе нет |
| 401 | KEY_INACTIVE |
Ключ уже отозван, и кэш аутентификации успел истечь |
| 403 | INSUFFICIENT_SCOPE |
У ключа нет скоупа vibe:cowork |
| 403 | COWORK_DESKTOP_KEY_REQUIRED |
Ключ не относится к классу десктопа Cowork/Code — так отвечает и ключ агентского места, и проектный ключ деплоя |
| 415 | FST_ERR_CTP_INVALID_MEDIA_TYPE |
Тело прислано с типом содержимого, который этот маршрут не разбирает. Отправляйте запрос без тела либо с пустым телом и заголовком Content-Type: application/json |
| 429 | RATE_LIMITED |
Превышен предел частоты на связку портал, владелец ключа и ключ. Суммарный лимит платформы — 5 запросов в минуту. Действующее для вашего ключа значение приходит в заголовке x-ratelimit-limit — оно ниже суммарного, поскольку лимит делится между репликами |
Полный список общих ошибок API — Ошибки.
Известные особенности
Аварийный выход работает в тех состояниях, где остальные вызовы отбиваются. Заморозка баланса портала и суточная квота вызовов на этот эндпоинт не распространяются, и платформенный выключатель Cowork/Code его тоже не закрывает. Отдельно от этого разрешён ключ в режиме только для чтения: уничтожение собственного секрета не считается расходной операцией.
Повторный вызов безопасен, но ответ меняется. Пока запись аутентификации живёт в кэше, повтор отвечает 200 и ничего не делает. После истечения кэша тот же ключ получает 401 KEY_INACTIVE. Оба ответа означают, что ключ мёртв.
Секрет перестаёт действовать сразу, но при недоступности шины оповещения реплики принимают его ещё до 30 секунд. Поэтому автоматические повторы не нужны: максимум один повтор и не раньше чем через 30 секунд, иначе аварийная кнопка упрётся в ограничение частоты.
Отзыв не отключает проектный ключ деплоя. Ключ, выданный через POST /v1/cowork/deploy-key, продолжает работать, как и выписанные им токены доступа к серверам. Их отзывают в личном кабинете. Формулировка в приложении обязана называть это отключением одного устройства, а не полным отзывом доступов.
Владелец не получает уведомления об отзыве. След операции остаётся в журнале аудита портала — его читает администратор портала в личном кабинете.
Соседние устройства продолжают работать. У каждого устройства свой ключ, и отзыв гасит только предъявленный.