Skip to main content

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​

FieldTypeRequiredDescription
calendarSourceString✓
colorString✓
createdAtDateTime✓
descriptionString✓
eventRulesArray<EventRuleResponse>✓
idInteger✓
isPublicBoolean✓
lastSyncedAtDateTime
nameString✓
ownerIdInteger✓
ownerNameString✓
remoteCalendarIdString
schedulesArray<CalendarScheduleResponse>
slugString✓
syncErrorString
syncStatusString
templateUuidString✓
timezoneString✓
updatedAtDateTime✓
uuidString✓

Example:

{
"id": 0,
"uuid": "string",
"templateUuid": "string",
"name": "string",
"slug": "string",
"description": "string",
"timezone": "string",
"color": "string",
"isPublic": false,
"calendarSource": "string",
"ownerId": 0,
"ownerName": "string",
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z",
"eventRules": []
}

CalendarScheduleResponse​

FieldTypeRequiredDescription
availabilityTypeString✓
createdAtDateTime✓
daysOfWeekArray✓
descriptionString✓
endTimeDateTime✓
eventTypeIdsArray
idInteger✓
nameString✓
priorityInteger✓
recurrenceEndDateDateTime✓
recurrenceRuleObject✓
recurrenceTypeString✓
startTimeDateTime✓
updatedAtDateTime✓
uuidString✓

Example:

{
"id": 0,
"uuid": "string",
"name": "string",
"description": "string",
"availabilityType": "string",
"recurrenceType": "string",
"startTime": "2024-01-01T00:00:00Z",
"endTime": "2024-01-01T00:00:00Z",
"recurrenceRule": {},
"recurrenceEndDate": "2024-01-01T00:00:00Z",
"daysOfWeek": [],
"priority": 0,
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
}

CreateCalendarRequest​

FieldTypeRequiredDescription
colorString
descriptionString
eventRulesArray<EventRuleData> | null
isPublicBooleanDefault: False
nameString✓
slugString
timezoneStringDefault: UTC

Example:

{
"name": "string",
"timezone": "UTC",
"isPublic": false
}

CreateCalendarScheduleRequest​

FieldTypeRequiredDescription
availabilityTypeString✓AVAILABLE or UNAVAILABLE
daysOfWeekArray
descriptionString
endTimeDateTime✓
eventTypeIdsArrayEvent types allowed in this schedule
nameString✓
priorityIntegerDefault: 0
recurrenceEndDateDateTime
recurrenceRuleObject
recurrenceTypeString✓ONCE, DAILY, WEEKLY, MONTHLY, or CUSTOM
startTimeDateTime✓

Example:

{
"name": "string",
"availabilityType": "string",
"recurrenceType": "string",
"startTime": "2024-01-01T00:00:00Z",
"endTime": "2024-01-01T00:00:00Z",
"priority": 0
}

EventRuleData​

FieldTypeRequiredDescription
actionParamsdict[str, Any]Parameters for the action
actionType<enum EventRuleActionType✓The action type to execute
activeBooleanWhether the rule is active (default: True)
conditionsStringCEL condition expression for conditional execution
delayIntegerDelay in seconds before executing the action (default: 0)
eventType<enum EventRuleEventType✓The event type that triggers this rule
nameStringDisplay name for the rule
objectTypeEventRuleObjectTypeThe object type this rule applies to (inferred from parent if not provided)
triggerParamsdict[str, Any]Parameters for the trigger (e.g., webhook config)
uuidString✓UUID for matching/creating event rules

Example:

{
"uuid": "string",
"eventType": null,
"actionType": null,
"active": true,
"delay": 0
}

EventRuleResponse​

FieldTypeRequiredDescription
actionParamsDict[str, Any]✓
actionSetLockedBooleanDefault: False
actionType<enum EventRuleActionType✓
activeBoolean✓
appConnectionIdInteger
calendarEventTypeIdInteger✓
calendarIdInteger✓
celBlockedAtDateTime
conditionsString✓
createdAtDateTime✓
dataTypeIdInteger✓
dataTypeNameString
delayInteger✓
errorString✓
errorMessageString✓
eventType<enum EventRuleEventType✓
failedAtDateTime✓
idInteger✓
journeyIdInteger
journeyStepIdInteger✓
nameString✓
objectType<enum EventRuleObjectType✓
orderInteger✓
routineIdInteger✓
taskIdInteger✓
taskNameString
taskWorkflowIdInteger
triggerParamsDict[str, Any]✓
updatedAtDateTime✓
uuidString✓
workflowRevisionIdInteger✓

Example:

{
"id": 0,
"uuid": "string",
"objectType": null,
"name": "string",
"eventType": null,
"conditions": "string",
"actionType": null,
"actionParams": {},
"triggerParams": {},
"active": false,
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z",
"taskId": 0,
"dataTypeId": 0,
"routineId": 0,
"workflowRevisionId": 0,
"calendarId": 0,
"calendarEventTypeId": 0,
"journeyStepId": 0,
"error": "string",
"errorMessage": "string",
"failedAt": "2024-01-01T00:00:00Z",
"delay": 0,
"order": 0,
"actionSetLocked": false
}

PaginatedResponse[CalendarResponse]​

FieldTypeRequiredDescription
itemsArray<CalendarResponse>✓
pageInteger✓
pageSizeInteger✓
totalInteger✓
totalPagesInteger✓

Example:

{
"items": [],
"total": 0,
"page": 0,
"pageSize": 0,
"totalPages": 0
}

UpdateCalendarRequest​

FieldTypeRequiredDescription
colorString
descriptionString
eventRulesArray<EventRuleData> | null
isPublicBoolean
nameString
slugString
timezoneString

Example:

{}

UpdateCalendarScheduleRequest​

FieldTypeRequiredDescription
availabilityTypeString
daysOfWeekArray
descriptionString
endTimeDateTime
eventTypeIdsArray
nameString
priorityInteger
recurrenceEndDateDateTime
recurrenceRuleObject
recurrenceTypeString
startTimeDateTime

Example:

{}

Endpoints​

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:

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)

Response: Object


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:

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:

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)

Response: Object


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:

Response: See CalendarScheduleResponse