API Reference

Reviews

Read the reviews customers have left for a business, including the rating breakdown and per-staff reviews. Reviews are read-only via API keys; customers submit reviews from the Salonify apps.

Scope and plan

Reviews are read-only and require the reviews:read scope. API keys are available on the PRO and ENTERPRISE plans.

List reviews

GET/businesses/{businessId}/reviews
reviews:readPRO plan

Path parameters

NameTypeRequiredDescription
businessIduuidRequiredYour business id.

Query parameters

NameTypeRequiredDescription
minRatingintegerOptionalLower bound on rating (1-5).
maxRatingintegerOptionalUpper bound on rating (1-5).
hasResponsebooleanOptionalOnly reviews that do (or do not) have an owner response.
sortByenumOptionalcreatedAt (default) or rating.
sortOrderasc | descOptionalSort direction. Defaults to desc.
pageintegerOptionalPage number. Defaults to 1.
limitintegerOptionalItems per page (1-100). Defaults to 20.
curl "https://api.salonify.eu/api/v1/businesses/b_8f3a/reviews?minRating=4&limit=20" \
  -H "X-API-Key: sk_live_..."
{
  "data": [
    {
      "id": "rv_31",
      "rating": 5,
      "comment": "Best cut I've had in years.",
      "createdAt": "2026-06-10T16:40:00.000Z",
      "customer": { "id": "cu_9a21", "firstName": "Anna", "lastName": "B." },
      "booking": { "id": "bk_3f9c2a", "date": "2026-06-09", "services": [{ "serviceName": "Women's Cut" }] },
      "response": { "id": "rr_5", "content": "Thank you Anna!", "createdAt": "2026-06-11T08:00:00.000Z" }
    }
  ],
  "meta": { "total": 142, "page": 1, "limit": 20, "totalPages": 8 }
}

Retrieve a review

GET/reviews/{reviewId}
reviews:readPRO plan

Path parameters

NameTypeRequiredDescription
reviewIduuidRequiredThe review id.
curl "https://api.salonify.eu/api/v1/reviews/rv_31" \
  -H "X-API-Key: sk_live_..."
{
  "id": "rv_31",
  "rating": 5,
  "comment": "Best cut I've had in years.",
  "createdAt": "2026-06-10T16:40:00.000Z",
  "customer": { "id": "cu_9a21", "firstName": "Anna", "lastName": "B." }
}

Get review statistics

GET/businesses/{businessId}/reviews/stats
reviews:readPRO plan
curl "https://api.salonify.eu/api/v1/businesses/b_8f3a/reviews/stats" \
  -H "X-API-Key: sk_live_..."
{
  "averageRating": 4.8,
  "totalReviews": 142,
  "ratingDistribution": { "1": 1, "2": 2, "3": 5, "4": 24, "5": 110 },
  "recentTrend": "up"
}

Per-staff reviews

Reviews for a single team member are available at GET /businesses/{businessId}/staff/{staffId}/reviews with the same reviews:read scope and the same query filters. Submitting, responding to, approving, or reporting reviews is done from the Salonify dashboard and apps, not via API keys.