#Поля события
GET /v1/calendar-events/fields
Возвращает схему полей события: тип, признак readonly, доступные batch-операции.
#Примеры
#curl — личный ключ
curl "https://vibecode.bitrix24.tech/v1/calendar-events/fields" \
-H "X-Api-Key: YOUR_API_KEY"
#curl — OAuth-приложение
curl "https://vibecode.bitrix24.tech/v1/calendar-events/fields" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
#JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/calendar-events/fields', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data } = await res.json()
console.log('Полей:', Object.keys(data.fields).length)
#JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/calendar-events/fields', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data } = await res.json()
#Поля ответа
| Поле | Тип | RO | Описание |
|---|---|---|---|
id |
number | да | ID события |
parentId |
number | да | ID родительского события (для повторяющихся событий совпадает с id исходного) |
active |
boolean | да | Активность события |
deleted |
boolean | да | Признак удаления |
name |
string | Название | |
description |
string | Описание | |
type |
string | Тип календаря: user, group, company_calendar |
|
ownerId |
number | ID владельца календаря. Сотрудник: GET /v1/users |
|
from |
datetime | Начало (ISO 8601) | |
to |
datetime | Окончание (ISO 8601) | |
skipTime |
boolean | Событие на весь день. При true длительность фиксируется в 24 часа |
|
durationSeconds |
number | да | Продолжительность события в секундах |
importance |
string | Важность: high, normal, low |
|
accessibility |
string | Занятость: busy, quest, free, absent |
|
location |
string | Место проведения | |
color |
string | Цвет события (HEX) | |
sectionId |
number | ID секции календаря | |
isPrivate |
boolean | Приватное событие | |
isMeeting |
boolean | Событие-встреча с приглашениями | |
attendees |
number[] | Массив ID приглашённых сотрудников для записи. Только для записи — в ответах событий это поле не возвращается, участники доступны в attendeeList, attendeesCodes, attendeesEntityList |
|
attendeesCodes |
string[] | да | Внутренние коды участников Битрикс24 (формат U<id>) |
attendeeList |
array | да | Расширенный список участников: { id, entryId, status }, где status — Y (принято), H (хост), Q (под вопросом), N (отклонено) |
attendeesEntityList |
array | да | Короткий список участников с типом сущности: { entityId, id }. Возвращается в GET /v1/calendar-events/:id, POST и PATCH, но не в GET /v1/calendar-events |
remind |
array | Настройки напоминаний | |
rrule |
object | Расписание повторения регулярного события: периодичность (FREQ), интервал (INTERVAL), дни недели (BYDAY), граница серии (UNTIL или COUNT) |
|
createdBy |
number | да | ID создателя события. Поиск: GET /v1/users |
dateCreate |
string | да | Дата создания (формат Битрикс24 "MM/DD/YYYY hh:mm:ss am/pm") |
updatedAt |
string | да | Дата последнего изменения (формат Битрикс24) |
meetingStatus |
string | да | Статус участия владельца календаря: Y (принято), H (хост), Q (под вопросом), N (отклонено) |
meetingHost |
number | да | ID организатора встречи. Поиск: GET /v1/users |
eventType |
string | да | Технический тип события (для системных событий) |
syncStatus |
string | да | Статус синхронизации с внешними календарями |
recurrenceId |
number | да | ID серии повторяющихся событий |
collabId |
number | да | ID коллабораций (при участии внешних пользователей) |
#Пример ответа
{
"success": true,
"data": {
"fields": {
"id": { "type": "number", "readonly": true },
"name": { "type": "string", "readonly": false },
"type": { "type": "string", "readonly": false },
"ownerId": { "type": "number", "readonly": false },
"from": { "type": "datetime", "readonly": false },
"to": { "type": "datetime", "readonly": false },
"skipTime": { "type": "boolean", "readonly": false },
"durationSeconds": { "type": "number", "readonly": true },
"importance": { "type": "string", "readonly": false },
"accessibility": { "type": "string", "readonly": false },
"sectionId": { "type": "number", "readonly": false },
"attendees": { "type": "array", "readonly": false },
"dateCreate": { "type": "string", "readonly": true },
"updatedAt": { "type": "string", "readonly": true }
},
"batch": ["create", "update", "delete"]
}
}
#Пример ответа при ошибке
403 — нет скоупа:
{
"success": false,
"error": {
"code": "SCOPE_DENIED",
"message": "This endpoint requires 'calendar' scope"
}
}
#Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа calendar |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов |
Полный список общих ошибок API — Ошибки.