For AI agents: markdown of this page — /docs-content-en/entities/calendar-events/fields.md documentation index — /llms.txt

Event fields

GET /v1/calendar-events/fields

Returns the event field schema: type, readonly flag, available batch operations.

Examples

curl — personal key

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

curl — OAuth application

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

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/calendar-events/fields', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
console.log('Fields:', Object.keys(data.fields).length)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/calendar-events/fields', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

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

Response fields

Field Type RO Description
id number yes Event ID
parentId number yes Parent event ID (for recurring events, matches the id of the source event)
active boolean yes Whether the event is active. Returned in the GET /v1/calendar-events list, absent from the GET /v1/calendar-events/:id card
deleted boolean yes Deletion flag
name string Title
description string Description
type string Calendar type: user, group, company_calendar
ownerId number Calendar owner ID. Employee: GET /v1/users
from datetime Start (ISO 8601)
to datetime End (ISO 8601)
skipTime boolean All-day event. When true, the duration is fixed at 24 hours
durationSeconds number yes Event duration in seconds
importance string Importance: high, normal, low
accessibility string Availability: busy, quest, free, absent
location string Venue
color string Event color (HEX)
textColor string Event text color (HEX). Returned in the GET /v1/calendar-events list, absent from the GET /v1/calendar-events/:id card
sectionId number Calendar section ID
isPrivate boolean Private event
isMeeting boolean Meeting event with invitations
attendees number[] Array of invited employee IDs for writing. Write-only — this field is not returned in event responses; attendees are available in attendeeList, attendeesCodes
attendeesCodes string[] yes Internal Bitrix24 attendee codes (format U<id>)
attendeeList array yes Extended attendee list: { id, entryId, status }, where status is Y (accepted), H (host), Q (tentative), N (declined)
remind array Reminder settings
rrule object Recurrence schedule of a recurring event: periodicity (FREQ), interval (INTERVAL), days of the week (BYDAY), series boundary (UNTIL or COUNT). On read, BYDAY comes back as a dictionary object such as {"MO":"MO"}, and UNTIL is a date string in the Bitrix24 account's regional format that Bitrix24 fills in even when COUNT is set
createdBy number yes Event creator ID. Lookup: GET /v1/users
dateCreate string yes Creation date. A Bitrix24-formatted string that depends on the Bitrix24 account's regional settings (for example 08.06.2026 17:29:51 or 06/08/2026 05:29:51 pm). This is not ISO 8601 — do not parse it with a fixed parser
updatedAt string yes Last modification date. A string in the same Bitrix24 account regional format as dateCreate. This is not ISO 8601
meetingStatus string yes Participation status of the calendar owner: Y (accepted), H (host), Q (tentative), N (declined)
meetingHost number yes Meeting organizer ID. Lookup: GET /v1/users
eventType string yes Technical event type (for system events)
syncStatus string yes Synchronization status with external calendars
recurrenceId number yes Recurring event series ID
collabId number yes Collaboration ID (when external users participate)

Unset scalar fields are returned as null, empty arrays as []. In a minimal event null arrives, for example, in eventType, description, location, color, textColor, rrule, recurrenceId, syncStatus, collabId, while remind arrives as an empty array [].

Response example

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "number", "readonly": true, "label": "Event ID", "description": "Unique calendar event identifier." },
      "name": { "type": "string", "readonly": false, "label": "Name", "description": "Calendar event name." },
      "type": { "type": "string", "readonly": false, "label": "Calendar type", "description": "Event calendar type: user, group, or the company shared calendar." },
      "ownerId": { "type": "number", "readonly": false, "label": "Calendar owner ID", "description": "Identifier of the calendar owner — an employee or a workgroup." },
      "from": { "type": "datetime", "readonly": false, "label": "Event start", "description": "Event start date and time in ISO 8601 format with the time-zone offset." },
      "to": { "type": "datetime", "readonly": false, "label": "Event end", "description": "Event end date and time in ISO 8601 format with the time-zone offset." },
      "skipTime": { "type": "boolean", "readonly": false, "label": "All-day event", "description": "Whether the event lasts all day without a specific time." },
      "durationSeconds": { "type": "number", "readonly": true, "label": "Duration in seconds", "description": "Event duration in seconds." },
      "importance": { "type": "string", "readonly": false, "label": "Importance", "description": "Event importance level: high, normal, or low." },
      "accessibility": { "type": "string", "readonly": false, "label": "Availability", "description": "Owner availability status during the event: busy, tentative, free, or absent." },
      "sectionId": { "type": "number", "readonly": false, "label": "Calendar section ID", "description": "Identifier of the calendar section the event is recorded in." },
      "attendees": { "type": "array", "readonly": false, "label": "Invited attendees", "description": "Array of IDs of employees invited to the event — a write-only field; in the response attendees are returned in attendeeList and attendeesCodes." },
      "rrule": { "type": "object", "readonly": false, "label": "Recurrence rule", "description": "Recurrence schedule of a recurring event: frequency, interval, weekdays, and the series-end condition." },
      "dateCreate": { "type": "string", "readonly": true, "label": "Creation date", "description": "Event creation date and time as a string, depending on the account regional settings." },
      "updatedAt": { "type": "string", "readonly": true, "label": "Change date", "description": "Event last-change date and time as a string, depending on the account regional settings." }
    },
    "batch": ["create", "update", "delete"]
  }
}

Error response example

403 — no scope:

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

Errors

HTTP Code Description
403 SCOPE_DENIED The API key does not have the calendar scope
401 TOKEN_MISSING The API key has no configured tokens

Full list of common API errors — Errors.

See also