API Reference
Staff
Read and manage the team members customers can book with. Staff carry their own schedules, breaks, and absences, and can be assigned to specific services with optional price or duration overrides.
Scope and plan
Reads require
staff:read, mutations require staff:write. API keys are available on the PRO and ENTERPRISE plans.List staff
GET
/businesses/{businessId}/staffstaff:readPRO plan
Path parameters
curl "https://api.salonify.eu/api/v1/businesses/b_8f3a/staff" \
-H "X-API-Key: sk_live_..."Response
[
{
"id": "st_4d11",
"firstName": "Marie",
"lastName": "Dupont",
"title": "Senior Stylist",
"email": "[email protected]",
"phone": "+352 621 123 456",
"avatar": "https://cdn.salonify.eu/staff/4d11.jpg",
"color": "#7C3AED",
"isOwner": false,
"isActive": true,
"acceptsBookings": true,
"order": 0
}
]Retrieve a staff member
GET
/businesses/{businessId}/staff/{staffId}staff:readPRO plan
Path parameters
curl "https://api.salonify.eu/api/v1/businesses/b_8f3a/staff/st_4d11" \
-H "X-API-Key: sk_live_..."Response
{
"id": "st_4d11",
"firstName": "Marie",
"lastName": "Dupont",
"title": "Senior Stylist",
"isActive": true,
"acceptsBookings": true
}Create a staff member
POST
/businesses/{businessId}/staffstaff:writePRO plan
Body parameters
Request
curl -X POST "https://api.salonify.eu/api/v1/businesses/b_8f3a/staff" \
-H "X-API-Key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"firstName": "Marie",
"lastName": "Dupont",
"title": "Senior Stylist",
"color": "#7C3AED"
}'Response
{
"id": "st_5e22",
"firstName": "Marie",
"lastName": "Dupont",
"title": "Senior Stylist",
"color": "#7C3AED",
"isActive": true,
"acceptsBookings": true
}Update a staff member
PATCH
/businesses/{businessId}/staff/{staffId}staff:writePRO plan
All create fields are accepted and optional.
curl -X PATCH "https://api.salonify.eu/api/v1/businesses/b_8f3a/staff/st_5e22" \
-H "X-API-Key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{ "acceptsBookings": false }'Response
{ "id": "st_5e22", "firstName": "Marie", "acceptsBookings": false }Assign services to a staff member
PUT
/businesses/{businessId}/staff/{staffId}/servicesstaff:writePRO plan
Body parameters
curl -X PUT "https://api.salonify.eu/api/v1/businesses/b_8f3a/staff/st_5e22/services" \
-H "X-API-Key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{ "services": [{ "serviceId": "sv_77", "priceOverride": 55 }] }'Response
{ "staffId": "st_5e22", "assigned": 1 }Delete a staff member
DELETE
/businesses/{businessId}/staff/{staffId}staff:writePRO plan
Soft-deletes the staff member. Returns 204 No Content.
curl -X DELETE "https://api.salonify.eu/api/v1/businesses/b_8f3a/staff/st_5e22" \
-H "X-API-Key: sk_live_..."Schedules, breaks, and absences
Per-staff working hours, breaks and absences live under
/businesses/{businessId}/staff/{staffId}/schedules, /breaks and /absences (and the consolidated /schedule resource). See the Schedule page for the full calendar model.