Enhanced Rollout Filtering, Timing, and Webhook Support

9/26/2026, 12:00:32 AM

The Rollouts query now accepts a new "change_type" filter, and the query description was updated to reflect this addition. Rollout objects gained granularity with new "createdAt", "updatedAt", "effectiveTrafficAllocation" and "trafficAllocation" fields, and the legacy timestamps "creationDate" and "lastEditDate" were removed. An interface, HasRollouts, was introduced so that types such as discounts can expose their rollout lifecycle via a ‘rollouts’ connection, with refined status filtering in all related rollouts fields. The RolloutTreatment type was cleaned up: its "changes" field description was tightened and its "split" labeling clarified as a 0‑100 percent band. Additional enhancements include the CardPresentPaymentDetails last4 field, linkedCollections on collection sources, the new XCG currency code, two error-code enum additions, and a businessEntity field on ShopPayPaymentRequestReceipt. Finally, new webhook topics (ROLLOUTS_CREATE, ROLLOUTS_DELETE, ROLLOUTS_UPDATE, and resource change events) enable real‑time rollout monitoring.

Query Changes

🔄 Modified Queries (1)

rollouts

Returns the list of rollouts in the shop.

~ Modified argument: query

Type Changes

➕ Added Types (1)

🔌HasRollouts➕ AddedINTERFACE

A resource that can be included in rollouts. Use this interface to query the
resource's rollouts with a reusable fragment.

Fields: rollouts

🔄 Modified Types (19)

🏗️CardPresentPaymentDetails🔄 Modified
➕ Field added: last4

Last four digits of the payment card.

🏗️CollectionConditionsSource🔄 Modified
➕ Field added: linkedCollections

The collections that use this source, ordered by collection ID.

For sub-collection sources, these are the owning collections, not the referenced sub-collections.

🏗️CollectionSource🔄 Modified
➕ Field added: linkedCollections

The collections that use this source, ordered by collection ID.

For sub-collection sources, these are the owning collections, not the referenced sub-collections.

🏗️CollectionSubCollectionsSource🔄 Modified
➕ Field added: linkedCollections

The collections that use this source, ordered by collection ID.

For sub-collection sources, these are the owning collections, not the referenced sub-collections.

🏗️CurrencyCode🔄 Modified
➕ Enum value added: XCG
🏗️DiscountAutomaticApp🔄 Modified
🔄 Field modified: rollouts
🏗️DiscountAutomaticBasic🔄 Modified
🔄 Field modified: rollouts
🏗️DiscountAutomaticBxgy🔄 Modified
🔄 Field modified: rollouts
🏗️DiscountAutomaticFreeShipping🔄 Modified
🔄 Field modified: rollouts
🏗️DiscountCodeApp🔄 Modified
🔄 Field modified: rollouts
🏗️DiscountCodeBasic🔄 Modified
🔄 Field modified: rollouts
🏗️DiscountCodeBxgy🔄 Modified
🔄 Field modified: rollouts
🏗️DiscountCodeFreeShipping🔄 Modified
🔄 Field modified: rollouts
🏗️InventoryCountCreateUserErrorCode🔄 Modified
➕ Enum value added: UNTRACKED_ITEM
🏗️MarketUserErrorCode🔄 Modified
➕ Enum value added: SUBDIVISION_MARKET_REQUIRES_COUNTRY_COVERAGE
🏗️Rollout🔄 Modified
➖ Field removed: creationDate
➖ Field removed: lastEditDate
➖ Field removed: rolloutTrafficAllocation
➕ Field added: createdAt

The date and time at which the rollout was created.

➕ Field added: effectiveTrafficAllocation

The effective percentage of total traffic this rollout receives for new buyer assignments, accounting for mutex group constraints with other active rollouts.

➕ Field added: trafficAllocation

The percentage of buyer traffic that the rollout is configured to receive, as an integer from 0 to 100. This is the configured allocation before other active rollouts on the same resources are taken into account, so it isn't the share of buyers that a treatment reaches.

➕ Field added: updatedAt

The date and time at which the rollout was last edited. This timestamp doesn't necessarily change when another rollout changes this rollout's effective traffic allocation.

🏗️RolloutTreatment🔄 Modified
🔄 Field modified: changes
🔄 Field modified: split
🏗️ShopPayPaymentRequestReceipt🔄 Modified
➕ Field added: businessEntity

The business entity recorded when the payment request was submitted, including archived entities. Returns null if no entity was recorded or the recorded entity cannot be found for this shop.

🏗️WebhookSubscriptionTopic🔄 Modified
➕ Enum value added: ROLLOUTS_CREATE
➕ Enum value added: ROLLOUTS_DELETE
➕ Enum value added: ROLLOUTS_RESOURCE_CHANGE_ADDED
➕ Enum value added: ROLLOUTS_RESOURCE_CHANGE_REMOVED
➕ Enum value added: ROLLOUTS_RESOURCE_CHANGE_UPDATED
➕ Enum value added: ROLLOUTS_UPDATE