#Список событий
GET /v1/calendar-events
Возвращает события календаря за фиксированный период вокруг текущей даты: с месяца назад по три месяца вперёд.
#Параметры
| Параметр | Тип | Обяз. | По умолч. | Описание |
|---|---|---|---|---|
type (query) |
string | да | — | Тип календаря: user, group, company_calendar |
ownerId (query) |
number | да | — | ID владельца календаря: сотрудник (GET /v1/users) или рабочая группа |
limit (query) |
number | нет | 50 |
Количество записей (до 5000). При limit > 50 Вайбкод автоматически запрашивает несколько страниц у Битрикс24 |
offset (query) |
number | нет | 0 |
Пропустить N записей. При offset > 0 рекомендуется limit ≤ 500 |
#Примеры
#curl — личный ключ
curl "https://vibecode.bitrix24.tech/v1/calendar-events?type=user&ownerId=1&limit=10" \
-H "X-Api-Key: YOUR_API_KEY"
#curl — OAuth-приложение
curl "https://vibecode.bitrix24.tech/v1/calendar-events?type=user&ownerId=1&limit=10" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
#JavaScript — личный ключ
const params = new URLSearchParams({ type: 'user', ownerId: '1', limit: '10' })
const res = await fetch(`https://vibecode.bitrix24.tech/v1/calendar-events?${params}`, {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data, meta } = await res.json()
console.log(`Найдено ${meta.total} событий`)
#JavaScript — OAuth-приложение
const params = new URLSearchParams({ type: 'user', ownerId: '1', limit: '10' })
const res = await fetch(`https://vibecode.bitrix24.tech/v1/calendar-events?${params}`, {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data, meta } = await res.json()
#Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data |
array | Массив событий (все поля — см. Поля события) |
meta.total |
number | Общее количество событий в выборке |
meta.hasMore |
boolean | Есть ли ещё записи за пределами limit |
URL карточки любого события из массива data зависит от типа календаря:
type |
URL |
|---|---|
user |
https://<portal>.bitrix24.ru/company/personal/user/<ownerId>/calendar/?EVENT_ID=<id>&EVENT_DATE=<dd.mm.yyyy> |
group |
https://<portal>.bitrix24.ru/workgroups/group/<ownerId>/calendar/?EVENT_ID=<id>&EVENT_DATE=<dd.mm.yyyy> |
company_calendar |
https://<portal>.bitrix24.ru/calendar/?EVENT_ID=<id>&EVENT_DATE=<dd.mm.yyyy> |
<dd.mm.yyyy> — дата начала события (поле from) в формате «день.месяц.год» через точку. <portal> — домен вашего портала. Доступ ограничен правами сотрудника в Битрикс24.
#Пример ответа
{
"success": true,
"data": [
{
"id": 7773,
"parentId": 7773,
"active": true,
"deleted": false,
"type": "user",
"ownerId": 1,
"name": "Созвон с командой",
"from": "2026-06-10T10:00:00+03:00",
"to": "2026-06-10T11:00:00+03:00",
"skipTime": false,
"durationSeconds": 3600,
"createdBy": 1,
"dateCreate": "06/05/2026 09:12:00 am",
"updatedAt": "06/05/2026 09:12:00 am",
"description": "Еженедельная синхронизация",
"accessibility": "busy",
"importance": "normal",
"isMeeting": false,
"meetingStatus": "H",
"meetingHost": 1,
"sectionId": 3,
"attendeeList": [
{ "id": 1, "entryId": "7773", "status": "H" }
]
}
],
"meta": {
"total": 1,
"hasMore": false
}
}
#Пример ответа при ошибке
400 — не переданы обязательные type и ownerId:
{
"success": false,
"error": {
"code": "MISSING_REQUIRED_PARAMS",
"message": "GET /v1/calendar-events requires query parameters: type, ownerId. Example: GET /v1/calendar-events?type=...&ownerId=..."
}
}
#Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | MISSING_REQUIRED_PARAMS |
Не переданы type и (или) ownerId |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа calendar |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов |
Полный список общих ошибок API — Ошибки.
#Известные особенности
Авто-пагинация. При limit > 50 Вайбкод автоматически запрашивает несколько страниц у Битрикс24 и собирает их в один ответ. Если общее количество событий больше limit, в meta.hasMore придёт true.
Регулярные события. Событие с полем rrule в списке возвращается отдельным элементом на каждое вхождение серии, попадающее в окно выборки. У всех элементов общий id и parentId, отличаются только from / to.