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

Список дел у карточки CRM

GET /v1/deals/{id}/activities

GET /v1/leads/{id}/activities

GET /v1/contacts/{id}/activities

GET /v1/companies/{id}/activities

Адрес выбирает одного владельца: сделку (deals, тип владельца 2), лид (leads, 1), контакт (contacts, 3) или компанию (companies, 4). Скоуп: crm. Поддерживаются личные ключи и ключи OAuth-приложений.

Когда использовать

Этот маршрут удобен, когда уже известен ID владельца и нужен список его дел. GET /v1/activities остаётся основным входом для фильтров, сортировки и выбора полей: для той же сделки передайте filter[ownerTypeId]=2&filter[ownerId]=575. Вложенный маршрут игнорирует filter, sort, order и select. Поддерживается только пагинация. Названия полей тоже отличаются от основного метода.

Параметры

Параметр Тип Обязательный Описание
id string Да ID владельца из списка сделок, лидов, контактов или компаний.
limit integer Нет 1–200, по умолчанию 50. Большие значения ограничиваются 200. Ноль или некорректное значение заменяется на 50.
offset integer Нет Сколько строк пропустить, по умолчанию 0. Отрицательное или некорректное значение заменяется на 0.

Примеры

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

Terminal
curl -X GET "https://vibecode.bitrix24.tech/v1/deals/575/activities?limit=50&offset=0" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl -X GET "https://vibecode.bitrix24.tech/v1/deals/575/activities?limit=50&offset=0" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

javascript
const response = await fetch('https://vibecode.bitrix24.tech/v1/deals/575/activities?limit=50&offset=0', {
  method: 'GET',
  headers: {
    "X-Api-Key": "YOUR_API_KEY"
  },
})
const result = await response.json()
if (!response.ok || !result.success) throw new Error(JSON.stringify(result.error))
console.log(result.data)

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

javascript
const response = await fetch('https://vibecode.bitrix24.tech/v1/deals/575/activities?limit=50&offset=0', {
  method: 'GET',
  headers: {
    "X-Api-Key": "YOUR_APP_KEY",
    "Authorization": "Bearer USER_SESSION_TOKEN"
  },
})
const result = await response.json()
if (!response.ok || !result.success) throw new Error(JSON.stringify(result.error))
console.log(result.data)

Поля ответа

Поле Тип Описание
success boolean true при успехе.
data array Строки дел. Присутствуют только поля, которые вернул Битрикс24.
data[].id, responsibleId, ownerTypeId, ownerId, priority, direction number / string / null Числовые строки по возможности преобразуются в числа. Пустые и непреобразуемые значения сохраняются.
data[].subject, description string / null Тема и описание.
data[].type string / null PROVIDER_TYPE_ID: EMAIL, CALL, MEETING и TASK становятся email, call, meeting, task. Остальные значения сохраняются. Это не числовой TYPE_ID.
data[].completed boolean / string / null Строки Y/1 и N/0 становятся true и false. Остальные значения сохраняются.
data[].deadline, startTime, endTime, createdAt, updatedAt string / null Распознаваемые даты становятся строками UTC ISO. Пустые и некорректные значения сохраняются.
Остальные поля строки any Исходные названия и значения Битрикс24, например TYPE_ID, COMMUNICATIONS, PROVIDER_ID. Общего преобразования в camelCase нет.
meta.total integer Общее количество из Битрикс24, а если оно не передано — число полученных строк до обрезки страницы.
meta.hasMore boolean Превышает ли общее количество сумму offset и числа возвращённых строк.
meta.warnings array Необязательное предупреждение с полями code, field, message.

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

Пример структуры ответа:

JSON
{
  "success": true,
  "data": [
    {
      "id": 3894,
      "subject": "Позвонить клиенту",
      "type": "call",
      "TYPE_ID": "2",
      "completed": false,
      "ownerTypeId": 2,
      "ownerId": 575,
      "responsibleId": 1
    }
  ],
  "meta": {
    "total": 1,
    "hasMore": false
  }
}

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

403 — у ключа нет скоупа CRM (показаны основные поля ответа):

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "Requires 'crm' scope"
  }
}

Ошибки

HTTP Код Условие
400 INVALID_PARAMS Битрикс24 отклонил параметр.
401 TOKEN_MISSING Не настроены учётные данные Битрикс24.
403 SCOPE_DENIED У ключа нет скоупа crm.
404 ENTITY_NOT_FOUND Битрикс24 сообщил об отсутствии сущности. Отдельной проверки существования владельца нет.
422 BITRIX_ERROR Отказ Битрикс24 без более точного сопоставления.
429 RATE_LIMITED Достигнут лимит чтения или запросов Битрикс24.

Общие ошибки API.

Пагинация

Пока meta.hasMore равно true, увеличивайте offset на data.length. Пустой data останавливает цикл, даже если meta.hasMore равно true: смещение не сдвинется, и тот же запрос вернёт то же самое. Не повторяйте его, а перейдите к основному списку дел с сужающим фильтром. Предупреждение OFFSET_BEYOND_FETCHED_PAGE (field: "offset") приходит в части таких случаев, его отсутствие продвижения не гарантирует. Владелец выбирается по OWNER_TYPE_ID/OWNER_ID. Дополнительные привязки — отдельная связь.

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