Calendars
Tags: calendars, scheduling
Calendar and scheduling management
In the product: Calendars
Resources
Request and response models used by the endpoints on this page.
CalendarResponse
| Field | Type | Required | Description |
|---|---|---|---|
calendarSource | String | ✓ | |
color | String | ✓ | |
createdAt | DateTime | ✓ | |
description | String | ✓ | |
id | Integer | ✓ | |
isPublic | Boolean | ✓ | |
lastSyncedAt | DateTime | ||
name | String | ✓ | |
ownerId | Integer | ✓ | |
ownerName | String | ✓ | |
remoteCalendarId | String | ||
schedules | Array | ||
slug | String | ✓ | |
syncError | String | ||
syncStatus | String | ||
templateUuid | String | ✓ | |
timezone | String | ✓ | |
updatedAt | DateTime | ✓ | |
uuid | String | ✓ |
Example:
{
"id": 0 // Integer,
"uuid": "string" // String,
"templateUuid": "string" // String,
"name": "string" // String,
"slug": "string" // String,
"description": "string" // String,
"timezone": "string" // String,
"color": "string" // String,
"isPublic": false // Boolean,
"remoteCalendarId": "string" // String, optional,
"syncStatus": "string" // String, optional,
"syncError": "string" // String, optional,
"lastSyncedAt": "2024-01-01T00:00:00Z" // DateTime, optional,
"calendarSource": "string" // String,
"ownerId": 0 // Integer,
"ownerName": "string" // String,
"schedules": [] // Array<CalendarScheduleResponse>, optional, default: PydanticUndefined,
"createdAt": "2024-01-01T00:00:00Z" // DateTime,
"updatedAt": "2024-01-01T00:00:00Z" // DateTime
}
CalendarScheduleResponse
| Field | Type | Required | Description |
|---|---|---|---|
availabilityType | String | ✓ | |
createdAt | DateTime | ✓ | |
daysOfWeek | Array | ✓ | |
description | String | ✓ | |
endTime | DateTime | ✓ | |
eventTypeIds | Array | ||
id | Integer | ✓ | |
name | String | ✓ | |
priority | Integer | ✓ | |
recurrenceEndDate | DateTime | ✓ | |
recurrenceRule | Object | ✓ | |
recurrenceType | String | ✓ | |
startTime | DateTime | ✓ | |
updatedAt | DateTime | ✓ | |
uuid | String | ✓ |
Example:
{
"id": 0 // Integer,
"uuid": "string" // String,
"name": "string" // String,
"description": "string" // String,
"availabilityType": "string" // String,
"recurrenceType": "string" // String,
"startTime": "2024-01-01T00:00:00Z" // DateTime,
"endTime": "2024-01-01T00:00:00Z" // DateTime,
"recurrenceRule": {} // Object,
"recurrenceEndDate": "2024-01-01T00:00:00Z" // DateTime,
"daysOfWeek": "string" // Array<String>,
"priority": 0 // Integer,
"eventTypeIds": 0 // Array<Integer>, optional, default: PydanticUndefined,
"createdAt": "2024-01-01T00:00:00Z" // DateTime,
"updatedAt": "2024-01-01T00:00:00Z" // DateTime
}
CreateCalendarRequest
| Field | Type | Required | Description |
|---|---|---|---|
color | String | ||
description | String | ||
eventRules | Array | ||
isPublic | Boolean | Default: False | |
name | String | ✓ | |
slug | String | ||
timezone | String | Default: UTC |
Example:
{
"name": "string" // String,
"slug": "string" // String, optional,
"description": "string" // String, optional,
"timezone": "string" // String, optional, default: UTC,
"color": "string" // String, optional,
"isPublic": false // Boolean, optional, default: False,
"eventRules": [] // Array<EventRuleData>, optional
}
CreateCalendarScheduleRequest
| Field | Type | Required | Description |
|---|---|---|---|
availabilityType | String | ✓ | AVAILABLE or UNAVAILABLE |
daysOfWeek | Array | ||
description | String | ||
endTime | DateTime | ✓ | |
eventTypeIds | Array | Event types allowed in this schedule | |
name | String | ✓ | |
priority | Integer | Default: 0 | |
recurrenceEndDate | DateTime | ||
recurrenceRule | Object | ||
recurrenceType | String | ✓ | ONCE, DAILY, WEEKLY, MONTHLY, or CUSTOM |
startTime | DateTime | ✓ |
Example:
{
"name": "string" // String,
"description": "string" // String, optional,
"availabilityType": "string" // String, AVAILABLE or UNAVAILABLE,
"recurrenceType": "string" // String, ONCE, DAILY, WEEKLY, MONTHLY, or CUSTOM,
"startTime": "2024-01-01T00:00:00Z" // DateTime,
"endTime": "2024-01-01T00:00:00Z" // DateTime,
"recurrenceRule": {} // Object, optional,
"recurrenceEndDate": "2024-01-01T00:00:00Z" // DateTime, optional,
"daysOfWeek": "string" // Array<String>, optional,
"priority": 0 // Integer, optional, default: 0,
"eventTypeIds": 0 // Array<Integer>, optional, Event types allowed in this schedule
}
UpdateCalendarRequest
| Field | Type | Required | Description |
|---|---|---|---|
color | String | ||
description | String | ||
eventRules | Array | ||
isPublic | Boolean | ||
name | String | ||
slug | String | ||
timezone | String |
Example:
{
"name": "string" // String, optional,
"slug": "string" // String, optional,
"description": "string" // String, optional,
"timezone": "string" // String, optional,
"color": "string" // String, optional,
"isPublic": false // Boolean, optional,
"eventRules": [] // Array<EventRuleData>, optional
}
UpdateCalendarScheduleRequest
| Field | Type | Required | Description |
|---|---|---|---|
availabilityType | String | ||
daysOfWeek | Array | ||
description | String | ||
endTime | DateTime | ||
eventTypeIds | Array | ||
name | String | ||
priority | Integer | ||
recurrenceEndDate | DateTime | ||
recurrenceRule | Object | ||
recurrenceType | String | ||
startTime | DateTime |
Example:
{
"name": "string" // String, optional,
"description": "string" // String, optional,
"availabilityType": "string" // String, optional,
"recurrenceType": "string" // String, optional,
"startTime": "2024-01-01T00:00:00Z" // DateTime, optional,
"endTime": "2024-01-01T00:00:00Z" // DateTime, optional,
"recurrenceRule": {} // Object, optional,
"recurrenceEndDate": "2024-01-01T00:00:00Z" // DateTime, optional,
"daysOfWeek": "string" // Array<String>, optional,
"priority": 0 // Integer, optional,
"eventTypeIds": 0 // Array<Integer>, optional
}
Endpoints
GET /api/v2/w/{workspace_uuid}/calendars- ListPOST /api/v2/w/{workspace_uuid}/calendars- CreateDELETE /api/v2/w/{workspace_uuid}/calendars/{calendar_id}- Delete Calendar IdGET /api/v2/w/{workspace_uuid}/calendars/{calendar_id}- Get Calendar IdPUT /api/v2/w/{workspace_uuid}/calendars/{calendar_id}- Update Calendar IdGET /api/v2/w/{workspace_uuid}/calendars/{calendar_id}/schedules- SchedulesPOST /api/v2/w/{workspace_uuid}/calendars/{calendar_id}/schedules- SchedulesDELETE /api/v2/w/{workspace_uuid}/calendars/{calendar_id}/schedules/{schedule_id}- Delete SchedulesPUT /api/v2/w/{workspace_uuid}/calendars/{calendar_id}/schedules/{schedule_id}- Update Schedules
List
GET /api/v2/w/{workspace_uuid}/calendars
Description:
List all calendars accessible to the authenticated user.
Authorization: Requires calendars:read scope
Parameters:
page(Integer)pageSize(Integer)includeSchedules(Boolean)
Response: See PaginatedResponse[CalendarResponse]
Create
POST /api/v2/w/{workspace_uuid}/calendars
Description:
Create a new calendar.
Creates an open/unconstrained calendar by default. Users can add schedules and event types later through the edit interface.
Authorization: Requires calendars:write scope
Parameters:
request- See CreateCalendarRequest
Response: See CalendarResponse
Delete Calendar Id
DELETE /api/v2/w/{workspace_uuid}/calendars/{calendar_id}
Description:
Delete a calendar.
Authorization: Requires calendars:admin scope
Parameters:
calendar_id(Integer)
Get Calendar Id
GET /api/v2/w/{workspace_uuid}/calendars/{calendar_id}
Description:
Get a specific calendar by ID.
Authorization: Requires calendars:read scope
Parameters:
calendar_id(Integer)includeSchedules(Boolean)
Response: See CalendarResponse
Update Calendar Id
PUT /api/v2/w/{workspace_uuid}/calendars/{calendar_id}
Description:
Update an existing calendar.
Authorization: Requires calendars:write scope
Parameters:
calendar_id(Integer)request- See UpdateCalendarRequest
Response: See CalendarResponse
Schedules
GET /api/v2/w/{workspace_uuid}/calendars/{calendar_id}/schedules
Description:
List all schedules for a calendar.
Authorization: Requires calendars:read scope
Parameters:
calendar_id(Integer)
Response: List of CalendarScheduleResponse
Schedules
POST /api/v2/w/{workspace_uuid}/calendars/{calendar_id}/schedules
Description:
Create a new schedule for a calendar.
Authorization: Requires calendars:write scope
Parameters:
calendar_id(Integer)request- See CreateCalendarScheduleRequest
Response: See CalendarScheduleResponse
Delete Schedules
DELETE /api/v2/w/{workspace_uuid}/calendars/{calendar_id}/schedules/{schedule_id}
Description:
Delete a schedule.
Authorization: Requires calendars:admin scope
Parameters:
calendar_id(Integer)schedule_id(Integer)
Update Schedules
PUT /api/v2/w/{workspace_uuid}/calendars/{calendar_id}/schedules/{schedule_id}
Description:
Update an existing schedule.
Authorization: Requires calendars:write scope
Parameters:
calendar_id(Integer)schedule_id(Integer)request- See UpdateCalendarScheduleRequest
Response: See CalendarScheduleResponse