S2S API Changelog
2026.10.22
- Added optional
quantityto theitemsattached to campaign message nodes (email, push, popup, Discord, webhook, and prompt nodes) in create_campaign, update_campaign, get_campaign_graph, and update_campaign_graph - Made
store_item_idoptional on theitemsattached to campaign message nodes in the same endpoints, so an item can be referenced byitem_idalone
2026.10.21
- Added optional
disputesto payments in get_payments, listing each payment's chargebacks with their amounts, status, reason, and fees - Added required
amount_decimal, the amount in major units ofcurrency, to disputes in get_disputes and to payment refunds in get_payments - Added optional
amount_usd, the refunded amount booked in USD cents, to payment refunds in get_payments - Corrected the documented units of dispute and dispute fee amounts in get_disputes:
amount_usd,amount_eur, and the feeamountandfixed_feeare in minor units (cents), not major units
2026.10.20
- Added the
upsellcampaign event type to get_campaigns, create_campaign, get_campaigns_by_ids, get_campaign, update_campaign, and update_campaign_graph
2026.10.19
- Added optional
warningsto the create_order response, listing request fields whose invalid values, like an unsupportedlocaleorcountry, were ignored - Added optional
variant(verticalorhorizontalgrid layout),custom_badge_image_url, andcustom_badge_text_rotationto pick-one offer settings returned by get_items, get_store_items, get_all_store_items, create_store_item, bulk_update_store_items, and update_store_item
2026.10.15
- Added rolling offers: a new
rollingitem type, arolling_offerstore item object type, and theRollingReadschema in item and store item responses - Added optional
is_bonus_targetto bundle nested items, choosing which items receive the bundle bonus instead of only the featured one - Added optional
bonus_fixed, a fixed bonus amount, to the nested items returned by get_items, get_store_items, get_all_store_items, create_store_item, bulk_update_store_items, update_store_item, get_daily_rewards, create_daily_reward, get_daily_reward, update_daily_reward, and copy_daily_reward - Added optional
availability_calendarandreset_calendarto pick-one offers returned by get_items, get_store_items, get_all_store_items, create_store_item, bulk_update_store_items, and update_store_item, setting when the offer is available and when players may pick again
2026.10.14
- Added optional
display_settingsto store items across create_store_item, batch_create_store_item, bulk_update_store_items, update_store_item, get_store_items, and get_all_store_items, with aplacementofinlineorfull_widthfor the item's card in the store grid - Added optional
hide_day_numberto daily rewards page blocks across create_page, update_page, bulk_update_page, get_pages, get_page, and translate_page - Added optional
keep_original_image_ratioto featured article page blocks across create_page, update_page, bulk_update_page, get_pages, get_page, and translate_page
2026.10.12
- Added optional
unavailable_behavior,unavailable_title, andunavailable_messageto daily rewards, loyalty program, and progression program page blocks across create_page, update_page, bulk_update_page, get_pages, get_page, and translate_page, controlling what the block shows when the player has no program - Added optional
idsquery parameter to get_creators to fetch up to 100 creators by ID - Renamed the operation ID of
POST /v1/players/{player_id}/issue_loyalty_pointsfromissue_loyalty_pointsto issue_player_loyalty_points. It previously shared that ID withPOST /v1/loyalty/{loyalty_settings_id}/issue_points, which keeps issue_loyalty_points
2026.10.08
- Added optional
card_template_optionsto store items across create_store_item, batch_create_store_item, bulk_update_store_items, update_store_item, get_store_items, and get_all_store_items, letting you pick the bonus badge template (defaultorbonus) per item - Added the
customdaily reward program type to get_daily_rewards, create_daily_reward, get_daily_reward, update_daily_reward, and copy_daily_reward, for programs whose pace your game controls - Added optional
hidden_image_urlto the rewards settings on create_daily_reward and update_daily_reward, also returned by get_daily_rewards, get_daily_reward, and copy_daily_reward - Added optional
quantity_expressionto tier items on update_loyalty_tiers and get_loyalty_tiers, a math expression that computes the item quantity
2026.10.05
- Replaced the
sort_fieldandsort_orderquery parameters on get_news_list with a singlearticle_sort(newest_first,oldest_first, ormanual), and removed theNewsSortFieldschema - Added an optional
localeplayer attribute, accepted by update_player, upsert_player, create_order, and authorize_user, and returned wherever player attributes appear - Added optional
requirements_expressionto virtual currency items returned by get_items and the store item endpoints, defining the rules by which the currency is shown to the player - Removed
progress_reset_atfrom pick-one items returned by get_items and the store item endpoints - Added the
requirements_not_metvalue to the rewardissue_statuson get_order and update_order - Added optional
inputandctxto each validation error in422responses on every endpoint, echoing the rejected value and any extra details about the failed check
2026.10.02
- Added optional
refundsto payments in get_payments. Each refund has astatus(pending,succeeded, orfailed),amount,currency,reason,created_at, andsucceeded_at.refund_reasonnow holds the chargeback reason category for chargebacks - Added optional
display_as_profile_balanceto campaign custom attributes, across create_campaign, update_campaign, get_campaigns, get_campaigns_by_ids, get_campaign, and update_campaign_graph
2026.09.28
- Replaced
eligibility_ruleson subscription offers with a nullableexpression, so any rule anExpressioncan describe decides who gets an offer. The field is gone from get_items and the store item endpoints, along with theSubscriptionOfferEligibilityschema - Added optional
eligible_rewardsto create_order, which overrides the virtual currency rewards granted once the order is paid. The response reports each reward asapplied,declined, orinvalid_amount - Added optional
modetobonus_items_settingson store items and store promotions.addstacks the bonus items on top of the store item's own, and the defaultreplacekeeps the current behavior - Deprecated
view_optionon items, in requests to create_item, update_item, bulk_create_or_update_items, and bulk_update_items, and wherever an item is returned, including coupons, daily rewards, loyalty tiers, and store items - Added optional
transparent_backgroundtoImageBannerBlockin page layouts, across create_page, update_page, bulk_update_page, get_pages, get_page, and translate_page
2026.09.24
- Added upgrade_player_subscription endpoint, which moves a player's subscription to another plan by
plan_keyor explicit overrides such asamount,cycle_period, andrenewal_type. Nothing is charged right away, and the new plan takes effect at the next renewal
2026.09.23
- Added piggy bank offers — a
piggy_bankitem type and aPiggyBankReadschema with tiers unlocked by a player custom attribute, returned by get_items and the store item endpoints, where a newobject_typefield says what each card holds - Merged the five expression schemas into one recursive
Expression, used by itemquantity_expression, newsrequirements_expression, and campaignvariables, and added afunctiontoken type.nameis no longer required onquantity_expression - Added nullable
opened_atto orders, the Unix time the player first opened the order's checkout page, on get_orders, get_order, and update_order
2026.09.22
- Added
GrantDiscordRoleNodeandRemoveDiscordRoleNodeto campaign graphs, which give a player the Discord role named inrole_idor take it away, across create_campaign, update_campaign, get_campaign_graph, and update_campaign_graph
2026.09.21
- Added
FeaturedArticleBlockto page layouts — a single pinned article, or one rotated out of a collection everyrotation_periodseconds — across the page endpoints and thepage_blockunion onAddPageBlockNode - Added optional
default_valueto the custom attributes a campaign defines, the value a player falls back to when none is stored for them, on get_campaigns, create_campaign, get_campaigns_by_ids, get_campaign, update_campaign, and update_campaign_graph
2026.09.17
- Bounded the pagination parameters on the list endpoints —
limitnow caps at 300 on 26 endpoints andoffsetmust be 0 or greater on 24 of them. The lower bound onlimitis exclusive everywhere except get_orders, solimit=1no longer validates - Capped every ID path and query parameter at 32 characters, covering 31 parameter names across 105 operations, from the resource IDs in the path to filters like
category_idon get_items and thestart_after_idcursor on get_orders - Marked the
offsetquery parameter on get_orders asdeprecatedin the spec, which its description has said since 2026.09.16. Usestart_after_idinstead - Removed the placeholder
An enumeration.description from ten enum schemas, includingResourceState,NewsState,NewsGroup,NewsSortField,ItemPriceType,ItemStackableType,ItemOrderType,CouponGeneratedType,RangeField, andUnsetType - Removed the description from the
countryquery parameter on get_price_points, which explained that the two-letter ISO 3166-1 alpha-2 code drives price localization. The^[A-Z]{2}$pattern still documents the format
2026.09.16
- Added a server-side store flow — upsert_player sets the
countryandplatforma player's store is priced with, get_player_store_items returns the personalized offers the Game Hub would show them, and create_order charges those offers bystore_item_idinstead ofsku, with an optionalexpected_priceto catch a mismatch and requiredcurrencyandamounton the response - Deprecated the
offsetquery parameter on get_orders in favor of the newstart_after_id, a cursor that takes theidof the last order on the previous page - Added a
discord_linkedvalue to theCampaignEventTypeenum, triggering a campaign when a player links their Discord account, across get_campaigns, create_campaign, get_campaigns_by_ids, get_campaign, update_campaign, and update_campaign_graph
2026.09.11
- Added a
primaryvalue to thePaymentMethodDisplayenum, marking a payment method as the pre-selected option at the top of the checkout form, alongside the existingautoandexpress. ItsPaymentMethodSettingsschema is still not referenced by any endpoint
2026.09.10
- Renamed the
fieldquery parameter toorder_byon get_payments and added the same parameter to get_disputes, where it acceptscreated_atorupdated_at. On both endpoints the named timestamp now sets the sort order as well as the fieldstart_at/end_atfilter on - Added
PWAPromptPopupActionNodeto campaign graphs — a PWA install ask rendered as a plain Game Hub popup, carrying the same content and offer-linking fields asPWAPromptActionNodebut without itspositionandskip_dialogplacement controls - Added read-only
mode(exclusiveorinclusive) to lootbox hard pity, saying whether a guarantee replaces the roll it lands on or arrives on top of it, across the item, store item, and daily reward responses - Added optional
show_descriptionto item categories, controlling whether the categorydescriptionis displayed, on create_item_category, update_item_category, bulk_update_item_categories, get_item_category, and get_item_categories - Clarified
amount_usdon get_orders, get_order, and update_order — before payment it is an estimate converted from the order currency and may change once the order is paid, rather than a value only set on payment - Added optional
selected_plan_lockedto order items on create_order, which pins the checkout page to the plan named inselected_plan_keyso the player cannot switch plans
2026.09.08
- Added the get_disputes and get_fraud_alerts endpoints, which list the chargebacks and issuer fraud alerts raised against the game's payments, with amounts booked in USD and EUR and dispute fees flagged as processor-reported or estimated
- Added the get_gdpr_request endpoint, which looks up a data removal request by
email,user_id, orplayer_idand returns itsidandstatus(pending,in_progress,deferred,failed, orcompleted) - Marked
secret_redactedread-only on get_webhooks, get_webhook, and update_webhook, documenting that the masked secret is returned but never accepted
2026.09.07
- Added
CreateOnboardingPlayerBannerActionNodeto campaign graphs — a Game Hub banner holding up to 10 onboarding tasks (submit_email,pwa_install, orwebpush_subscribe), each worth points toward a loyalty or progression program and up to 10 item rewards
2026.09.03
- Added four node types to campaign graphs —
EmailPromptActionNodeandWebpushPromptActionNodeask the player for an email address or push permission,GrantVirtualCurrencyNodeandGrantPointsNodehand out currency and loyalty or progression points — plus anemail_submittedcampaign trigger that fires when a player submits their email - Added
ArticleCollectionBlockto page layouts, listing the pages of a collection as aslideror agrid, across the page endpoints and thepage_blockunion onAddPageBlockNode - Added read-only
amount_usdto orders — the order amount in USD cents, set once the order is paid — on get_orders, get_order, and update_order - Added optional
show_global_max_purchase_counterto store items, which shows the player how many purchases are left against the global limit when there is no per-user limit, across get_all_store_items, get_store_items, create_store_item, update_store_item, bulk_update_store_items, and batch_create_store_item
2026.09.02
- Added required
sales_channel(game_hub,checkout,android_sdk, orcheckout_link) to every order returned by get_orders, get_order, and update_order, naming the surface the order was placed through - Added required
created_at(Unix epoch time) to each order in get_orders, which the single-order endpoints already returned - Added optional
billing_addressto create_order, carrying the player's billingzipor postal code
2026.08.31
- Split the shared
GraphRootschema intoCampaignGraph,PageGraph, andSegmentGroupGraph, so each graph only accepts the node types that run in its context — pagegraph_rulesare down toAddPageBlockNode,ConditionNode, andSplitNode - Removed the store nodes (
AddStoreNode,SortStoreItemsNode,ItemCategorySortNode), the payment risk nodes (DeclinePaymentNode,Require3DSNode,RequirePennyDropNode,BanUserNode,BatchBanUserNode), and theSortStoreTypeenum from the API - Made
noncerequired on reject_authorization — a rejection has to name the Game Hub session it belongs to, where the field was optional before - Typed the
htmlmap on translate_page asSanitizedHtmlLocaleMappingrather thanLocaleMapping, marking those values as sanitized HTML. Same locale keys, same string values, no change on the wire
2026.08.27
- Added the reject_authorization endpoint, which ends a Game Hub login the game server turns down and returns a URL that shows the player the error
- Added optional
start_at,end_at, andplatformquery filters to get_orders, narrowing the list by order creation time (Unix timestamp in seconds) and by platform - Added optional
platform(any,ios,android, orother) to each order returned by get_orders, so the platform an order came from is readable without matching it back to the filter used
2026.08.26
- Added
RequirePennyDropNodeto campaign, page, and segment-group graphs — a payment risk action node that lets the capture through but makes billing verify the card with a penny drop - Added optional
pin_scope(globalorcollection) to pages, setting whether a pinned page ranks first among the pages of all sibling collections or only within its own collection, across get_pages, get_page, create_page, update_page, bulk_update_page, and translate_page. An unset scope is read asglobal
2026.08.25
- Added optional
quantity_expressionto nested items, so a child item inside a bundle, subscription plan, loyalty tier, or daily reward can compute its amount from a formula, and added aPublicNestedItemschema that keeps that formula out of player-facing responses
2026.08.24
- Added
price_step_upandprogress_reset_atto lootbox settings — a ladder of up to 50 price steps that changes what a lootbox costs as a player keeps opening it — returned by the item and store item endpoints - Added
collection_idto update_news and bulk_update_news, pluscollection_id,has_collection, andstatefilters on get_news_list - Moved get_dispute_evidence, upsert_dispute_evidence, and upload_dispute_evidence_file out of the
Paymentstag into aPayments' Dispute Evidencetag of their own, so they get their own section in the API reference
2026.08.20
- Added four payment risk action nodes —
DeclinePaymentNode,Require3DSNode,BanUserNode, andBatchBanUserNode— to campaign, page, and segment-group graphs - Added the update_creator_terms endpoint for correcting an accepted terms record in place, and a
legal_namefield to the creatortermsobject on every creator endpoint - Replaced
lootbox_settings.pityon public lootboxes with amechanicsarray on the lootbox itself, reporting the pity progress that applies to the player, across the daily reward endpoints - Limited resource-reference ID fields on the store promotion, store, loyalty, daily reward, order, and payment endpoints to 32 characters, continuing the cap already applied to catalog, graph, coupon, and creator payloads
- Added optional
card_issuer_bankandcard_issuing_countryto get_payments — the issuing bank name and ISO 3166-1 alpha-2 country resolved from the card BIN, best-effort and empty for non-card payments - Added ten Aghanim-maintained engagement attributes to update_player —
last_purchase_date,last_purchase_item_id,last_purchase_sku,last_purchase_amount,purchases_count_rp,last_communication_date,last_email_date,last_hub_popup_date, and the twogame_hub_last_sent_webpush_*timestamps - Widened
price_decimalon create_order to accept a decimal string as well as a number, so clients can send exact amounts without going through a float - Renamed the
player_infoschema on authorize_user fromPlayerInfotoLoginPlayerInfo, which also types thecustom_attributesvalues as booleans, numbers, strings, or arrays of those instead of leaving them unconstrained
2026.08.17
- Added optional
quantity_expressionto items — a math expression that computes the quantity of a stackable item — writable on the item endpoints and returned wherever an item is embedded, including store items, coupons, and orders - Added an optional
experimentsarray to orders, recording up to 20 A/B test assignments asexperiment_keyandvariant_keypairs, on create_order, get_order, and update_order - Limited resource-reference ID fields on the coupon and creator endpoints to 32 characters, completing the cap already applied to catalog, store, graph, and page payloads
- Narrowed the item union on get_items and in store item responses from
anyOftooneOf, so generated clients treatItemRead,LootboxRead,SubscriptionRead, andVirtualCurrencyReadas mutually exclusive variants - Added the
PaymentMethodSettingsschema and its three enums —PaymentMethodDisplay(auto,express),BillingAddressCollection(full,zip_only,none), andEmailCollection(auto,none,required) — describing per-payment-method checkout behavior. No endpoint references them yet - Renamed the get_creators response schema from
PaginatedResponse_list_aghanim.creator.schemas.CreatorRead__toPaginatedResponse_list_CreatorRead__
2026.08.12
- Added ten
tenjin_*attribution attributes to player attributes, writable on update_player, create_order, and authorize_user - Limited resource-reference ID request fields on graph action nodes and page blocks to 32 characters, across campaign, page, and segment-group endpoints
- Added optional
position(toporbottom) andskip_dialogto the PWA prompt action node in campaign, page, and segment-group graphs
2026.08.11
- Added optional
save_payment_method_enabledto orders — whether the player may save a card or wallet for future purchases, enabled by default — on create_order, get_order, and update_order - Added the
player.updateevent type to the webhook subscription list on create_webhook, update_webhook, get_webhooks, and get_webhook - Documented the dispute evidence fields returned by get_dispute_evidence, upsert_dispute_evidence, and upload_dispute_evidence_file, including what
usage_idholds and what each player attribute means
2026.08.10
- Added optional
header_image_urlto item categories, alongside the existingimage_url,divider_image_url, andbackground_image_url, across get_item_categories, create_item_category, get_item_category, update_item_category, and bulk_update_item_categories - Added optional
is_hub_url_paramto campaign custom attributes, marking an attribute as usable as a hub URL parameter, across create_campaign, update_campaign, get_campaigns, get_campaign, get_campaigns_by_ids, and update_campaign_graph - Documented that the
countriesfilter on get_payments takes ISO 3166-1 alpha-2 codes, such asUS,DE
2026.08.08
- Added dispute evidence on payments — get_dispute_evidence, upsert_dispute_evidence, and upload_dispute_evidence_file record whether a purchase was consumed, attach supporting files, and store game-side facts about the player
- Added optional
registered_at,first_login_ip, andis_verifiedplayer attributes to update_player, writable independently of the dispute evidence endpoints
2026.08.06
- Added an optional
earnings_capto creators — alimit_usd_centsamount measured over aweekormonthperiod — readable on every creator endpoint and settable on update_creator - Added a
mechanicsarray to public lootbox settings in daily reward responses, reporting hard pity progress and the groups guaranteed at the next threshold - Added the get_orders endpoint, returning a list of orders paged with
limitandoffset - Added optional
child_sort_attribute_nameto item categories — the player list attribute holding child category slugs in the order they must be shown — across get_item_categories, create_item_category, get_item_category, update_item_category, and bulk_update_item_categories
2026.08.04
- Added optional
availability_calendarto store items — either a list of explicitperiodsor a daily/weeklyrecurrencewith weekdays and a UTC time window — as an alternative to the singlestart_at/end_atwindow - Added optional
grid_mode(autoormanual) and a per-breakpointgrid_configto daily reward settings, controlling the reward grid layout on the hub - Added the per-player
is_wonflag to nested lootbox items in daily reward responses, by switching lootbox settings to the newPublicLootboxSettings,PublicLootboxGroup, andPublicLootboxNestedItemschemas across get_daily_rewards, get_daily_reward, create_daily_reward, update_daily_reward, and copy_daily_reward - Added optional
background_image_urlandcard_template_idto theprofile_displayobject on campaign custom attributes, across create_campaign, update_campaign, get_campaigns, get_campaign, get_campaigns_by_ids, and update_campaign_graph - Added
bonus_items_settingsto each entry ofbenefitsin store item responses across get_all_store_items, get_store_items, create_store_item, update_store_item, and bulk_update_store_items
2026.08.03
- Added optional
discount_duration— acyclescount orforever— to subscription offers and subscription plans across item, store item, and daily reward endpoints - Added optional
profile_display(label, icon, and value format) to campaign custom attributes, controlling how an attribute is presented on the hub profile - Added the transfer_player_subscription endpoint to move a subscription to another player in the same game, keeping the plan, billing schedule, and saved payment method
2026.07.30
- Added webhook-driven daily rewards — an optional
webhook_idon daily reward programs plus adaily_reward.getwebhook event type - Added a
reward_modeofrepeatingornon_repeatingand anis_wonflag to lootbox nested items across item, store item, and daily reward endpoints - Added the
UserProfileBlockpage block type to page layouts and theAddPageBlockNodegraph node - Added optional
create_default_coupon(defaulttrue) to create_creator to skip creating the default creator promo coupon
2026.07.27
- Removed the campaign store items, user store items, virtual SKU report, and virtual store item delete endpoints, along with the
UserStoreItem,VirtualSKUStat, andVirtualStoreItemUserschemas (breaking, no deprecation) - Added optional
creator_settingsto create_order, with anattribution_modeofpersistent(default) orone_timeto control whether a creator coupon code links the player to the creator for future purchases - Documented that the price template
keyis generated fromnamewhen omitted in create_price_template
2026.07.20
- Restructured item, lootbox, and subscription read models — removed
is_system, switched lootbox groups toanyOf, and consolidatedSubscriptionRead - Limited resource-reference ID request fields to 32 characters across catalog, campaign, page, store item, and store promotion endpoints
- Added the
ItemCategorySortNodegraph node type to campaign, page, and segment-group graphs - Added a
not_foundsync status and channel view-average fields to get_creator_social_accounts - Removed the unused
LocaleMappingandPlayerInfoV1schemas
2026.07.14
- Increased the
skumaximum length from 100 to 255 characters across catalog items, store items, coupons, daily rewards, and loyalty tiers
2026.07.10
- Added the
VED(Venezuelan bolívar) andZWG(Zimbabwe Gold) currency codes to the shared currency enum used across all catalog, order, pricing, and reward endpoints - Added the
XCG(Caribbean guilder) currency code to the shared currency enum used across all catalog, order, pricing, and reward endpoints - Added the get_creator_social_accounts endpoint
2026.07.07
- Removed 13 non-circulating ISO 4217 codes (
BOV,CHE,CHW,CLF,COU,CUC,HRK,MXV,SLL,USN,UYI,UYW,XDR) from the shared currency enum (breaking)
2026.07.02
- Added the copy_store_promotion endpoint to duplicate an existing store promotion
- Added optional
custom_icon_urlto loyalty settings across get_loyalty_settings and update_loyalty_settings
2026.07.01
- Added
requirements_expressiontargeting rules — content is shown only to matching users — to News and Pages across the news endpoints (get_news_list, create_news, bulk_update_news, get_news_post, update_news) and page endpoints (get_pages, create_page, bulk_update_page, get_page, update_page, translate_page) - Added optional
created_from_campaign_node_idandcreated_from_campaign_versionto store item responses across the store item endpoints (get_all_store_items, get_store_items, get_campaign_store_items, get_user_store_items, create_store_item, update_store_item, bulk_update_store_items) - Removed the
DELETE /v1/campaigns/{campaign_id}/objectsendpoint (breaking) - Added a 32-character max length to the
creator_program_idfield on update_player - Removed the internal
aghanim__api__player__schemas__PlayerInfoandaghanim__user__schemas__PlayerInfoschemas
2026.06.26
- Added an optional
category_idto the Latest Pages layout block, letting it scope content to a specific category, across the page endpoints (get_pages, create_page, bulk_update_page, get_page, update_page, translate_page)
2026.06.20
- Added Progressive Web App (PWA) support — a new
pwa_opencampaign event type across the campaign endpoints (get_campaigns, create_campaign, get_campaigns_by_ids, get_campaign, update_campaign, update_campaign_graph) and new optionalfirst_pwa_install_at,pwa_install_at, andpwa_visit_atplayer attributes on update_player
2026.06.19
- Added creator country filtering — a new get_creator_countries endpoint and an optional
countryquery parameter on get_creators - Renamed the
analytics.checkout.payment_method.selectedwebhook event type toanalytics.checkout.payment_method.selectacross all webhook endpoints (get_webhooks, create_webhook, get_webhook, update_webhook, expire_webhook_secret, reveal_webhook_secret) (breaking)
2026.06.18
- Renamed the
analytics.checkout.payment_method.openwebhook event type toanalytics.checkout.payment_method.selectacross all webhook endpoints (get_webhooks, create_webhook, get_webhook, update_webhook, expire_webhook_secret, reveal_webhook_secret) (breaking) - Added a 32-character max length to the news
idandcollection_idfields and the segmentidfield across the news and segment endpoints - Added a 32-character max length to the
locale_idfield on create_translation_glossary
2026.06.16
- Removed the deprecated single-item coupon fields
item_id,quantity, anditemacross create_coupon, update_coupon, bulk_update_coupon, get_coupon, get_coupons, and get_user_coupons (breaking; usefree_itemsanditemsinstead)
2026.06.13
- Added support for abandoned payments — the
abandonedpayment status is now returned by get_payments, and a newpayment.abandonedwebhook event type was added across the webhook endpoints (get_webhooks, create_webhook, get_webhook, update_webhook, expire_webhook_secret, reveal_webhook_secret) - Added new
analytics.checkout.payment_method.selectandanalytics.checkout.payment_method.closewebhook event types across all webhook endpoints (get_webhooks, create_webhook, get_webhook, update_webhook, expire_webhook_secret, reveal_webhook_secret)
2026.06.12
- Added optional
store_item_discount_limit_percentandstore_item_bonus_limit_percentfields to cap combined store-item-plus-coupon discounts and bonuses across create_coupon, update_coupon, bulk_update_coupon, get_coupon, get_coupons, and get_user_coupons
2026.06.10
- Added an optional operator-only
annotation(note,display_name) to creator responses across get_creators, create_creator, get_creator, and update_creator - Documented the required
loyalty_settings_idpath parameter on issue_loyalty_points - Relaxed the
emailresponse field to a plain string (dropped theemailformat constraint) on get_order and update_order
2026.06.08
- Removed the Cashback Rewards resource — all
/v1/cashback_rewardsendpoints and theCashbackRewardCreate,CashbackRewardRead, andCashbackRewardUpdateschemas (breaking, no deprecation) - Added optional
scope(publicorprivate, defaultprivate) to campaign custom attributes across get_campaigns, create_campaign, get_campaigns_by_ids, get_campaign, update_campaign, and update_campaign_graph
2026.06.04
- Added a new Creators resource with full CRUD (get_creators, create_creator, get_creator, update_creator, delete_creator)
2026.06.03
- Added optional
vc_settings/allow_non_secure_authto embedded virtual currency items across daily reward, item, and store item endpoints (get_daily_rewards, create_daily_reward, get_daily_reward, update_daily_reward, copy_daily_reward, get_items, get_all_store_items, get_campaign_store_items, get_user_store_items, get_store_items, bulk_update_store_items, create_store_item, update_store_item) - Added optional
ga4_user_idto player attributes across create_order, update_player, authorize_user, get_order, update_order, and get_player
2026.05.29
- Added Progressive Web App support — a
PWAPromptActionNodegraph node,pwa_installed/pwa_deinstalledcampaign event types, and an optionalis_pwa_installedplayer attribute - Added optional
offers(offers the promotion applies to) across store promotion endpoints (get_store_promotions, create_store_promotion, bulk_update_store_promotions, get_user_promotions, get_store_promotion, update_store_promotion) - Added
campaign_id,user_campaign_id, anduser_idto store promotion responses (get_store_promotions, create_store_promotion, bulk_update_store_promotions, get_store_promotion, update_store_promotion)
2026.05.27
- Reworked coupon item rewards to support multiple items per coupon via new
free_itemsanditemsfields across all coupon endpoints, deprecating single-itemitem,item_id, andquantity - Added optional
ga4firebase_app_instance_idto player attributes across create_order, update_player, authorize_user, get_order, update_order, and get_player
2026.05.25
- Added
RemoveFromSegmentNodegraph node across campaign, segment group, and page dynamic-block endpoints - Added optional
collection_idto news endpoints (get_news_list, create_news, bulk_update_news, get_news_post, update_news) - Added optional
video/auto_playto Twitch and YouTube blocks across get_pages, get_page, create_page, update_page, bulk_update_page, and translate_page - Added optional
item_featured_card_background_image_urlacross store promotion endpoints (get_store_promotions, create_store_promotion, bulk_update_store_promotions, get_user_promotions, get_store_promotion, update_store_promotion)
2026.05.22
- Added optional
eligible_for_reward_points,eligible_for_loyalty_points, andrewards(virtual currency rewards with issue status) to get_order and update_order responses
2026.05.21
- Unified item
sourceenum across catalog and order responses, adding seven new reward/liveops values and making the order itemsourcerequired - Added optional
quantity_bonus_valueandquantity_after_bonusto item responses across items, store items, and daily rewards - Added optional
category_template_idto carousel and featured-item blocks andshow_thumbnailto Twitch and YouTube video blocks across page endpoints - Made
start_atandend_atoptional and nullable across store promotion endpoints - Added optional
creator_program/inherits_from_tierto create_coupon, update_coupon, and coupon responses - Added optional
coupon_codeto create_order request - Added optional
show_store_buttonto get_loyalty_settings and update_loyalty_settings - Added optional
attributesandcustom_attributesto get_player response
2026.05.12
- Added optional
receipt_numberto get_order and update_order responses - Changed authorize_user to upsert: when the player already exists, the provided
player_info(name,avatar_url,attributes,custom_attributes) now updates the stored player on every call instead of being ignored after the first authorization
2026.05.11
- Added optional
player_infoto authorize_user request, allowing player name, avatar URL, attributes, and custom attributes to be supplied alongside the authorization
2026.05.08
- Added optional
button_textandcustom_urlfields to page card across all page endpoints - Restructured item objects in order and payment responses with required
nameandquantity, plain-stringimage_url, recursivenested_items, and a unifiedItemschema - Added reactivate_player_subscription endpoint
- Added optional
couponsarray to get_order, update_order, and get_payments responses - Renamed
cancel_user_subscriptionsoperation ID to cancel_player_subscriptions - Removed
OrderItemandPaymentItemschemas
2026.05.07
- Added deprecated Apple-specific image URL fields on item responses across all item-bearing endpoints
2026.05.05
- Set
maxLengthof 32 onidin locale responses (get_locales, create_locale, get_locale, update_locale)
2026.05.01
- Added structured
highlightsfield across all item types and every endpoint that returns item data - Deprecated
payment_numberon get_payments, replaced by new requiredreceipt_number - Added
title,text, andbutton_textoptional fields toImageBannerBlockin page endpoints - Added optional
bonus_items_settings/start_atandend_atscheduling to store item and store promotion endpoints - Added optional
start_atandend_atto virtual currency items in store item and daily reward responses - Added optional
limited_stock_settings/start_calculation_atto store endpoints - Added
galaxy_storeandone_storeenum values to marketplace fields in create_order and update_player - Added optional
appsflyer_customer_user_idto create_order and update_player - Added optional
applied_reward_pointsto get_order, update_order, and get_payments responses - Changed
claim_modedefault frommodaltoinlinein create_daily_reward and update_daily_reward - Tightened
image_urlvalidation on achievement endpoints to require a valid URI (non-empty, format: uri, max 2083 characters); achievementtypeno longer acceptsnull - Set maxLength of 32 on
user_idin gdpr_data_removal
2026.04.13
- Added virtual currency support across coupons, items, store items, and daily rewards
- Added analytics webhook events and batch delivery mode
- Added bulk_update_coupon endpoint
- Added optional
category_idto create_coupon and get_coupons - Added
item_price_type,sort_orderparameters andmodified_at,pricesort options to get_items - Added
amount,amount_before_discount,currencyfields to get_order and update_order responses - Added fallback item fields to featured item blocks in page endpoints
- Added optional
skuto loyalty tier items in update_loyalty_tiers - Removed
LoyaltyItemCreatUpdateschema
Need help?
Contact our integration team at [email protected]