Для AI-агентов: markdown этой страницы — /docs-content/apps/placements/unbind.md индекс документации — /llms.txt
Отвязать место встраивания
POST /v1/placements/unbind
Убирает приложение из точки интерфейса Битрикс24, в которой оно было зарегистрировано, и снимает код этого места с приложения. Вызов безопасно повторять: код, который у приложения не числится привязанным, отвязка принимает как уже снятый.
Предусловия вызова — что нужно до привязки.
Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
placement |
string | да | Код места встраивания. Привязанные к приложению коды — Привязанные места, полный перечень — Доступные места |
handler |
string | нет | Адрес обработчика, регистрацию по которому нужно снять. Без этого поля снимаются все регистрации приложения на указанном месте |
Примеры
curl — OAuth-приложение
curl -X POST https://vibecode.bitrix24.tech/v1/placements/unbind \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"placement": "CRM_DEAL_DETAIL_TAB"}'
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/placements/unbind', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({ placement: 'CRM_DEAL_DETAIL_TAB' }),
})
const { data } = await res.json()
if (data.alreadyUnbound) {
console.log('Место уже не привязано к приложению')
}
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | true при успешном выполнении |
data.placement |
string | Код места встраивания, по которому выполнена отвязка |
data.alreadyUnbound |
boolean | Присутствует со значением true, когда указанный код у приложения не числился привязанным |
Пример ответа
Отвязка привязанного места:
{
"success": true,
"data": {
"placement": "CRM_DEAL_DETAIL_TAB"
}
}
Код места у приложения не привязан:
{
"success": true,
"data": {
"placement": "CRM_QUOTE_DETAIL_TAB",
"alreadyUnbound": true
}
}
Пример ответа при ошибке
400 — код места не опознан:
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "placement: Placement must be in VALID_PLACEMENTS or match the dynamic CRM pattern CRM_(DYNAMIC|SMART)_<entityTypeId>_(DETAIL_TAB|DETAIL_ACTIVITY|LIST_MENU|LIST_TOOLBAR|DETAIL_TOOLBAR|ACTIVITY_TIMELINE_MENU)"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | OAUTH_APP_REQUIRED |
Запрос выполнен личным ключом vibe_api_…. Отвязка доступна только ключу авторизации приложения |
| 400 | VALIDATION_ERROR |
Тело не прошло проверку: код места не опознан либо handler не является адресом |
| 400 | APP_NOT_REGISTERED |
У приложения нет идентификатора клиента Битрикс24, снимать регистрацию не с чего |
| 400 | BOX_NO_DEVELOPER_KEY |
Аккаунт коробочный, а у автора приложения не настроен ключ разработчика |
| 401 | SESSION_REQUIRED |
Не передан заголовок Authorization: Bearer с токеном сессии там, где он обязателен |
| 403 | PLACEMENT_SCOPE_MISSING |
У ключа нет скоупа placement |
| 403 | WRITE_BLOCKED_READONLY_KEY |
Ключ работает в режиме только чтения. Переключите режим в разделе «Ключи» |
| 404 | APP_NOT_FOUND |
К ключу не привязано приложение |
| 413 | FST_ERR_CTP_BODY_TOO_LARGE |
Тело отправлено не как JSON и длиннее одного байта. Укажите заголовок Content-Type: application/json |
| 415 | FST_ERR_CTP_INVALID_MEDIA_TYPE |
Тело отправлено не как JSON и равно одному байту — та же причина, другая ветка проверки |
| 502 | BITRIX_UNAVAILABLE |
Битрикс24 отклонил снятие регистрации |
Полный список общих ошибок API — Ошибки.
Известные особенности
- Передавайте в
handlerто же значение, что и при привязке. Адрес приводится к зарегистрированному обработчику по тем же правилам, что и при привязке, поэтому отвязка находит регистрацию и убирает место с аккаунта.