Customer Enrollment & Profile

Update customer loyalty status

Changed on

Updates the loyalty program status for the authenticated customer. Allows customers to opt-in, opt-out, or exclude themselves from the loyalty program. Status changes are logged in the activity log with appropriate event types (CUSTOMER_EXCLUDED, CUSTOMER_INCLUDED). When a customer is excluded, they stop earning points but retain existing points and rewards.

post/loyalty/cp/api/update-customer-status

Request

  • Base URL
    https://your-store.myshopify.com/apps
  • URL
    https://your-store.myshopify.com/apps/loyalty/cp/api/update-customer-status
  • Auth
    none declared

Request body

customerIdinteger

Unique identifier of the customer

dobstring date

Customer date of birth

dobYearProvidedboolean

Whether the customer provided a real birth year. When false, dob's year is treated as a placeholder and only the month/day are used for birthday-reward matching. Defaults to true when omitted (existing clients).

status'ACTIVE' | 'INACTIVE' | 'EXCLUDED' | 'EXCLUDED_BY_CUSTOMER' | 'ACTIVE' | 'INACTIVE' | 'EXCLUDED' | 'EXCLUDED_BY_CUSTOMER'

Customer loyalty status

Example request

{
  "customerId": 0,
  "dob": "2026-01-12",
  "dobYearProvided": true,
  "status": "ACTIVE"
}

Response

Customer status updated successfully

availablePointsnumber double
availableStoreCreditsnumber double
completedActivitiesinteger
createAtstring date-time required
customerIdinteger required
displayNamestring
dobstring date
dobYearProvidedboolean
emailstring
emailBouncedOrFailedboolean
emailSettingstring
enableEmailboolean
enableEmailMarketingboolean
enableSmsMarketingboolean
firstNamestring
idinteger
isDeletedFromShopifyboolean
lastActivitystring date-time
lastMonthlyReminderSentDatestring date-time
lastNamestring
lastRewardExpiryReminderSentDatestring date-time
loyaltyProgramEnabledboolean
ordersCountinteger
pendingPointsnumber double
phonestring
pointsExpiryDatestring date-time
redeemLimitinteger
redeemLimitOnceinteger
redeemedPointsnumber double
referralsinteger
rewardClaimedinteger
shopstring required
skipReviewboolean
spentAmountnumber double
status'ACTIVE' | 'INACTIVE' | 'EXCLUDED' | 'EXCLUDED_BY_CUSTOMER'
storeCreditAccountIdstring
tagsstring
tokenstring
totalEarnedPointsnumber double
totalEarnedStoreCreditsnumber double
totalRevenuenumber double
updatedSettingsstring
vipAssignType'MANUAL' | 'AUTO_RENEWAL' | 'RENEWAL_ON_HIGHER_TIER'
vipTierstring
vipTierAmountnumber double
vipTierExpiredAtstring date-time
vipTierIdinteger
vipTierSummarystring

Changes

    • info

      added the new optional request property

    • info

      added the optional property to the response with the status

    • breaking

      the response property became optional for the status

    • breaking

      the response property became optional for the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status