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

FormFieldInput

A field within a form.

A field within a form.

Example

{  "description": null,  "key": "full_name",  "label": "Full Name",  "must_be_true": false,  "options": null,  "position": 0,  "required": true,  "sensitive": false,  "type": "short_text"}

FormField

A field within a form.

FormResponse

Response schema for a single form

description?|

Optional help text displayed below the field.

id?string

Unique identifier for the field. Optional on create; include to reference an existing field on update.

key*string

Machine-readable key for the field. Must start with a lowercase letter and contain only lowercase letters, numbers, and underscores.

Match^[a-z][a-z0-9_]*$
label*string

Display label for the field.

must_be_true?boolean

For boolean fields, whether the value must be true (e.g., consent checkboxes).

options?

Options configuration for choice-type fields.

position*integer

Display position of the field within the form.

required?boolean

Whether the field is required.

sensitive?boolean

Whether the field contains sensitive data.

type*string

The field type.

Value in

  • "short_text"
  • "long_text"
  • "email"
  • "phone"
  • "boolean"
  • "radio"
  • "select"
  • "checkbox"