Publication
A group of products and collections that are published to an app.
Each publication manages which products and collections display on its associated Channel. Merchants can automatically publish products when they're created if is enabled, or manually control publication through publication records.
Publications support scheduled publishing through future publish dates for online store channels, allowing merchants to coordinate product launches and promotional campaigns. The catalog field links to pricing and availability rules specific to that publication's context.
Anchor to FieldsFields
- autoPublish (Boolean!)
- catalog (Catalog)
- collectionPublicationsV3 (ResourcePublicationConnection!)
- collections (CollectionConnection!)
- hasCollection (Boolean!)
- id (ID!)
- includedProducts (ProductConnection!)
- includedProductsCount (Count)
- operation (PublicationOperation)
- productPublicationsV3 (ResourcePublicationConnection!)
- products (ProductConnection!)
- supportsFuturePublishing (Boolean!)
- Anchor to autoPublishauto•Boolean!
Publish non-null Whether new products are automatically published to this publication.
- Anchor to catalogcatalog•Catalog
The catalog associated with the publication.
- Anchor to collectionPublicationsV3collection•Resource
Publications V3 Publication Connection! non-null The list of collection publication records, each representing the publication status and details for a collection published to this publication (typically channel).
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
Arguments
- Anchor to collectionscollections•Collection
Connection! non-null The list of collections published to the publication.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
Arguments
- Anchor to hasCollectionhas•Boolean!
Collection non-null Whether the collection is available to the publication.
- •ID!required
Collection ID to check.
Arguments
- •ID!
- •ID!non-null
A globally-unique ID.
- Anchor to includedProductsincluded•Product
Products Connection! non-null The list of products included, but not necessarily published, in the publication.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Product
Key Sort Keys Default:ID 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.
- Anchor to queryquery•String
A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.
- Anchor to default•string
Filter by a case-insensitive search of multiple fields in a document.
query=Bob Normanquery=title:green hoodie- Anchor to 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- Anchor to 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- Anchor to combined_listing_role•string
Filter by the role of the product in a combined listing.
parentchildno_rolecombined_listing_role:parent- Anchor to created_at•time
Filter by the date and time when the product was created.
created_at:>'2020-10-21T23:39:20Z'created_at:<nowcreated_at:<='2024'- Anchor to delivery_profile_id•id
Filter by the delivery profile
idfield.delivery_profile_id:108179161409- Anchor to error_feedback•string
Filter by products with publishing errors.
- Anchor to handle•string
Filter by a comma-separated list of product handles.
handle:the-minimal-snowboard- Anchor to has_only_composites•boolean
Filter by products that have only composite variants.
has_only_composites:true- Anchor to 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- Anchor to has_variant_with_components•boolean
Filter by products that have variants with associated components.
has_variant_with_components:true- Anchor to inventory_total•integer
Filter by inventory count.
inventory_total:0inventory_total:>150inventory_total:>=200- Anchor to 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:truemetafields.product.material:"gid://shopify/Metaobject/43458085"- Anchor to out_of_stock_somewhere•boolean
Filter by products that are out of stock in at least one location.
out_of_stock_somewhere:true- Anchor to product_configuration_owner•string
Filter by the app
idfield.product_configuration_owner:10001- Anchor to 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
appID (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_publishedproduct_publication_status:189769876-approved- Anchor to product_type•string
Filter by a comma-separated list of product types.
product_type:snowboard- Anchor to publication_ids•string
Filter by a comma-separated list of publication IDs that are associated with the product.
publication_ids:184111530305,184111694145- Anchor to 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
appID (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_approvedpublishable_status:580111-unsetpublishable_status:580111-pending- Anchor to 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:20Zpublished_at:<nowpublished_at:<=2024- Anchor to published_status•string
Filter resources by their visibility and publication state on a channel. Online store channel filtering: -
: 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 the channelappID (Channel.app.id) with suffixes: -: Returns resources published to the specified channel. -: Same as(kept for backwards compatibility). -: Returns resources added to the channel but not yet published. -: Returns resources not added to the channel or not published. Other: -unavailable: Returns resources not published to any channel.online_store_channelpublishedvisibleunpublished* {channel_app_id}-published* {channel_app_id}-visible* {channel_app_id}-intended* {channel_app_id}-hiddenunavailablepublished_status:online_store_channelpublished_status:publishedpublished_status:580111-publishedpublished_status:580111-hiddenpublished_status:unavailable- Anchor to sku•string
Filter by the product variant
skufield. Learn more about SKUs.sku:XYZ-12345- Anchor to status•string
Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an
status in online stores, sales channels, and apps.activeDefaultarchiveddraftstatus:active,draft- Anchor to updated_at•time
Filter by the date and time when the product was last updated.
updated_at:>'2020-10-21T23:39:20Z'updated_at:<nowupdated_at:<='2024'- Anchor to variant_title•string
Filter by the product variant
titlefield.variant_title:'Special ski wax'- Anchor to vendor•string
Filter by the origin or source of the product. Learn more about vendors and managing vendor information.
vendor:Snowdevilvendor:Snowdevil OR vendor:Icedevil
Example:
Example:
Example:
Valid values:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Valid values:
Example:
Example:
Example:
Valid values:
Example:
Example:
Valid values:
Example:
Example:
Valid values:
Example:
Example:
Example:
Example:
- Anchor to savedSearchIdsaved•ID
Search Id The ID of a saved search. The search’s query string is used as the query argument.
Arguments
- Anchor to includedProductsCountincluded•Count
Products Count The count of products included in the publication. Limited to a maximum of 10000 by default.
- Anchor to queryquery•String
A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.
- Anchor to default•string
Filter by a case-insensitive search of multiple fields in a document.
query=Bob Normanquery=title:green hoodie- Anchor to 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- Anchor to 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- Anchor to combined_listing_role•string
Filter by the role of the product in a combined listing.
parentchildno_rolecombined_listing_role:parent- Anchor to created_at•time
Filter by the date and time when the product was created.
created_at:>'2020-10-21T23:39:20Z'created_at:<nowcreated_at:<='2024'- Anchor to delivery_profile_id•id
Filter by the delivery profile
idfield.delivery_profile_id:108179161409- Anchor to error_feedback•string
Filter by products with publishing errors.
- Anchor to handle•string
Filter by a comma-separated list of product handles.
handle:the-minimal-snowboard- Anchor to has_only_composites•boolean
Filter by products that have only composite variants.
has_only_composites:true- Anchor to 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- Anchor to has_variant_with_components•boolean
Filter by products that have variants with associated components.
has_variant_with_components:true- Anchor to inventory_total•integer
Filter by inventory count.
inventory_total:0inventory_total:>150inventory_total:>=200- Anchor to 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:truemetafields.product.material:"gid://shopify/Metaobject/43458085"- Anchor to out_of_stock_somewhere•boolean
Filter by products that are out of stock in at least one location.
out_of_stock_somewhere:true- Anchor to product_configuration_owner•string
Filter by the app
idfield.product_configuration_owner:10001- Anchor to 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
appID (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_publishedproduct_publication_status:189769876-approved- Anchor to product_type•string
Filter by a comma-separated list of product types.
product_type:snowboard- Anchor to publication_ids•string
Filter by a comma-separated list of publication IDs that are associated with the product.
publication_ids:184111530305,184111694145- Anchor to 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
appID (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_approvedpublishable_status:580111-unsetpublishable_status:580111-pending- Anchor to 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:20Zpublished_at:<nowpublished_at:<=2024- Anchor to published_status•string
Filter resources by their visibility and publication state on a channel. Online store channel filtering: -
: 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 the channelappID (Channel.app.id) with suffixes: -: Returns resources published to the specified channel. -: Same as(kept for backwards compatibility). -: Returns resources added to the channel but not yet published. -: Returns resources not added to the channel or not published. Other: -unavailable: Returns resources not published to any channel.online_store_channelpublishedvisibleunpublished* {channel_app_id}-published* {channel_app_id}-visible* {channel_app_id}-intended* {channel_app_id}-hiddenunavailablepublished_status:online_store_channelpublished_status:publishedpublished_status:580111-publishedpublished_status:580111-hiddenpublished_status:unavailable- Anchor to sku•string
Filter by the product variant
skufield. Learn more about SKUs.sku:XYZ-12345- Anchor to status•string
Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an
status in online stores, sales channels, and apps.activeDefaultarchiveddraftstatus:active,draft- Anchor to updated_at•time
Filter by the date and time when the product was last updated.
updated_at:>'2020-10-21T23:39:20Z'updated_at:<nowupdated_at:<='2024'- Anchor to variant_title•string
Filter by the product variant
titlefield.variant_title:'Special ski wax'- Anchor to vendor•string
Filter by the origin or source of the product. Learn more about vendors and managing vendor information.
vendor:Snowdevilvendor:Snowdevil OR vendor:Icedevil
Example:
Example:
Example:
Valid values:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Valid values:
Example:
Example:
Example:
Valid values:
Example:
Example:
Valid values:
Example:
Example:
Valid values:
Example:
Example:
Example:
Example:
- Anchor to savedSearchIdsaved•ID
Search Id - Anchor to limitlimit•IntDefault:10000
The upper bound on count value before returning a result. Use
nullto have no limit.
Arguments
- Anchor to operationoperation•Publication
Operation A background operation associated with this publication.
- Anchor to productPublicationsV3product•Resource
Publications V3 Publication Connection! non-null The product publications for the list of products published to the publication.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
Arguments
- Anchor to productsproducts•Product
Connection! non-null The list of products published to the publication.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Product
Key Sort Keys Default:ID 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.
- Anchor to queryquery•String
A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.
- Anchor to default•string
Filter by a case-insensitive search of multiple fields in a document.
query=Bob Normanquery=title:green hoodie- Anchor to 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- Anchor to 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- Anchor to combined_listing_role•string
Filter by the role of the product in a combined listing.
parentchildno_rolecombined_listing_role:parent- Anchor to created_at•time
Filter by the date and time when the product was created.
created_at:>'2020-10-21T23:39:20Z'created_at:<nowcreated_at:<='2024'- Anchor to delivery_profile_id•id
Filter by the delivery profile
idfield.delivery_profile_id:108179161409- Anchor to error_feedback•string
Filter by products with publishing errors.
- Anchor to handle•string
Filter by a comma-separated list of product handles.
handle:the-minimal-snowboard- Anchor to has_only_composites•boolean
Filter by products that have only composite variants.
has_only_composites:true- Anchor to 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- Anchor to has_variant_with_components•boolean
Filter by products that have variants with associated components.
has_variant_with_components:true- Anchor to inventory_total•integer
Filter by inventory count.
inventory_total:0inventory_total:>150inventory_total:>=200- Anchor to 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:truemetafields.product.material:"gid://shopify/Metaobject/43458085"- Anchor to out_of_stock_somewhere•boolean
Filter by products that are out of stock in at least one location.
out_of_stock_somewhere:true- Anchor to product_configuration_owner•string
Filter by the app
idfield.product_configuration_owner:10001- Anchor to 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
appID (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_publishedproduct_publication_status:189769876-approved- Anchor to product_type•string
Filter by a comma-separated list of product types.
product_type:snowboard- Anchor to publication_ids•string
Filter by a comma-separated list of publication IDs that are associated with the product.
publication_ids:184111530305,184111694145- Anchor to 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
appID (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_approvedpublishable_status:580111-unsetpublishable_status:580111-pending- Anchor to 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:20Zpublished_at:<nowpublished_at:<=2024- Anchor to published_status•string
Filter resources by their visibility and publication state on a channel. Online store channel filtering: -
: 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 the channelappID (Channel.app.id) with suffixes: -: Returns resources published to the specified channel. -: Same as(kept for backwards compatibility). -: Returns resources added to the channel but not yet published. -: Returns resources not added to the channel or not published. Other: -unavailable: Returns resources not published to any channel.online_store_channelpublishedvisibleunpublished* {channel_app_id}-published* {channel_app_id}-visible* {channel_app_id}-intended* {channel_app_id}-hiddenunavailablepublished_status:online_store_channelpublished_status:publishedpublished_status:580111-publishedpublished_status:580111-hiddenpublished_status:unavailable- Anchor to sku•string
Filter by the product variant
skufield. Learn more about SKUs.sku:XYZ-12345- Anchor to status•string
Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an
status in online stores, sales channels, and apps.activeDefaultarchiveddraftstatus:active,draft- Anchor to updated_at•time
Filter by the date and time when the product was last updated.
updated_at:>'2020-10-21T23:39:20Z'updated_at:<nowupdated_at:<='2024'- Anchor to variant_title•string
Filter by the product variant
titlefield.variant_title:'Special ski wax'- Anchor to vendor•string
Filter by the origin or source of the product. Learn more about vendors and managing vendor information.
vendor:Snowdevilvendor:Snowdevil OR vendor:Icedevil
Example:
Example:
Example:
Valid values:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Example:
Valid values:
Example:
Example:
Example:
Valid values:
Example:
Example:
Valid values:
Example:
Example:
Valid values:
Example:
Example:
Example:
Example:
- Anchor to savedSearchIdsaved•ID
Search Id The ID of a saved search. The search’s query string is used as the query argument.
Arguments
- Anchor to supportsFuturePublishingsupports•Boolean!
Future Publishing non-null Whether the publication supports future publishing.
Deprecated fields
- app (App!): deprecated
- name (String!): deprecated
- •App!non-nullDeprecated
- Anchor to namename•String!non-nullDeprecated
Anchor to QueriesQueries
- publication (Publication)
- publications (PublicationConnection!)
- •query
Retrieves a
Publicationby.Returns
nullif the publication doesn't exist.- •ID!required
The ID of the Publication to return.
Arguments
- •ID!
- •query
Returns a paginated list of
Publication.- Anchor to catalogTypecatalog•Catalog
Type Type Filter publications by catalog type.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
Arguments
Anchor to MutationsMutations
- publicationCreate (PublicationCreatePayload)
- publicationUpdate (PublicationUpdatePayload)
- •mutation
Creates a
Publicationthat controls whichProductandCollectioncustomers can access through aCatalog.You can create an empty publication and add products later, or prepopulate it with all existing products. The
field determines whether the publication automatically adds newly created products.- Anchor to inputinput•Publication
Create Input! required The input fields to use when creating the publication.
Arguments
- •mutation
Updates a
Publication.You can add or remove products from the publication, with a maximum of 50 items per operation. The
field determines whether new products automatically display in this publication.- •ID!required
The ID of the publication to update.
- Anchor to inputinput•Publication
Update Input! required The input fields to use when updating the publication.
Arguments
- •ID!