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

Get event

GET /v1/calendar-events/:id

Returns a single calendar event by ID.

Parameters

Parameter Type Required Description
Parameterid (path) Typenumber Requiredyes DescriptionEvent ID
Parameterinclude (query) Typestring Requiredno DescriptionRelated employees: owner, host, attendee. See the "Related data" section below
Parameterselect (query) Typestring Requiredno DescriptionComma-separated response fields, for example name,from. Without the parameter, all fields are returned. The id field is always returned. Names come from Event fields

Examples

curl — personal key

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

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/calendar-events/7773" \
  -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/7773', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
console.log(data.name, '—', data.from)

JavaScript — OAuth application

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

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

Response fields

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata Typeobject DescriptionThe event (all fields — see Event fields)
Fieldmeta.warnings Typearray DescriptionReturned when a name that is absent from the event schema is listed alongside * in select: the event comes back without that field. Each warning is an object with code, field and message, and the code is UNKNOWN_SELECT_FIELD. Without *, such a name causes the whole request to be rejected

To get the employees related to the event along with the event itself, pass the include parameter in the GET request:

GET /v1/calendar-events/7773?include=owner,host,attendee

Available include values — up to three names per request:

Name Source field Key in _included Result
Nameowner Source fieldownerId — the calendar owner Key in _includedowner ResultEmployee card or null
Namehost Source fieldmeetingHost — the meeting organizer Key in _includedhost ResultEmployee card or null. For type: group, a card is returned only when isMeeting: true; otherwise _included.host is null. For a non-meeting event in that calendar, meetingHost holds the workgroup ID. The event creator is identified by createdBy
Nameattendee Source fieldattendeeList — the invitees Key in _includedusers ResultArray of cards in attendeeList order. An empty array if there are no invitees

The employee card is the same as in the GET /v1/users/:id response. Retrieving a related employee requires the key to have the user scope in addition to calendar. The result is in the _included field:

JSON
{
  "success": true,
  "data": {
    "id": 7773,
    "name": "Team call",
    "ownerId": 1,
    "meetingHost": 1,
    "attendeeList": [
      { "id": 1, "entryId": "7773", "status": "H" }
    ],
    "_included": {
      "owner": { "id": 1, "name": "John", "lastName": "Brown", "email": "john.brown@example.com", "active": true },
      "host": { "id": 1, "name": "John", "lastName": "Brown", "email": "john.brown@example.com", "active": true },
      "users": [
        { "id": 1, "name": "John", "lastName": "Brown", "email": "john.brown@example.com", "active": true }
      ]
    }
  }
}

Only the main event and employee fields are shown. For the full card, see Employee fields.

Response example

JSON
{
  "success": true,
  "data": {
    "id": 7773,
    "parentId": 7773,
    "deleted": false,
    "type": "user",
    "ownerId": 1,
    "name": "Team call",
    "from": "2026-06-10T10:00:00+00:00",
    "to": "2026-06-10T11:00:00+00:00",
    "skipTime": false,
    "durationSeconds": 3600,
    "createdBy": 1,
    "dateCreate": "06/05/2026 09:12:00 am",
    "updatedAt": "06/05/2026 09:12:00 am",
    "description": "Weekly sync",
    "accessibility": "busy",
    "importance": "normal",
    "isMeeting": false,
    "meetingStatus": "H",
    "meetingHost": 1,
    "sectionId": 3,
    "attendeeList": [
      { "id": 1, "entryId": "7773", "status": "H" }
    ],
    "crmFields": ["D_741", "C_9"]
  }
}

Error response example

404 — event not found:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "calendarEvent 99999999 not found"
  }
}

Errors

HTTP Code Description
HTTP404 CodeENTITY_NOT_FOUND DescriptionThe event with the specified id does not exist
HTTP400 CodeINVALID_INCLUDE Descriptioninclude contains a name outside the set owner, host, attendee. The response lists the available names
HTTP400 CodeINCLUDE_LIMIT_EXCEEDED Descriptioninclude contains more than three names
HTTP400 CodeUNKNOWN_SELECT_FIELD Descriptionselect contains an unknown field. The message lists the valid names
HTTP403 CodeSCOPE_DENIED DescriptionThe API key does not have the calendar scope
HTTP403 CodeSCOPE_DENIED Descriptioninclude requests a relation to an employee, but the key lacks the user scope. The response names the relation and the missing scope
HTTP401 CodeTOKEN_MISSING DescriptionThe API key has no configured tokens

Full list of common API errors — Errors.

See also