# Cal.com Docs ## Docs - [Creates a new attendee](https://cal.com/docs/api-reference/v1/attendees/creates-a-new-attendee.md) - [Edit an existing attendee](https://cal.com/docs/api-reference/v1/attendees/edit-an-existing-attendee.md) - [Find all attendees](https://cal.com/docs/api-reference/v1/attendees/find-all-attendees.md) - [Find an attendee](https://cal.com/docs/api-reference/v1/attendees/find-an-attendee.md) - [Remove an existing attendee](https://cal.com/docs/api-reference/v1/attendees/remove-an-existing-attendee.md) - [Authentication](https://cal.com/docs/api-reference/v1/authentication.md) - [Creates a new availability](https://cal.com/docs/api-reference/v1/availabilities/creates-a-new-availability.md) - [Edit an existing availability](https://cal.com/docs/api-reference/v1/availabilities/edit-an-existing-availability.md) - [Find an availability](https://cal.com/docs/api-reference/v1/availabilities/find-an-availability.md) - [Remove an existing availability](https://cal.com/docs/api-reference/v1/availabilities/remove-an-existing-availability.md) - [Creates a new booking reference](https://cal.com/docs/api-reference/v1/booking-references/creates-a-new-booking-reference.md) - [Edit an existing booking reference](https://cal.com/docs/api-reference/v1/booking-references/edit-an-existing-booking-reference.md) - [Find a booking reference](https://cal.com/docs/api-reference/v1/booking-references/find-a-booking-reference.md) - [Find all booking references](https://cal.com/docs/api-reference/v1/booking-references/find-all-booking-references.md) - [Remove an existing booking reference](https://cal.com/docs/api-reference/v1/booking-references/remove-an-existing-booking-reference.md) - [Booking cancellation](https://cal.com/docs/api-reference/v1/bookings/booking-cancellation.md) - [Creates a new booking](https://cal.com/docs/api-reference/v1/bookings/creates-a-new-booking.md) - [Edit an existing booking](https://cal.com/docs/api-reference/v1/bookings/edit-an-existing-booking.md) - [Find a booking](https://cal.com/docs/api-reference/v1/bookings/find-a-booking.md) - [Find all Cal video recordings of that booking](https://cal.com/docs/api-reference/v1/bookings/find-all-cal-video-recordings-of-that-booking.md) - [Find all Cal video transcripts of that booking](https://cal.com/docs/api-reference/v1/bookings/find-all-cal-video-transcripts-of-that-booking.md) - [Find all Cal video transcripts of that recording](https://cal.com/docs/api-reference/v1/bookings/find-all-cal-video-transcripts-of-that-recording.md) - [Create a credential record for a user](https://cal.com/docs/api-reference/v1/credentials/create-a-credential-record-for-a-user.md) - [Delete a credential record for a user](https://cal.com/docs/api-reference/v1/credentials/delete-a-credential-record-for-a-user.md) - [Get all app credentials for a user](https://cal.com/docs/api-reference/v1/credentials/get-all-app-credentials-for-a-user.md) - [Update a credential record for a user](https://cal.com/docs/api-reference/v1/credentials/update-a-credential-record-for-a-user.md) - [Creates a new destination calendar](https://cal.com/docs/api-reference/v1/destination-calendars/creates-a-new-destination-calendar.md) - [Edit an existing destination calendar](https://cal.com/docs/api-reference/v1/destination-calendars/edit-an-existing-destination-calendar.md) - [Find a destination calendar](https://cal.com/docs/api-reference/v1/destination-calendars/find-a-destination-calendar.md) - [Find all destination calendars](https://cal.com/docs/api-reference/v1/destination-calendars/find-all-destination-calendars.md) - [Remove an existing destination calendar](https://cal.com/docs/api-reference/v1/destination-calendars/remove-an-existing-destination-calendar.md) - [Errors](https://cal.com/docs/api-reference/v1/errors.md) - [Creates a new event type](https://cal.com/docs/api-reference/v1/event-types/creates-a-new-event-type.md) - [Edit an existing eventType](https://cal.com/docs/api-reference/v1/event-types/edit-an-existing-eventtype.md) - [Find a eventType](https://cal.com/docs/api-reference/v1/event-types/find-a-eventtype.md) - [Find all event types](https://cal.com/docs/api-reference/v1/event-types/find-all-event-types.md) - [Find all event types that belong to teamId](https://cal.com/docs/api-reference/v1/event-types/find-all-event-types-that-belong-to-teamid.md) - [Remove an existing eventType](https://cal.com/docs/api-reference/v1/event-types/remove-an-existing-eventtype.md) - [Quick start](https://cal.com/docs/api-reference/v1/introduction.md) - [Creates a new membership](https://cal.com/docs/api-reference/v1/memberships/creates-a-new-membership.md) - [Edit an existing membership](https://cal.com/docs/api-reference/v1/memberships/edit-an-existing-membership.md) - [Find a membership by userID and teamID](https://cal.com/docs/api-reference/v1/memberships/find-a-membership-by-userid-and-teamid.md) - [Find all memberships](https://cal.com/docs/api-reference/v1/memberships/find-all-memberships.md) - [Remove an existing membership](https://cal.com/docs/api-reference/v1/memberships/remove-an-existing-membership.md) - [Find a payment](https://cal.com/docs/api-reference/v1/payments/find-a-payment.md) - [Find all payments](https://cal.com/docs/api-reference/v1/payments/find-all-payments.md) - [Rate limits](https://cal.com/docs/api-reference/v1/rate-limit.md) - [Creates a new schedule](https://cal.com/docs/api-reference/v1/schedules/creates-a-new-schedule.md) - [Edit an existing schedule](https://cal.com/docs/api-reference/v1/schedules/edit-an-existing-schedule.md) - [Find a schedule](https://cal.com/docs/api-reference/v1/schedules/find-a-schedule.md) - [Find all schedules](https://cal.com/docs/api-reference/v1/schedules/find-all-schedules.md) - [Remove an existing schedule](https://cal.com/docs/api-reference/v1/schedules/remove-an-existing-schedule.md) - [Creates a new selected calendar](https://cal.com/docs/api-reference/v1/selected-calendars/creates-a-new-selected-calendar.md) - [Edit a selected calendar](https://cal.com/docs/api-reference/v1/selected-calendars/edit-a-selected-calendar.md) - [Find a selected calendar by providing the compoundId(userId_integration_externalId) separated by `_`](https://cal.com/docs/api-reference/v1/selected-calendars/find-a-selected-calendar-by-providing-the-compoundiduserid_integration_externalid-separated-by-`_`.md) - [Find all selected calendars](https://cal.com/docs/api-reference/v1/selected-calendars/find-all-selected-calendars.md) - [Remove a selected calendar](https://cal.com/docs/api-reference/v1/selected-calendars/remove-a-selected-calendar.md) - [Get all bookable slots between a datetime range](https://cal.com/docs/api-reference/v1/slots/get-all-bookable-slots-between-a-datetime-range.md) - [Creates a new team](https://cal.com/docs/api-reference/v1/teams/creates-a-new-team.md) - [Edit an existing team](https://cal.com/docs/api-reference/v1/teams/edit-an-existing-team.md) - [Find a team](https://cal.com/docs/api-reference/v1/teams/find-a-team.md) - [Find all teams](https://cal.com/docs/api-reference/v1/teams/find-all-teams.md) - [Remove an existing team](https://cal.com/docs/api-reference/v1/teams/remove-an-existing-team.md) - [Creates a new user](https://cal.com/docs/api-reference/v1/users/creates-a-new-user.md) - [Edit an existing user](https://cal.com/docs/api-reference/v1/users/edit-an-existing-user.md) - [Find a user, returns your user if regular user.](https://cal.com/docs/api-reference/v1/users/find-a-user-returns-your-user-if-regular-user.md) - [Find all users](https://cal.com/docs/api-reference/v1/users/find-all-users.md) - [Remove an existing user](https://cal.com/docs/api-reference/v1/users/remove-an-existing-user.md) - [Creates a new webhook](https://cal.com/docs/api-reference/v1/webhooks/creates-a-new-webhook.md) - [Edit an existing webhook](https://cal.com/docs/api-reference/v1/webhooks/edit-an-existing-webhook.md) - [Find a webhook](https://cal.com/docs/api-reference/v1/webhooks/find-a-webhook.md) - [Find all webhooks](https://cal.com/docs/api-reference/v1/webhooks/find-all-webhooks.md) - [Remove an existing hook](https://cal.com/docs/api-reference/v1/webhooks/remove-an-existing-hook.md) - [Refresh API Key](https://cal.com/docs/api-reference/v2/api-keys/refresh-api-key.md): Generate a new API key and delete the current one. Provide API key to refresh as a Bearer token in the Authorization header (e.g. "Authorization: Bearer "). - [Add guests to an existing booking](https://cal.com/docs/api-reference/v2/bookings-guests/add-guests-to-an-existing-booking.md): Add one or more guests to an existing booking. Maximum 10 guests per request, with a limit of 30 total guests per booking. **Rate Limiting:** This endpoint is rate limited to 5 requests per minute to prevent abuse. **Email Notifications:** When guests are added, the following notifications are sent (unless disabled by event type settings): - **Organizer & Team Members:** Receive an "Add Guests" notification email informing them that new guests have been added to the booking. - **New Guests:** Receive a "Scheduled Event" email with full booking details and calendar invite. If they have a phone number, they also receive an SMS notification. - **Existing Guests:** Receive an "Add Guests" notification email informing them that additional guests have been added to the booking. The cal-api-version header is required for this endpoint. Without it, the request will fail with a 404 error. - [Cancel a booking](https://cal.com/docs/api-reference/v2/bookings/cancel-a-booking.md): :bookingUid can be :bookingUid of an usual booking, individual recurrence or recurring booking to cancel all recurrences. Cancelling normal bookings: If the booking is not seated and not recurring, simply pass :bookingUid in the request URL `/bookings/:bookingUid/cancel` and optionally cancellationReason in the request body `{"cancellationReason": "Will travel"}`. Cancelling seated bookings: It is possible to cancel specific seat within a booking as an attendee or all of the seats as the host. 1. As an attendee - provide :bookingUid in the request URL `/bookings/:bookingUid/cancel` and seatUid in the request body `{"seatUid": "123-123-123"}` . This will remove this particular attendance from the booking. 2. As the host or org admin of host - host can cancel booking for all attendees aka for every seat, this also applies to org admins. Provide :bookingUid in the request URL `/bookings/:bookingUid/cancel` and cancellationReason in the request body `{"cancellationReason": "Will travel"}` and `Authorization: Bearer token` request header where token is event type owner (host) credential. This will cancel the booking for all attendees. Cancelling recurring seated bookings: For recurring seated bookings it is not possible to cancel all of them with 1 call like with non-seated recurring bookings by providing recurring bookind uid - you have to cancel each recurrence booking by its bookingUid + seatUid. If you are cancelling a seated booking for an event type with 'show attendees' disabled, then to retrieve attendees in the response either set 'show attendees' to true on event type level or you have to provide an authentication method of event type owner, host, team admin or owner or org admin or owner. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Confirm a booking](https://cal.com/docs/api-reference/v2/bookings/confirm-a-booking.md): The provided authorization header refers to the owner of the booking. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Create a booking](https://cal.com/docs/api-reference/v2/bookings/create-a-booking.md): POST /v2/bookings is used to create regular bookings, recurring bookings and instant bookings. The request bodies for all 3 are almost the same except: If eventTypeId in the request body is id of a regular event, then regular booking is created. If it is an id of a recurring event type, then recurring booking is created. Meaning that the request bodies are equal but the outcome depends on what kind of event type it is with the goal of making it as seamless for developers as possible. For team event types it is possible to create instant meeting. To do that just pass `"instant": true` to the request body. The start needs to be in UTC aka if the timezone is GMT+2 in Rome and meeting should start at 11, then UTC time should have hours 09:00 aka without time zone. Finally, there are 2 ways to book an event type belonging to an individual user: 1. Provide `eventTypeId` in the request body. 2. Provide `eventTypeSlug` and `username` and optionally `organizationSlug` if the user with the username is within an organization. And 2 ways to book and event type belonging to a team: 1. Provide `eventTypeId` in the request body. 2. Provide `eventTypeSlug` and `teamSlug` and optionally `organizationSlug` if the team with the teamSlug is within an organization. If you are creating a seated booking for an event type with 'show attendees' disabled, then to retrieve attendees in the response either set 'show attendees' to true on event type level or you have to provide an authentication method of event type owner, host, team admin or owner or org admin or owner. For event types that have SMS reminders workflow, you need to pass the attendee's phone number in the request body via `attendee.phoneNumber` (e.g., "+19876543210" in international format). This is an optional field, but becomes required when SMS reminders are enabled for the event type. For the complete attendee object structure, see the [attendee object](https://cal.com/docs/api-reference/v2/bookings/create-a-booking#body-attendee) documentation. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Decline a booking](https://cal.com/docs/api-reference/v2/bookings/decline-a-booking.md): The provided authorization header refers to the owner of the booking. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get a booking](https://cal.com/docs/api-reference/v2/bookings/get-a-booking.md): `:bookingUid` can be 1. uid of a normal booking 2. uid of one of the recurring booking recurrences 3. uid of recurring booking which will return an array of all recurring booking recurrences (stored as recurringBookingUid on one of the individual recurrences). If you are fetching a seated booking for an event type with 'show attendees' disabled, then to retrieve attendees in the response either set 'show attendees' to true on event type level or you have to provide an authentication method of event type owner, host, team admin or owner or org admin or owner. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get a booking by seat UID](https://cal.com/docs/api-reference/v2/bookings/get-a-booking-by-seat-uid.md): Get a seated booking by its seat reference UID. This is useful when you have a seatUid from a seated booking and want to retrieve the full booking details. If you are fetching a seated booking for an event type with 'show attendees' disabled, then to retrieve attendees in the response either set 'show attendees' to true on event type level or you have to provide an authentication method of event type owner, host, team admin or owner or org admin or owner. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get 'Add to Calendar' links for a booking](https://cal.com/docs/api-reference/v2/bookings/get-add-to-calendar-links-for-a-booking.md): Retrieve calendar links for a booking that can be used to add the event to various calendar services. Returns links for Google Calendar, Microsoft Office, Microsoft Outlook, and a downloadable ICS file. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get all bookings](https://cal.com/docs/api-reference/v2/bookings/get-all-bookings.md): Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get all the recordings for the booking](https://cal.com/docs/api-reference/v2/bookings/get-all-the-recordings-for-the-booking.md): Fetches all the recordings for the booking `:bookingUid`. Requires authentication and proper authorization. Access is granted if you are the booking organizer, team admin or org admin/owner. cal-api-version: `2024-08-13` is required in the request header. - [Get booking references](https://cal.com/docs/api-reference/v2/bookings/get-booking-references.md): Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get Cal Video real time transcript download links for the booking](https://cal.com/docs/api-reference/v2/bookings/get-cal-video-real-time-transcript-download-links-for-the-booking.md): Fetches all the transcript download links for the booking `:bookingUid` Transcripts are generated when clicking "Transcribe" during a Cal Video meeting. Download links are valid for 1 hour only - make a new request to generate fresh links after expiration. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get Video Meeting Sessions. Only supported for Cal Video](https://cal.com/docs/api-reference/v2/bookings/get-video-meeting-sessions-only-supported-for-cal-video.md): Requires authentication and proper authorization. Access is granted if you are the booking organizer, team admin or org admin/owner. cal-api-version: `2024-08-13` is required in the request header. - [Mark a booking absence](https://cal.com/docs/api-reference/v2/bookings/mark-a-booking-absence.md): The provided authorization header refers to the owner of the booking. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Reassign a booking to a specific host](https://cal.com/docs/api-reference/v2/bookings/reassign-a-booking-to-a-specific-host.md): Currently only supports reassigning host for round robin bookings. The provided authorization header refers to the owner of the booking. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Reassign a booking to auto-selected host](https://cal.com/docs/api-reference/v2/bookings/reassign-a-booking-to-auto-selected-host.md): Currently only supports reassigning host for round robin bookings. The provided authorization header refers to the owner of the booking. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Reschedule a booking](https://cal.com/docs/api-reference/v2/bookings/reschedule-a-booking.md): Reschedule a booking or seated booking Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Update booking location for an existing booking](https://cal.com/docs/api-reference/v2/bookings/update-booking-location-for-an-existing-booking.md): **Current Limitation:** Updating a booking location will update the location in Cal.com, but the corresponding Calendar event will not be updated automatically. The old location will persist in the Calendar event. This is a known limitation that will be addressed in a future update. The cal-api-version header is required for this endpoint. Without it, the request will fail with a 404 error. - [Get meeting details from calendar](https://cal.com/docs/api-reference/v2/cal-unified-calendars/get-meeting-details-from-calendar.md): Returns detailed information about a meeting including attendance metrics - [Update meeting details in calendar](https://cal.com/docs/api-reference/v2/cal-unified-calendars/update-meeting-details-in-calendar.md): Updates event information in the specified calendar provider - [Check a calendar connection](https://cal.com/docs/api-reference/v2/calendars/check-a-calendar-connection.md) - [Check an ICS feed](https://cal.com/docs/api-reference/v2/calendars/check-an-ics-feed.md) - [Disconnect a calendar](https://cal.com/docs/api-reference/v2/calendars/disconnect-a-calendar.md) - [Get all calendars](https://cal.com/docs/api-reference/v2/calendars/get-all-calendars.md) - [Get busy times](https://cal.com/docs/api-reference/v2/calendars/get-busy-times.md): Get busy times from a calendar. Example request URL is `https://api.cal.com/v2/calendars/busy-times?timeZone=Europe%2FMadrid&dateFrom=2024-12-18&dateTo=2024-12-18&calendarsToLoad[0][credentialId]=135&calendarsToLoad[0][externalId]=skrauciz%40gmail.com`. Note: loggedInUsersTz is deprecated, use timeZone instead. - [Get OAuth connect URL](https://cal.com/docs/api-reference/v2/calendars/get-oauth-connect-url.md) - [Save an ICS feed](https://cal.com/docs/api-reference/v2/calendars/save-an-ics-feed.md) - [Save Apple calendar credentials](https://cal.com/docs/api-reference/v2/calendars/save-apple-calendar-credentials.md) - [Save Google or Outlook calendar credentials](https://cal.com/docs/api-reference/v2/calendars/save-google-or-outlook-calendar-credentials.md) - [Conferencing app OAuth callback](https://cal.com/docs/api-reference/v2/conferencing/conferencing-app-oauth-callback.md) - [Connect your conferencing application](https://cal.com/docs/api-reference/v2/conferencing/connect-your-conferencing-application.md) - [Disconnect your conferencing application](https://cal.com/docs/api-reference/v2/conferencing/disconnect-your-conferencing-application.md) - [Get OAuth conferencing app auth URL](https://cal.com/docs/api-reference/v2/conferencing/get-oauth-conferencing-app-auth-url.md) - [Get your default conferencing application](https://cal.com/docs/api-reference/v2/conferencing/get-your-default-conferencing-application.md) - [List your conferencing applications](https://cal.com/docs/api-reference/v2/conferencing/list-your-conferencing-applications.md) - [Set your default conferencing application](https://cal.com/docs/api-reference/v2/conferencing/set-your-default-conferencing-application.md) - [Create a managed user](https://cal.com/docs/api-reference/v2/deprecated:-platform-managed-users/create-a-managed-user.md): These endpoints are deprecated and will be removed in the future. - [Delete a managed user](https://cal.com/docs/api-reference/v2/deprecated:-platform-managed-users/delete-a-managed-user.md): These endpoints are deprecated and will be removed in the future. - [Force refresh tokens](https://cal.com/docs/api-reference/v2/deprecated:-platform-managed-users/force-refresh-tokens.md): These endpoints are deprecated and will be removed in the future. If you have lost managed user access or refresh token, then you can get new ones by using OAuth credentials. Access token is valid for 60 minutes and refresh token for 1 year. Make sure to store them in your database, for example, in your User database model `calAccessToken` and `calRefreshToken` fields. Response also contains `accessTokenExpiresAt` and `refreshTokenExpiresAt` fields, but if you decode the jwt token the payload will contain `clientId` (OAuth client ID), `ownerId` (user to whom token belongs ID), `iat` (issued at time) and `expiresAt` (when does the token expire) fields. - [Get a managed user](https://cal.com/docs/api-reference/v2/deprecated:-platform-managed-users/get-a-managed-user.md): These endpoints are deprecated and will be removed in the future. - [Get all managed users](https://cal.com/docs/api-reference/v2/deprecated:-platform-managed-users/get-all-managed-users.md): These endpoints are deprecated and will be removed in the future. - [Refresh managed user tokens](https://cal.com/docs/api-reference/v2/deprecated:-platform-managed-users/refresh-managed-user-tokens.md): These endpoints are deprecated and will be removed in the future. If managed user access token is expired then get a new one using this endpoint - it will also refresh the refresh token, because we use "refresh token rotation" mechanism. Access token is valid for 60 minutes and refresh token for 1 year. Make sure to store them in your database, for example, in your User database model `calAccessToken` and `calRefreshToken` fields. Response also contains `accessTokenExpiresAt` and `refreshTokenExpiresAt` fields, but if you decode the jwt token the payload will contain `clientId` (OAuth client ID), `ownerId` (user to whom token belongs ID), `iat` (issued at time) and `expiresAt` (when does the token expire) fields. - [Update a managed user](https://cal.com/docs/api-reference/v2/deprecated:-platform-managed-users/update-a-managed-user.md): These endpoints are deprecated and will be removed in the future. - [Create an OAuth client](https://cal.com/docs/api-reference/v2/deprecated:-platform-oauth-clients/create-an-oauth-client.md): These endpoints are deprecated and will be removed in the future. - [Delete an OAuth client](https://cal.com/docs/api-reference/v2/deprecated:-platform-oauth-clients/delete-an-oauth-client.md): These endpoints are deprecated and will be removed in the future. - [Get all OAuth clients](https://cal.com/docs/api-reference/v2/deprecated:-platform-oauth-clients/get-all-oauth-clients.md): These endpoints are deprecated and will be removed in the future. - [Get an OAuth client](https://cal.com/docs/api-reference/v2/deprecated:-platform-oauth-clients/get-an-oauth-client.md): These endpoints are deprecated and will be removed in the future. - [Update an OAuth client](https://cal.com/docs/api-reference/v2/deprecated:-platform-oauth-clients/update-an-oauth-client.md): These endpoints are deprecated and will be removed in the future. - [Create a webhook](https://cal.com/docs/api-reference/v2/deprecated:-platform-webhooks/create-a-webhook.md): These endpoints are deprecated and will be removed in the future. - [Delete a webhook](https://cal.com/docs/api-reference/v2/deprecated:-platform-webhooks/delete-a-webhook.md): These endpoints are deprecated and will be removed in the future. - [Delete all webhooks](https://cal.com/docs/api-reference/v2/deprecated:-platform-webhooks/delete-all-webhooks.md): These endpoints are deprecated and will be removed in the future. - [Get a webhook](https://cal.com/docs/api-reference/v2/deprecated:-platform-webhooks/get-a-webhook.md): These endpoints are deprecated and will be removed in the future. - [Get all webhooks](https://cal.com/docs/api-reference/v2/deprecated:-platform-webhooks/get-all-webhooks.md): These endpoints are deprecated and will be removed in the future. - [Update a webhook](https://cal.com/docs/api-reference/v2/deprecated:-platform-webhooks/update-a-webhook.md): These endpoints are deprecated and will be removed in the future. - [Update destination calendars](https://cal.com/docs/api-reference/v2/destination-calendars/update-destination-calendars.md) - [Create a private link for an event type](https://cal.com/docs/api-reference/v2/event-types-private-links/create-a-private-link-for-an-event-type.md) - [Delete a private link for an event type](https://cal.com/docs/api-reference/v2/event-types-private-links/delete-a-private-link-for-an-event-type.md) - [Get all private links for an event type](https://cal.com/docs/api-reference/v2/event-types-private-links/get-all-private-links-for-an-event-type.md) - [Update a private link for an event type](https://cal.com/docs/api-reference/v2/event-types-private-links/update-a-private-link-for-an-event-type.md) - [Create a webhook](https://cal.com/docs/api-reference/v2/event-types-webhooks/create-a-webhook.md) - [Delete a webhook](https://cal.com/docs/api-reference/v2/event-types-webhooks/delete-a-webhook.md) - [Delete all webhooks](https://cal.com/docs/api-reference/v2/event-types-webhooks/delete-all-webhooks.md) - [Get a webhook](https://cal.com/docs/api-reference/v2/event-types-webhooks/get-a-webhook.md) - [Get all webhooks](https://cal.com/docs/api-reference/v2/event-types-webhooks/get-all-webhooks.md) - [Update a webhook](https://cal.com/docs/api-reference/v2/event-types-webhooks/update-a-webhook.md) - [Create an event type](https://cal.com/docs/api-reference/v2/event-types/create-an-event-type.md): Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Delete an event type](https://cal.com/docs/api-reference/v2/event-types/delete-an-event-type.md): Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get all event types](https://cal.com/docs/api-reference/v2/event-types/get-all-event-types.md): Hidden event types are returned only if authentication is provided and it belongs to the event type owner. Use the optional `sortCreatedAt` query parameter to order results by creation date (by ID). Accepts "asc" (oldest first) or "desc" (newest first). When not provided, no explicit ordering is applied. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get an event type](https://cal.com/docs/api-reference/v2/event-types/get-an-event-type.md): Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. Access control: This endpoint fetches an event type by ID and returns it only if the authenticated user is authorized. Authorization is granted to: - System admins - The event type owner - Hosts of the event type or users assigned to the event type - Team admins/owners of the team that owns the team event type - Organization admins/owners of the event type owner's organization - Organization admins/owners of the team's parent organization Note: Update and delete endpoints remain restricted to the event type owner only. - [Update an event type](https://cal.com/docs/api-reference/v2/event-types/update-an-event-type.md): Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Introduction to API v2](https://cal.com/docs/api-reference/v2/introduction.md): Introduction to Cal.com API v2 endpoints - [Create an organization within an organization](https://cal.com/docs/api-reference/v2/managed-orgs/create-an-organization-within-an-organization.md): Requires the user to have at least the 'ORG_ADMIN' role within the organization. Additionally, for platform, the plan must be 'SCALE' or higher to access this endpoint. - [Delete an organization within an organization](https://cal.com/docs/api-reference/v2/managed-orgs/delete-an-organization-within-an-organization.md): Requires the user to have at least the 'ORG_ADMIN' role within the organization. Additionally, for platform, the plan must be 'SCALE' or higher to access this endpoint. - [Get all organizations within an organization](https://cal.com/docs/api-reference/v2/managed-orgs/get-all-organizations-within-an-organization.md): Requires the user to have at least the 'ORG_ADMIN' role within the organization. Additionally, for platform, the plan must be 'SCALE' or higher to access this endpoint. - [Get an organization within an organization](https://cal.com/docs/api-reference/v2/managed-orgs/get-an-organization-within-an-organization.md): Requires the user to have at least the 'ORG_ADMIN' role within the organization. Additionally, for platform, the plan must be 'SCALE' or higher to access this endpoint. - [Update an organization within an organization](https://cal.com/docs/api-reference/v2/managed-orgs/update-an-organization-within-an-organization.md): Requires the user to have at least the 'ORG_ADMIN' role within the organization. Additionally, for platform, the plan must be 'SCALE' or higher to access this endpoint. - [Get my profile](https://cal.com/docs/api-reference/v2/me/get-my-profile.md) - [Update my profile](https://cal.com/docs/api-reference/v2/me/update-my-profile.md): Updates the authenticated user's profile. Email changes require verification and the primary email stays unchanged until verification completes, unless the new email is already a verified secondary email or the user is platform-managed. - [OAuth](https://cal.com/docs/api-reference/v2/oauth.md): Authorize apps with Cal.com accounts using OAuth - [Exchange authorization code or refresh token for tokens](https://cal.com/docs/api-reference/v2/oauth2/exchange-authorization-code-or-refresh-token-for-tokens.md): RFC 6749-compliant token endpoint. Pass client_id in the request body (Section 2.3.1). Use grant_type 'authorization_code' to exchange an auth code for tokens, or 'refresh_token' to refresh an access token. Accepts both application/x-www-form-urlencoded (standard per RFC 6749 Section 4.1.3) and application/json content types. - [Get OAuth2 client](https://cal.com/docs/api-reference/v2/oauth2/get-oauth2-client.md): Returns the OAuth2 client information for the given client ID - [Get list of verified emails of an org team](https://cal.com/docs/api-reference/v2/organization-team-verified-resources/get-list-of-verified-emails-of-an-org-team.md) - [Get list of verified phone numbers of an org team](https://cal.com/docs/api-reference/v2/organization-team-verified-resources/get-list-of-verified-phone-numbers-of-an-org-team.md) - [Get verified email of an org team by id](https://cal.com/docs/api-reference/v2/organization-team-verified-resources/get-verified-email-of-an-org-team-by-id.md) - [Get verified phone number of an org team by id](https://cal.com/docs/api-reference/v2/organization-team-verified-resources/get-verified-phone-number-of-an-org-team-by-id.md) - [Request email verification code](https://cal.com/docs/api-reference/v2/organization-team-verified-resources/request-email-verification-code.md): Sends a verification code to the email - [Request phone number verification code](https://cal.com/docs/api-reference/v2/organization-team-verified-resources/request-phone-number-verification-code.md): Sends a verification code to the phone number - [Verify a phone number for an org team](https://cal.com/docs/api-reference/v2/organization-team-verified-resources/verify-a-phone-number-for-an-org-team.md): Use code to verify a phone number - [Verify an email for an org team](https://cal.com/docs/api-reference/v2/organization-team-verified-resources/verify-an-email-for-an-org-team.md): Use code to verify an email - [Assign an attribute to a user](https://cal.com/docs/api-reference/v2/orgs-attributes-options/assign-an-attribute-to-a-user.md) - [Create an attribute option](https://cal.com/docs/api-reference/v2/orgs-attributes-options/create-an-attribute-option.md) - [Delete an attribute option](https://cal.com/docs/api-reference/v2/orgs-attributes-options/delete-an-attribute-option.md) - [Get all assigned attribute options by attribute ID](https://cal.com/docs/api-reference/v2/orgs-attributes-options/get-all-assigned-attribute-options-by-attribute-id.md) - [Get all assigned attribute options by attribute slug](https://cal.com/docs/api-reference/v2/orgs-attributes-options/get-all-assigned-attribute-options-by-attribute-slug.md) - [Get all attribute options](https://cal.com/docs/api-reference/v2/orgs-attributes-options/get-all-attribute-options.md) - [Get all attribute options for a user](https://cal.com/docs/api-reference/v2/orgs-attributes-options/get-all-attribute-options-for-a-user.md) - [Unassign an attribute from a user](https://cal.com/docs/api-reference/v2/orgs-attributes-options/unassign-an-attribute-from-a-user.md) - [Update an attribute option](https://cal.com/docs/api-reference/v2/orgs-attributes-options/update-an-attribute-option.md) - [Create an attribute](https://cal.com/docs/api-reference/v2/orgs-attributes/create-an-attribute.md) - [Delete an attribute](https://cal.com/docs/api-reference/v2/orgs-attributes/delete-an-attribute.md) - [Get all attributes](https://cal.com/docs/api-reference/v2/orgs-attributes/get-all-attributes.md) - [Get an attribute](https://cal.com/docs/api-reference/v2/orgs-attributes/get-an-attribute.md) - [Update an attribute](https://cal.com/docs/api-reference/v2/orgs-attributes/update-an-attribute.md) - [Get organization bookings](https://cal.com/docs/api-reference/v2/orgs-bookings/get-organization-bookings.md) - [Save delegation credentials for your organization](https://cal.com/docs/api-reference/v2/orgs-delegation-credentials/save-delegation-credentials-for-your-organization.md) - [Update delegation credentials of your organization](https://cal.com/docs/api-reference/v2/orgs-delegation-credentials/update-delegation-credentials-of-your-organization.md) - [Create a membership](https://cal.com/docs/api-reference/v2/orgs-memberships/create-a-membership.md) - [Delete a membership](https://cal.com/docs/api-reference/v2/orgs-memberships/delete-a-membership.md) - [Get a membership](https://cal.com/docs/api-reference/v2/orgs-memberships/get-a-membership.md) - [Get all memberships](https://cal.com/docs/api-reference/v2/orgs-memberships/get-all-memberships.md) - [Update a membership](https://cal.com/docs/api-reference/v2/orgs-memberships/update-a-membership.md) - [Add permissions to an organization role (single or batch)](https://cal.com/docs/api-reference/v2/orgs-roles-permissions/add-permissions-to-an-organization-role-single-or-batch.md) - [List permissions for an organization role](https://cal.com/docs/api-reference/v2/orgs-roles-permissions/list-permissions-for-an-organization-role.md) - [Remove a permission from an organization role](https://cal.com/docs/api-reference/v2/orgs-roles-permissions/remove-a-permission-from-an-organization-role.md) - [Remove multiple permissions from an organization role](https://cal.com/docs/api-reference/v2/orgs-roles-permissions/remove-multiple-permissions-from-an-organization-role.md) - [Replace all permissions for an organization role](https://cal.com/docs/api-reference/v2/orgs-roles-permissions/replace-all-permissions-for-an-organization-role.md) - [Create a new organization role](https://cal.com/docs/api-reference/v2/orgs-roles/create-a-new-organization-role.md) - [Delete an organization role](https://cal.com/docs/api-reference/v2/orgs-roles/delete-an-organization-role.md) - [Get a specific organization role](https://cal.com/docs/api-reference/v2/orgs-roles/get-a-specific-organization-role.md) - [Get all organization roles](https://cal.com/docs/api-reference/v2/orgs-roles/get-all-organization-roles.md) - [Update an organization role](https://cal.com/docs/api-reference/v2/orgs-roles/update-an-organization-role.md) - [Create routing form response and get available slots](https://cal.com/docs/api-reference/v2/orgs-routing-forms/create-routing-form-response-and-get-available-slots.md) - [Get organization routing forms](https://cal.com/docs/api-reference/v2/orgs-routing-forms/get-organization-routing-forms.md) - [Get routing form responses](https://cal.com/docs/api-reference/v2/orgs-routing-forms/get-routing-form-responses.md) - [Update routing form response](https://cal.com/docs/api-reference/v2/orgs-routing-forms/update-routing-form-response.md) - [Get all schedules](https://cal.com/docs/api-reference/v2/orgs-schedules/get-all-schedules.md) - [Get booking references](https://cal.com/docs/api-reference/v2/orgs-teams-bookings/get-booking-references.md) - [Get organization team bookings](https://cal.com/docs/api-reference/v2/orgs-teams-bookings/get-organization-team-bookings.md) - [Connect your conferencing application to a team](https://cal.com/docs/api-reference/v2/orgs-teams-conferencing/connect-your-conferencing-application-to-a-team.md) - [Disconnect team conferencing application](https://cal.com/docs/api-reference/v2/orgs-teams-conferencing/disconnect-team-conferencing-application.md) - [Get OAuth conferencing app's auth URL for a team](https://cal.com/docs/api-reference/v2/orgs-teams-conferencing/get-oauth-conferencing-apps-auth-url-for-a-team.md) - [Get team default conferencing application](https://cal.com/docs/api-reference/v2/orgs-teams-conferencing/get-team-default-conferencing-application.md) - [List team conferencing applications](https://cal.com/docs/api-reference/v2/orgs-teams-conferencing/list-team-conferencing-applications.md) - [Save conferencing app OAuth credentials](https://cal.com/docs/api-reference/v2/orgs-teams-conferencing/save-conferencing-app-oauth-credentials.md) - [Set team default conferencing application](https://cal.com/docs/api-reference/v2/orgs-teams-conferencing/set-team-default-conferencing-application.md) - [Create a private link for a team event type](https://cal.com/docs/api-reference/v2/orgs-teams-event-types-private-links/create-a-private-link-for-a-team-event-type.md) - [Delete a private link for a team event type](https://cal.com/docs/api-reference/v2/orgs-teams-event-types-private-links/delete-a-private-link-for-a-team-event-type.md) - [Get all private links for a team event type](https://cal.com/docs/api-reference/v2/orgs-teams-event-types-private-links/get-all-private-links-for-a-team-event-type.md) - [Update a private link for a team event type](https://cal.com/docs/api-reference/v2/orgs-teams-event-types-private-links/update-a-private-link-for-a-team-event-type.md) - [Create a phone call](https://cal.com/docs/api-reference/v2/orgs-teams-event-types/create-a-phone-call.md) - [Create an event type](https://cal.com/docs/api-reference/v2/orgs-teams-event-types/create-an-event-type.md) - [Delete a team event type](https://cal.com/docs/api-reference/v2/orgs-teams-event-types/delete-a-team-event-type.md) - [Get all team event types](https://cal.com/docs/api-reference/v2/orgs-teams-event-types/get-all-team-event-types.md): Use the optional `sortCreatedAt` query parameter to order results by creation date (by ID). Accepts "asc" (oldest first) or "desc" (newest first). When not provided, no explicit ordering is applied. - [Get an event type](https://cal.com/docs/api-reference/v2/orgs-teams-event-types/get-an-event-type.md) - [Get team event types](https://cal.com/docs/api-reference/v2/orgs-teams-event-types/get-team-event-types.md): Use the optional `sortCreatedAt` query parameter to order results by creation date (by ID). Accepts "asc" (oldest first) or "desc" (newest first). When not provided, no explicit ordering is applied. - [Update a team event type](https://cal.com/docs/api-reference/v2/orgs-teams-event-types/update-a-team-event-type.md) - [Create team invite link](https://cal.com/docs/api-reference/v2/orgs-teams-invite/create-team-invite-link.md) - [Create a membership](https://cal.com/docs/api-reference/v2/orgs-teams-memberships/create-a-membership.md) - [Delete a membership](https://cal.com/docs/api-reference/v2/orgs-teams-memberships/delete-a-membership.md) - [Get a membership](https://cal.com/docs/api-reference/v2/orgs-teams-memberships/get-a-membership.md) - [Get all memberships](https://cal.com/docs/api-reference/v2/orgs-teams-memberships/get-all-memberships.md) - [Update a membership](https://cal.com/docs/api-reference/v2/orgs-teams-memberships/update-a-membership.md) - [Add permissions to an organization team role (single or batch)](https://cal.com/docs/api-reference/v2/orgs-teams-roles-permissions/add-permissions-to-an-organization-team-role-single-or-batch.md) - [List permissions for an organization team role](https://cal.com/docs/api-reference/v2/orgs-teams-roles-permissions/list-permissions-for-an-organization-team-role.md) - [Remove a permission from an organization team role](https://cal.com/docs/api-reference/v2/orgs-teams-roles-permissions/remove-a-permission-from-an-organization-team-role.md) - [Remove multiple permissions from an organization team role](https://cal.com/docs/api-reference/v2/orgs-teams-roles-permissions/remove-multiple-permissions-from-an-organization-team-role.md) - [Replace all permissions for an organization team role](https://cal.com/docs/api-reference/v2/orgs-teams-roles-permissions/replace-all-permissions-for-an-organization-team-role.md) - [Create a new organization team role](https://cal.com/docs/api-reference/v2/orgs-teams-roles/create-a-new-organization-team-role.md) - [Delete an organization team role](https://cal.com/docs/api-reference/v2/orgs-teams-roles/delete-an-organization-team-role.md) - [Get a specific organization team role](https://cal.com/docs/api-reference/v2/orgs-teams-roles/get-a-specific-organization-team-role.md) - [Get all organization team roles](https://cal.com/docs/api-reference/v2/orgs-teams-roles/get-all-organization-team-roles.md) - [Update an organization team role](https://cal.com/docs/api-reference/v2/orgs-teams-roles/update-an-organization-team-role.md) - [Create routing form response and get available slots](https://cal.com/docs/api-reference/v2/orgs-teams-routing-forms-responses/create-routing-form-response-and-get-available-slots.md) - [Get organization team routing form responses](https://cal.com/docs/api-reference/v2/orgs-teams-routing-forms-responses/get-organization-team-routing-form-responses.md) - [Update routing form response](https://cal.com/docs/api-reference/v2/orgs-teams-routing-forms-responses/update-routing-form-response.md) - [Get team routing forms](https://cal.com/docs/api-reference/v2/orgs-teams-routing-forms/get-team-routing-forms.md) - [Get all team member schedules](https://cal.com/docs/api-reference/v2/orgs-teams-schedules/get-all-team-member-schedules.md) - [Check team Stripe connection](https://cal.com/docs/api-reference/v2/orgs-teams-stripe/check-team-stripe-connection.md) - [Get Stripe connect URL for a team](https://cal.com/docs/api-reference/v2/orgs-teams-stripe/get-stripe-connect-url-for-a-team.md) - [Save Stripe credentials](https://cal.com/docs/api-reference/v2/orgs-teams-stripe/save-stripe-credentials.md) - [Get schedules of a team member](https://cal.com/docs/api-reference/v2/orgs-teams-users-schedules/get-schedules-of-a-team-member.md) - [Create organization team workflow for event-types](https://cal.com/docs/api-reference/v2/orgs-teams-workflows/create-organization-team-workflow-for-event-types.md) - [Create organization team workflow for routing-forms](https://cal.com/docs/api-reference/v2/orgs-teams-workflows/create-organization-team-workflow-for-routing-forms.md) - [Delete organization team routing-form workflow](https://cal.com/docs/api-reference/v2/orgs-teams-workflows/delete-organization-team-routing-form-workflow.md) - [Delete organization team workflow](https://cal.com/docs/api-reference/v2/orgs-teams-workflows/delete-organization-team-workflow.md) - [Get organization team workflow](https://cal.com/docs/api-reference/v2/orgs-teams-workflows/get-organization-team-workflow.md) - [Get organization team workflow](https://cal.com/docs/api-reference/v2/orgs-teams-workflows/get-organization-team-workflow-1.md) - [Get organization team workflows](https://cal.com/docs/api-reference/v2/orgs-teams-workflows/get-organization-team-workflows.md) - [Get organization team workflows](https://cal.com/docs/api-reference/v2/orgs-teams-workflows/get-organization-team-workflows-1.md) - [Update organization routing form team workflow](https://cal.com/docs/api-reference/v2/orgs-teams-workflows/update-organization-routing-form-team-workflow.md) - [Update organization team workflow](https://cal.com/docs/api-reference/v2/orgs-teams-workflows/update-organization-team-workflow.md) - [Create a team](https://cal.com/docs/api-reference/v2/orgs-teams/create-a-team.md) - [Delete a team](https://cal.com/docs/api-reference/v2/orgs-teams/delete-a-team.md) - [Get a team](https://cal.com/docs/api-reference/v2/orgs-teams/get-a-team.md) - [Get all teams](https://cal.com/docs/api-reference/v2/orgs-teams/get-all-teams.md) - [Get teams membership for user](https://cal.com/docs/api-reference/v2/orgs-teams/get-teams-membership-for-user.md) - [Update a team](https://cal.com/docs/api-reference/v2/orgs-teams/update-a-team.md) - [Get all bookings for an organization user](https://cal.com/docs/api-reference/v2/orgs-users-bookings/get-all-bookings-for-an-organization-user.md) - [Create an out-of-office entry for a user](https://cal.com/docs/api-reference/v2/orgs-users-ooo/create-an-out-of-office-entry-for-a-user.md) - [Delete an out-of-office entry for a user](https://cal.com/docs/api-reference/v2/orgs-users-ooo/delete-an-out-of-office-entry-for-a-user.md) - [Get all out-of-office entries for a user](https://cal.com/docs/api-reference/v2/orgs-users-ooo/get-all-out-of-office-entries-for-a-user.md) - [Get all out-of-office entries for organization users](https://cal.com/docs/api-reference/v2/orgs-users-ooo/get-all-out-of-office-entries-for-organization-users.md) - [Update an out-of-office entry for a user](https://cal.com/docs/api-reference/v2/orgs-users-ooo/update-an-out-of-office-entry-for-a-user.md) - [Create a schedule](https://cal.com/docs/api-reference/v2/orgs-users-schedules/create-a-schedule.md) - [Delete a schedule](https://cal.com/docs/api-reference/v2/orgs-users-schedules/delete-a-schedule.md) - [Get a schedule](https://cal.com/docs/api-reference/v2/orgs-users-schedules/get-a-schedule.md) - [Get all schedules](https://cal.com/docs/api-reference/v2/orgs-users-schedules/get-all-schedules.md) - [Update a schedule](https://cal.com/docs/api-reference/v2/orgs-users-schedules/update-a-schedule.md) - [Create a user](https://cal.com/docs/api-reference/v2/orgs-users/create-a-user.md) - [Delete a user](https://cal.com/docs/api-reference/v2/orgs-users/delete-a-user.md) - [Get all users](https://cal.com/docs/api-reference/v2/orgs-users/get-all-users.md) - [Update a user](https://cal.com/docs/api-reference/v2/orgs-users/update-a-user.md) - [Create a webhook](https://cal.com/docs/api-reference/v2/orgs-webhooks/create-a-webhook.md) - [Delete a webhook](https://cal.com/docs/api-reference/v2/orgs-webhooks/delete-a-webhook.md) - [Get a webhook](https://cal.com/docs/api-reference/v2/orgs-webhooks/get-a-webhook.md) - [Get all webhooks](https://cal.com/docs/api-reference/v2/orgs-webhooks/get-all-webhooks.md) - [Update a webhook](https://cal.com/docs/api-reference/v2/orgs-webhooks/update-a-webhook.md) - [Calculate slots based on routing form response](https://cal.com/docs/api-reference/v2/routing-forms/calculate-slots-based-on-routing-form-response.md): It will not actually save the response just return the routed event type and slots when it can be booked. - [Create a schedule](https://cal.com/docs/api-reference/v2/schedules/create-a-schedule.md): Create a schedule for the authenticated user. The point of creating schedules is for event types to be available at specific times. The first goal of schedules is to have a default schedule. If you are platform customer and created managed users, then it is important to note that each managed user should have a default schedule. 1. If you passed `timeZone` when creating managed user, then the default schedule from Monday to Friday from 9AM to 5PM will be created with that timezone. The managed user can then change the default schedule via the `AvailabilitySettings` atom. 2. If you did not, then we assume you want the user to have this specific schedule right away. You should create a default schedule by specifying `"isDefault": true` in the request body. Until the user has a default schedule the user can't be booked nor manage their schedule via the AvailabilitySettings atom. The second goal of schedules is to create another schedule that event types can point to. This is useful for when an event is booked because availability is not checked against the default schedule but instead against that specific schedule. After creating a non-default schedule, you can update an event type to point to that schedule via the PATCH `event-types/{eventTypeId}` endpoint. When specifying start time and end time for each day use the 24 hour format e.g. 08:00, 15:00 etc. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Delete a schedule](https://cal.com/docs/api-reference/v2/schedules/delete-a-schedule.md): Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get a schedule](https://cal.com/docs/api-reference/v2/schedules/get-a-schedule.md): Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get all schedules](https://cal.com/docs/api-reference/v2/schedules/get-all-schedules.md): Get all schedules of the authenticated user. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get default schedule](https://cal.com/docs/api-reference/v2/schedules/get-default-schedule.md): Get the default schedule of the authenticated user. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Update a schedule](https://cal.com/docs/api-reference/v2/schedules/update-a-schedule.md): Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Add a selected calendar](https://cal.com/docs/api-reference/v2/selected-calendars/add-a-selected-calendar.md) - [Delete a selected calendar](https://cal.com/docs/api-reference/v2/selected-calendars/delete-a-selected-calendar.md) - [Delete a reserved slot](https://cal.com/docs/api-reference/v2/slots/delete-a-reserved-slot.md): Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get available time slots for an event type](https://cal.com/docs/api-reference/v2/slots/get-available-time-slots-for-an-event-type.md): There are 4 ways to get available slots for event type of an individual user: 1. By event type id. Example '/v2/slots?eventTypeId=10&start=2050-09-05&end=2050-09-06&timeZone=Europe/Rome' 2. By event type slug + username. Example '/v2/slots?eventTypeSlug=intro&username=bob&start=2050-09-05&end=2050-09-06' 3. By event type slug + username + organization slug when searching within an organization. Example '/v2/slots?organizationSlug=org-slug&eventTypeSlug=intro&username=bob&start=2050-09-05&end=2050-09-06' 4. By usernames only (used for dynamic event type - there is no specific event but you want to know when 2 or more people are available). Example '/v2/slots?usernames=alice,bob&username=bob&organizationSlug=org-slug&start=2050-09-05&end=2050-09-06'. As you see you also need to provide the slug of the organization to which each user in the 'usernames' array belongs. And 3 ways to get available slots for team event type: 1. By team event type id. Example '/v2/slots?eventTypeId=10&start=2050-09-05&end=2050-09-06&timeZone=Europe/Rome'. **Note for managed event types**: Managed event types are templates that create individual child event types for each team member. You cannot fetch slots for the parent managed event type directly. Instead, you must: - Find the child event type IDs (the ones assigned to specific users) - Use those child event type IDs to fetch slots as individual user event types using as described in the individual user section above. 2. By team event type slug + team slug. Example '/v2/slots?eventTypeSlug=intro&teamSlug=team-slug&start=2050-09-05&end=2050-09-06' 3. By team event type slug + team slug + organization slug when searching within an organization. Example '/v2/slots?organizationSlug=org-slug&eventTypeSlug=intro&teamSlug=team-slug&start=2050-09-05&end=2050-09-06' All of them require "start" and "end" query parameters which define the time range for which available slots should be checked. Optional parameters are: - timeZone: Time zone in which the available slots should be returned. Defaults to UTC. - duration: Only use for event types that allow multiple durations or for dynamic event types. If not passed for multiple duration event types defaults to default duration. For dynamic event types defaults to 30 aka each returned slot is 30 minutes long. So duration=60 means that returned slots will be each 60 minutes long. - format: Format of the slots. By default return is an object where each key is date and value is array of slots as string. If you want to get start and end of each slot use "range" as value. - bookingUidToReschedule: When rescheduling an existing booking, provide the booking's unique identifier to exclude its time slot from busy time calculations. This ensures the original booking time appears as available for rescheduling. Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Get reserved slot](https://cal.com/docs/api-reference/v2/slots/get-reserved-slot.md): Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Reserve a slot](https://cal.com/docs/api-reference/v2/slots/reserve-a-slot.md): Make a slot not available for others to book for a certain period of time. If you authenticate using oAuth credentials, api key or access token then you can also specify custom duration for how long the slot should be reserved for (defaults to 5 minutes). Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Update a reserved slot](https://cal.com/docs/api-reference/v2/slots/update-a-reserved-slot.md): Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. - [Check Stripe connection](https://cal.com/docs/api-reference/v2/stripe/check-stripe-connection.md) - [Get Stripe connect URL](https://cal.com/docs/api-reference/v2/stripe/get-stripe-connect-url.md) - [Save Stripe credentials](https://cal.com/docs/api-reference/v2/stripe/save-stripe-credentials.md) - [Get team bookings](https://cal.com/docs/api-reference/v2/teams-bookings/get-team-bookings.md) - [Create a webhook for a team event type](https://cal.com/docs/api-reference/v2/teams-event-types-webhooks/create-a-webhook-for-a-team-event-type.md) - [Delete a webhook for a team event type](https://cal.com/docs/api-reference/v2/teams-event-types-webhooks/delete-a-webhook-for-a-team-event-type.md) - [Delete all webhooks for a team event type](https://cal.com/docs/api-reference/v2/teams-event-types-webhooks/delete-all-webhooks-for-a-team-event-type.md) - [Get a webhook for a team event type](https://cal.com/docs/api-reference/v2/teams-event-types-webhooks/get-a-webhook-for-a-team-event-type.md) - [Get all webhooks for a team event type](https://cal.com/docs/api-reference/v2/teams-event-types-webhooks/get-all-webhooks-for-a-team-event-type.md) - [Update a webhook for a team event type](https://cal.com/docs/api-reference/v2/teams-event-types-webhooks/update-a-webhook-for-a-team-event-type.md) - [Create a phone call](https://cal.com/docs/api-reference/v2/teams-event-types/create-a-phone-call.md) - [Create an event type](https://cal.com/docs/api-reference/v2/teams-event-types/create-an-event-type.md) - [Delete a team event type](https://cal.com/docs/api-reference/v2/teams-event-types/delete-a-team-event-type.md) - [Get an event type](https://cal.com/docs/api-reference/v2/teams-event-types/get-an-event-type.md) - [Get team event types](https://cal.com/docs/api-reference/v2/teams-event-types/get-team-event-types.md): Use the optional `sortCreatedAt` query parameter to order results by creation date (by ID). Accepts "asc" (oldest first) or "desc" (newest first). When not provided, no explicit ordering is applied. - [Update a team event type](https://cal.com/docs/api-reference/v2/teams-event-types/update-a-team-event-type.md) - [Create team invite link](https://cal.com/docs/api-reference/v2/teams-invite/create-team-invite-link.md) - [Create a membership](https://cal.com/docs/api-reference/v2/teams-memberships/create-a-membership.md) - [Delete a membership](https://cal.com/docs/api-reference/v2/teams-memberships/delete-a-membership.md) - [Get a membership](https://cal.com/docs/api-reference/v2/teams-memberships/get-a-membership.md) - [Get all memberships](https://cal.com/docs/api-reference/v2/teams-memberships/get-all-memberships.md): Retrieve team memberships with optional filtering by email addresses. Supports pagination. - [Update membership](https://cal.com/docs/api-reference/v2/teams-memberships/update-membership.md) - [Get all team member schedules](https://cal.com/docs/api-reference/v2/teams-schedules/get-all-team-member-schedules.md) - [Get list of verified emails of a team](https://cal.com/docs/api-reference/v2/teams-verified-resources/get-list-of-verified-emails-of-a-team.md) - [Get list of verified phone numbers of a team](https://cal.com/docs/api-reference/v2/teams-verified-resources/get-list-of-verified-phone-numbers-of-a-team.md) - [Get verified email of a team by id](https://cal.com/docs/api-reference/v2/teams-verified-resources/get-verified-email-of-a-team-by-id.md) - [Get verified phone number of a team by id](https://cal.com/docs/api-reference/v2/teams-verified-resources/get-verified-phone-number-of-a-team-by-id.md) - [Request email verification code](https://cal.com/docs/api-reference/v2/teams-verified-resources/request-email-verification-code.md): Sends a verification code to the Email - [Request phone number verification code](https://cal.com/docs/api-reference/v2/teams-verified-resources/request-phone-number-verification-code.md): Sends a verification code to the phone number - [Verify a phone number for an org team](https://cal.com/docs/api-reference/v2/teams-verified-resources/verify-a-phone-number-for-an-org-team.md): Use code to verify a phone number - [Verify an email for a team](https://cal.com/docs/api-reference/v2/teams-verified-resources/verify-an-email-for-a-team.md): Use code to verify an email - [Create a team](https://cal.com/docs/api-reference/v2/teams/create-a-team.md) - [Delete a team](https://cal.com/docs/api-reference/v2/teams/delete-a-team.md) - [Get a team](https://cal.com/docs/api-reference/v2/teams/get-a-team.md) - [Get teams](https://cal.com/docs/api-reference/v2/teams/get-teams.md) - [Update a team](https://cal.com/docs/api-reference/v2/teams/update-a-team.md) - [Migrating from API v1 to v2](https://cal.com/docs/api-reference/v2/v1-v2-differences.md): Complete guide for migrating your Cal.com integration from v1 to v2 - [Get list of verified emails](https://cal.com/docs/api-reference/v2/verified-resources/get-list-of-verified-emails.md) - [Get list of verified phone numbers](https://cal.com/docs/api-reference/v2/verified-resources/get-list-of-verified-phone-numbers.md) - [Get verified email by id](https://cal.com/docs/api-reference/v2/verified-resources/get-verified-email-by-id.md) - [Get verified phone number by id](https://cal.com/docs/api-reference/v2/verified-resources/get-verified-phone-number-by-id.md) - [Request email verification code](https://cal.com/docs/api-reference/v2/verified-resources/request-email-verification-code.md): Sends a verification code to the email - [Request phone number verification code](https://cal.com/docs/api-reference/v2/verified-resources/request-phone-number-verification-code.md): Sends a verification code to the phone number - [Verify a phone number](https://cal.com/docs/api-reference/v2/verified-resources/verify-a-phone-number.md): Use code to verify a phone number - [Verify an email](https://cal.com/docs/api-reference/v2/verified-resources/verify-an-email.md): Use code to verify an email - [Create a webhook](https://cal.com/docs/api-reference/v2/webhooks/create-a-webhook.md) - [Delete a webhook](https://cal.com/docs/api-reference/v2/webhooks/delete-a-webhook.md) - [Get a webhook](https://cal.com/docs/api-reference/v2/webhooks/get-a-webhook.md) - [Get all webhooks](https://cal.com/docs/api-reference/v2/webhooks/get-all-webhooks.md): Gets a paginated list of webhooks for the authenticated user. - [Update a webhook](https://cal.com/docs/api-reference/v2/webhooks/update-a-webhook.md) - [Apple calendar connect](https://cal.com/docs/atoms/apple-calendar-connect.md) - [Availability settings](https://cal.com/docs/atoms/availability-settings.md) - [Booker](https://cal.com/docs/atoms/booker.md) - [Booker Embed](https://cal.com/docs/atoms/booker-embed.md) - [Cal OAuth Provider](https://cal.com/docs/atoms/cal-oauth-provider.md) - [Calendar settings](https://cal.com/docs/atoms/calendar-settings.md) - [Calendar view](https://cal.com/docs/atoms/calendar-view.md) - [Conferencing Apps](https://cal.com/docs/atoms/conferencing-apps.md) - [Create schedule](https://cal.com/docs/atoms/create-schedule.md) - [Event Type](https://cal.com/docs/atoms/event-type.md) - [Google calendar connect](https://cal.com/docs/atoms/google-calendar-connect.md) - [Managing booking fields](https://cal.com/docs/atoms/guides/booking-fields.md): Prefilling and / or making them read-only. - [Custom booking flow](https://cal.com/docs/atoms/guides/custom-booking-flow.md): Learn how to intercept a booking to introduce your custom flow and then submit the booking. - [Custom slot selection flow](https://cal.com/docs/atoms/guides/custom-slot-select-flow.md): Learn how to use handleSlotReservation for custom slot selection flows. - [Custom toasts](https://cal.com/docs/atoms/guides/replacing-toasts.md): Replace default cal.com toasts with your own - [Introduction to Cal.com Atoms](https://cal.com/docs/atoms/introduction.md): Embed Cal.com scheduling components directly into your application - [List Event Types](https://cal.com/docs/atoms/list-event-types.md) - [List schedules](https://cal.com/docs/atoms/list-schedules.md) - [Outlook calendar connect](https://cal.com/docs/atoms/outlook-calendar-connect.md) - [Payment form](https://cal.com/docs/atoms/payment-form.md) - [Setup](https://cal.com/docs/atoms/setup.md): Complete setup guide for Cal.com Atoms with OAuth - [Stripe Connect](https://cal.com/docs/atoms/stripe-connect.md) - [Troubleshooter](https://cal.com/docs/atoms/troubleshooter.md) - [How to Set Up the API in a Local Instance](https://cal.com/docs/developing/guides/api/how-to-setup-api-in-a-local-instance.md) - [Build a greeter app](https://cal.com/docs/developing/guides/appstore-and-integration/build-a-greeter-app.md) - [How to build an app](https://cal.com/docs/developing/guides/appstore-and-integration/build-an-app.md) - [Assign people to a call from a CRM or database](https://cal.com/docs/developing/guides/appstore-and-integration/how-to-show-assigned-people-from-a-crm.md) - [Add changesets](https://cal.com/docs/developing/guides/atoms/add-changesets.md) - [Setting up OIDC with okta](https://cal.com/docs/developing/guides/auth-and-provision/how-to-setup-oidc-with-okta.md) - [null](https://cal.com/docs/developing/guides/auth-and-provision/how-to-setup-scim-with-okta.md) - [SSO setup](https://cal.com/docs/developing/guides/auth-and-provision/sso-setup.md) - [Webhooks](https://cal.com/docs/developing/guides/automation/webhooks.md) - [Setting up mailtrap for email testing](https://cal.com/docs/developing/guides/email/setup-mailtrap-for-email-testing.md) - [Embed Events](https://cal.com/docs/developing/guides/embeds/embed-events.md) - [How to Add a New Booking Chart to Cal.com Insights Page](https://cal.com/docs/developing/guides/insights/add-new-booking-charts.md) - [Local Development](https://cal.com/docs/developing/local-development.md) - [Code styling](https://cal.com/docs/developing/open-source-contribution/code-styling.md) - [Contributor's Guide](https://cal.com/docs/developing/open-source-contribution/contributors-guide.md) - [Introduction](https://cal.com/docs/developing/open-source-contribution/introduction.md) - [Pull requests](https://cal.com/docs/developing/open-source-contribution/pull-requests.md) - [Daily](https://cal.com/docs/self-hosting/apps/install-apps/daily.md) - [Google](https://cal.com/docs/self-hosting/apps/install-apps/google.md) - [HubSpot](https://cal.com/docs/self-hosting/apps/install-apps/hubspot.md) - [Introduction](https://cal.com/docs/self-hosting/apps/install-apps/introduction.md) - [Microsoft](https://cal.com/docs/self-hosting/apps/install-apps/microsoft.md) - [Sendgrid](https://cal.com/docs/self-hosting/apps/install-apps/sendgrid.md) - [Stripe](https://cal.com/docs/self-hosting/apps/install-apps/stripe.md) - [Twilio](https://cal.com/docs/self-hosting/apps/install-apps/twilio.md) - [Zoho](https://cal.com/docs/self-hosting/apps/install-apps/zoho.md) - [Zoom](https://cal.com/docs/self-hosting/apps/install-apps/zoom.md) - [Database migrations](https://cal.com/docs/self-hosting/database-migrations.md) - [AWS](https://cal.com/docs/self-hosting/deployments/aws.md) - [Azure](https://cal.com/docs/self-hosting/deployments/azure.md) - [Elestio](https://cal.com/docs/self-hosting/deployments/elestio.md) - [GCP](https://cal.com/docs/self-hosting/deployments/gcp.md) - [Northflank](https://cal.com/docs/self-hosting/deployments/northflank.md) - [Railway](https://cal.com/docs/self-hosting/deployments/railway.md) - [Render](https://cal.com/docs/self-hosting/deployments/render.md) - [Vercel](https://cal.com/docs/self-hosting/deployments/vercel.md) - [Docker](https://cal.com/docs/self-hosting/docker.md) - [How to sync third party apps](https://cal.com/docs/self-hosting/guides/appstore-and-integration/syncing-third-party-apps.md) - [Organization Setup](https://cal.com/docs/self-hosting/guides/organization/organization-setup.md) - [Single Organization Setup](https://cal.com/docs/self-hosting/guides/organization/single-organization-setup.md) - [Environment Variables](https://cal.com/docs/self-hosting/guides/organization/understanding-organization-env-variables.md) - [Can Cal.com sponsor my open source project?](https://cal.com/docs/self-hosting/guides/sponsorship/can-calcom-sponsor-my-open-source-project.md) - [Instance-wide theming using color tokens](https://cal.com/docs/self-hosting/guides/white-labeling/color-tokens.md) - [How to add custom CSS](https://cal.com/docs/self-hosting/guides/white-labeling/custom-css.md) - [How to white label the self hosted instance](https://cal.com/docs/self-hosting/guides/white-labeling/introduction.md) - [Installation](https://cal.com/docs/self-hosting/installation.md) - [License key](https://cal.com/docs/self-hosting/license-key.md) - [SSO setup](https://cal.com/docs/self-hosting/sso-setup.md) - [Upgrading](https://cal.com/docs/self-hosting/upgrading.md) ## OpenAPI Specs - [openapi](https://cal.com/docs/api-reference/v2/openapi.json) - [openapi-v1](https://cal.com/docs/api-reference/v1/openapi-v1.json) - [openapi-backup](https://cal.com/docs/api-reference/v1/openapi-backup.json)