Zur Navigation springen

Create Service

Create a new service

Header

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

Anfrage

This endpoint expects an object.
namestringErforderlich
pricing_modeenumOptionalStandardwert ist 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’.

Erlaubte Werte:
intake_questionslist of objectsOptional

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 objectsOptional

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

ungrouped_rankinteger or nullOptional>=0

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

descriptionstringOptional
variantslist of objectsOptional

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.

kindenumOptionalStandardwert ist classic

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

Erlaubte Werte:
buffer_minutesintegerOptional0-1440Standardwert ist 0

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

service_locationenumOptionalStandardwert ist business

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

Erlaubte Werte:
add_onslist of objectsOptional
Optional extras that can be added to a booking of this service.
max_participantsinteger or nullOptional2-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 nullOptional
is_activebooleanOptionalStandardwert ist true
any_staff_memberbooleanOptionalStandardwert ist true
staff_idslist of stringsOptional

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

asset_idslist of stringsOptional
advance_booking_minutesintegerOptional0-525600Standardwert ist 1440

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

location_idslist of stringsOptional

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

display_on_booking_pagebooleanOptionalStandardwert ist true
travel_minutesintegerOptional0-480Standardwert ist 0

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_beforebooleanOptionalStandardwert ist true

Add travel time before the appointment (outbound trip).

travel_afterbooleanOptionalStandardwert ist true

Add travel time after the appointment (return trip).

promotionslist of objectsOptional

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

Antwort

Erfolgreiche Antwort
namestring
variantslist of objects
_idstring
duration_minutesintegerSchreibgeschützt
Duration of the first variant.
pricedouble or nullSchreibgeschützt
Price of the first variant.
pricing_modeenumOptionalStandardwert ist 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’.

Erlaubte Werte:
intake_questionslist of objectsOptional

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 objectsOptional

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

ungrouped_rankinteger or nullOptional>=0

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

descriptionstringOptional
kindenumOptionalStandardwert ist classic

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

Erlaubte Werte:
buffer_minutesintegerOptional0-1440Standardwert ist 0

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

service_locationenumOptionalStandardwert ist business

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

Erlaubte Werte:
add_onslist of objectsOptional
Optional extras that can be added to a booking of this service.
max_participantsinteger or nullOptional2-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 nullOptional
is_activebooleanOptionalStandardwert ist true
any_staff_memberbooleanOptionalStandardwert ist true
staff_idslist of stringsOptional

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

asset_idslist of stringsOptional
advance_booking_minutesintegerOptional0-525600Standardwert ist 1440

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

location_idslist of stringsOptional

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

display_on_booking_pagebooleanOptionalStandardwert ist true
travel_minutesintegerOptional0-480Standardwert ist 0

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_beforebooleanOptionalStandardwert ist true

Add travel time before the appointment (outbound trip).

travel_afterbooleanOptionalStandardwert ist true

Add travel time after the appointment (return trip).

promotionslist of objectsOptional

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

created_at_unixintegerOptional

Unix timestamp (seconds since epoch)

updated_at_unixintegerOptional

Unix timestamp (seconds since epoch)

Fehler

422
Unprocessable Entity Error