Saltar a la navegación

Update Service

Update an existing service. Only the fields sent are changed.

Parámetros de ruta

service_idstringRequerido

Encabezados

xi-api-keystringOpcional
xi-workspace-idstring or nullOpcional
The customer workspace a reseller's API key acts on.

Solicitud

This endpoint expects an object.
pricing_modeenumOpcionalValor predeterminado: fixed

‘fixed’ (default): the item has a known price the agent can quote, and customers can book or order it directly. ‘quote’: the price depends on the job (renovation, catering, custom work), so no price or slot is offered; the agent collects the intake_questions and files a quote request instead. Takes effect only while quotes are enabled for the business. Group services cannot use ‘quote’.

Valores permitidos:
intake_questionslist of objectsOpcional

Questions the agent asks before booking or ordering this item. Required for a useful pricing_mode='quote' item — without them a quote request arrives with nothing to price — but also valid on fixed-price items that need extra detail (current hair color before a dye job, allergies before a treatment).

groupslist of objectsOpcional

Group memberships for this item. Each entry carries the group label and the item’s 0-based rank within that group.

ungrouped_rankinteger or nullOpcional

Display position among items with no group; null sorts last. Change it with the reorder endpoint.

namestringOpcional
descriptionstringOpcional
variantslist of objectsOpcional

Bookable options for this service. Always non-empty; variants[0] is the default option shown when callers don’t pick a specific variant. Each entry has its own duration and (optional) price, and uniqueness is keyed by duration.

kindenumOpcionalValor predeterminado: classic

Classic = staff-delivered; rental = asset-based; group = multi-participant session.

Valores permitidos:
buffer_minutesintegerOpcional

Turnover/cleanup time reserved after each booking. Applies to every service kind; default 0 means no buffer.

service_locationenumOpcionalValor predeterminado: business

Where the service is delivered. business = client visits the business location (default); customer = staff travels to the client. Only meaningful for kind='classic'.

Valores permitidos:
add_onslist of objectsOpcional
Optional extras that can be added to a booking of this service.
max_participantsinteger or nullOpcional2-200

Capacity for kind='group': how many seats a single session can sell across all registrations. Must be null for classic and rental services (those are always exclusive to one client per booking).

capacityinteger or nullOpcional
is_activebooleanOpcional
any_staff_memberbooleanOpcional
staff_idslist of stringsOpcional

Staff assigned to this service; must be empty for kind=‘rental’.

asset_idslist of stringsOpcional
advance_booking_minutesintegerOpcional

How far into the future customer-facing channels (public booking page, voice agent) may book this service. Applies to every kind.

location_idslist of stringsOpcional

Locations where this service is offered; empty list means all locations.

display_on_booking_pagebooleanOpcional
travel_minutesintegerOpcional

Travel time in minutes added before/after appointments for customer-location services. Blocks the staff member’s calendar but is not visible to the customer. Ignored when service_location='business'.

travel_beforebooleanOpcional

Add travel time before the appointment (outbound trip).

travel_afterbooleanOpcional

Add travel time after the appointment (return trip).

promotionslist of objectsOpcional

Time-bound discounts applicable to this service or specific variants.

duration_minutesinteger or nullOpcional<=43200

Sets the first variant’s duration. Ignored when variants is sent.

pricedouble or nullOpcional>=0

Sets the first variant’s price. Ignored when variants is sent.

Respuesta

Respuesta correcta.
has_affected_eventsboolean
serviceobject or nullOpcional

Represents a bookable service (e.g., haircut, massage, consultation).

Errores

422
Unprocessable Entity Error