Skip to main content

Rewards Settings

Read and change the shop's loyalty rewards: the thank-you code a customer gets for their next booking, and Bring a friend, where each customer has a code to share. These are the Thank-you reward and Bring a friend sections in Settings > Surveys & reviews.

Every code is an ordinary single-use promo code, so it is redeemed through the normal promo code box on the booking page, at the counter and through the bookings API.

Endpointsโ€‹

MethodEndpointDescriptionScope
GET/v1/settings/rewardsGet reward settingssettings:read
PATCH/v1/settings/rewardsChange reward settingssettings:write

GET /v1/settings/rewardsโ€‹

curl "https://app.equipdash.com/api/v1/settings/rewards" \
-H "Authorization: Bearer YOUR_API_KEY"

Response (200 OK)โ€‹

{
"data": {
"thank_you": {
"enabled": true,
"send_when": "every_visit",
"discount_type": "percentage",
"discount_value": 10,
"validity_days": 365,
"promo_code_id": null
},
"friend": {
"enabled": true,
"discount_type": "percentage",
"discount_value": 10
},
"sharer": {
"enabled": true,
"discount_type": "flat",
"discount_value": 20,
"promo_code_id": null
}
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-10-07T09:00:00Z"
}
}

The three settingsโ€‹

KeyWhat it is
thank_youThe code a customer gets for their next booking.
friendWhat a friend gets off their first booking when they use a customer's share code. enabled switches Bring a friend on or off.
sharerWhat the customer who shared gets once the friend's booking is complete. It switches on and off with friend.

Fieldsโ€‹

FieldTypeDescription
enabledbooleanWhether this reward is on. sharer follows friend; sending it changes nothing.
send_whenstringthank_you only. every_visit, every_3, every_5 or survey (when the customer finishes the post-booking survey). A visit counts once the booking is complete; cancelled bookings do not count.
discount_typestringpercentage or flat.
discount_valuenumberThe discount. A percentage can be at most 100.
validity_daysintegerthank_you only. How many days each code works, 1 to 365. Reward codes for a friend's booking use the same length.
promo_code_idinteger|nullthank_you and sharer only. When set, each code copies this promo code's rules (minimum spend, cap, which items) instead of discount_type and discount_value. Sending discount_type or discount_value without promo_code_id clears it.

PATCH /v1/settings/rewardsโ€‹

Send any of thank_you, friend and sharer, each with any of its fields above. Only what you send changes. A field the kind does not have is refused with 422 ("This setting is only on the thank-you code.") rather than ignored. The response is the full settings, as GET returns them.

curl -X PATCH "https://app.equipdash.com/api/v1/settings/rewards" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"thank_you": { "enabled": true, "send_when": "every_3", "discount_type": "flat", "discount_value": 15 },
"friend": { "enabled": true, "discount_value": 10 }
}'

Errorsโ€‹

StatusWhen
422A value is out of range (for example a percentage over 100), send_when is not one of the four values, promo_code_id is not one of your promo codes, or the body has none of the three keys.
403The API key does not have settings:write.

How rewards behaveโ€‹

  • One thank-you code per booking, and a customer holds at most one unused thank-you code at a time.
  • A share code works once for each new customer, on their first booking with the shop. It is refused for the customer who owns it and for anyone with an earlier booking.
  • Turning Bring a friend off stops every share code; turning it back on restarts them.
  • A customer's codes and the friends who booked with their share code appear under rewards on GET /v1/customers/{id}.