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

Сменить роль CoPilot

PUT /v1/chats/:dialogId/copilot/role

Задаёт роль, в которой CoPilot отвечает в чате. Роль определяет стиль и специализацию ответов. Работает только в чате CoPilot.

Параметры

Параметр Тип Обяз. Описание
dialogId (path) string да ID диалога чата CoPilot — chatN. Получить: data.chat.dialogId чернового чата или список диалогов с onlyCopilot=true

Параметры строки запроса не принимаются и отклоняются с 400 INVALID_PARAMS.

Поля запроса (body)

Поле Тип Обяз. Описание
role string|null да Код роли или null — роль по умолчанию. Коды ролей — ключи data.copilot.roles загрузки чата

Другие поля тела отклоняются с 400 INVALID_PARAMS.

Примеры

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

Terminal
curl -X PUT https://vibecode.bitrix24.tech/v1/chats/chat2001/copilot/role \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"role": "copilot_assistant"}'

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

Terminal
curl -X PUT https://vibecode.bitrix24.tech/v1/chats/chat2001/copilot/role \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"role": "copilot_assistant"}'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/chat2001/copilot/role', {
  method: 'PUT',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ role: 'copilot_assistant' }),
})

const { success, data } = await res.json()
console.log('Роль задана:', data.result)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/chat2001/copilot/role', {
  method: 'PUT',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ role: 'copilot_assistant' }),
})

const { success, data } = await res.json()
console.log('Роль задана:', data.result)

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data.result boolean true — роль задана

Пример ответа

JSON
{
  "success": true,
  "data": {
    "result": true
  }
}

Пример ответа при ошибке

400 — поле role не передано:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "`role` is required (a role code, or null for the default role)."
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS Нет поля role, оно не непустая строка и не null, передано другое поле тела или параметр строки запроса. Проверяется до обращения к Битрикс24
404 ENTITY_NOT_FOUND Битрикс24 вернул «не найдено». Код портала — в error.b24Code
422 BITRIX_ERROR Битрикс24 отказал с кодом WRONG_MESSAGE_TYPE в error.b24Code — чат не является чатом CoPilot
422 BITRIX_ERROR Битрикс24 отказал с кодом IDENTICAL_ROLE в error.b24Code — у чата уже эта роль
422 BITRIX_ERROR Битрикс24 отказал с кодом ROLE_NOT_FOUND в error.b24Code — нет роли с таким кодом
422 BITRIX_ERROR Битрикс24 отказал с кодом COPILOT_NOT_INSTALLED в error.b24Code — CoPilot на портале не установлен
502 ME_ALIAS_RESOLUTION_FAILED Не удалось определить пользователя при использовании алиаса me
403 SCOPE_DENIED API-ключ не имеет скоупа im
403 WRITE_BLOCKED_READONLY_KEY Ключ только для чтения — вызов изменяет чат
401 TOKEN_MISSING API-ключ не имеет настроенных токенов Битрикс24

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

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