Update service
Update an existing service.
Authorization
authorization In: header
Path Parameters
Service ID
Request Body
application/json
Service params
TypeScript Definitions
Use the request body type in TypeScript.
Request schema for updating a service.
Response Body
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/v1/services/string" \ -H "Content-Type: application/json" \ -d '{ "appointment_type": "virtual", "booking_policy": { "advance_notice": { "enabled": true, "minimum_duration": "PT1H" }, "allow_booking": true, "disabled_message": "Booking is disabled for this service.", "hold": { "duration": "PT10M", "enabled": true }, "maximize_utilization": { "enabled": true } }, "buffer_policy": { "after_duration": "PT1H", "before_duration": "PT15M", "enabled": true }, "cancellation_policy": { "advance_notice": { "enabled": true, "minimum_duration": "PT1H" }, "allow_cancellation": true, "disabled_message": "Cancellation is disabled for this service." }, "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.", "duration": "PT1H30M", "internal_name": "IC - New Patient", "metadata": { "external_id": "123" }, "name": "Initial Consultation", "provider_notifications": { "additional_recipients": [ "admin@example.com" ], "notify_provider": true, "types": [ { "type": "new_appointment" } ] }, "rescheduling_policy": { "advance_notice": { "enabled": true, "minimum_duration": "PT1H" }, "allow_rescheduling": true, "disabled_message": "Rescheduling is disabled for this service." }, "slot_rules": [ { "recurrence_rule": { "byday": [ "mo", "we", "fr" ], "freq": "weekly" }, "start_times": [ "09:00", "10:00" ] } ] }'{ "data": { "appointment_type": "in_person", "booking_policy": { "advance_notice": { "enabled": true, "minimum_duration": "PT1H" }, "allow_booking": true, "disabled_message": "Booking is disabled for this service.", "hold": { "duration": "PT10M", "enabled": true }, "maximize_utilization": { "enabled": true } }, "buffer_policy": { "after_duration": "PT1H", "before_duration": "PT15M", "enabled": true }, "cancellation_policy": { "advance_notice": { "enabled": true, "minimum_duration": "PT1H" }, "allow_cancellation": true, "disabled_message": "Cancellation is disabled for this service." }, "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.", "created_at": "2025-02-17T17:49:19Z", "duration": "PT1H30M", "forms": [ { "created_at": "2025-02-17T17:49:19Z", "form_id": "frm_d025a96ac0c6", "form_name": "Intake Form", "id": "sf_d025a96ac0c6", "object": "service_form", "sort_order": 1, "updated_at": "2025-02-17T17:49:19Z" } ], "id": "srv_d025a96ac0c6", "internal_name": null, "metadata": { "external_id": "123" }, "name": "Initial Consult", "object": "service", "provider_notifications": { "additional_recipients": [ "admin@example.com" ], "notify_provider": true, "types": [ { "type": "new_appointment" } ] }, "rescheduling_policy": { "advance_notice": { "enabled": true, "minimum_duration": "PT1H" }, "allow_rescheduling": true, "disabled_message": "Rescheduling is disabled for this service." }, "slot_rules": [ { "recurrence_rule": { "byday": [ "mo", "we", "fr" ], "freq": "weekly" }, "start_times": [ "09:00", "10:00" ] } ], "updated_at": "2025-02-17T17:49:19Z" }}Sync service conferencing POST
Re-apply the service's default conferencing to all of its providers, in alignment with the current default user mappings on the connected account. Use this after establishing or updating user mappings on the connection to push them onto the service's providers, without re-declaring the default. Providers without a default user mapping are skipped (reported in the response, not an error). Returns a 404 when the service does not exist or is not accessible to the current actor, and a 422 when the service has no default conferencing configured.
List available slots for a booking intent GET
Returns time slots available for this booking intent's configuration. The slot pattern is driven by the intent's primary service provider (or all service providers if no primary is set), filtered by the availability of any configured secondary providers.