Core customer portal APIs for managing customer account settings, authentication, and portal configurations.
- Get available loyalty point redemption options
Customer Portal APIs (0.0.1)
Comprehensive API documentation for the customer-facing subscription portal. These APIs enable customers to manage their subscriptions, update billing information, modify delivery schedules, and access their account details through your storefront.
Important: These APIs must be called from your shop's domain (e.g., https://www.myshop.com/apps/subscriptions/cp/api/**) and require customer authentication. Unauthenticated requests will return a 401 Unauthorized error.
Request
Executes GraphQL queries against Shopify's Customer Account API on behalf of the authenticated customer. This endpoint handles token management, refresh, and authentication automatically.
What you can query:
- Customer profile information
- Order history and details
- Saved addresses
- Payment methods
- Subscriptions (via Customer Account API schema)
Token Management:
- Automatically uses stored access token
- Refreshes expired tokens automatically
- Returns 401 if customer needs to re-authenticate
Example Queries:
query {
customer {
id
emailAddress { emailAddress }
defaultAddress { address1 city }
}
}Authentication: Customer must be logged in and have completed OAuth flow
GraphQL query and optional variables
- https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/graphql
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/graphql \
-H 'Content-Type: application/json' \
-d '{
"query": "query { customer { id emailAddress { emailAddress } } }",
"variables": {}
}'{ "data": { "customer": { … } } }
Request
Returns all available rewards that the customer can redeem their loyalty points for. This shows customers what they can spend their points on.
Common Redemption Options:
- Discount codes (e.g., $5 off for 500 points)
- Percentage discounts (e.g., 10% off for 1000 points)
- Free shipping rewards
- Free products or samples
- Exclusive access to sales
Response includes:
- Redemption option ID
- Name and description
- Points cost
- Reward value (dollar amount or percentage)
- Availability (minimum purchase, restrictions)
- Whether customer has enough points
Filtering:
- Only shows active redemption options
- Filters based on customer's tier/VIP level
- Shows whether customer has sufficient points
Use Cases:
- Display 'Redeem Points' section in customer portal
- Show available rewards in checkout
- Encourage customers to save points for bigger rewards
Authentication: Customer must be logged in via Shopify customer session
- https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/redeem-options
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/redeem-options[ { "id": 1, "name": "$5 Off Coupon", "description": "Get $5 off your next order", "pointsCost": 500, "rewardValue": 5, "rewardType": "FIXED_AMOUNT", "canRedeem": true }, { "id": 2, "name": "15% Off Entire Order", "description": "Get 15% off your entire order", "pointsCost": 1500, "rewardValue": 15, "rewardType": "PERCENTAGE", "canRedeem": true } ]
Request
Retrieves the loyalty/rewards program data for the currently logged-in customer. This includes points balance, tier status, and available rewards.
Supported Loyalty Programs:
- Appstle Loyalty & Rewards
- Yotpo Loyalty & Referrals
- Smile.io (via Appstle integration)
What you get:
- Current points balance
- Points pending (from recent orders)
- VIP tier/level
- Points history
- Available reward redemptions
Use Cases:
- Display points balance in customer portal
- Show available rewards customer can redeem
- Display VIP tier badge
- Show points expiration dates
Authentication: Customer must be logged in via Shopify customer session
Note: Requires loyalty app integration to be configured in merchant settings
- https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/customer
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/customer{ "pointsBalance": 1250, "pointsPending": 150, "tierName": "Gold", "pointsToNextTier": 250, "customerEmail": "customer@example.com" }