8/6/2026, 12:00:58 AM
Shopify’s Admin GraphQL API now includes a subscriptionContractCalculation query, enabling clients to inspect the status of calculation jobs started by mutations such as subscriptionContractCreateCalculate, subscriptionContractUpdateCalculate, and subscriptionBillingCycleContractEditCalculate. The query accepts a single non‑null id and returns a union type that resolves to a pending, succeeded, or failure calculation. When the calculation succeeds, the returned object can be committed with the subscriptionContractCalculationCommit mutation. No breaking changes have been introduced to the existing collections, collectionsCount, productVariants, products, or productsCount queries; the adjustments are purely in documentation for the query argument. This addition equips developers building subscription contracts to poll and manage calculation life‑cycles more effectively. All other queries continue to operate as before with the same pagination and filtering capabilities.
Returns a subscription contract calculation by ID. Use this query to poll a calculation started by subscriptionContractCreateCalculate, subscriptionContractUpdateCalculate, or subscriptionBillingCycleContractEditCalculate until it succeeds or fails.
The result resolves to a pending, succeeded, or failure type. Commit a succeeded calculation with the subscriptionContractCalculationCommit mutation.
Learn how to build a subscription contract.
Retrieves a list of collections
in a store. Collections are groups of products
that merchants can organize for display in their online store and
other sales channels.
For example, an athletics store might create different collections for running attire, shoes, and accessories.
Use the collections query when you need to:
The collections query supports pagination
for large catalogs and saved searches
for frequently used collection queries.
The collections query returns collections with their associated metadata, including:
Learn more about using metafields with collection conditions.
Count of collections. Limited to a maximum of 10000 by default.
Retrieves a list of product variants
associated with a product.
A product variant is a specific version of a product that comes in more than
one option,
such as size or color. For example, if a merchant sells t-shirts with options for size and color,
then a small, blue t-shirt would be one product variant and a large, blue t-shirt would be another.
Use the productVariants query when you need to:
The productVariants query supports pagination
to handle large product catalogs and saved searches
for frequently used product variant queries.
The productVariants query returns product variants with their associated metadata, including:
Learn more about working with Shopify's product model.
Retrieves a list of products
in a store. Products are the items that merchants can sell in their store.
Use the products query when you need to:
The products query supports pagination
to handle large product catalogs and saved searches
for frequently used product queries.
The products query returns products with their associated metadata, including:
Learn more about working with Shopify's product model.
Count of products. Limited to a maximum of 10000 by default.
Starts an asynchronous calculation for changes to a single billing cycle of an existing subscription contract. Committing the calculation applies the changes only to the selected cycle, leaving the recurring contract unchanged.
Poll the subscriptionContractCalculation query to review the calculated contract, then commit it with the subscriptionContractCalculationCommit mutation.
Learn how to update a subscription contract.
Commits a succeeded subscription contract calculation. For a create or update calculation, committing makes the calculated contract the contract's new active version used for future billing. For a billing cycle edit, committing applies the calculated contract only to the selected cycle.
The calculation must be in a succeeded state, which you can confirm with the subscriptionContractCalculation query. Returns the committed contract as a SubscriptionContract, or a SubscriptionBillingCycleEditedContract for a billing cycle edit.
Learn how to build a subscription contract.
Starts an asynchronous calculation for a new subscription contract. The contract isn't created until you commit the calculation.
Poll the subscriptionContractCalculation query to review the calculated contract, its projected order totals, and any warnings, then commit it with the subscriptionContractCalculationCommit mutation.
Learn how to build a subscription contract.
Starts an asynchronous calculation for changes to an existing subscription contract. The changes aren't applied to the contract until you commit the calculation, and fields omitted from the input remain unchanged.
Poll the subscriptionContractCalculation query to review the calculated contract, its projected order totals, and any warnings, then commit it with the subscriptionContractCalculationCommit mutation.
Learn how to update a subscription contract.
Return type for subscriptionBillingCycleContractEditCalculate mutation.
An error that occurs during the execution of SubscriptionBillingCycleContractEditCalculate.
Possible error codes that can be returned by SubscriptionBillingCycleContractEditCalculateUserError.
A calculated subscription contract that can be previewed before committing.
The committed result of a subscription contract calculation.
The result of a subscription contract calculation, returned by the subscriptionContractCalculation query. Because calculations run asynchronously, the concrete type reflects the calculation's current state: SubscriptionContractCalculationPending while it's still processing, SubscriptionContractCalculationSuccess once it's ready to commit, or SubscriptionContractCalculationFailure if it failed, whose errors field describes what went wrong. Poll the query until the type is no longer pending.
The input fields for subscription contract anchors used for contract calculation.
This is a oneOf input: one, and only one, field can be provided.
The input fields for app-managed billing configuration for subscriptions contracts. These fields are stored on the contract but are not used to calculate billing cycle dates.
The input fields for app-managed pricing policy for subscription lines. These fields are stored on the contract line but do not drive pricing calculations. The actual line price is determined by the line's current price.
The input fields for editing a subscription contract for a single billing cycle, used for
contract calculation. Any field provided will update or replace the corresponding value for
the targeted cycle. Fields that are omitted will be left unchanged. Contract-level
attributes such as billing policy, delivery policy, and payment method cannot be changed by
a billing cycle edit.
The input fields for subscription billing policy used for contract calculation.
The input fields for subscription cadence in the calculate API.
The unit types for subscription cadence.
Return type for subscriptionContractCalculationCommit mutation.
An error that occurs during the execution of SubscriptionContractCalculationCommit.
Possible error codes that can be returned by SubscriptionContractCalculationCommitUserError.
The input fields for a single component of a parent line in the calculate API.
This is a oneOf input: one, and only one, field can be provided.
The input fields for calculating a new subscription contract. Provide the complete desired state of the contract. The contract isn't created until you commit the calculation with the subscriptionContractCalculationCommit mutation.
Learn how to build a subscription contract.
The input fields for calculating changes to an existing subscription contract. Each field you provide replaces the corresponding value on the contract, and omitted fields remain unchanged. For list fields, provide the complete replacement list, including the id of each existing item that you want to keep.
Learn how to update a subscription contract.
The input fields for custom subscription lines in the calculate API.
The input fields for a customer payment method used during a contract calculation.
The input fields for a price adjustment entry within an app-managed pricing policy. Stored as metadata for app use, not used for pricing calculations.
The input fields for delivery discount in the calculate API.
The input fields for delivery used during a contract calculation.
This is a oneOf input: one, and only one, field can be provided.
Provide shipping, localDelivery, or pickup to set the committed delivery method.
Provide none to explicitly set no delivery method (digital-only subscriptions).
Provide fetchAvailableDeliveryOptions to discover the available delivery options for an
address without changing the contract's committed delivery method.
The input fields for local delivery method used for contract calculation.
The input fields for pickup delivery method used for contract calculation.
The input fields for shipping delivery method used for contract calculation.
An available delivery option for a subscription contract calculation.
The input fields for subscription delivery policy used for contract calculation.
A diagnostic (error or warning) emitted during a subscription contract calculation.
Diagnostic codes for subscription contract calculation errors and warnings.
The input fields for a discount code in the calculate API.
The input fields for fixed amount discount in the calculate API.
The input fields for discount value used for contract calculation.
This is a oneOf input: one, and only one, field can be provided.
A subscription contract calculation that has failed.
The input fields to fetch the available delivery options for an address.
Use this to discover the delivery options available for the contract
without setting or changing the contract's committed delivery method.
The input fields for a line-scoped discount in the calculate API. Applies to the line it is provided on.
The input fields for subscription lines used for contract calculation.
This is a oneOf input: one, and only one, field can be provided.
An available local delivery option for a subscription contract calculation.
The input fields for a manual (merchant-specified) discount used for contract calculation.
This is a oneOf input: one, and only one, field can be provided.
Line-scoped discounts are provided on the line inputs instead. Discount codes are provided
through the separate discountCodes field.
The input fields for monthday anchor in the calculate API.
The input fields for multiple fulfillment configuration used for contract calculation.
The input fields for an order discount in the calculate API. Applies to all lines on the contract.
The input fields for the payment method used during a contract calculation.
This is a oneOf input: one, and only one, field can be provided.
Provide customerPaymentMethod to set a vaulted customer payment method.
Provide none to explicitly set no payment method.
A subscription contract calculation that is still processing asynchronously.
An available pickup option for a subscription contract calculation.
The input fields for product variant subscription lines in the calculate API.
The input fields for product variant bundle parent subscription lines in the calculate API.
Projected order totals for a successfully calculated subscription contract. The figures are derived from the calculation's cost breakdown; taxes are estimated.
An available shipping option for a subscription contract calculation.
A subscription contract calculation that has completed successfully.
The input fields for weekday anchor in the calculate API.
The input fields for yearday anchor in the calculate API.
Return type for subscriptionContractCreateCalculate mutation.
An error that occurs during the execution of SubscriptionContractCreateCalculate.
Possible error codes that can be returned by SubscriptionContractCreateCalculateUserError.
Return type for subscriptionContractUpdateCalculate mutation.
An error that occurs during the execution of SubscriptionContractUpdateCalculate.
Possible error codes that can be returned by SubscriptionContractUpdateCalculateUserError.
A subscription contract line grouped by bundle parent: either a standalone line or a bundle parent line and its components.
An auto-generated type for paginating through multiple SubscriptionGroupedLines.
An auto-generated type which holds one SubscriptionGroupedLine and a cursor during pagination.
Represents a Subscription Parent Line.
productsCountproductsCount on ChannelRetrieves the total count of products published to a specific sales channel. Limited to a maximum of 10000 by default.
Countquery: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
limit: Int - The upper bound on count value before returning a result. Use null to have no limit.
Retrieves the total count of products published to a specific sales channel. Limited to a maximum of 10000 by default.
Countquery: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. The online_store_channel value applies only to the online store; other channels use the suffix format above. For example, the Point of Sale channel has the app handle pos and the Channel.app.id 129785, so pos-published and 129785-published both return resources published to Point of Sale. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:pos-published- published_status:129785-published- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
limit: Int - The upper bound on count value before returning a result. Use null to have no limit.
committedcommitted on LocationItemQuantityThe committed quantity at this location (committed plus reserved holds). Location-level and not split per bin.
Int!The committed quantity at this location. Location-level and not split per bin.
Int!collectionscollections on ProductA list of collections
that include the product.
CollectionConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
sortKey: CollectionSortKeys - Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| collection_type | string | - custom- smart |
|||
| handle | string | ||||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| product_id | id | Filter by collections containing a product by its ID. | |||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the collection was published to the Online Store. | |||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:my-channel-handle-published- published_status:unavailable |
|
| title | string | ||||
| updated_at | time | ||||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
A list of collections
that include the product.
CollectionConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
sortKey: CollectionSortKeys - Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| collection_type | string | - custom- smart |
|||
| handle | string | ||||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| product_id | id | Filter by collections containing a product by its ID. | |||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the collection was published to the Online Store. | |||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. The online_store_channel value applies only to the online store; other channels use the suffix format above. For example, the Point of Sale channel has the app handle pos and the Channel.app.id 129785, so pos-published and 129785-published both return resources published to Point of Sale. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:pos-published- published_status:129785-published- published_status:my-channel-handle-published- published_status:unavailable |
|
| title | string | ||||
| updated_at | time | ||||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
productParentsproductParents on ProductA list of products that has a variant that contains any of this product's variants as a component.
ProductConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
A list of products that has a variant that contains any of this product's variants as a component.
ProductConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. The online_store_channel value applies only to the online store; other channels use the suffix format above. For example, the Point of Sale channel has the app handle pos and the Channel.app.id 129785, so pos-published and 129785-published both return resources published to Point of Sale. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:pos-published- published_status:129785-published- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
productParentsproductParents on ProductVariantA list of products that have product variants that contain this variant as a product component.
ProductConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
A list of products that have product variants that contain this variant as a product component.
ProductConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. The online_store_channel value applies only to the online store; other channels use the suffix format above. For example, the Point of Sale channel has the app handle pos and the Channel.app.id 129785, so pos-published and 129785-published both return resources published to Point of Sale. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:pos-published- published_status:129785-published- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
includedProductsincludedProducts on PublicationThe list of products included, but not necessarily published, in the publication.
ProductConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
sortKey: ProductSortKeys - Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
savedSearchId: ID - The ID of a saved search.
The search’s query string is used as the query argument.
The list of products included, but not necessarily published, in the publication.
ProductConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
sortKey: ProductSortKeys - Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. The online_store_channel value applies only to the online store; other channels use the suffix format above. For example, the Point of Sale channel has the app handle pos and the Channel.app.id 129785, so pos-published and 129785-published both return resources published to Point of Sale. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:pos-published- published_status:129785-published- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
savedSearchId: ID - The ID of a saved search.
The search’s query string is used as the query argument.
includedProductsCountincludedProductsCount on PublicationThe count of products included in the publication. Limited to a maximum of 10000 by default.
Countquery: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
savedSearchId: ID - The ID of an existing saved search.
The search’s query string is used as the query argument.
Refer to the SavedSearch object.
limit: Int - The upper bound on count value before returning a result. Use null to have no limit.
The count of products included in the publication. Limited to a maximum of 10000 by default.
Countquery: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. The online_store_channel value applies only to the online store; other channels use the suffix format above. For example, the Point of Sale channel has the app handle pos and the Channel.app.id 129785, so pos-published and 129785-published both return resources published to Point of Sale. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:pos-published- published_status:129785-published- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
savedSearchId: ID - The ID of an existing saved search.
The search’s query string is used as the query argument.
Refer to the SavedSearch object.
limit: Int - The upper bound on count value before returning a result. Use null to have no limit.
productsproducts on PublicationThe list of products published to the publication.
ProductConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
sortKey: ProductSortKeys - Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
savedSearchId: ID - The ID of a saved search.
The search’s query string is used as the query argument.
The list of products published to the publication.
ProductConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
sortKey: ProductSortKeys - Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. The online_store_channel value applies only to the online store; other channels use the suffix format above. For example, the Point of Sale channel has the app handle pos and the Channel.app.id 129785, so pos-published and 129785-published both return resources published to Point of Sale. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:pos-published- published_status:129785-published- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
savedSearchId: ID - The ID of a saved search.
The search’s query string is used as the query argument.
PACKAGE_CARRIER_MISMATCHcollectionscollections on ShopList of the shop's collections.
CollectionConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
sortKey: CollectionSortKeys - Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| collection_type | string | - custom- smart |
|||
| handle | string | ||||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| product_id | id | Filter by collections containing a product by its ID. | |||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the collection was published to the Online Store. | |||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:my-channel-handle-published- published_status:unavailable |
|
| title | string | ||||
| updated_at | time | ||||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
savedSearchId: ID - The ID of a saved search.
The search’s query string is used as the query argument.
List of the shop's collections.
CollectionConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
sortKey: CollectionSortKeys - Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| collection_type | string | - custom- smart |
|||
| handle | string | ||||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| product_id | id | Filter by collections containing a product by its ID. | |||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the collection was published to the Online Store. | |||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. The online_store_channel value applies only to the online store; other channels use the suffix format above. For example, the Point of Sale channel has the app handle pos and the Channel.app.id 129785, so pos-published and 129785-published both return resources published to Point of Sale. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:pos-published- published_status:129785-published- published_status:my-channel-handle-published- published_status:unavailable |
|
| title | string | ||||
| updated_at | time | ||||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
savedSearchId: ID - The ID of a saved search.
The search’s query string is used as the query argument.
productVariantsproductVariants on ShopList of the shop's product variants.
ProductVariantConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
sortKey: ProductVariantSortKeys - Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-123 |
||
| collection | string | Filter by the ID of the collection that the product variant belongs to. | - collection:465903092033 |
||
| delivery_profile_id | id | Filter by the product variant delivery profile ID (ProductVariant.deliveryProfile.id). |
- delivery_profile_id:108179161409 |
||
| exclude_composite | boolean | Filter by product variants that aren't composites. | - exclude_composite:true |
||
| exclude_variants_with_components | boolean | Filter by whether there are components that are associated with the product variants in a bundle. | - exclude_variants_with_components:true |
||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_quantity | integer | Filter by an aggregate of inventory across all locations where the product variant is stocked. | - inventory_quantity:10 |
||
| location_id | id | Filter by the location ID for the product variant. | - location_id:88511152449 |
||
| managed | boolean | Filter by whether there is fulfillment service tracking associated with the product variants. | - managed:true |
||
| managed_by | string | Filter by the fulfillment service that tracks the number of items in stock for the product variant. | - managed_by:shopify |
||
| option1 | string | Filter by a custom property that a shop owner uses to define product variants. | - option1:small |
||
| option2 | string | Filter by a custom property that a shop owner uses to define product variants. | - option2:medium |
||
| option3 | string | Filter by a custom property that a shop owner uses to define product variants. | - option3:large |
||
| product_id | id | Filter by the product id field. |
- product_id:8474977763649 |
||
| product_ids | string | Filter by a comma-separated list of product IDs. | - product_ids:8474977763649,8474977796417 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_status | string | Filter by a comma-separated list of product statuses. | - product_status:ACTIVE,DRAFT |
||
| product_type | string | Filter by the product type that's associated with the product variants. | - product_type:snowboard- product_type:snowboard,skis- product_type:snowboard OR product_type:skis |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:my-channel-handle-published- published_status:unavailable |
|
| requires_components | boolean | Filter by whether the product variant can only be purchased with components. Learn more. | - requires_components:true |
||
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| taxable | boolean | Filter by the product variant taxable field. |
- taxable:false |
||
| title | string | Filter by the product variant title field. |
- title:ice |
||
| updated_at | time | Filter by date and time when the product variant was updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<=2024 |
||
| vendor | string | Filter by the origin or source of the product variant. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil,Icedevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
List of the shop's product variants.
ProductVariantConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
sortKey: ProductVariantSortKeys - Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-123 |
||
| collection | string | Filter by the ID of the collection that the product variant belongs to. | - collection:465903092033 |
||
| delivery_profile_id | id | Filter by the product variant delivery profile ID (ProductVariant.deliveryProfile.id). |
- delivery_profile_id:108179161409 |
||
| exclude_composite | boolean | Filter by product variants that aren't composites. | - exclude_composite:true |
||
| exclude_variants_with_components | boolean | Filter by whether there are components that are associated with the product variants in a bundle. | - exclude_variants_with_components:true |
||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_quantity | integer | Filter by an aggregate of inventory across all locations where the product variant is stocked. | - inventory_quantity:10 |
||
| location_id | id | Filter by the location ID for the product variant. | - location_id:88511152449 |
||
| managed | boolean | Filter by whether there is fulfillment service tracking associated with the product variants. | - managed:true |
||
| managed_by | string | Filter by the fulfillment service that tracks the number of items in stock for the product variant. | - managed_by:shopify |
||
| option1 | string | Filter by a custom property that a shop owner uses to define product variants. | - option1:small |
||
| option2 | string | Filter by a custom property that a shop owner uses to define product variants. | - option2:medium |
||
| option3 | string | Filter by a custom property that a shop owner uses to define product variants. | - option3:large |
||
| product_id | id | Filter by the product id field. |
- product_id:8474977763649 |
||
| product_ids | string | Filter by a comma-separated list of product IDs. | - product_ids:8474977763649,8474977796417 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_status | string | Filter by a comma-separated list of product statuses. | - product_status:ACTIVE,DRAFT |
||
| product_type | string | Filter by the product type that's associated with the product variants. | - product_type:snowboard- product_type:snowboard,skis- product_type:snowboard OR product_type:skis |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. The online_store_channel value applies only to the online store; other channels use the suffix format above. For example, the Point of Sale channel has the app handle pos and the Channel.app.id 129785, so pos-published and 129785-published both return resources published to Point of Sale. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:pos-published- published_status:129785-published- published_status:my-channel-handle-published- published_status:unavailable |
|
| requires_components | boolean | Filter by whether the product variant can only be purchased with components. Learn more. | - requires_components:true |
||
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| taxable | boolean | Filter by the product variant taxable field. |
- taxable:false |
||
| title | string | Filter by the product variant title field. |
- title:ice |
||
| updated_at | time | Filter by date and time when the product variant was updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<=2024 |
||
| vendor | string | Filter by the origin or source of the product variant. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil,Icedevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
productsproducts on ShopList of the shop's products.
ProductConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
sortKey: ProductSortKeys - Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
savedSearchId: ID - The ID of a saved search.
The search’s query string is used as the query argument.
List of the shop's products.
ProductConnection!first: Int - The first n elements from the paginated list.
after: String - The elements that come after the specified cursor.
last: Int - The last n elements from the paginated list.
before: String - The elements that come before the specified cursor.
reverse: Boolean - Reverse the order of the underlying list.
sortKey: ProductSortKeys - Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
query: String - A filter made up of terms, connectives, modifiers, and comparators.
| name | type | description | acceptable_values | default_value | example_use |
|---|---|---|---|---|---|
| default | string | Filter by a case-insensitive search of multiple fields in a document. | - query=Bob Norman- query=title:green hoodie |
||
| barcode | string | Filter by the product variant barcode field. |
- barcode:ABC-abc-1234 |
||
| bundles | boolean | Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount. | - bundles:true |
||
| category_id | string | Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy. |
- category_id:sg-4-17-2-17 |
||
| collection_id | id | Filter by the collection id field. |
- collection_id:108179161409 |
||
| combined_listing_role | string | Filter by the role of the product in a combined listing. | - parent- child- no_role |
- combined_listing_role:parent |
|
| created_at | time | Filter by the date and time when the product was created. | - created_at:>'2020-10-21T23:39:20Z'- created_at:<now- created_at:<='2024' |
||
| delivery_profile_id | id | Filter by the delivery profile id field. |
- delivery_profile_id:108179161409 |
||
| error_feedback | string | Filter by products with publishing errors. | |||
| gift_card | boolean | Filter by the product isGiftCard field. |
- gift_card:true |
||
| handle | string | Filter by a comma-separated list of product handles. | - handle:the-minimal-snowboard |
||
| has_only_composites | boolean | Filter by products that have only composite variants. | - has_only_composites:true |
||
| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | - has_only_default_variant:true |
||
| has_variant_with_components | boolean | Filter by products that have variants with associated components. | - has_variant_with_components:true |
||
| id | id | Filter by id range. |
- id:1234- id:>=1234- id:<=1234 |
||
| inventory_total | integer | Filter by inventory count. | - inventory_total:0- inventory_total:>150- inventory_total:>=200 |
||
| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the CollectionRule object. |
- is_price_reduced:true |
||
| metafields.{namespace}.{key} | mixed | Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value. |
- metafields.custom.on_sale:true- metafields.product.material:"gid://shopify/Metaobject/43458085" |
||
| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | - out_of_stock_somewhere:true |
||
| price | bigdecimal | Filter by the product variant price field. |
- price:100.57 |
||
| product_configuration_owner | string | Filter by the app id field. |
- product_configuration_owner:10001 |
||
| product_publication_status | string | Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead. |
- * {channel_app_id}-approved- * {channel_app_id}-rejected- * {channel_app_id}-needs_action- * {channel_app_id}-awaiting_review- * {channel_app_id}-published- * {channel_app_id}-demoted- * {channel_app_id}-scheduled- * {channel_app_id}-provisionally_published |
- product_publication_status:189769876-approved |
|
| product_type | string | Filter by a comma-separated list of product types. | - product_type:snowboard |
||
| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | - publication_ids:184111530305,184111694145 |
||
| publishable_status | string | Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values. |
- * {channel_app_id}-unset- * {channel_app_id}-pending- * {channel_app_id}-approved- * {channel_app_id}-not_approved |
- publishable_status:580111-unset- publishable_status:580111-pending |
|
| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | - published_at:>'2020-10-21T23:39:20Z'- published_at:<now- published_at:<=2024 |
||
| published_status | string | Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. The online_store_channel value applies only to the online store; other channels use the suffix format above. For example, the Point of Sale channel has the app handle pos and the Channel.app.id 129785, so pos-published and 129785-published both return resources published to Point of Sale. Other: - unavailable: Returns resources not published to any channel. |
- online_store_channel- published- visible- unpublished- * {channel_id_or_handle}-published- * {channel_id_or_handle}-visible- * {channel_id_or_handle}-intended- * {channel_id_or_handle}-hidden- * {channel_app_id_or_handle}-published- * {channel_app_id_or_handle}-visible- * {channel_app_id_or_handle}-intended- * {channel_app_id_or_handle}-hidden- unavailable |
- published_status:online_store_channel- published_status:published- published_status:580111-published- published_status:580111-hidden- published_status:pos-published- published_status:129785-published- published_status:my-channel-handle-published- published_status:unavailable |
|
| sku | string | Filter by the product variant sku field. Learn more about SKUs. |
- sku:XYZ-12345 |
||
| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps. |
- active- archived- draft- unlisted |
active |
- status:active,draft |
| tag | string | Filter objects by the tag field. |
- tag:my_tag |
||
| tag_not | string | Filter by objects that don’t have the specified tag. | - tag_not:my_tag |
||
| title | string | Filter by the product title field. |
- title:The Minimal Snowboard |
||
| tracks_inventory | boolean | Filter by products that have inventory tracking enabled. | - tracks_inventory:true |
||
| updated_at | time | Filter by the date and time when the product was last updated. | - updated_at:>'2020-10-21T23:39:20Z'- updated_at:<now- updated_at:<='2024' |
||
| variant_id | id | Filter by the product variant id field. |
- variant_id:45779434701121 |
||
| variant_title | string | Filter by the product variant title field. |
- variant_title:'Special ski wax' |
||
| vendor | string | Filter by the origin or source of the product. Learn more about vendors and managing vendor information. | - vendor:Snowdevil- vendor:Snowdevil OR vendor:Icedevil |
||
| You can apply one or more filters to a query. Learn more about Shopify API search syntax. |
savedSearchId: ID - The ID of a saved search.
The search’s query string is used as the query argument.
groupedLinesThe list of subscription lines grouped by bundle parent, with bundle components nested under their parent line.
latestCommittedProjectedOrderTotalsThe projected order totals from the last successful commit of the subscription contract. Returns null when no projected order totals have been persisted for the contract.
groupedLinesThe list of subscription lines grouped by bundle parent, with bundle components nested under their parent line.
latestCommittedProjectedOrderTotalsThe projected order totals from the last successful commit of the subscription contract. Returns null when no projected order totals have been persisted for the contract.
groupedLinesThe list of subscription lines grouped by bundle parent, with bundle components nested under their parent line.
SUBSCRIPTION_CONTRACT_CALCULATIONS_SUCCEEDSUBSCRIPTION_CONTRACT_CALCULATIONS_FAIL