Skip to main content
POST
/
api
/
external
/
remove-points
Remove points from customer account
curl --request POST \
  --url https://loyalty-admin.appstle.com/api/external/remove-points \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <x-api-key>' \
  --data '{
  "points": 50
}'
{
  "availablePoints": 123,
  "pendingPoints": 123,
  "creditedPoints": 123,
  "spentAmount": 123,
  "storeCreditBalance": 123,
  "achievableTierId": 123,
  "currentVipTier": "<string>",
  "vipTierExpiredAt": "2023-11-07T05:31:56Z",
  "createAt": "2023-11-07T05:31:56Z",
  "rewardedForFacebook": true,
  "rewardedForPinterest": true,
  "rewardedForTwitter": true,
  "rewardedForInstagram": true,
  "rewardedForYoutube": true,
  "rewardedForTiktok": true,
  "rewardedForNewsLetter": true,
  "rewardedForSms": true,
  "referredCompleted": 123,
  "referralLink": "<string>",
  "dob": "2023-12-25",
  "rewards": [
    {
      "shop": "<string>",
      "customerId": 123,
      "discountCode": "<string>",
      "createAt": "2023-11-07T05:31:56Z",
      "id": 123,
      "description": "<string>",
      "pointTransactionId": 123,
      "pointRedeemRuleId": 123,
      "usedAt": "2023-11-07T05:31:56Z",
      "orderId": 123,
      "orderName": "<string>",
      "expireDate": "2023-11-07T05:31:56Z",
      "variantId": 123,
      "discountCodeId": "<string>",
      "productData": "<string>",
      "usageCount": 123,
      "amount": 123,
      "lastExpiryReminderSentDate": "2023-11-07T05:31:56Z"
    }
  ],
  "rewardedForCreatingAccount": true,
  "rewardedForSharingOnFacebook": true,
  "rewardedForSharingOnX": true,
  "expiringPointsAmount": 123,
  "pointsExpireAt": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://appstleinc-aeca3e0a.mintlify.app/llms.txt

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

Headers

X-API-Key
string
required

API key for authentication

Body

application/json

Request containing customer ID/email, points to add, and optional description

points
number<double>
required

Number of points to add to the customer's account. Must be a positive number. Points are added to availablePoints immediately (not pending). Decimal values are supported for fractional points. Example: 50.0

Required range: x >= 0.01
Example:

50

customerId
integer<int64> | null

Shopify customer ID (numeric). Identifies which customer receives the points. Provide either customerId OR customerEmail, not both. Customer must be enrolled in the loyalty program. 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. Email matching is case-insensitive. Example: customer@example.com

Example:

"customer@example.com"

earnRuleId
integer<int64> | null

Optional: ID of an earn rule to associate with this point addition. Used for categorization and reporting purposes only. Does not affect point calculation - points parameter takes precedence. Helps group similar types of point additions in reports. Example: 10

Example:

10

note
string | null

Optional but strongly recommended: Description of why points are being added. This note appears in the customer's transaction history and admin logs. Best practices:

  • Be specific about the reason
  • Include reference numbers (order ID, ticket ID, etc.)
  • Use consistent formatting for easier reporting Examples:
  • "Birthday bonus - January 2025"
  • "Compensation for delayed shipping - Order #1234"
  • "Referral bonus from external campaign"
  • "Migration - transferred from old system"
  • "Manual adjustment per support ticket #567"
Maximum string length: 500
Example:

"Compensation for delayed shipping - Order #1234"

Response

Points successfully removed from customer account

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>