cal.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.
Bookings
cancel
bookings.cancel
Cancel a booking [DESTRUCTIVE]
Risk: destructive
await corsair.cal.api.bookings.cancel({});
| Name | Type | Required | Description |
|---|---|---|---|
uid | string | Yes | — |
cancellationReason | string | No | — |
allRemainingBookings | boolean | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
status | string | Yes | — |
data | object | No | — |
data full type
data full type
{
id: number,
uid: string,
title?: string,
description?: string | null,
status: string,
start?: string,
end?: string,
duration?: number,
eventTypeId?: number,
eventType?: {
id: number,
slug?: string
},
meetingUrl?: string | null,
location?: string | null,
absentHost?: boolean,
createdAt?: string,
updatedAt?: string,
cancellationReason?: string | null,
reschedulingReason?: string | null,
rescheduledFromUid?: string | null,
attendees?: {
name: string,
email: string,
timeZone: string,
language?: string,
absent?: boolean
}[],
hosts?: {
id: number,
name: string,
email?: string,
username?: string,
timeZone?: string
}[],
guests?: string[],
metadata?: {
} | null,
bookingFieldsResponses?: {
} | null
}
confirm
bookings.confirm
Confirm a pending booking
Risk: write
await corsair.cal.api.bookings.confirm({});
| Name | Type | Required | Description |
|---|---|---|---|
uid | string | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
status | string | Yes | — |
data | object | No | — |
data full type
data full type
{
id: number,
uid: string,
title?: string,
description?: string | null,
status: string,
start?: string,
end?: string,
duration?: number,
eventTypeId?: number,
eventType?: {
id: number,
slug?: string
},
meetingUrl?: string | null,
location?: string | null,
absentHost?: boolean,
createdAt?: string,
updatedAt?: string,
cancellationReason?: string | null,
reschedulingReason?: string | null,
rescheduledFromUid?: string | null,
attendees?: {
name: string,
email: string,
timeZone: string,
language?: string,
absent?: boolean
}[],
hosts?: {
id: number,
name: string,
email?: string,
username?: string,
timeZone?: string
}[],
guests?: string[],
metadata?: {
} | null,
bookingFieldsResponses?: {
} | null
}
create
bookings.create
Create a new booking
Risk: write
await corsair.cal.api.bookings.create({});
| Name | Type | Required | Description |
|---|---|---|---|
start | string | Yes | — |
eventTypeId | number | Yes | — |
attendee | object | Yes | — |
meetingUrl | string | No | — |
lengthInMinutes | number | No | — |
bookingFieldsResponses | object | No | — |
metadata | object | No | — |
attendee full type
attendee full type
{
name: string,
email: string,
timeZone: string
}
bookingFieldsResponses full type
bookingFieldsResponses full type
{
}
metadata full type
metadata full type
{
}
| Name | Type | Required | Description |
|---|---|---|---|
status | string | Yes | — |
data | object | No | — |
data full type
data full type
{
id: number,
uid: string,
title?: string,
description?: string | null,
status: string,
start?: string,
end?: string,
duration?: number,
eventTypeId?: number,
eventType?: {
id: number,
slug?: string
},
meetingUrl?: string | null,
location?: string | null,
absentHost?: boolean,
createdAt?: string,
updatedAt?: string,
cancellationReason?: string | null,
reschedulingReason?: string | null,
rescheduledFromUid?: string | null,
attendees?: {
name: string,
email: string,
timeZone: string,
language?: string,
absent?: boolean
}[],
hosts?: {
id: number,
name: string,
email?: string,
username?: string,
timeZone?: string
}[],
guests?: string[],
metadata?: {
} | null,
bookingFieldsResponses?: {
} | null
}
decline
bookings.decline
Decline a pending booking
Risk: write
await corsair.cal.api.bookings.decline({});
| Name | Type | Required | Description |
|---|---|---|---|
uid | string | Yes | — |
reason | string | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
status | string | Yes | — |
data | object | No | — |
data full type
data full type
{
id: number,
uid: string,
title?: string,
description?: string | null,
status: string,
start?: string,
end?: string,
duration?: number,
eventTypeId?: number,
eventType?: {
id: number,
slug?: string
},
meetingUrl?: string | null,
location?: string | null,
absentHost?: boolean,
createdAt?: string,
updatedAt?: string,
cancellationReason?: string | null,
reschedulingReason?: string | null,
rescheduledFromUid?: string | null,
attendees?: {
name: string,
email: string,
timeZone: string,
language?: string,
absent?: boolean
}[],
hosts?: {
id: number,
name: string,
email?: string,
username?: string,
timeZone?: string
}[],
guests?: string[],
metadata?: {
} | null,
bookingFieldsResponses?: {
} | null
}
get
bookings.get
Get a booking by UID
Risk: read
await corsair.cal.api.bookings.get({});
| Name | Type | Required | Description |
|---|---|---|---|
uid | string | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
status | string | Yes | — |
data | object | No | — |
data full type
data full type
{
id: number,
uid: string,
title?: string,
description?: string | null,
status: string,
start?: string,
end?: string,
duration?: number,
eventTypeId?: number,
eventType?: {
id: number,
slug?: string
},
meetingUrl?: string | null,
location?: string | null,
absentHost?: boolean,
createdAt?: string,
updatedAt?: string,
cancellationReason?: string | null,
reschedulingReason?: string | null,
rescheduledFromUid?: string | null,
attendees?: {
name: string,
email: string,
timeZone: string,
language?: string,
absent?: boolean
}[],
hosts?: {
id: number,
name: string,
email?: string,
username?: string,
timeZone?: string
}[],
guests?: string[],
metadata?: {
} | null,
bookingFieldsResponses?: {
} | null
}
list
bookings.list
List all bookings
Risk: read
await corsair.cal.api.bookings.list({});
| Name | Type | Required | Description |
|---|---|---|---|
status | upcoming | recurring | past | cancelled | unconfirmed | No | — |
attendeeEmail | string | No | — |
attendeeName | string | No | — |
eventTypeIds | string | No | — |
eventTypeId | number | No | — |
teamsIds | string | No | — |
teamId | number | No | — |
afterStart | string | No | — |
beforeEnd | string | No | — |
sortStart | asc | desc | No | — |
sortEnd | asc | desc | No | — |
sortCreated | asc | desc | No | — |
take | number | No | — |
skip | number | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
status | string | Yes | — |
data | object[] | No | — |
data full type
data full type
{
id: number,
uid: string,
title?: string,
description?: string | null,
status: string,
start?: string,
end?: string,
duration?: number,
eventTypeId?: number,
eventType?: {
id: number,
slug?: string
},
meetingUrl?: string | null,
location?: string | null,
absentHost?: boolean,
createdAt?: string,
updatedAt?: string,
cancellationReason?: string | null,
reschedulingReason?: string | null,
rescheduledFromUid?: string | null,
attendees?: {
name: string,
email: string,
timeZone: string,
language?: string,
absent?: boolean
}[],
hosts?: {
id: number,
name: string,
email?: string,
username?: string,
timeZone?: string
}[],
guests?: string[],
metadata?: {
} | null,
bookingFieldsResponses?: {
} | null
}[]
reschedule
bookings.reschedule
Reschedule a booking to a new time
Risk: write
await corsair.cal.api.bookings.reschedule({});
| Name | Type | Required | Description |
|---|---|---|---|
uid | string | Yes | — |
start | string | Yes | — |
rescheduledBy | string | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
status | string | Yes | — |
data | object | No | — |
data full type
data full type
{
id: number,
uid: string,
title?: string,
description?: string | null,
status: string,
start?: string,
end?: string,
duration?: number,
eventTypeId?: number,
eventType?: {
id: number,
slug?: string
},
meetingUrl?: string | null,
location?: string | null,
absentHost?: boolean,
createdAt?: string,
updatedAt?: string,
cancellationReason?: string | null,
reschedulingReason?: string | null,
rescheduledFromUid?: string | null,
attendees?: {
name: string,
email: string,
timeZone: string,
language?: string,
absent?: boolean
}[],
hosts?: {
id: number,
name: string,
email?: string,
username?: string,
timeZone?: string
}[],
guests?: string[],
metadata?: {
} | null,
bookingFieldsResponses?: {
} | null
}