Schema Update

9/16/2026, 12:01:29 AM

API changes: 0 queries added, 0 removed. 0 mutations added, 0 removed. 27 types affected.

Mutation Changes

πŸ”„ Modified Mutations (1)

productOptionsCreate

Creates one or more options
on a product,
such as size, color, or material. Each option includes a name, position, and a list of values. The combination
of a product option and value creates a product variant.

Use the productOptionsCreate mutation for the following use cases:

  • Add product choices: Add a new option, like "Size" (Small, Medium, Large) or
    "Color" (Red, Blue, Green), to an existing product so customers can select their preferred variant.
  • Enable personalization features: Add options such as "Engraving text" to let customers customize their purchase.
  • Offer seasonal or limited edition products: Add a new value
    (for example, "Holiday red") to an existing option to support limited-time or seasonal variants.
  • Integrate with apps that manage product configuration: Allow third-party apps to add options, like
    "Bundle size", when customers select or customize
    product bundles.
  • Link options to metafields: Associate a product option with a custom
    metafield, like "Fabric code", for
    richer integrations with other systems or apps.

Note:
The productOptionsCreate mutation enforces strict data integrity for product options and variants.
All option positions must be sequential, and every option should be used by at least one variant.
If you use the CREATE variant strategy, consider the maximum allowed number of variants for each product is 2048.

If the product already has an option with the same name, then the mutation returns an
OPTION_ALREADY_EXISTS error. A product that has only its default variant is the exception,
because its implicit Title option is a placeholder that the mutation replaces.
To declare the complete set of options and variants that a product
should have, and let Shopify create, update, or remove them to match, use the
productSet mutation instead.

After you create product options, you can further manage a product's configuration using related mutations:

Learn more about the product model
and adding product data.

Type Changes

βž• Added Types (16)

πŸ—οΈMailingAddressLineComponentsβž• AddedOBJECT

Structured components of the address1/address2 lines on a
MailingAddress.

Fields: additionalInformation, district, streetName, streetNumber, subdistrict
πŸ—οΈRolloutβž• AddedOBJECT

Represents information about an rollout on a shop.

Fields: archivedAt, concludedAt, creationDate, id, lastEditDate ... +7 more
πŸ—οΈRolloutCatalogStatusChangeβž• AddedOBJECT

A rollout treatment change that sets a catalog to active or draft for the buyers the treatment serves.

Fields: catalog, catalogStatus, id
πŸ“‹RolloutCatalogStatusChangeStatusβž• AddedENUM

The catalog status a rollout treatment applies while it's served.

Values: ACTIVE, DRAFT
πŸ”ŒRolloutChangeβž• AddedINTERFACE

A change that a rollout treatment makes while it's served. Changes describe what the treatment does, not the current state of the affected resource. Use inline fragments on the concrete types to read type-specific fields.

Fields: id
πŸ—οΈRolloutChangeConnectionβž• AddedOBJECT

An auto-generated type for paginating through multiple RolloutChanges.

Fields: edges, nodes, pageInfo
πŸ—οΈRolloutChangeEdgeβž• AddedOBJECT

An auto-generated type which holds one RolloutChange and a cursor during pagination.

Fields: cursor, node
πŸ—οΈRolloutCheckoutAndAccountsConfigurationChangeβž• AddedOBJECT

A rollout treatment change that serves a checkout and accounts configuration to the buyers the treatment serves.

Fields: checkoutAndAccountsConfiguration, id
πŸ—οΈRolloutConnectionβž• AddedOBJECT

An auto-generated type for paginating through multiple Rollouts.

Fields: edges, nodes, pageInfo
πŸ—οΈRolloutDiscountAddChangeβž• AddedOBJECT

A rollout treatment change that makes a discount available to the buyers the treatment serves, regardless of the discount's own startsAt, endsAt, or status.

Fields: discount, id
πŸ”ŒRolloutDiscountChangeβž• AddedINTERFACE

