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

Поля секции календаря

GET /v1/calendar-sections/fields

Возвращает справочник полей секции календаря: тип значения, признак «только чтение», обязательность при создании и список допустимых значений у полей с фиксированным набором.

Примеры

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

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

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/calendar-sections/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-sections/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-sections/fields', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data } = await res.json()

Поля ответа

Поле Тип Описание
Полеsuccess Типboolean ОписаниеВсегда true при успехе
Полеdata.fields Типobject ОписаниеСправочник полей секции. Ключ — имя поля в camelCase, значение — его описание
Полеdata.fields.<имя>.type Типstring ОписаниеТип значения поля: number, string, boolean, object или datetime
Полеdata.fields.<имя>.readonly Типboolean Описаниеtrue — поле заполняется системой, при создании и обновлении отклоняется с 400 READONLY_FIELD
Полеdata.fields.<имя>.required Типboolean ОписаниеПрисутствует у полей, обязательных при создании
Полеdata.fields.<имя>.enum Типarray ОписаниеСписок допустимых значений поля. Каждый элемент несёт value для передачи в запросе, английскую подпись label и русскую labelRu
Полеdata.batch Типarray ОписаниеОперации секции, доступные в пакетном вызове: create, update, delete

Справочник описывает четырнадцать полей:

Поле Тип RO Описание
Полеid Типnumber ROда ОписаниеИдентификатор секции
Полеname Типstring RO ОписаниеНазвание секции. Обязательно при создании
Полеdescription Типstring RO ОписаниеОписание секции
Полеtype Типstring RO ОписаниеТип календаря. Обязателен при создании. Допустимые значения перечислены в enum: user — календарь пользователя, group — календарь рабочей группы, company_calendar — календарь компании, location — календарь переговорной
ПолеownerId Типnumber RO ОписаниеИдентификатор владельца календаря. Обязателен при создании. Для типа user — идентификатор сотрудника из GET /v1/users. Владелец остальных типов описан в разделе Секции календаря
Полеcolor Типstring RO ОписаниеЦвет секции в формате #RRGGBB
ПолеtextColor Типstring RO ОписаниеЦвет текста в формате #RRGGBB
Полеexport Типobject RO ОписаниеПараметры экспорта в формате iCal. Ключи внутри объекта идут в верхнем регистре
Полеaccess Типobject ROда ОписаниеКарта прав доступа к секции
Полеperm Типobject ROда ОписаниеКарта разрешений текущего сотрудника
ПолеisCollab Типboolean ROда ОписаниеПринадлежит ли секция коллабе
ПолеcreatedBy Типnumber ROда ОписаниеСотрудник, создавший секцию. Список: GET /v1/users
ПолеdateCreate Типdatetime ROда ОписаниеДата создания секции
ПолеupdatedAt Типdatetime ROда ОписаниеДата последнего изменения секции

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

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "number", "readonly": true },
      "name": { "type": "string", "readonly": false, "required": true },
      "description": { "type": "string", "readonly": false },
      "type": {
        "type": "string",
        "readonly": false,
        "required": true,
        "enum": [
          { "value": "user", "label": "User calendar", "labelRu": "Календарь пользователя" },
          { "value": "group", "label": "Workgroup calendar", "labelRu": "Календарь рабочей группы" },
          { "value": "company_calendar", "label": "Company calendar", "labelRu": "Календарь компании" },
          { "value": "location", "label": "Location calendar", "labelRu": "Календарь переговорной" }
        ]
      },
      "ownerId": { "type": "number", "readonly": false, "required": true },
      "color": { "type": "string", "readonly": false },
      "textColor": { "type": "string", "readonly": false },
      "export": { "type": "object", "readonly": false },
      "access": { "type": "object", "readonly": true },
      "perm": { "type": "object", "readonly": true },
      "isCollab": { "type": "boolean", "readonly": true },
      "createdBy": { "type": "number", "readonly": true },
      "dateCreate": { "type": "datetime", "readonly": true },
      "updatedAt": { "type": "datetime", "readonly": true }
    },
    "batch": ["create", "update", "delete"]
  }
}

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

403 — нет скоупа:

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

Ошибки

HTTP Код Описание
HTTP403 КодSCOPE_DENIED ОписаниеКлючу не хватает скоупа calendar
HTTP401 КодMISSING_API_KEY ОписаниеНе передан заголовок X-Api-Key
HTTP401 КодTOKEN_MISSING ОписаниеУ API-ключа не настроены токены Битрикс24
HTTP429 КодRATE_LIMITED ОписаниеПревышен лимит запросов: 300 в минуту на портал, все API-ключи портала делят один лимит. Действующее значение — в заголовке x-ratelimit-limit. Повторите после срока из заголовка Retry-After

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

Известные особенности

Справочник одинаков на всех порталах. Ответ собирается из описания сущности на стороне платформы Вайбкод, у портала он не запрашивается. Поэтому набор полей, их типы и значения enum не зависят ни от настроек конкретного портала, ни от доступности Битрикс24, а пользовательские поля в справочнике не появляются.

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