[{"data":1,"prerenderedAt":7},["ShallowReactive",2],{"docs-entities\u002Fcalendar-events\u002Fget":3,"docs-tabs-entities\u002Fcalendar-events\u002Fget":6},{"content":4,"lastmod":5},"\n## Get event\n\n`GET \u002Fv1\u002Fcalendar-events\u002F:id`\n\nReturns a single calendar event by ID.\n\n## Parameters\n\n| Parameter | Type | Required | Description |\n|----------|-----|:-----:|---------|\n| `id` (path) | number | yes | Event ID |\n| `include` (query) | string | no | Related employees: `owner`, `host`, `attendee`. See the \"Related data\" section below |\n| `select` (query) | string | no | Comma-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](.\u002Ffields.md) |\n\n## Examples\n\n### curl — personal key\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fcalendar-events\u002F7773\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth application\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fcalendar-events\u002F7773\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — personal key\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fcalendar-events\u002F7773', {\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data } = await res.json()\nconsole.log(data.name, '—', data.from)\n```\n\n### JavaScript — OAuth application\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fcalendar-events\u002F7773', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n## Response fields\n\n| Field | Type | Description |\n|------|-----|---------|\n| `success` | boolean | Always `true` on success |\n| `data` | object | The event (all fields — see [Event fields](.\u002Ffields.md)) |\n| `meta.warnings` | array | Returned 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 |\n\n## Related data\n\nTo get the employees related to the event along with the event itself, pass the `include` parameter in the GET request:\n\n```\nGET \u002Fv1\u002Fcalendar-events\u002F7773?include=owner,host,attendee\n```\n\nAvailable `include` values — up to three names per request:\n\n| Name | Source field | Key in `_included` | Result |\n|------|--------------|--------------------|--------|\n| `owner` | `ownerId` — the calendar owner | `owner` | Employee card or `null` |\n| `host` | `meetingHost` — the meeting organizer | `host` | Employee 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` |\n| `attendee` | `attendeeList` — the invitees | `users` | Array of cards in `attendeeList` order. An empty array if there are no invitees |\n\nThe employee card is the same as in the [`GET \u002Fv1\u002Fusers\u002F:id`](\u002Fdocs\u002Fentities\u002Fusers\u002Fget) response. Retrieving a related employee requires the key to have the `user` scope in addition to `calendar`. The result is in the `_included` field:\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 7773,\n    \"name\": \"Team call\",\n    \"ownerId\": 1,\n    \"meetingHost\": 1,\n    \"attendeeList\": [\n      { \"id\": 1, \"entryId\": \"7773\", \"status\": \"H\" }\n    ],\n    \"_included\": {\n      \"owner\": { \"id\": 1, \"name\": \"John\", \"lastName\": \"Brown\", \"email\": \"john.brown@example.com\", \"active\": true },\n      \"host\": { \"id\": 1, \"name\": \"John\", \"lastName\": \"Brown\", \"email\": \"john.brown@example.com\", \"active\": true },\n      \"users\": [\n        { \"id\": 1, \"name\": \"John\", \"lastName\": \"Brown\", \"email\": \"john.brown@example.com\", \"active\": true }\n      ]\n    }\n  }\n}\n```\n\nOnly the main event and employee fields are shown. For the full card, see [Employee fields](\u002Fdocs\u002Fentities\u002Fusers\u002Ffields).\n\n## Response example\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 7773,\n    \"parentId\": 7773,\n    \"deleted\": false,\n    \"type\": \"user\",\n    \"ownerId\": 1,\n    \"name\": \"Team call\",\n    \"from\": \"2026-06-10T10:00:00+00:00\",\n    \"to\": \"2026-06-10T11:00:00+00:00\",\n    \"skipTime\": false,\n    \"durationSeconds\": 3600,\n    \"createdBy\": 1,\n    \"dateCreate\": \"06\u002F05\u002F2026 09:12:00 am\",\n    \"updatedAt\": \"06\u002F05\u002F2026 09:12:00 am\",\n    \"description\": \"Weekly sync\",\n    \"accessibility\": \"busy\",\n    \"importance\": \"normal\",\n    \"isMeeting\": false,\n    \"meetingStatus\": \"H\",\n    \"meetingHost\": 1,\n    \"sectionId\": 3,\n    \"attendeeList\": [\n      { \"id\": 1, \"entryId\": \"7773\", \"status\": \"H\" }\n    ],\n    \"crmFields\": [\"D_741\", \"C_9\"]\n  }\n}\n```\n\n## Error response example\n\n404 — event not found:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ENTITY_NOT_FOUND\",\n    \"message\": \"calendarEvent 99999999 not found\"\n  }\n}\n```\n\n## Errors\n\n| HTTP | Code | Description |\n|------|-----|---------|\n| 404 | `ENTITY_NOT_FOUND` | The event with the specified `id` does not exist |\n| 400 | `INVALID_INCLUDE` | `include` contains a name outside the set `owner`, `host`, `attendee`. The response lists the available names |\n| 400 | `INCLUDE_LIMIT_EXCEEDED` | `include` contains more than three names |\n| 400 | `UNKNOWN_SELECT_FIELD` | `select` contains an unknown field. The message lists the valid names |\n| 403 | `SCOPE_DENIED` | The API key does not have the `calendar` scope |\n| 403 | `SCOPE_DENIED` | `include` requests a relation to an employee, but the key lacks the `user` scope. The response names the relation and the missing scope |\n| 401 | `TOKEN_MISSING` | The API key has no configured tokens |\n\nFull list of common API errors — [Errors](\u002Fdocs\u002Ferrors).\n\n## See also\n\n- [Event fields](.\u002Ffields.md)\n- [Update event](.\u002Fupdate.md)\n- [List events](.\u002Flist.md)\n- [Related data](\u002Fdocs\u002Fincludes)\n","2026-10-23",{},1794739321225]