A rollout treatment change that applies to a discount. The concrete type (RolloutDiscountAddChange or RolloutDiscountRemoveChange) tells you whether the treatment adds or removes the discount for the buyers it serves.

Fields: discount, id
πŸ—οΈRolloutDiscountRemoveChangeβž• AddedOBJECT

A rollout treatment change that withholds a discount from the buyers the treatment serves, regardless of the discount's own startsAt, endsAt, or status.

Fields: discount, id
πŸ—οΈRolloutEdgeβž• AddedOBJECT

An auto-generated type which holds one Rollout and a cursor during pagination.

Fields: cursor, node
πŸ“‹RolloutStatusβž• AddedENUM

Represents the status of an rollout.

Values: DRAFT, SCHEDULED, PAUSED, ACTIVE, CONCLUDED, ARCHIVED
πŸ—οΈRolloutThemeChangeβž• AddedOBJECT

A rollout treatment change that serves a theme to the buyers the treatment serves.

Fields: id, theme
πŸ—οΈRolloutTreatmentβž• AddedOBJECT

Represents information about an rollout treatment on a shop.

Fields: changes, id, rollout, split

βž– Removed Types (1)

πŸ“‹ResourcePublicationStatusβž– RemovedENUM

The status of the resource publication on the channel.

Values: UNSET, PENDING, APPROVED, NOT_APPROVED

πŸ”„ Modified Types (11)

πŸ—οΈDiscountAutomaticAppπŸ”„ Modified
βž• Field added: rollouts

The rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walk
treatments.changes to see what each treatment does to the discount.
A rollout's schedule is separate from the discount's own startsAt and endsAt.
Use query to filter by rollout status.

πŸ—οΈDiscountAutomaticBasicπŸ”„ Modified
βž• Field added: rollouts

The rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walk
treatments.changes to see what each treatment does to the discount.
A rollout's schedule is separate from the discount's own startsAt and endsAt.
Use query to filter by rollout status.

πŸ—οΈDiscountAutomaticBxgyπŸ”„ Modified
βž• Field added: rollouts

The rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walk
treatments.changes to see what each treatment does to the discount.
A rollout's schedule is separate from the discount's own startsAt and endsAt.
Use query to filter by rollout status.

πŸ—οΈDiscountAutomaticFreeShippingπŸ”„ Modified
βž• Field added: rollouts

The rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walk
treatments.changes to see what each treatment does to the discount.
A rollout's schedule is separate from the discount's own startsAt and endsAt.
Use query to filter by rollout status.

πŸ—οΈDiscountCodeAppπŸ”„ Modified
βž• Field added: rollouts

The rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walk
treatments.changes to see what each treatment does to the discount.
A rollout's schedule is separate from the discount's own startsAt and endsAt.
Use query to filter by rollout status.

πŸ—οΈDiscountCodeBasicπŸ”„ Modified
βž• Field added: rollouts

The rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walk
treatments.changes to see what each treatment does to the discount.
A rollout's schedule is separate from the discount's own startsAt and endsAt.
Use query to filter by rollout status.

πŸ—οΈDiscountCodeBxgyπŸ”„ Modified
βž• Field added: rollouts

The rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walk
treatments.changes to see what each treatment does to the discount.
A rollout's schedule is separate from the discount's own startsAt and endsAt.
Use query to filter by rollout status.

πŸ—οΈDiscountCodeFreeShippingπŸ”„ Modified
βž• Field added: rollouts

The rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walk
treatments.changes to see what each treatment does to the discount.
A rollout's schedule is separate from the discount's own startsAt and endsAt.
Use query to filter by rollout status.

πŸ—οΈMailingAddressπŸ”„ Modified
βž• Field added: addressLineComponents

Structured address line components such as streetName, streetNumber, additionalInformation,
district, and subdistrict.

πŸ—οΈResourcePublicationπŸ”„ Modified
βž– Field removed: publicationStatusOnChannel
πŸ—οΈResourcePublicationV2πŸ”„ Modified
βž– Field removed: publicationStatusOnChannel