API Reference
Services
Manage the catalog a business offers: categories, services, and their variants. Services are the building blocks customers book. All routes are scoped to the business that owns the key.
Scope and plan
Reads require
services:read, mutations require services:write. API keys are available on the PRO and ENTERPRISE plans. Deletes are soft deletes.List services
GET
/businesses/{businessId}/servicesservices:readPRO plan
Path parameters
Query parameters
curl "https://api.salonify.eu/api/v1/businesses/b_8f3a/services" \
-H "X-API-Key: sk_live_..."Response
[
{
"id": "sv_77",
"name": "Women's Cut",
"description": "Wash, cut and blow-dry",
"categoryId": "sc_12",
"price": 45,
"duration": 60,
"isActive": true,
"order": 0,
"variants": [
{ "id": "vr_1", "name": "Short hair", "price": 45, "duration": 60 },
{ "id": "vr_2", "name": "Long hair", "price": 55, "duration": 75 }
]
}
]Retrieve a service
GET
/businesses/{businessId}/services/{serviceId}services:readPRO plan
Path parameters
curl "https://api.salonify.eu/api/v1/businesses/b_8f3a/services/sv_77" \
-H "X-API-Key: sk_live_..."Response
{
"id": "sv_77",
"name": "Women's Cut",
"price": 45,
"duration": 60,
"categoryId": "sc_12",
"isActive": true,
"variants": [],
"addons": []
}Create a service
POST
/businesses/{businessId}/servicesservices:writePRO plan
Body parameters
Request
curl -X POST "https://api.salonify.eu/api/v1/businesses/b_8f3a/services" \
-H "X-API-Key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Men's Cut",
"price": 30,
"duration": 30,
"categoryId": "sc_12"
}'Response
{
"id": "sv_91",
"name": "Men's Cut",
"price": 30,
"duration": 30,
"categoryId": "sc_12",
"isActive": true,
"order": 4
}Update a service
PATCH
/businesses/{businessId}/services/{serviceId}services:writePRO plan
Body parameters
curl -X PATCH "https://api.salonify.eu/api/v1/businesses/b_8f3a/services/sv_91" \
-H "X-API-Key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{ "price": 32 }'Response
{ "id": "sv_91", "name": "Men's Cut", "price": 32, "duration": 30 }Delete a service
DELETE
/businesses/{businessId}/services/{serviceId}services:writePRO plan
Soft-deletes the service. It stops appearing in the catalog but historical bookings keep their service snapshot. Returns 204 No Content.
curl -X DELETE "https://api.salonify.eu/api/v1/businesses/b_8f3a/services/sv_91" \
-H "X-API-Key: sk_live_..."Categories, variants, and add-ons
Service categories (
/services/categories), variants (/services/{serviceId}/variants) and add-ons (/services/{serviceId}/addons) follow the same GET / POST / PATCH / DELETE shape and the same services:read / services:write scopes.