9/16/2026, 12:01:29 AM
API changes: 0 queries added, 0 removed. 0 mutations added, 0 removed. 27 types affected.
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:
Note:
TheproductOptionsCreatemutation 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 theCREATEvariant 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 anOPTION_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 theproductSet mutation instead.
After you create product options, you can further manage a product's configuration using related mutations:
productOptionUpdateproductOptionsReorderproductOptionsDeleteproductVariantsBulkCreateproductVariantsBulkUpdateproductSetLearn more about the product model
and adding product data.
Structured components of the address1/address2 lines on aMailingAddress.
Represents information about an rollout on a shop.
A rollout treatment change that sets a catalog to active or draft for the buyers the treatment serves.
The catalog status a rollout treatment applies while it's served.
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.
An auto-generated type for paginating through multiple RolloutChanges.
An auto-generated type which holds one RolloutChange and a cursor during pagination.
A rollout treatment change that serves a checkout and accounts configuration to the buyers the treatment serves.
An auto-generated type for paginating through multiple Rollouts.
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.
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.
A rollout treatment change that withholds a discount from the buyers the treatment serves, regardless of the discount's own startsAt, endsAt, or status.
An auto-generated type which holds one Rollout and a cursor during pagination.
Represents the status of an rollout.
A rollout treatment change that serves a theme to the buyers the treatment serves.
Represents information about an rollout treatment on a shop.
The status of the resource publication on the channel.
rolloutsThe rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walktreatments.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.
rolloutsThe rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walktreatments.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.
rolloutsThe rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walktreatments.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.
rolloutsThe rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walktreatments.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.
rolloutsThe rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walktreatments.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.
rolloutsThe rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walktreatments.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.
rolloutsThe rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walktreatments.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.
rolloutsThe rollouts that include this discount. A rollout includes a discount when
one of its treatments adds or removes the discount. Walktreatments.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.
addressLineComponentsStructured address line components such as streetName, streetNumber, additionalInformation,district, and subdistrict.
publicationStatusOnChannelpublicationStatusOnChannel