For AI agents: markdown of this page — /docs-content-en/mail/conversions/chat.md documentation index — /llms.txt

Create a chat from a message

POST /v1/mail/messages/:id/chat

Creates a group chat from a message. No request body is required — the message identifier is taken from the path.

Parameters

Parameter In Type Required Description
Parameterid Inpath Typeinteger Requiredyes DescriptionIdentifier of the message the chat is created from. List: GET /v1/mail/messages

Examples

curl — personal key

Terminal
curl -X POST \
  -H "X-Api-Key: YOUR_API_KEY" \
  https://vibecode.bitrix24.com/v1/mail/messages/123/chat

curl — OAuth application

Terminal
curl -X POST \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  https://vibecode.bitrix24.com/v1/mail/messages/123/chat

JavaScript — personal key

javascript
const res = await fetch(
  'https://vibecode.bitrix24.com/v1/mail/messages/123/chat',
  {
    method: 'POST',
    headers: {
      'X-Api-Key': 'YOUR_API_KEY',
    },
  }
)
const body = await res.json()
if (!body.success) throw new Error(body.error.code)
console.log(`Chat: ${body.data.chatId}, already existed: ${body.data.existing}`)

JavaScript — OAuth application

javascript
const res = await fetch(
  'https://vibecode.bitrix24.com/v1/mail/messages/123/chat',
  {
    method: 'POST',
    headers: {
      'X-Api-Key': 'YOUR_APP_KEY',
      'Authorization': 'Bearer USER_SESSION_TOKEN',
    },
  }
)

Response fields

Field Type Description
Fieldsuccess Typeboolean Descriptiontrue on success
Fielddata.success Typeboolean DescriptionInternal operation success flag
Fielddata.chatId Typeinteger DescriptionChat identifier
Fielddata.messageId Typeinteger DescriptionIdentifier of the message the chat was created from
Fielddata.existing Typeboolean Descriptiontrue if the chat already existed before this call

Response example

JSON
{
  "success": true,
  "data": {
    "success": true,
    "chatId": 89,
    "messageId": 123,
    "existing": false
  }
}

Error response example

400 — message not found:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Request object validation failed",
    "validation": [
      {
        "message": "The message was deleted or moved to another folder"
      }
    ]
  }
}

Errors

HTTP Code Description
HTTP400 CodeINVALID_PARAMS DescriptionNon-numeric or negative :id in the path — message id must be a positive integer
HTTP400 CodeINVALID_PARAMS DescriptionThe message was deleted or moved to another folder. The reason is in the validation array
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header is missing
HTTP401 CodeINVALID_API_KEY DescriptionThe key is not recognized — no such key exists on the platform
HTTP401 CodeKEY_INACTIVE DescriptionKey is deactivated
HTTP401 CodeKEY_EXPIRED DescriptionKey has expired
HTTP401 CodeTOKEN_MISSING DescriptionKey is not linked to a Bitrix24 portal
HTTP403 CodeSCOPE_DENIED DescriptionKey lacks the mail scope
HTTP422 CodeBITRIX_ERROR DescriptionOther Bitrix24 errors
HTTP429 CodeRATE_LIMITED DescriptionRequest limit exceeded
HTTP502 CodeBITRIX_UNAVAILABLE DescriptionBitrix24 is unavailable

Full list of common API errors — Errors.

See also