Skip to main content
Retrieves the customer’s points balance and the full reward catalogue with affordability info per reward. Intended as the primary endpoint for rendering a loyalty redemption UI. GET /public/customers/rewards/redeemable

Authorizations

Authorization string header required Bearer authentication header of the form Bearer <token>, where <token> is your REST API token.

Required Scope

rewards:read This endpoint requires the rewards scope with Read Access. Configure token scopes in Settings → Integrations → REST API.

Query Parameters

customer_id string required The platform customer ID (e.g. Shopify customer ID) Example: "9049402769586"

Response

200 - application/json data object Hide child attributes data.points_balance integer The customer’s current redeemable points balance. Example: 650 data.rewards object[] The active reward catalogue for this organisation, enriched with affordability fields for this customer. Hide child attributes data.rewards[].id string<uuid> Example: "90424fa7-e8a9-4ef4-b43a-72c9b2028db5" data.rewards[].name string Example: "$5 off your next order" data.rewards[].description string | null Example: "Redeem 500 points for a $5 discount." data.rewards[].reward_type enum<string> Available options: fixed_discount, percentage_discount, free_shipping, free_product, store_credit Example: "fixed_discount" data.rewards[].points_cost integer The number of points required to redeem this reward. Example: 500 data.rewards[].reward_rule object The rule configuration for this reward. Structure varies by reward_type. Example: { "points_required": 500, "discount_value": 5 } data.rewards[].can_redeem boolean Whether the customer currently has enough points to redeem this reward. Example: true data.rewards[].points_needed integer The additional points needed to redeem this reward. 0 if can_redeem is true. Example: 0 data.customer_rewards object[] The customer’s previously redeemed coupons and discounts, sorted by created_at descending. Hide child attributes data.customer_rewards[].id string<uuid> Example: "1fd80ced-326f-4082-951b-21a38632a603" data.customer_rewards[].reward_type string | null Example: "fixed_discount" data.customer_rewards[].status enum<string> Available options: active, used, inactive, expired, deleted, revert Example: "active" data.customer_rewards[].discount_code string | null Example: "YUKO-TVJ-BL1" data.customer_rewards[].points_used integer Example: 500 data.customer_rewards[].expires_at string<date-time> | null Example: "2026-06-01T00:00:00+00:00" data.customer_rewards[].used_at string<date-time> | null Example: null data.customer_rewards[].created_at string<date-time> Example: "2026-02-15T08:30:00+00:00"