SavvyCalSavvyCal Appointments
SavvyCalSavvyCal Appointments
HomeAuthenticationRate LimitingIdempotency
PlatformsData ModelUsers and AccountsConnected AccountsBooking IntentsSlot AvailabilityWorking with DatesMetadata Filtering
Embedding
Components
Public Booking Form
WebhooksAPI Changelog
API Reference
AccountAccountEventAccountResponseAccountsResponseAccountUserAccountUserCreatedEventDataAccountUserDeletedEventDataAccountUserResponseAccountUsersResponseAccountUserUpdatedEventDataAdvanceNoticePolicyAggregatedSlotAppointmentAppointmentCanceledEventDataAppointmentClientDataInputAppointmentConfirmedEventDataAppointmentCreatedEventDataAppointmentDeletedEventDataAppointmentMeetingAppointmentMeetingCanceledEventDataAppointmentMeetingCancelFailedEventDataAppointmentMeetingCreatedEventDataAppointmentMeetingCreateFailedEventDataAppointmentMeetingReplacedEventDataAppointmentMeetingReplaceFailedEventDataAppointmentMeetingUpdatedEventDataAppointmentMeetingUpdateFailedEventDataAppointmentProviderAppointmentRescheduledEventDataAppointmentResponseAppointmentsResponseAttachServiceFormRequestBlockBlockCreatedEventDataBlockDeletedEventDataBlockResponseBlocksResponseBlockUpdatedEventDataBookingIntentBookingIntentAbandonedEventDataBookingIntentBookingPolicyBookingIntentCompletedEventDataBookingIntentCreatedEventDataBookingIntentRequirementsBookingIntentResponseBookingIntentsResponseBookingIntentUpdatedEventDataBookingIntentWorkflowBookingLinkBookingLinkActivatedEventDataBookingLinkCreatedEventDataBookingLinkDeactivatedEventDataBookingLinkDeletedEventDataBookingLinkResponseBookingLinksResponseBookingLinkUpdatedEventDataBookingPolicyBufferPolicyByEmailByExternalUserIdCancelAppointmentRequestCancellationEventCancellationPolicyCancellationReasonCancellationReasonResponseCancellationReasonsResponseCancelPublicAppointmentRequestClientClientCreatedEventDataClientDataInputClientDeletedEventDataClientFieldClientFieldChoiceClientFieldOptionsClientFieldResponseClientFieldsResponseClientResponseClientsResponseClientUpdatedEventDataCompleteBookingIntentRequestCompletePublicBookingIntentRequestConfirmAppointmentRequestConfirmationEventConflictResponseConnectedAccountConnectedAccountCreatedEventDataConnectedAccountDeletedEventDataConnectedAccountReconnectedEventDataConnectedAccountRefreshFailedEventDataConnectedAccountResponseConnectedAccountsResponseCreateAccountRequestCreateAccountUserRequestCreateAppointmentRequestCreateBlockRequestCreateBookingIntentRequestCreateBookingLinkRequestCreateCancellationReasonRequestCreateClientFieldRequestCreateClientRequestCreateDashboardSessionRequestCreateFormRequestCreateOpeningRequestCreateProviderRequestCreateProviderScheduleRequestCreatePublicAppointmentRequestCreatePublicBookingIntentRequestCreateScheduleGroupRequestCreateServiceProviderRequestCreateServiceRequestDashboardSessionDashboardSessionResponseEmptyResponseExternalUserExternalUsersResponseFieldChoiceFieldChoiceInputFieldOptionsFieldOptionsInputForbiddenResponseFormFormDetailFormFieldFormFieldInputFormResponseFormsResponseGenericErrorResponseHoldPolicyInitialProviderScheduleIntentSubmissionInputJsonErrorJsonErrorResponseMaximizeUtilizationPolicyNotFoundResponseOpeningOpeningCreatedEventDataOpeningDeletedEventDataOpeningResponseOpeningsResponseOpeningUpdatedEventDataPaginationMetaPlatformPlatformResponseProviderProviderCreatedEventDataProviderDeactivatedEventDataProviderNotificationConfigProviderNotificationTypeProviderReactivatedEventDataProviderResponseProviderScheduleProviderScheduleCreatedEventDataProviderScheduleDeletedEventDataProviderScheduleResponseProviderSchedulesResponseProviderScheduleUpdatedEventDataProvidersResponseProviderUpdatedEventDataPublicAppointmentPublicAppointmentResponsePublicBookingIntentPublicBookingIntentResponsePublicCancellationReasonPublicCancellationReasonsResponsePublicServiceEarliestSlotResponseRecurrenceRuleRescheduleAppointmentRequestRescheduleEventReschedulePublicAppointmentRequestReschedulingPolicyRoleRoleResponseRolesResponseScheduleGroupScheduleGroupResponseScheduleGroupsResponseServiceServiceConferencingResponseServiceConferencingResultServiceCreatedEventDataServiceDeletedEventDataServiceFormServiceFormResponseServiceFormsResponseServiceProviderServiceProviderConferencingServiceProviderConferencingResponseServiceProviderCreatedEventDataServiceProviderDeletedEventDataServiceProviderResponseServiceProvidersResponseServiceResponseServiceSlotResponseServicesResponseServiceUpdatedEventDataSetServiceConferencingRequestSetServiceProviderConferencingRequestSetUserMappingRequestSlotSlotListResponseSlotRuleSortServiceFormsRequestSubmissionRequirementSyncExternalUsersResponseUnauthorizedResponseUpdateAccountRequestUpdateAccountUserRequestUpdateBlockRequestUpdateBookingIntentRequestUpdateBookingLinkRequestUpdateCancellationReasonRequestUpdateClientFieldRequestUpdateClientRequestUpdateConnectedAccountRequestUpdateFormRequestUpdateOpeningRequestUpdateProviderRequestUpdateProviderScheduleRequestUpdatePublicBookingIntentRequestUpdateRoleRequestUpdateScheduleGroupRequestUpdateServiceRequestUserUserMappingUserMappingResponseUserMappingsResponseWeeklyRuleZonedDateTime
API ReferenceSchemas

UpdateRoleRequest

Request schema for updating a role

Request schema for updating a role

Example

{  "denied_permissions": [    "appointments.own.cancel",    "appointments.own.reschedule"  ]}

UpdatePublicBookingIntentRequest

Request schema for updating a booking intent via a public interface.

UpdateScheduleGroupRequest

Request schema for updating a schedule group

denied_permissions?array<string>

Permissions to explicitly deny for this role. Replaces the existing denial list. Denials win over grants, including wildcards. Pass an empty array to clear denials. Cannot be set on superuser roles.

name?string

The role's display name.

permissions?array<string>

Allow-list of permissions for custom roles only. Built-in roles (superuser, admin, staff) reject updates to this field; their grants are defined by type.