Для 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 — личный ключ
curl -X GET "https://vibecode.bitrix24.tech/v1/deals/575/activities?limit=50&offset=0" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth-приложение
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 — личный ключ
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-приложение
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. |
Пример ответа
Пример структуры ответа:
{
"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 (показаны основные поля ответа):
{
"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. |
Пагинация
Пока meta.hasMore равно true, увеличивайте offset на data.length. Пустой data останавливает цикл, даже если meta.hasMore равно true: смещение не сдвинется, и тот же запрос вернёт то же самое. Не повторяйте его, а перейдите к основному списку дел с сужающим фильтром. Предупреждение OFFSET_BEYOND_FETCHED_PAGE (field: "offset") приходит в части таких случаев, его отсутствие продвижения не гарантирует. Владелец выбирается по OWNER_TYPE_ID/OWNER_ID. Дополнительные привязки — отдельная связь.