Skip to main content
POST
/
api
/
external
/
add-points
Add points to customer account
curl --request POST \
  --url https://loyalty-admin.appstle.com/api/external/add-points \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <x-api-key>' \
  --data '{
  "points": 50
}'
{
  "availablePoints": 350,
  "pendingPoints": 0,
  "creditedPoints": 600,
  "spentAmount": 1250.99,
  "storeCreditBalance": 0,
  "currentVipTier": "Gold",
  "customerStatus": "ACTIVE",
  "rewards": []
}

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 added to 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>