Server path:Documentation Index
Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
Use this file to discover all available pages before exploring further.
/cal-teams | Type: Application | PCID required: Yes
Tools
cal_teams_controller_create_team
Create a team Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
appIconLogo | string | No | — | App Icon Logo |
appLogo | string | No | — | App Logo |
autoAcceptCreator | boolean | No | — | If you are a platform customer, don’t pass ‘false’, because then team creator won’t be able to create team event types. |
bannerUrl | string | No | — | URL of the teams banner image which is shown on booker |
bio | string | No | — | The bio value |
brandColor | string | No | — | Brand Color |
calVideoLogo | string | No | — | Cal Video Logo |
darkBrandColor | string | No | — | Dark Brand Color |
hideBookATeamMember | boolean | No | — | Hide Book A Team Member |
hideBranding | boolean | No | — | Hide Branding |
isPrivate | boolean | No | — | Is Private |
logoUrl | string | No | — | URL of the teams logo image |
metadata | object | No | — | You can store any additional data you want here. Metadata must have at most 50 keys, each key up to 40 characters. Values can be strings (up to 500 characters), numbers, or booleans. |
name | string | Yes | — | Name of the team |
slug | string | No | — | Team slug in kebab-case - if not provided will be generated automatically based on name. |
theme | string | No | — | The theme value |
timeFormat | number | No | — | Time Format |
timeZone | string | No | — | Timezone is used to create teams’s default schedule from Monday to Friday from 9AM to 5PM. It will default to Europe/London if not passed. |
weekStart | string | No | — | Week Start |
cal_teams_controller_delete_team
Delete a team Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
cal_teams_controller_get_team
Get a team Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
cal_teams_controller_get_teams
Get teamscal_teams_controller_update_team
Update a team Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
appIconLogo | string | No | — | App Icon Logo |
appLogo | string | No | — | App Logo |
bannerUrl | string | No | — | URL of the teams banner image which is shown on booker |
bio | string | No | — | The bio value |
bookingLimits | string | No | — | Booking Limits |
brandColor | string | No | — | Brand Color |
calVideoLogo | string | No | — | Cal Video Logo |
darkBrandColor | string | No | — | Dark Brand Color |
hideBookATeamMember | boolean | No | — | Hide Book A Team Member |
hideBranding | boolean | No | — | Hide Branding |
includeManagedEventsInLimits | boolean | No | — | Include Managed Events In Limits |
isPrivate | boolean | No | — | Is Private |
logoUrl | string | No | — | URL of the teams logo image |
metadata | object | No | — | You can store any additional data you want here. Metadata must have at most 50 keys, each key up to 40 characters. Values can be strings (up to 500 characters), numbers, or booleans. |
name | string | No | — | Name of the team |
slug | string | No | — | Team slug |
theme | string | No | — | The theme value |
timeFormat | number | No | — | Time Format |
timeZone | string | No | — | Timezone is used to create teams’s default schedule from Monday to Friday from 9AM to 5PM. It will default to Europe/London if not passed. |
weekStart | string | No | — | Week Start |
cal_teams_event_types_controller_create_phone_call
Create a phone call Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
eventTypeId | number | Yes | — | Event Type Id |
orgId | number | Yes | — | Org Id |
teamId | number | Yes | — | Team Id |
beginMessage | string | No | — | Begin message |
calApiKey | string | Yes | — | CAL API Key |
enabled | boolean | Yes | — | Enabled status |
generalPrompt | string | No | — | General prompt |
guestCompany | string | No | — | Guest company |
guestEmail | string | No | — | Guest email |
guestName | string | No | — | Guest name |
numberToCall | string | Yes | — | Number to call |
schedulerName | string | No | — | Scheduler name |
templateType | string | Yes | — | Template type |
yourPhoneNumber | string | Yes | — | Your phone number |
cal_teams_event_types_controller_create_team_event_type
Create an event type Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
afterEventBuffer | number | No | — | Extra time automatically blocked on your calendar after a meeting ends. This gives you time to wrap up, add notes, or decompress before your next commitment. |
allowReschedulingCancelledBookings | boolean | No | — | When enabled, users will be able to create a new booking when trying to reschedule a cancelled booking. |
allowReschedulingPastBookings | boolean | No | — | Enabling this option allows for past events to be rescheduled. |
assignAllTeamMembers | boolean | No | — | If true, all current and future team members will be assigned to this event type. Provide either assignAllTeamMembers or hosts but not both |
beforeEventBuffer | number | No | — | Extra time automatically blocked on your calendar before a meeting starts. This gives you time to prepare, review notes, or transition from your previous activity. |
bookerActiveBookingsLimit | object | No | — | Limit the number of active bookings a booker can make for this event type. |
bookerLayouts | object | No | — | Should booker have week, month or column view. Specify default layout and enabled layouts user can pick. |
bookingFields | any[] | No | — | Custom fields that can be added to the booking form when the event is booked by someone. By default booking form has name and email field. |
bookingLimitsCount | object | No | — | Limit how many times this event can be booked |
bookingLimitsDuration | object | No | — | Limit total amount of time that this event can be booked |
bookingRequiresAuthentication | boolean | No | — | Boolean to require authentication for booking this event type via api. If true, only authenticated users who are the event-type owner or org/team admin/owner can book this event type. |
bookingWindow | object | No | — | Limit how far in the future this event can be booked |
calVideoSettings | object | No | — | Cal video settings for the event type. Platform customers can’t manage this property because currently we have no way of determining if managed user is a host or an attendee. |
color | object | No | — | The color value |
confirmationPolicy | object | No | — | Specify how the booking needs to be manually confirmed before it is pushed to the integrations and a confirmation mail is sent. |
customName | string | No | — | Customizable event name with valid variables: {Event type title}, {Organiser}, {Scheduler}, {Location}, {Organiser first name}, {Scheduler first name}, {Scheduler last name}, {Event duration}, {LOCATION}, {HOST/ATTENDEE}, {HOST}, {ATTENDEE}, {USER} |
description | string | No | — | The description value |
destinationCalendar | object | No | — | Destination Calendar |
disableCancelling | object | No | — | Settings for disabling cancelling of this event type. |
disableGuests | boolean | No | — | If true, person booking this event can’t add guests via their emails. |
disableRescheduling | object | No | — | Settings for disabling rescheduling of this event type. Can be always disabled or disabled when less than X minutes before the meeting. |
emailSettings | object | No | — | Email settings for this event type - only available for organization team event types. |
hidden | boolean | No | — | The hidden value |
hideCalendarEventDetails | boolean | No | — | Hide Calendar Event Details |
hideCalendarNotes | boolean | No | — | Hide Calendar Notes |
hideOrganizerEmail | boolean | No | — | Boolean to Hide organizer’s email address from the booking screen, email notifications, and calendar events |
hosts | object[] | No | — | Hosts contain specific team members you want to assign to this event type, but if you want to assign all team members, use assignAllTeamMembers: true instead and omit this field. For platform customers the hosts can include userIds only of managed users. Provide either hosts or assignAllTeamMembers but not both |
interfaceLanguage | string | No | — | Set preferred language for the booking interface. Use empty string for visitor’s browser language (default). |
lengthInMinutes | number | Yes | — | Length In Minutes |
lengthInMinutesOptions | string[] | No | — | If you want that user can choose between different lengths of the event you can specify them here. Must include the provided lengthInMinutes. |
locations | any[] | No | — | Locations where the event will take place. If not provided, cal video link will be used as the location. Note: Setting a location to a conferencing app does not install the app - the app must already be installed. Via API, only Google Meet (google-meet), Microsoft Teams (office365-video), and Zoom (zoom) can be installed. Cal Video (cal-video) is installed by default. All other conferencing apps must be connected via the Cal.com web app and are not available for Platform plan customers. You can only set an event type location to an app that has already been installed or connected. |
lockTimeZoneToggleOnBookingPage | boolean | No | — | Lock Time Zone Toggle On Booking Page |
minimumBookingNotice | number | No | — | Minimum number of minutes before the event that a booking can be made. |
offsetStart | number | No | — | Offset timeslots shown to bookers by a specified number of minutes |
onlyShowFirstAvailableSlot | boolean | No | — | This will limit your availability for this event type to one slot per day, scheduled at the earliest available time. |
recurrence | object | No | — | Create a recurring event type. |
requiresBookerEmailVerification | boolean | No | — | Requires Booker Email Verification |
rescheduleWithSameRoundRobinHost | boolean | No | — | Rescheduled events will be assigned to the same host as initially scheduled. |
scheduleId | number | No | — | If you want that this event has different schedule than user’s default one you can specify it here. |
schedulingType | string | Yes | — | The scheduling type for the team event - collective, roundRobin or managed. |
seats | object | No | — | Create an event type with multiple seats. |
showOptimizedSlots | boolean | No | — | Arrange time slots to optimize availability. |
slotInterval | number | No | — | Number representing length of each slot when event is booked. By default it equal length of the event type. If event length is 60 minutes then we would have slots 9AM, 10AM, 11AM etc. but if it was changed to 30 minutes then we would have slots 9AM, 9:30AM, 10AM, 10:30AM etc. as the available times to book the 60 minute event. |
slug | string | Yes | — | The slug value |
successRedirectUrl | string | No | — | A valid URL where the booker will redirect to, once the booking is completed successfully |
title | string | Yes | — | The title value |
useDestinationCalendarEmail | boolean | No | — | Use Destination Calendar Email |
cal_teams_event_types_controller_delete_team_event_type
Delete a team event type Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
eventTypeId | number | Yes | — | Event Type Id |
cal_teams_event_types_controller_get_team_event_type
Get an event type Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
eventTypeId | number | Yes | — | Event Type Id |
cal_teams_event_types_controller_get_team_event_types
Get team event types Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
eventSlug | string | No | — | Slug of team event type to return. |
hostsLimit | number | No | — | Specifies the maximum number of hosts to include in the response. This limit helps optimize performance. If not provided, all Hosts will be fetched. |
sortCreatedAt | string | No | — | Sort event types by creation date. When not provided, no explicit ordering is applied. |
cal_teams_event_types_controller_update_team_event_type
Update a team event type Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
eventTypeId | number | Yes | — | Event Type Id |
afterEventBuffer | number | No | — | Extra time automatically blocked on your calendar after a meeting ends. This gives you time to wrap up, add notes, or decompress before your next commitment. |
allowReschedulingCancelledBookings | boolean | No | — | When enabled, users will be able to create a new booking when trying to reschedule a cancelled booking. |
allowReschedulingPastBookings | boolean | No | — | Enabling this option allows for past events to be rescheduled. |
assignAllTeamMembers | boolean | No | — | If true, all current and future team members will be assigned to this event type. Provide either assignAllTeamMembers or hosts but not both |
beforeEventBuffer | number | No | — | Extra time automatically blocked on your calendar before a meeting starts. This gives you time to prepare, review notes, or transition from your previous activity. |
bookerActiveBookingsLimit | object | No | — | Limit the number of active bookings a booker can make for this event type. |
bookerLayouts | object | No | — | Should booker have week, month or column view. Specify default layout and enabled layouts user can pick. |
bookingFields | any[] | No | — | Complete set of booking form fields. This array replaces all existing booking fields. To modify existing fields, first fetch the current event type, then include all desired fields in this array. Sending only one field will remove all other custom fields, keeping only default fields plus the provided one. |
bookingLimitsCount | object | No | — | Limit how many times this event can be booked |
bookingLimitsDuration | object | No | — | Limit total amount of time that this event can be booked |
bookingRequiresAuthentication | boolean | No | — | Boolean to require authentication for booking this event type via api. If true, only authenticated users who are the event-type owner or org/team admin/owner can book this event type. |
bookingWindow | object | No | — | Limit how far in the future this event can be booked |
calVideoSettings | object | No | — | Cal video settings for the event type |
color | object | No | — | The color value |
confirmationPolicy | object | No | — | Specify how the booking needs to be manually confirmed before it is pushed to the integrations and a confirmation mail is sent. |
customName | string | No | — | Customizable event name with valid variables: {Event type title}, {Organiser}, {Scheduler}, {Location}, {Organiser first name}, {Scheduler first name}, {Scheduler last name}, {Event duration}, {LOCATION}, {HOST/ATTENDEE}, {HOST}, {ATTENDEE}, {USER} |
description | string | No | — | The description value |
destinationCalendar | object | No | — | Destination Calendar |
disableCancelling | object | No | — | Settings for disabling cancelling of this event type. |
disableGuests | boolean | No | — | If true, person booking this event can’t add guests via their emails. |
disableRescheduling | object | No | — | Settings for disabling rescheduling of this event type. Can be always disabled or disabled when less than X minutes before the meeting. |
emailSettings | object | No | — | Email settings for this event type. Only available for organization team event types. |
hidden | boolean | No | — | The hidden value |
hideCalendarEventDetails | boolean | No | — | Hide Calendar Event Details |
hideCalendarNotes | boolean | No | — | Hide Calendar Notes |
hideOrganizerEmail | boolean | No | — | Boolean to Hide organizer’s email address from the booking screen, email notifications, and calendar events |
hosts | object[] | No | — | Hosts contain specific team members you want to assign to this event type, but if you want to assign all team members, use assignAllTeamMembers: true instead and omit this field. For platform customers the hosts can include userIds only of managed users. Provide either hosts or assignAllTeamMembers but not both |
interfaceLanguage | string | No | — | Set preferred language for the booking interface. Use empty string for visitor’s browser language (default). |
lengthInMinutes | number | No | — | Length In Minutes |
lengthInMinutesOptions | string[] | No | — | If you want that user can choose between different lengths of the event you can specify them here. Must include the provided lengthInMinutes. |
locations | any[] | No | — | Locations where the event will take place. If not provided, cal video link will be used as the location. Note: Setting a location to a conferencing app does not install the app - the app must already be installed. Via API, only Google Meet (google-meet), Microsoft Teams (office365-video), and Zoom (zoom) can be installed. Cal Video (cal-video) is installed by default. All other conferencing apps must be connected via the Cal.com web app and are not available for Platform plan customers. You can only set an event type location to an app that has already been installed or connected. |
lockTimeZoneToggleOnBookingPage | boolean | No | — | Lock Time Zone Toggle On Booking Page |
minimumBookingNotice | number | No | — | Minimum number of minutes before the event that a booking can be made. |
offsetStart | number | No | — | Offset timeslots shown to bookers by a specified number of minutes |
onlyShowFirstAvailableSlot | boolean | No | — | This will limit your availability for this event type to one slot per day, scheduled at the earliest available time. |
recurrence | object | No | — | Create a recurring event type. |
requiresBookerEmailVerification | boolean | No | — | Requires Booker Email Verification |
rescheduleWithSameRoundRobinHost | boolean | No | — | Rescheduled events will be assigned to the same host as initially scheduled. |
scheduleId | number | No | — | If you want that this event has different schedule than user’s default one you can specify it here. |
schedulingType | string | No | — | The scheduling type for the team event - collective or roundRobin. ❗If you change scheduling type you must also provide hosts or assignAllTeamMembers in the request body, otherwise the event type will have no hosts - this is required because in case of collective event type all hosts are mandatory but in case of round robin some or non can be mandatory so we can’t predict how you want the hosts to be setup which is why you must provide that information. If you want to convert round robin or collective into managed or managed into round robin or collective then you will have to create a new team event type and delete old one. |
seats | object | No | — | Create an event type with multiple seats. |
showOptimizedSlots | boolean | No | — | Arrange time slots to optimize availability. |
slotInterval | number | No | — | Number representing length of each slot when event is booked. By default it equal length of the event type. If event length is 60 minutes then we would have slots 9AM, 10AM, 11AM etc. but if it was changed to 30 minutes then we would have slots 9AM, 9:30AM, 10AM, 10:30AM etc. as the available times to book the 60 minute event. |
slug | string | No | — | The slug value |
successRedirectUrl | string | No | — | A valid URL where the booker will redirect to, once the booking is completed successfully |
title | string | No | — | The title value |
useDestinationCalendarEmail | boolean | No | — | Use Destination Calendar Email |
cal_teams_memberships_controller_create_team_membership
Create a membership Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
accepted | boolean | No | — | The accepted value |
disableImpersonation | boolean | No | — | Disable Impersonation |
role | string | No | — | The role value |
userId | number | Yes | — | User Id |
cal_teams_memberships_controller_delete_team_membership
Delete a membership Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
membershipId | number | Yes | — | Membership Id |
cal_teams_memberships_controller_get_team_membership
Get a membership Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
membershipId | number | Yes | — | Membership Id |
cal_teams_memberships_controller_get_team_memberships
Get all memberships Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
take | number | No | — | Maximum number of items to return |
skip | number | No | — | Number of items to skip |
emails | string[] | No | — | Filter team memberships by email addresses. If you want to filter by multiple emails, separate them with a comma (max 20 emails for performance). |
cal_teams_memberships_controller_update_team_membership
Update membership Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
teamId | number | Yes | — | Team Id |
membershipId | number | Yes | — | Membership Id |
accepted | boolean | No | — | The accepted value |
disableImpersonation | boolean | No | — | Disable Impersonation |
role | string | No | — | The role value |

