Models
SuccessResponse
trueAdditional metadata such as counts and pagination
"Operation completed successfully""2023-07-28T07:27:54.123Z"ErrorResponse
falseShow properties
"Resource not found""NOT_FOUND"404"2023-07-28T07:27:54.123Z"PaginatedResponse
trueArray of items for current page
Pagination metadata container
Show properties
Show properties
True if more results exist after current page
True if results exist before current page
Total count of all matching results (when available)
Total number of pages calculated as ceil(total/limit) (when available)
"Operation completed successfully""2023-07-28T07:27:54.123Z"ListResponse
trueShow properties
Number of items returned
"Operation completed successfully""2023-07-28T07:27:54.123Z"ShopSettings
Shop configuration settings. Only simple flag/option fields are exposed. Settings with side effects (colors, metafield sync, image upload, encryption) are managed via admin UI only.
Widget display language
"en"Show language selector in widget
falseShop timezone (IANA format)
"America/New_York"Date display format
"MM/DD/YYYY"Time format for activity log (24h or 12h)
"HH:mm"Enable custom point label
falseLabel position relative to point number
"before"Discount code prefix
"REWARD-"Behavior after applying discount
"stay_current"CSS selector for cart drawer button (required when behavior = open_cart_drawer)
".cart-drawer-btn"Free gift add-to-cart behavior
"manual_add_to_cart"Points-to-currency exchange rate
100Review approval mode
"approveAuto"Google review approval mode
"pending"Enable weekly email report
trueBCC recipients for weekly report
["[email protected]"]When to award points for orders
"financial_status"Log pending fulfillment orders (only when earnByOrderStatus = fulfillment_status)
falseFreeze conditions at order creation (only when earnByOrderStatus = fulfillment_status)
falseEnable order/customer tag sync
falseTag value for orders and customers
"loyalty-member"Enable Shop App SSO
falseEnable Multipass SSO (flag only, set secret via admin UI)
falseEnable Google SSO (requires Multipass)
falseEnable Facebook SSO (requires Multipass)
falseAllow third-party apps to read metafields
falseEnable auto-tag for engaged members
falseTags to apply to engaged members
["loyalty-active"]Pending points duration (positive integer as string)
"7"Pending points time unit
"day"Sign-up page redirect URL
"https://example.com/signup"Allow self-revoke coupon
falseLimit revoke count (requires allowRefundCoupon)
falseMax revokes allowed (positive integer as string)
"3"Revoke limit time unit
"month"Limit revoke time window (requires allowRefundCoupon)
falseRevoke window duration
7Revoke window time unit
"days"Enable global earning cap
falseEarning limit timeframe
"monthly"Rolling window days (only when timeframe = rolling)
30Max points per period
5000Different limits per tier
falsePer-tier limit overrides. Format: { [tierId]: { maxPoints: number, unlimited: boolean } }
{"tier_abc":{"maxPoints":10000,"unlimited":false}}Show free product in cart
falseMax free products displayed
3WidgetBranding
Widget branding configuration (branding_point_v2). Maps to admin Storefront → Branding → Widget Design (4 tabs merged into flat object).
Primary widget color (hex)
"#25272C"Secondary widget color (hex)
"#2F3136"Text color (hex)
"#FFFFFF"Background color (hex)
Icon color (hex)
Button text color (hex)
"#FFFFFF"Button background color (hex)
"#25272C"Corner radius in pixels
8Widget launcher icon
"popup_crown"Widget launcher label text
"Rewards"Banner display type
"default"Use minimal button style in widget
trueFloat button position on screen
"left-bottom"Float button launcher style
"icon_and_label"Float button color (hex)
"#25272C"Float button text color (hex)
"#FFFFFF"Theme text font family
"Inter"Heading font family
"Inter"Hide widget on mobile devices
falseHide widget on desktop
Hide the floating button entirely
falseShow widget only to logged-in users
falseAuto-show popup when page loads
falseShow lowest VIP tier first in widget
trueWidget popup position on screen
"left-bottom"ReferralBranding
Referral popup branding configuration. Maps to admin Storefront → Branding → Referral.
Primary referral color (hex)
"#6366F1"Text color (hex)
"#FFFFFF"Action button background color (hex)
Action button text color (hex)
Color mode
"template"Custom solid color (hex)
Font family
"Inter"Popup display type
Auto-close popup after delay
Auto-close delay in seconds
10Display frequency
Show newsletter subscribe checkbox
ReminderBranding
Proactive reminder branding configuration. Maps to admin Storefront → Branding → Reminder.
Show unused discount reminder
Unused discount heading text
Unused discount button text
Show reward redemption reminder
Reward redemption heading text
Reward redemption button text
Show milestone achieved reminder
Milestone heading text
Auto-close delay in seconds
10Reminder button position
Reminder display order
BrandingOverview
All branding types combined for quick overview scan.
Widget branding configuration (branding_point_v2). Maps to admin Storefront → Branding → Widget Design (4 tabs merged into flat object).
Show properties
Primary widget color (hex)
"#25272C"Secondary widget color (hex)
"#2F3136"Text color (hex)
"#FFFFFF"Background color (hex)
Icon color (hex)
Button text color (hex)
"#FFFFFF"Button background color (hex)
"#25272C"Corner radius in pixels
8Widget launcher icon
"popup_crown"Widget launcher label text
"Rewards"Banner display type
"default"Use minimal button style in widget
trueFloat button position on screen
"left-bottom"Float button launcher style
"icon_and_label"Float button color (hex)
"#25272C"Float button text color (hex)
"#FFFFFF"Theme text font family
"Inter"Heading font family
"Inter"Hide widget on mobile devices
falseHide widget on desktop
Hide the floating button entirely
falseShow widget only to logged-in users
falseAuto-show popup when page loads
falseShow lowest VIP tier first in widget
trueWidget popup position on screen
"left-bottom"Referral popup branding configuration. Maps to admin Storefront → Branding → Referral.
Show properties
Primary referral color (hex)
"#6366F1"Text color (hex)
"#FFFFFF"Action button background color (hex)
Action button text color (hex)
Color mode
"template"Custom solid color (hex)
Font family
"Inter"Popup display type
Auto-close popup after delay
Auto-close delay in seconds
10Display frequency
Show newsletter subscribe checkbox
Proactive reminder branding configuration. Maps to admin Storefront → Branding → Reminder.
Show properties
Show unused discount reminder
Unused discount heading text
Unused discount button text
Show reward redemption reminder
Reward redemption heading text
Reward redemption button text
Show milestone achieved reminder
Milestone heading text
Auto-close delay in seconds
10Reminder button position
Reminder display order
TranslationConfig
Full translation object containing config and text for all languages. Language keys (en, fr, de...) are dynamic objects with translation key-value pairs. Mirrors the internal admin translation system.
Primary language code
"en"How to detect customer language:
- customerIp: By IP geolocation
- browserLanguage: By browser language setting
- optionalStorefrontLanguage: Use Shopify storefront language
"browserLanguage"Additional languages with active status
Show properties
Language code
"fr"Whether language is active for customers
trueLanguages for embedded content (FAQs, exclusive products)
["en","fr"]AddLanguageRequest
Source language code to translate from
"en"Target language code to add
"fr"FaqTranslationsUpdate
FAQ translations keyed by language code
{"en":[{"title":"How does it work?","content":"Earn points on every purchase...","orderBy":0}],"fr":[{"title":"Comment ça marche?","content":"Gagnez des points à chaque achat...","orderBy":0}]}Program
Loyalty program (earning or spending) with all fields that may be returned by the API. Note: Actual responses may only include non-null fields due to automatic filtering.
"prog_abc123""Sign Up Bonus""earning""sign_up"true1"2024-01-15T10:30:00.000Z""2024-01-20T14:45:30.000Z"falsefalse"price"1100"2024-01-01T00:00:00.000Z""2024-12-31T23:59:59.000Z"false"all"["web","pos"]{}null[]50010"amount_discount""all"[]"available_in_online_store""none"0"""""""userRedeemed"true"redeemWithoutLimit"0[][][][][][]"none"Show properties
Show properties
Show properties
Show properties
Show properties
"round"falseCustomer
Internal customer ID
"b1wvKrxdDZ11U8tUlyyx"Shopify customer ID
7801029525739Customer full name
"John Doe"Customer first name
"John"Customer last name
"Doe"Customer type
"member"Current available points
100Points used for tier calculation
100Points pending approval
0Total amount spent
0Lifetime earned points
100Whether customer has available points
trueWhether customer joined loyalty program
trueNumber of orders placed
0Account state
"enabled"Last activity timestamp
"2025-04-29T10:23:05.990Z"Customer notification preferences
{}Marketing consent
falseBirthday in MM/DD format
"05/15"Date of birth in YYYY-MM-DD format
"1990-05-15"Current tier ID
"1Fe1kqHZbE7Alx1GmFEC"Current tier name
"Bronze"Last tier update timestamp
"2025-06-16T10:20:58.636Z"Phone number
nullPoints needed for next tier
4900Birth month in MM format
"05"Whether customer is B2B
falseWhether customer earned signup points
trueCustomer's referral code
"2kxRoqlDQMp"Whether customer has a tier assigned
falseCurrency code for spending
"VND"Account creation timestamp
"2025-04-29T10:23:05.991Z"Last update timestamp
"2025-06-16T10:20:58.663Z"Activity
Point transaction/activity with all fields that may be returned by the API. Note: Actual responses may only include non-null fields due to automatic filtering.
Activity ID
"act_abc123"Shop ID
"shop_xyz789"Internal customer ID
"cust_def456"Shopify customer ID
7801029525739Activity description/content
"Award points via REST API"Activity type
"earnPoint"Source of the activity
"rest_api"Program event that triggered this activity
"earn_point_rest_api"Previous point balance
50New point balance after this activity
150Associated program ID
"prog_abc123"Associated program title
"Manual Point Award"Shopify price rule ID for discounts
nullShopify discount ID
nullGenerated coupon code
nullAssociated Shopify order ID
nullShopify order name
nullShopify order number
nullOrder currency code
nullHow points were earned (price/order)
nullMoney to points conversion rate
nullPoints earned in this activity
100Points spent in this activity
nullEmail of referring customer
nullEmail of referred customer
nullMilestone order number
nullWhether points are pending for order
nullRefunded pending points
nullWhen pending points expire
nullAdmin note for this activity
nullUser note for this activity
nullReason for the activity
nullActivity creation timestamp
"2024-01-15T10:30:00.000Z"Last update timestamp
"2024-01-15T10:30:00.000Z"Reward
Reward ID
"OPfV7dXaPn1Ejbm9piPs"Internal customer ID
"o9AQeUCXYDjbeFm7vAKy"Generated coupon/discount code
"JOY-8PBFA801B2FH"Program title
"Points for discounts"Shopify customer ID
7603687882987Program description
"1 x 1% discount"Minimum order amount required
"$1"Reward expiration date
nullCurrent discount status
"active"Show properties
Program ID
"akwQ96WZJMIqrG26PNlC"Program title
"Points for discounts"Reward creation timestamp
"2025-06-12T10:31:25.781Z"Last update timestamp
"2025-06-12T10:31:25.781Z"Tier
Customer tier with all fields that may be returned by the API. Note: Actual responses may only include non-null fields due to automatic filtering.
Tier ID
"0cd20cc6-1cac-40fe-b350-49deca03470d"Tier name
"VIP - PRO"Default icon URL
"https://cdnapps.avada.io/joy/vip-tiers/icons/bronze.png"Custom icon URL
""Points required to reach this tier
5000Updated points required
5000Number of customers in this tier
42Whether tier has place order rewards
falseMoney rate for earning points
1Points earning configuration
1Shop ID
"umN0f3GKyQC3XS1AwVWg"Image block URL
"https://cdnapps.avada.io/joy/vip-tiers/icons/bronze.png"Tier-specific rewards/benefits
[]Show properties
Reward ID
"FNSGeIIRYIagQR9ysmD3"Whether reward is active
trueReward title
"Points for discounts"Type of redemption
"fixed"Points required to redeem
100Minimum points to spend
""Maximum points to spend
""Where reward applies
"all"Order requirements
"none"Minimum order amount required
0When reward expires
"permanent"Specific expiration time
"2025-06-02T07:35:16.908Z"Reward type
"tier_privileges"Code name for reward
"Discount"Amount earned
"1"Event type for reward
"bonus_point"Bonus points awarded
"1"Reward priority
0Whether to show on loyalty page
trueTranslated titles for different languages
{"vi":"Points for discounts (Vietnamese)","ar":"Points for discounts (Arabic)"}Whether reward has expired
falseReward creation timestamp
"2025-06-02T07:47:49.623Z"Last update timestamp
"2025-06-18T08:13:55.794Z"Whether tier is inactive
falseWhether tier is exclusive
falsePrevious names of this tier
[]Tier creation timestamp
"2024-01-15T10:30:00.000Z"Last update timestamp
"2024-01-20T14:45:30.000Z"TierReward
Reward ID
"FNSGeIIRYIagQR9ysmD3"Whether reward is active
trueReward title
"Points for discounts"Type of redemption
"fixed"Points required to redeem
100Minimum points to spend
""Maximum points to spend
""Where reward applies
"all"Order requirements
"none"Minimum order amount required
0When reward expires
"permanent"Specific expiration time
"2025-06-02T07:35:16.908Z"Reward type
"tier_privileges"Code name for reward
"Discount"Amount earned
"1"Event type for reward
"bonus_point"Bonus points awarded
"1"Reward priority
0Whether to show on loyalty page
trueTranslated titles for different languages
{"vi":"Points for discounts (Vietnamese)","ar":"Points for discounts (Arabic)"}Whether reward has expired
falseReward creation timestamp
"2025-06-02T07:47:49.623Z"Last update timestamp
"2025-06-18T08:13:55.794Z"TierCreate
Tier name (must be unique)
Points required to reach this tier
Defaults to targetPoint if not provided
Icon ID (tier_bronze_icon, tier_sliver_icon, tier_gold_icon, tier_diamond_icon, tier_platinum_icon, tier_crown_icon)
Custom icon URL
Multi-language tier names {locale: name}
Hex color
Inline rewards to create with the tier
Show properties
Reward event type
Reward name
Discount amount/percentage. For free_gift always '100'
Points required to redeem
Bonus points (for bonus_point event, ≥1)
Code name (for privilege rewards)
Product list (max 1 for free_gift)
TierUpdate
All fields optional — only send fields to change
TierSettings
Global VIP tier program settings
Tier program active (read-only via API, requires launch)
How customers qualify for tiers (read-only via API)
Reset cycle (read-only via API)
Points progression type (read-only via API)
Program start date (read-only via API)
Discount code prefix
"JOY-"Enable tier demotion
Duration before downgrade
"6""12""31"Auto-tag customers in Shopify by tier
"joy-vip-""7"TierSettingsUpdate
Safe tier settings fields only. Fields requiring tier launch (entryMethod, milestone, startDate, progressionType, status) are excluded.
TierRewardCreate
Reward event type
Reward name
Discount amount/percentage. For free_gift always '100'
Points required to redeem
Bonus points (for bonus_point event, ≥1)
Code name (for privilege rewards)
Product list (max 1 for free_gift)
TierRewardUpdate
All fields optional — only send fields to change
Shop
Shop information with safe fields returned by the whoami endpoint
Shop ID
"shop_abc123"Shop name
"My Awesome Store"Shop domain
"my-store.myshopify.com"Current subscription plan
"professional"Shop currency code
"USD"Shop timezone
"America/New_York"Shop country code
"US"Whether the Joy app is installed
trueShop creation timestamp
"2024-01-15T10:30:00.000Z"Last update timestamp
"2024-01-20T14:45:30.000Z"