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
curl "https://vibecode.bitrix24.com/v1/calendar-events/fields" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
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
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
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
{
"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:
{
"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.