Skip to main content
POST
/
loyalty
/
cp
/
api
/
redeem-points
Redeem customer loyalty points
curl --request POST \
  --url https://loyalty-admin.appstle.com/loyalty/cp/api/redeem-points \
  --header 'Content-Type: application/json' \
  --data '
{
  "redeemRuleId": 5
}
'
{
  "availablePoints": 150,
  "pendingPoints": 25,
  "creditedPoints": 500,
  "rewards": [
    {
      "id": 12346,
      "discountCode": "LOYALTY15OFF",
      "discountType": "PERCENTAGE",
      "discountValue": 15,
      "status": "UNUSED",
      "expiryDate": "2025-06-30T23:59:59Z",
      "pointsRedeemed": 100,
      "createAt": "2025-01-29T10:30:00Z"
    }
  ],
  "currentVipTier": "Gold"
}

Documentation Index

Fetch the complete documentation index at: https://developers.appstle.com/llms.txt

Use this file to discover all available pages before exploring further.

Body

application/json

Point redemption request details including redeem rule ID, points to redeem, and optional variant ID for product rewards

redeemRuleId
integer<int64>
required

ID of the redemption rule to use. Determines what reward the customer receives. Use GET /api/external/point-redeem-rules to get available redemption options. Must be an active redemption rule configured in your loyalty program. Example: 5

Example:

5

customerId
integer<int64> | null

Shopify customer ID (numeric). Identifies which customer is redeeming points. Provide either customerId OR customerEmail, not both. Example: 67890

Example:

67890

customerEmail
string | null

Customer's email address. Alternative to customerId for identifying the customer. Provide either customerId OR customerEmail, not both. Must be a valid email address that exists in your Shopify store. Example: customer@example.com

Example:

"customer@example.com"

points
number<double> | null

Number of points to redeem. Must be positive. If not provided, uses the default points value from the redemption rule. Customer must have at least this many available points. Example: 100.0

Example:

100

variantId
integer<int64> | null

Shopify product variant ID. Required when redeeming for product-specific rewards (free product). Not required for discount codes or store credit rewards. Must be a valid variant ID from your Shopify catalog. Example: 12345678

Example:

12345678

Response

Points redeemed successfully, returns updated customer loyalty information with new reward

availablePoints
number<double>
pendingPoints
number<double>
creditedPoints
number<double>
spentAmount
number<double>
storeCreditBalance
number<double>
achievableTierId
integer<int64>
currentVipTier
string
vipTierExpiredAt
string<date-time>
createAt
string<date-time>
rewardedForFacebook
boolean
rewardedForPinterest
boolean
rewardedForTwitter
boolean
rewardedForInstagram
boolean
rewardedForYoutube
boolean
rewardedForTiktok
boolean
rewardedForNewsLetter
boolean
rewardedForSms
boolean
referredCompleted
integer<int64>
customerStatus
enum<string>
Available options:
ACTIVE,
INACTIVE,
EXCLUDED,
EXCLUDED_BY_CUSTOMER
dob
string<date>
rewards
object[]
rewardedForCreatingAccount
boolean
rewardedForSharingOnFacebook
boolean
rewardedForSharingOnX
boolean
expiringPointsAmount
number<double>
pointsExpireAt
string<date-time>