Для AI-агентов: markdown этой страницы — /docs-content/chats/settings/update.md индекс документации — /llms.txt
Изменить настройку
PATCH /v1/chats/settings
Меняет одну общую настройку мессенджера пользователя — звук, тему, отправку по Enter, приватность, схему уведомлений и другие.
Поля запроса (body)
Тело запроса — JSON-объект:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
name |
string | да | Имя настройки — ключ из ответа чтения настроек: буква, затем буквы, цифры или _, до 64 символов. Значение status не принимается |
value |
string | boolean | да | Новое значение: строка или true / false. Пример строки — dark для enableDarkTheme |
userId |
number | нет | ID пользователя, чью настройку изменить, — положительное целое. По умолчанию — владелец ключа. Чужие настройки меняет только администратор Битрикс24. Список пользователей: GET /v1/users |
Другие поля тела и любые параметры запроса отклоняются с 400 INVALID_PARAMS.
Примеры
curl — личный ключ
curl -X PATCH "https://vibecode.bitrix24.tech/v1/chats/settings" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "enableDarkTheme", "value": "dark"}'
curl — OAuth-приложение
curl -X PATCH "https://vibecode.bitrix24.tech/v1/chats/settings" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "enableDarkTheme", "value": "dark"}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/settings', {
method: 'PATCH',
headers: { 'X-Api-Key': 'YOUR_API_KEY', 'Content-Type': 'application/json' },
body: JSON.stringify({ name: 'enableDarkTheme', value: 'dark' }),
})
const { success } = await res.json()
console.log('Принято:', success)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/settings', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({ name: 'enableDarkTheme', value: 'dark' }),
})
const { success } = await res.json()
console.log('Принято:', success)
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data |
boolean | true — вызов принят. Не означает, что значение изменилось: см. «Известные особенности» |
Пример ответа
{
"success": true,
"data": true
}
Пример ответа при ошибке
400 — попытка изменить статус как обычную настройку:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "The status is set by PUT /v1/chats/settings/status: written as a plain setting it would not change the live status."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | INVALID_PARAMS |
Не передан name |
| 400 | INVALID_PARAMS |
name не соответствует формату имени настройки: не начинается с буквы, содержит символы, кроме букв, цифр и _, или длиннее 64 символов |
| 400 | INVALID_PARAMS |
name равен status — статус меняется через PUT /v1/chats/settings/status |
| 400 | INVALID_PARAMS |
Не передан value |
| 400 | INVALID_PARAMS |
value не строка и не true / false |
| 400 | INVALID_PARAMS |
userId не положительное целое |
| 400 | INVALID_PARAMS |
Тело запроса не JSON-объект |
| 400 | INVALID_PARAMS |
В теле передано поле, кроме name, value, userId |
| 400 | INVALID_PARAMS |
Передан параметр запроса — метод их не принимает |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов Битрикс24 |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа im |
| 403 | WRITE_BLOCKED_READONLY_KEY |
Ключ только для чтения |
| 422 | BITRIX_ERROR |
Битрикс24 вернул ошибку, код портала — в error.b24Code. SETTINGS_ACCESS_DENIED — чужую настройку меняет не администратор |
| 502 | ME_ALIAS_RESOLUTION_FAILED |
userId не передан, и не удалось определить владельца ключа |
| 502 | BITRIX_UNAVAILABLE |
Битрикс24 недоступен или вернул ошибку сервера |
Полный список общих ошибок API — Ошибки.
Известные особенности
- Ответ
trueне подтверждает изменение: неизвестное имя настройки пропускается без ошибки, а значение вне допустимого набора у перечислимой настройки, например уenableDarkThemeтолькоauto,light,dark, заменяется значением по умолчанию. Чтобы убедиться в результате, прочитайте настройки ещё раз. - Пока пользователь не менял настройки, он пользуется общим набором настроек по умолчанию. Первое изменение создаёт ему личную копию набора.