Recurring events
Note: All endpoints require authentication and an
X-Tenantheader. See Authentication overview and How to get API information. Paths are relative to your intranet's API base URL. An Access line appears where an endpoint needs more than a signed-in user.
Endpoints on this page
- GET /api/calendar-event-series/{id}
- GET /api/calendar-event-series/{id}/attendees
- GET /api/calendar-event-series/{id}/events
- GET /api/calendar-event-series/{id}/ical
- GET /api/calendar-event-series/{id}/response-counts
- POST /api/calendar-event-series
- POST /api/calendar-event-series/{id}/respond
- POST /api/calendar-event-series/{id}/share
- GET /api/calendar-event-series/{id}/invite/search
- POST /api/calendar-event-series/{id}/invite
- POST /api/calendar-event-series/{id}/like/toggle
- GET /api/calendar-event-series/owner/search
- GET /api/calendar-event-series/{id}/responses/{responseFilterType}
GET /api/calendar-event-series/{id}
Get a calendar event sery by ID.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | integer (int32) | Yes |
Responses
| Status | Body |
|---|---|
| 200 | See below |
| 404 | |
| 500 |
Response body
{
"EventSeriesId": 0,
"SeriesStartDate": "2024-01-01T00:00:00Z",
"SeriesEndDate": "2024-01-01T00:00:00Z",
"SeriesStartDateInUserTimezone": "2024-01-01T00:00:00Z",
"SeriesEndDateInUserTimezone": "2024-01-01T00:00:00Z",
"EventStartDate": "2024-01-01T00:00:00Z",
"EventEndDate": "2024-01-01T00:00:00Z",
"EventStartDateInEventTimeZone": "2024-01-01T00:00:00Z",
"EventEndDateInEventTimeZone": "2024-01-01T00:00:00Z",
"RecurrenceSettings": {
"Type": {
"Mode": "Daily",
"TypeSettings": {}
},
"Ends": {
"Type": "EndAfter",
"NumberOfOccurrences": 0,
"EndDate": "2024-01-01T00:00:00Z"
}
},
"CurrentEventSeriesOccurrenceId": 0,
"Title": "string",
"Summary": "string",
"Description": "string",
"DescriptionReplacedTagsView": "string",
"DescriptionReplacedTagsEdit": "string",
"Location": "string",
"Tags": "string",
"AllDayEvent": true,
"OwnerId": 0,
"SectionId": 0,
"AssetId": 0,
"LetterboxAssetId": 0,
"ShowTimeToEvent": true,
"Active": true,
"InAllCalendars": true,
"AttendTypeId": "NoAttendees",
"Category": "string",
"MaxNumberOfAttendees": 0,
"TimeZone": "string",
"IsOwnerHidden": true,
"OwnerFirstName": "string",
"OwnerEmail": "string",
"OwnerSurname": "string",
"OwnerJobTitle": "string",
"OwnerDepartment": "string",
"OwnerLocation": "string",
"OwnerCompany": "string",
"OwnerAssetID": 0,
"CanDownloadCSV": true,
"CanRSVP": true,
"CanViewResponseCounts": true,
"CanInviteOthers": true,
"CanViewAttendees": true,
"CanView": true,
"CanAdd": true,
"CanEdit": true,
"CanDelete": true,
"CanDisplayInAllCalendars": true,
"WhenDescription": "string",
"WhenHeader": "string",
"HasBeenInvited": true,
"Attendees": {
"Invited": 0,
"Yes": 0,
"Maybe": 0,
"Remaining": 0
},
"InviteResponse": "NoResponse",
"HasRemainingPlaces": true,
"RecurrenceDescription": "string",
"WebUrl": "string",
"Shares": 0,
"Likes": 0,
"IsLiked": true,
"TelemetrySectionInfo": {
"TopSectionId": 0,
"TopSectionTitle": "string"
}
}| Field | Type |
|---|---|
EventSeriesId | integer (int32) |
SeriesStartDate | string (date-time) |
SeriesEndDate | string (date-time) |
SeriesStartDateInUserTimezone | string (date-time) |
SeriesEndDateInUserTimezone | string (date-time) |
EventStartDate | string (date-time) |
EventEndDate | string (date-time) |
EventStartDateInEventTimeZone | string (date-time) |
EventEndDateInEventTimeZone | string (date-time) |
RecurrenceSettings | object |
CurrentEventSeriesOccurrenceId | integer (int32) |
Title | string |
Summary | string |
Description | string |
DescriptionReplacedTagsView | string |
DescriptionReplacedTagsEdit | string |
Location | string |
Tags | string |
AllDayEvent | boolean |
OwnerId | integer (int32) |
SectionId | integer (int32) |
AssetId | integer (int32) |
LetterboxAssetId | integer (int32) |
ShowTimeToEvent | boolean |
Active | boolean |
InAllCalendars | boolean |
AttendTypeId | string |
Category | string |
MaxNumberOfAttendees | integer (int32) |
TimeZone | string |
IsOwnerHidden | boolean |
OwnerFirstName | string |
OwnerEmail | string |
OwnerSurname | string |
OwnerJobTitle | string |
OwnerDepartment | string |
OwnerLocation | string |
OwnerCompany | string |
OwnerAssetID | integer (int32) |
CanDownloadCSV | boolean |
CanRSVP | boolean |
CanViewResponseCounts | boolean |
CanInviteOthers | boolean |
CanViewAttendees | boolean |
CanView | boolean |
CanAdd | boolean |
CanEdit | boolean |
CanDelete | boolean |
CanDisplayInAllCalendars | boolean |
WhenDescription | string |
WhenHeader | string |
HasBeenInvited | boolean |
Attendees | object |
InviteResponse | string |
HasRemainingPlaces | boolean |
RecurrenceDescription | string |
WebUrl | string |
Shares | integer (int32) |
Likes | integer (int32) |
IsLiked | boolean |
TelemetrySectionInfo | object |
GET /api/calendar-event-series/{id}/attendees
List attendees.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | integer (int32) | Yes |
Responses
| Status | Body |
|---|---|
| 200 | See below |
| 404 | |
| 500 |
Response body
[
{
"PersonId": 0,
"RsvpType": "NoResponse",
"Name": "string",
"AssetId": 0,
"JobTitle": "string",
"Department": "string",
"Attendance": "string"
}
]| Field | Type |
|---|---|
PersonId | integer (int32) |
RsvpType | string |
Name | string |
AssetId | integer (int32) |
JobTitle | string |
Department | string |
Attendance | string |
GET /api/calendar-event-series/{id}/events
List events.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | integer (int32) | Yes | |
offset |
query | integer (int32) | No | |
limit |
query | integer (int32) | No |
Responses
| Status | Body |
|---|---|
| 200 | See below |
| 404 | |
| 500 |
Response body
[
{
"EventId": 0,
"StartDate": "2024-01-01T00:00:00Z",
"EndDate": "2024-01-01T00:00:00Z",
"StartDateInUserTimezone": "2024-01-01T00:00:00Z",
"EndDateInUserTimezone": "2024-01-01T00:00:00Z",
"StartDateInEventTimeZone": "2024-01-01T00:00:00Z",
"EndDateInEventTimeZone": "2024-01-01T00:00:00Z",
"Title": "string",
"Summary": "string",
"Location": "string",
"Description": "string",
"DescriptionReplacedTagsView": "string",
"AllDayEvent": true,
"WhenDescription": "string"
}
]| Field | Type |
|---|---|
EventId | integer (int32) |
StartDate | string (date-time) |
EndDate | string (date-time) |
StartDateInUserTimezone | string (date-time) |
EndDateInUserTimezone | string (date-time) |
StartDateInEventTimeZone | string (date-time) |
EndDateInEventTimeZone | string (date-time) |
Title | string |
Summary | string |
Location | string |
Description | string |
DescriptionReplacedTagsView | string |
AllDayEvent | boolean |
WhenDescription | string |
GET /api/calendar-event-series/{id}/ical
Export as an iCal (.ics) file.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | integer (int32) | Yes |
Responses
| Status | Body |
|---|---|
| 200 | string |
| 404 | |
| 500 |
GET /api/calendar-event-series/{id}/response-counts
List response counts.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | integer (int32) | Yes |
Responses
| Status | Body |
|---|---|
| 200 | See below |
| 404 | |
| 500 |
Response body
{
"Invited": 0,
"Maybe": 0,
"Yes": 0,
"Remaining": 0
}| Field | Type |
|---|---|
Invited | integer (int32) |
Maybe | integer (int32) |
Yes | integer (int32) |
Remaining | integer (int32) |
POST /api/calendar-event-series
Create a calendar event sery.
Request body
{
"SeriesStartDate": "2024-01-01T00:00:00Z",
"EventStartDate": "2024-01-01T00:00:00Z",
"RecurrenceSettings": {
"Type": {
"Mode": "Daily",
"TypeSettings": {}
},
"Ends": {
"Type": "EndAfter",
"NumberOfOccurrences": 0,
"EndDate": "2024-01-01T00:00:00Z"
}
},
"EventEndDate": "2024-01-01T00:00:00Z",
"SectionID": 0,
"OwnerID": 0,
"Title": "string",
"LetterboxAssetId": 0,
"AssetID": 0,
"Summary": "string",
"Tags": "string",
"Location": "string",
"Active": true,
"InAllCalendars": true,
"AttendType": "NoAttendees",
"Category": "string",
"MaxNumberOfAttendees": 0,
"Description": "string",
"TimeZone": "string",
"AllDayEvent": true,
"ShowTimeToEvent": true,
"IsOwnerHidden": true
}| Field | Type |
|---|---|
SeriesStartDate | string (date-time) |
EventStartDate | string (date-time) |
RecurrenceSettings | object |
EventEndDate | string (date-time) |
SectionID | integer (int32) |
OwnerID | integer (int32) |
Title | string |
LetterboxAssetId | integer (int32) |
AssetID | integer (int32) |
Summary | string |
Tags | string |
Location | string |
Active | boolean |
InAllCalendars | boolean |
AttendType | string |
Category | string |
MaxNumberOfAttendees | integer (int32) |
Description | string |
TimeZone | string |
AllDayEvent | boolean |
ShowTimeToEvent | boolean |
IsOwnerHidden | boolean |
Responses
| Status | Body |
|---|---|
| 200 | See below |
| 404 | |
| 500 |
Response body
{
"InsertedId": 0,
"Errors": [
{
"Id": 0,
"ErrorStatus": "NoOccurrences",
"Message": "string"
}
],
"HasErrors": true,
"NoErrors": true,
"ErrorMessage": "string"
}| Field | Type |
|---|---|
InsertedId | integer (int32) |
Errors | array of object |
HasErrors | boolean |
NoErrors | boolean |
ErrorMessage | string |
POST /api/calendar-event-series/{id}/respond
Respond to the calendar event series.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | integer (int32) | Yes | |
response |
query | string | Yes | Allowed values: NoResponse, Maybe, Yes, No |
Responses
| Status | Body |
|---|---|
| 200 | boolean |
| 404 | |
| 500 |
POST /api/calendar-event-series/{id}/share
Share the calendar event series.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | integer (int32) | Yes |
Request body
{
"SharedComment": "string"
}| Field | Type |
|---|---|
SharedComment | string |
Responses
| Status | Body |
|---|---|
| 200 | See below |
| 401 | |
| 404 | |
| 500 |
Response body
{
"Shares": 0
}| Field | Type |
|---|---|
Shares | integer (int32) |
GET /api/calendar-event-series/{id}/invite/search
List search.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | integer (int32) | Yes | |
searchTerm |
query | string | Yes |
Responses
| Status | Body |
|---|---|
| 200 | See below |
| 500 |
Response body
[
{
"HasBeenInvited": true,
"ID": "string",
"Type": "string",
"Name": "string",
"Avatar": "string",
"Icon": "string",
"Entity": {},
"SectionID": 0,
"JobTitle": "string",
"OrgLabel": "string",
"Email": "string",
"PhoneMobile": "string"
}
]| Field | Type |
|---|---|
HasBeenInvited | boolean |
ID | string |
Type | string |
Name | string |
Avatar | string |
Icon | string |
Entity | object |
SectionID | integer (int32) |
JobTitle | string |
OrgLabel | string |
Email | string |
PhoneMobile | string |
POST /api/calendar-event-series/{id}/invite
Invite people to the calendar event series.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | integer (int32) | Yes |
Request body
{
"Invitations": [
{
"ID": 0,
"IsPerson": true
}
]
}| Field | Type |
|---|---|
Invitations | array of object |
Responses
| Status | Body |
|---|---|
| 200 | integer (int32) |
| 404 | |
| 500 |
POST /api/calendar-event-series/{id}/like/toggle
Create a toggle.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | integer (int32) | Yes |
Responses
| Status | Body |
|---|---|
| 200 | See below |
| 401 | |
| 404 | |
| 500 |
Response body
{
"Likes": 0,
"IsLiked": true
}| Field | Type |
|---|---|
Likes | integer (int32) |
IsLiked | boolean |
GET /api/calendar-event-series/owner/search
List search.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
searchTerm |
query | string | Yes | |
sectionId |
query | integer (int32) | Yes | |
eventSeriesId |
query | integer (int32) | No |
Responses
| Status | Body |
|---|---|
| 200 | See below |
| 500 |
Response body
[
{
"HasAccessToSection": true,
"IsCurrentOwner": true,
"ID": "string",
"Type": "string",
"Name": "string",
"Avatar": "string",
"Icon": "string",
"Entity": {},
"SectionID": 0,
"JobTitle": "string",
"OrgLabel": "string",
"Email": "string",
"PhoneMobile": "string"
}
]| Field | Type |
|---|---|
HasAccessToSection | boolean |
IsCurrentOwner | boolean |
ID | string |
Type | string |
Name | string |
Avatar | string |
Icon | string |
Entity | object |
SectionID | integer (int32) |
JobTitle | string |
OrgLabel | string |
Email | string |
PhoneMobile | string |
GET /api/calendar-event-series/{id}/responses/{responseFilterType}
Get a respons by ID.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | integer (int32) | Yes | |
responseFilterType |
path | string | Yes | Allowed values: Invited, Yes, Maybe, YesMaybe, No |
Responses
| Status | Body |
|---|---|
| 200 | See below |
| 404 | |
| 500 |
Response body
[
{
"PersonId": 0,
"Name": "string",
"Email": "string",
"AssetId": 0,
"JobTitle": "string",
"Department": "string",
"Response": "string"
}
]| Field | Type |
|---|---|
PersonId | integer (int32) |
Name | string |
Email | string |
AssetId | integer (int32) |
JobTitle | string |
Department | string |
Response | string |