#Поля события

GET /v1/calendar-events/fields

Возвращает схему полей события: тип, признак readonly, доступные batch-операции.

#Примеры

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/calendar-events/fields" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/calendar-events/fields" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

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-приложение

javascript
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 }, где statusY (принято), 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 коллабораций (при участии внешних пользователей)

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

JSON
{
  "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 — нет скоупа:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'calendar' scope"
  }
}

#Ошибки

HTTP Код Описание
403 SCOPE_DENIED API-ключ не имеет скоупа calendar
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

Полный список общих ошибок API — Ошибки.

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