Get a List of Calendar Events calendar.event.get
Choose a tool for developing with an AI agent:
- use Alaio Vibecode to build an app for Bitrix24 from a task description without knowing any programming language. The agent writes the code and deploys the app to a server, with no manual hosting setup
- use the MCP server to develop a REST API integration in your own project. The agent refers to the official REST documentation
Scope:
calendarWho can execute the method: any user
This method retrieves a list of calendar events.
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
type* |
Calendar type:
|
|
ownerId* |
Identifier of the calendar owner. For the company calendar, the |
|
from |
Start date for the selection. Default value is one month before the current date |
|
to |
End date for the selection. Default value is three months after the current date |
|
section |
Array of calendar identifiers |
Code Examples
How to Use Examples in Documentation
-
Get user events with
id=1for the period from2024-06-20to2024-08-20cURL (Webhook)cURL (OAuth)BX24.jsPythonPHPGocurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"type":"user","ownerId":1,"from":"2024-06-20","to":"2024-08-20","section":[21,44]}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/calendar.event.getcurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"type":"user","ownerId":1,"from":"2024-06-20","to":"2024-08-20","section":[21,44],"auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/calendar.event.getBX24.callMethod( 'calendar.event.get', { type: 'user', ownerId: 1, from: '2024-06-20', to: '2024-08-20', section: [21, 44] } );from b24pysdk.errors import BitrixAPIError, BitrixSDKException try: bitrix_response = client.calendar.event.get( type="user", owner_id=1, from_date="2024-06-20", to="2024-08-20", section=[ 21, 44, ], ).response result = bitrix_response.result print(result) except BitrixAPIError as error: print( "Bitrix API error", f"error: {error.error}", f"error_description: {error.error_description}", sep="\n", ) except BitrixSDKException as error: print(f"Bitrix SDK error: {error.message}") except Exception as error: print(f"Unexpected error: {error}")require_once('crest.php'); $result = CRest::call( 'calendar.event.get', [ 'type' => 'user', 'ownerId' => 1, 'from' => '2024-06-20', 'to' => '2024-08-20', 'section' => [21, 44] ] ); echo '<PRE>'; print_r($result); echo '</PRE>';// client and ctx are already created — see the Go SDK section res, err := client.Core().Call(ctx, "calendar.event.get", b24.Params{ "type": "user", "ownerId": 1, "from": "2024-06-20", "to": "2024-08-20", "section": []int{21, 44}, }, b24.WithIdempotent()) if err != nil { return fmt.Errorf("calendar.event.get: %w", err) } // The response arrives as json.RawMessage — unmarshal it // into a struct matching the response shape shown below on this page. fmt.Printf("%s\n", res.Result) -
Get events from the Company Calendar.
cURL (Webhook)cURL (OAuth)BX24.jsPythonPHPGocurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"type":"company_calendar","ownerId":""}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/calendar.event.getcurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"type":"company_calendar","ownerId":"","auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/calendar.event.getBX24.callMethod( 'calendar.event.get', { type: 'company_calendar', ownerId: 0 } );from b24pysdk.errors import BitrixAPIError, BitrixSDKException try: bitrix_response = client.calendar.event.get( type="company_calendar", owner_id="", ).response result = bitrix_response.result print(result) except BitrixAPIError as error: print( "Bitrix API error", f"error: {error.error}", f"error_description: {error.error_description}", sep="\n", ) except BitrixSDKException as error: print(f"Bitrix SDK error: {error.message}") except Exception as error: print(f"Unexpected error: {error}")require_once('crest.php'); $result = CRest::call( 'calendar.event.get', [ 'type' => 'company_calendar', 'ownerId' => '' ] ); echo '<PRE>'; print_r($result); echo '</PRE>';// client and ctx are already created — see the Go SDK section res, err := client.Core().Call(ctx, "calendar.event.get", b24.Params{ "type": "company_calendar", "ownerId": "", }, b24.WithIdempotent()) if err != nil { return fmt.Errorf("calendar.event.get: %w", err) } // The response arrives as json.RawMessage — unmarshal it // into a struct matching the response shape shown below on this page. fmt.Printf("%s\n", res.Result)
Response Handling
HTTP status: 200
{
"result": [
{
"ID": "1265",
"PARENT_ID": "1265",
"DELETED": "N",
"CAL_TYPE": "user",
"OWNER_ID": "1",
"NAME": "Event Name",
"DATE_FROM": "12/11/2024 05:59:00 pm",
"DATE_TO": "12/11/2024 06:59:00 pm",
"ORIGINAL_DATE_FROM": null,
"TZ_FROM": "Europe/Berlin",
"TZ_TO": "Europe/Berlin",
"TZ_OFFSET_FROM": "7200",
"TZ_OFFSET_TO": "7200",
"DATE_FROM_TS_UTC": "1733932740",
"DATE_TO_TS_UTC": "1733936340",
"DT_SKIP_TIME": "N",
"DT_LENGTH": 3600,
"EVENT_TYPE": null,
"CREATED_BY": "1",
"DATE_CREATE": "12/05/2024 01:48:41 pm",
"TIMESTAMP_X": "12/05/2024 01:48:41 pm",
"DESCRIPTION": "Description for event",
"PRIVATE_EVENT": "",
"ACCESSIBILITY": "free",
"IMPORTANCE": "normal",
"IS_MEETING": true,
"MEETING_STATUS": "H",
"MEETING_HOST": "1",
"MEETING": {
"HOST_NAME": "User Name",
"NOTIFY": false,
"REINVITE": false,
"ALLOW_INVITE": false,
"HIDE_GUESTS": false,
"MEETING_CREATOR": 1,
"LANGUAGE_ID": "de",
"MAIL_FROM": ""
},
"LOCATION": "test location",
"REMIND": [
{
"type": "min",
"count": 50
}
],
"COLOR": "#9dcf00",
"RRULE": {
"FREQ": "WEEKLY",
"BYDAY": {
"MO": "MO",
"WE": "WE"
},
"INTERVAL": 1,
"UNTIL": "12/24/2024",
"~UNTIL": "12/24/2024",
"UNTIL_TS": 1734998400
},
"EXDATE": "11/28/2024;12/05/2024;12/12/2024;12/19/2024;12/26/2024",
"DAV_XML_ID": "20241211T155900Z-534185204b362e9be7e261e92ccd9078@b24evo.lan",
"G_EVENT_ID": "",
"DAV_EXCH_LABEL": "",
"CAL_DAV_LABEL": "",
"VERSION": "1",
"ATTENDEES_CODES": [
"U1"
],
"RECURRENCE_ID": 1272,
"RELATIONS": {
"ORIGINAL_RECURSION_ID": 1271,
"COMMENT_XML_ID": "EVENT_1271_12/23/2024"
},
"SECTION_ID": "4",
"SYNC_STATUS": null,
"UF_CRM_CAL_EVENT": [
"CO_1",
"L_5"
],
"UF_WEBDAV_CAL_EVENT": false,
"SECTION_DAV_XML_ID": null,
"DATE_FROM_FORMATTED": "Wed Dec 11 2024 17:59:00",
"DATE_TO_FORMATTED": "Wed Dec 11 2024 18:59:00",
"SECT_ID": "4",
"ATTENDEE_LIST": [
{
"id": 1,
"entryId": "1265",
"status": "H"
}
],
"COLLAB_ID": null,
"~RRULE_DESCRIPTION": "every week on: Mon, Wed, from 12/11/2024 to 12/24/2024",
"attendeesEntityList": [
{
"entityId": "user",
"id": 1
}
],
"~DESCRIPTION": "Description for event",
"~USER_OFFSET_FROM": 7200,
"~USER_OFFSET_TO": 7200
},
{
"ID": "1221",
...
}
],
"time": {
"start": 1733412607.646361,
"finish": 1733412607.956879,
"duration": 0.3105177879333496,
"processing": 0.0637059211730957,
"date_start": "2024-12-05T15:30:07+00:00",
"date_finish": "2024-12-05T15:30:07+00:00"
}
}
Returned Data
|
Name |
Description |
|
result |
Object with event fields |
|
ID |
Event identifier |
|
PARENT_ID |
Identifier of the parent event |
|
DELETED |
Flag indicating whether the event is deleted. Possible values:
|
|
CAL_TYPE |
Type of calendar in which the event is located |
|
OWNER_ID |
Identifier of the calendar owner:
|
|
NAME |
Event name |
|
DATE_FROM |
Start date of the event |
|
DATE_TO |
End date of the event |
|
ORIGINAL_DATE_FROM |
Start date of the original event for recurring events |
|
TZ_FROM |
Timezone of the event start date |
|
TZ_TO |
Timezone of the event end date |
|
TZ_OFFSET_FROM |
Time offset of the event start time relative to UTC in seconds |
|
TZ_OFFSET_TO |
Time offset of the event end time relative to UTC in seconds |
|
DATE_FROM_TS_UTC |
Start date and time of the event in UTC in timestamp format |
|
DATE_TO_TS_UTC |
End date and time of the event in UTC in timestamp format |
|
DT_SKIP_TIME |
Flag indicating that the event lasts all day. Possible values:
|
|
DT_LENGTH |
Duration of the event in seconds |
|
EVENT_TYPE |
Type of event |
|
CREATED_BY |
Identifier of the user who created the event |
|
DATE_CREATE |
Date the event was created |
|
TIMESTAMP_X |
Date the event was modified |
|
DESCRIPTION |
Description of the event |
|
PRIVATE_EVENT |
Mark indicating that the event is private. Possible values:
|
|
ACCESSIBILITY |
Availability of event participants |
|
IMPORTANCE |
Importance of the event |
|
IS_MEETING |
Indicator of a meeting with event participants. Possible values:
|
|
MEETING_STATUS |
Status of participation in the event. Possible values:
|
|
MEETING_HOST |
Identifier of the user hosting the event |
|
MEETING |
Object describing meeting settings |
|
LOCATION |
Identifier or name of the event location |
|
REMIND |
Array of objects describing event reminders |
|
COLOR |
Background color of the event |
|
RRULE |
Recurrence of the event in the form of an object in terms of the iCalendar standard |
|
EXDATE |
List of exception dates from the recurrence rule |
|
DAV_XML_ID |
Synchronization identifier |
|
G_EVENT_ID |
Synchronization identifier |
|
CAL_DAV_LABEL |
Synchronization identifier |
|
VERSION |
Version of event changes |
|
ATTENDEES_CODES |
Identifiers of event participants |
|
RECURRENCE_ID |
Identifier of the original event when editing only the current one |
|
RELATIONS |
Object for recurring events with information about relationships to the original event |
|
SECTION_ID |
Identifier of the calendar in which the event is located |
|
SYNC_STATUS |
Synchronization status of the event |
|
UF_CRM_CAL_EVENT |
Array of identifiers of CRM objects linked to the event |
|
UF_WEBDAV_CAL_EVENT |
Array of identifiers of files linked to the event |
|
SECTION_DAV_XML_ID |
Synchronization identifier of the event calendar |
|
DATE_FROM_FORMATTED |
Formatted start date of the event |
|
DATE_TO_FORMATTED |
Formatted end date of the event |
|
SECT_ID |
Identifier of the calendar in which the event is located |
|
ATTENDEE_LIST |
Array of objects describing event participants and their participation statuses. The structure of the object is described below |
|
COLLAB_ID |
Identifier of the collaboration in which the event was created |
|
~RRULE_DESCRIPTION |
Text description of the event recurrence rule |
|
attendeesEntityList |
Array of objects describing users — event participants |
|
~DESCRIPTION |
Description of the event |
|
~USER_OFFSET_FROM |
Time offset of the event start time relative to the current user's timezone |
|
~USER_OFFSET_TO |
Time offset of the event end time relative to the current user's timezone |
MEETING Object
|
Name |
Description |
|
HOST_NAME |
Name of the user hosting the event |
|
NOTIFY |
Flag for notifying about confirmation or decline of participants |
|
REINVITE |
Flag for requesting re-confirmation of participation when editing the event |
|
ALLOW_INVITE |
Flag allowing participants to invite others to the event |
|
HIDE_GUESTS |
Flag for hiding the list of participants |
|
MEETING_CREATOR |
Identifier of the event creator |
|
LANGUAGE_ID |
Language identifier for event notifications |
|
MAIL_FROM |
Sender's address for notifications |
REMIND Object
|
Name |
Description |
|
type |
Time type of the reminder
|
|
count |
Numerical value of the time interval |
RRULE Object
|
Name |
Description |
|
FREQ |
Frequency of recurrence
|
|
BYDAY |
Days of the week
|
|
INTERVAL |
Interval between recurrences |
|
UNTIL |
End date of recurrences |
|
~UNTIL |
End date of recurrences. Technical field |
|
UNTIL_TS |
End date of recurrences in timestamp format |
RELATIONS Object
|
Name |
Description |
|
ORIGINAL_RECURSION_ID |
Identifier of the original event for recurring events created when editing |
|
COMMENT_XML_ID |
Identifier of the original event for single events created when editing from recurring ones |
ATTENDEE_LIST Objects
|
Name |
Description |
|
id |
Identifier of the user |
|
entryId |
Identifier of the event |
|
status |
Status of the event participant. Possible values:
|
attendeesEntityList Object
|
Name |
Description |
|
entityId |
Event participant object type |
|
id |
Identifier of the event participant |
Error Handling
HTTP status: 400
{
"error": "",
"error_description": "Mandatory parameter not specified \"type\" for the method \"calendar.event.get\""
}
|
Name |
Description |
|
error |
String error code. It consists of digits, Latin letters, and underscores. It may arrive empty — in that case only |
|
error_description |
Error message for the developer. Do not show it to the end user without processing |
Possible Error Codes
|
Code |
Error message |
Description |
|
empty string |
Required parameter "type" is not specified for method "calendar.event.get" |
Required parameter |
|
empty string |
Access denied |
Access to the method is prohibited for external users |
Statuses and System Error Codes
HTTP Status: 4xx, 5xx
The errors described below are returned by the REST API itself, not by the logic of a specific method. They can arrive in response to any method.
|
Status |
Code |
Description |
|
|
|
An internal server error has occurred. Retry the call, and if the error persists, contact the server administrator or Bitrix24 technical support |
|
|
|
The server returned an unexpected response. Retry the call, and if the error persists, contact the server administrator or Bitrix24 technical support |
|
|
|
The request intensity limit has been exceeded |
|
|
|
The method is blocked because the request resource intensity limit has been exceeded. The block is lifted automatically once the accumulated execution time of the method no longer exceeds the limit |
|
|
|
The request contains no authorization data: neither an access token nor a webhook code was passed |
|
|
|
Methods are called over the HTTPS protocol only |
|
|
|
The REST API is blocked due to overload. This is a manual individual block. To have it lifted, contact Bitrix24 technical support |
|
|
|
REST API access is not active for this account. In Bitrix24 Cloud, check the current plan or trial status: Vibe+ plans include REST API access, while Essentials plans do not. A webhook receives a different error message — |
|
|
|
No active webhook with the specified user identifier and secret code was found |
|
|
|
No method with this name was found. The name is misspelled, the method does not exist in the REST API, or it is unavailable without the required scope |
|
|
|
The request requires broader permissions than the token has: for a webhook these are the permissions granted to it, for an application it is the scope. For an application, the error message ends with |
|
|
|
The access token has expired |
|
|
|
The application is installed, but the Bitrix24 administrator has granted access to it only to specific users |
|
|
|
The public part of the site is closed. To open it on an on-premise installation, disable the "Temporary closure of the public part of the site" option. Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site |