Fixed
Loyalty · Loyalty API reference now matches what the API accepts and returns
October 24th, 2026
We re-tested every v2 endpoint and corrected the reference where it differed from the live API.
Requests
- Fetch Customer Details (
GET /api/v2/customers): send one identifier, not all four.with_historydefaults tofalse. - Create Redemption (
POST /api/v2/redemptions): onlyredemption_option_idis required, plus one customer identifier. - Create Order (
POST /api/v2/orders):ip_addressanduser_agentare optional. To opt a customer in, sendcustomer.opted_in(the example usedopt_in, which is ignored). - Send Referral Emails (
POST /api/v2/referral/share): identify the referrer withemailorcustomer_id. Sendemailsas a comma-separated string. - Remove a Customer from an Action-Based VIP Tier (
PUT /api/v2/actions/cancel_all): new example.typemust beEnterHighestTier. - Data Exists and User Data (
GET /api/v2/privacy/data/exists,GET /api/v2/privacy/data): passemailas a query parameter.
Responses
- Every v2 endpoint now documents
401for a missing or wrong GUID/API key. - Validation errors are documented as
422with real examples, plus the404s each endpoint returns. - Fetch Customer Details and Fetch All Recently Updated Customers share one fully described customer object.
- Data Exists returns
{"response": {"has_data": ...}}with nostatuswrapper.
Also fixed
- Rate limits: limits are set per account. Read yours from the
RateLimit-LimitandX-RateLimit-Limit-Minuteresponse headers. - Invalid JSON in three response examples, and broken links on the Welcome page and six help-center links.
