Skip to main content
object

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 autoPublish 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.

Boolean!
non-null

Whether new products are automatically published to this publication.

Catalog

The catalog associated with the publication.

Anchor to collectionPublicationsV3collectionPublicationsV3
ResourcePublicationConnection!
non-null

The list of collection publication records, each representing the publication status and details for a collection published to this publication (typically channel).

Arguments

Int

The first n elements from the paginated list.

String

The elements that come after the specified cursor.

Int

The last n elements from the paginated list.

String

The elements that come before the specified cursor.

Boolean
Default:false

Reverse the order of the underlying list.


CollectionConnection!
non-null

The list of collections published to the publication.

Arguments

Int

The first n elements from the paginated list.

String

The elements that come after the specified cursor.

Int

The last n elements from the paginated list.

String

The elements that come before the specified cursor.

Boolean
Default:false

Reverse the order of the underlying list.


Boolean!
non-null

Whether the collection is available to the publication.

Arguments

ID!
required

Collection ID to check.


ID!
non-null

A globally-unique ID.

ProductConnection!
non-null

The list of products included, but not necessarily published, in the publication.

Arguments

Int

The first n elements from the paginated list.

String

The elements that come after the specified cursor.

Int

The last n elements from the paginated list.

String

The elements that come before the specified cursor.

Boolean
Default:false

Reverse the order of the underlying list.

ProductSortKeys
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.

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.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to barcode
string

Filter by the product variant barcode field.

Example:

  • barcode:ABC-abc-1234
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.

Example:

  • 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.

Example:

  • category_id:sg-4-17-2-17
Anchor to collection_id
id

Filter by the collection id field.

Example:

  • collection_id:108179161409
Anchor to combined_listing_role
string

Filter by the role of the product in a combined listing.

Valid values:

  • parent
  • child
  • no_role

Example:

  • combined_listing_role:parent
Anchor to created_at
time

Filter by the date and time when the product was created.

Example:

  • created_at:>'2020-10-21T23:39:20Z'
  • created_at:<now
  • created_at:<='2024'
Anchor to delivery_profile_id
id

Filter by the delivery profile id field.

Example:

  • delivery_profile_id:108179161409
Anchor to error_feedback
string

Filter by products with publishing errors.

Anchor to gift_card
boolean

Filter by the product isGiftCard field.

Example:

  • gift_card:true
string

Filter by a comma-separated list of product handles.

Example:

  • handle:the-minimal-snowboard
Anchor to has_only_composites
boolean

Filter by products that have only composite variants.

Example:

  • 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.

Example:

  • has_only_default_variant:true
Anchor to has_variant_with_components
boolean

Filter by products that have variants with associated components.

Example:

  • has_variant_with_components:true
id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to inventory_total
integer

Filter by inventory count.

Example:

  • inventory_total:0
  • inventory_total:>150
  • inventory_total:>=200
Anchor to is_price_reduced
boolean

Filter by products that have a reduced price. For more information, refer to the CollectionRule object.

Example:

  • is_price_reduced:true
Anchor to metafields.{namespace}.{key}
mixed

Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.

Example:

  • metafields.custom.on_sale:true
  • metafields.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.

Example:

  • out_of_stock_somewhere:true
bigdecimal

Filter by the product variant price field.

Example:

  • price:100.57
Anchor to product_configuration_owner
string

Filter by the app id field.

Example:

  • 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 app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead.

Valid values:

  • * {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

Example:

  • product_publication_status:189769876-approved
Anchor to product_type
string

Filter by a comma-separated list of product types.

Example:

  • product_type:snowboard
Anchor to publication_ids
string

Filter by a comma-separated list of publication IDs that are associated with the product.

Example:

  • 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 app ID (Channel.app.id) and one of the valid status values.

Valid values:

  • * {channel_app_id}-unset
  • * {channel_app_id}-pending
  • * {channel_app_id}-approved
  • * {channel_app_id}-not_approved

Example:

  • publishable_status:580111-unset
  • publishable_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.

Example:

  • published_at:>2020-10-21T23:39:20Z
  • published_at:<now
  • published_at:<=2024
Anchor to 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 the channel app ID (Channel.app.id) with suffixes: - {channel_app_id}-published: Returns resources published to the specified channel. - {channel_app_id}-visible: Same as {channel_app_id}-published (kept for backwards compatibility). - {channel_app_id}-intended: Returns resources added to the channel but not yet published. - {channel_app_id}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel.

Valid values:

  • online_store_channel
  • published
  • visible
  • unpublished
  • * {channel_app_id}-published
  • * {channel_app_id}-visible
  • * {channel_app_id}-intended
  • * {channel_app_id}-hidden
  • unavailable

Example:

  • published_status:online_store_channel
  • published_status:published
  • published_status:580111-published
  • published_status:580111-hidden
  • published_status:unavailable
string

Filter by the product variant sku field. Learn more about SKUs.

Example:

  • sku:XYZ-12345
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.

Valid values:

  • active Default
  • archived
  • draft

Example:

  • status:active,draft
string

Filter objects by the tag field.

Example:

  • tag:my_tag
Anchor to tag_not
string

Filter by objects that don’t have the specified tag.

Example:

  • tag_not:my_tag
string

Filter by the product title field.

Example:

  • title:The Minimal Snowboard
Anchor to updated_at
time

Filter by the date and time when the product was last updated.

Example:

  • updated_at:>'2020-10-21T23:39:20Z'
  • updated_at:<now
  • updated_at:<='2024'
Anchor to variant_id
id

Filter by the product variant id field.

Example:

  • variant_id:45779434701121
Anchor to variant_title
string

Filter by the product variant title field.

Example:

  • variant_title:'Special ski wax'
string

Filter by the origin or source of the product. Learn more about vendors and managing vendor information.

Example:

  • vendor:Snowdevil
  • vendor:Snowdevil OR vendor:Icedevil
ID

The ID of a saved search. The search’s query string is used as the query argument.


Anchor to includedProductsCountincludedProductsCount
Count

The count of products included in the publication. Limited to a maximum of 10000 by default.

Arguments

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.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to barcode
string

Filter by the product variant barcode field.

Example:

  • barcode:ABC-abc-1234
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.

Example:

  • 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.

Example:

  • category_id:sg-4-17-2-17
Anchor to collection_id
id

Filter by the collection id field.

Example:

  • collection_id:108179161409
Anchor to combined_listing_role
string

Filter by the role of the product in a combined listing.

Valid values:

  • parent
  • child
  • no_role

Example:

  • combined_listing_role:parent
Anchor to created_at
time

Filter by the date and time when the product was created.

Example:

  • created_at:>'2020-10-21T23:39:20Z'
  • created_at:<now
  • created_at:<='2024'
Anchor to delivery_profile_id
id

Filter by the delivery profile id field.

Example:

  • delivery_profile_id:108179161409
Anchor to error_feedback
string

Filter by products with publishing errors.

Anchor to gift_card
boolean

Filter by the product isGiftCard field.

Example:

  • gift_card:true
string

Filter by a comma-separated list of product handles.

Example:

  • handle:the-minimal-snowboard
Anchor to has_only_composites
boolean

Filter by products that have only composite variants.

Example:

  • 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.

Example:

  • has_only_default_variant:true
Anchor to has_variant_with_components
boolean

Filter by products that have variants with associated components.

Example:

  • has_variant_with_components:true
id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to inventory_total
integer

Filter by inventory count.

Example:

  • inventory_total:0
  • inventory_total:>150
  • inventory_total:>=200
Anchor to is_price_reduced
boolean

Filter by products that have a reduced price. For more information, refer to the CollectionRule object.

Example:

  • is_price_reduced:true
Anchor to metafields.{namespace}.{key}
mixed

Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.

Example:

  • metafields.custom.on_sale:true
  • metafields.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.

Example:

  • out_of_stock_somewhere:true
bigdecimal

Filter by the product variant price field.

Example:

  • price:100.57
Anchor to product_configuration_owner
string

Filter by the app id field.

Example:

  • 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 app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead.

Valid values:

  • * {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

Example:

  • product_publication_status:189769876-approved
Anchor to product_type
string

Filter by a comma-separated list of product types.

Example:

  • product_type:snowboard
Anchor to publication_ids
string

Filter by a comma-separated list of publication IDs that are associated with the product.

Example:

  • 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 app ID (Channel.app.id) and one of the valid status values.

Valid values:

  • * {channel_app_id}-unset
  • * {channel_app_id}-pending
  • * {channel_app_id}-approved
  • * {channel_app_id}-not_approved

Example:

  • publishable_status:580111-unset
  • publishable_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.

Example:

  • published_at:>2020-10-21T23:39:20Z
  • published_at:<now
  • published_at:<=2024
Anchor to 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 the channel app ID (Channel.app.id) with suffixes: - {channel_app_id}-published: Returns resources published to the specified channel. - {channel_app_id}-visible: Same as {channel_app_id}-published (kept for backwards compatibility). - {channel_app_id}-intended: Returns resources added to the channel but not yet published. - {channel_app_id}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel.

Valid values:

  • online_store_channel
  • published
  • visible
  • unpublished
  • * {channel_app_id}-published
  • * {channel_app_id}-visible
  • * {channel_app_id}-intended
  • * {channel_app_id}-hidden
  • unavailable

Example:

  • published_status:online_store_channel
  • published_status:published
  • published_status:580111-published
  • published_status:580111-hidden
  • published_status:unavailable
string

Filter by the product variant sku field. Learn more about SKUs.

Example:

  • sku:XYZ-12345
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.

Valid values:

  • active Default
  • archived
  • draft

Example:

  • status:active,draft
string

Filter objects by the tag field.

Example:

  • tag:my_tag
Anchor to tag_not
string

Filter by objects that don’t have the specified tag.

Example:

  • tag_not:my_tag
string

Filter by the product title field.

Example:

  • title:The Minimal Snowboard
Anchor to updated_at
time

Filter by the date and time when the product was last updated.

Example:

  • updated_at:>'2020-10-21T23:39:20Z'
  • updated_at:<now
  • updated_at:<='2024'
Anchor to variant_id
id

Filter by the product variant id field.

Example:

  • variant_id:45779434701121
Anchor to variant_title
string

Filter by the product variant title field.

Example:

  • variant_title:'Special ski wax'
string

Filter by the origin or source of the product. Learn more about vendors and managing vendor information.

Example:

  • vendor:Snowdevil
  • vendor:Snowdevil OR vendor:Icedevil
ID

The ID of an existing saved search. The search’s query string is used as the query argument. Refer to the SavedSearch object.

Int
Default:10000

The upper bound on count value before returning a result. Use null to have no limit.


PublicationOperation

A background operation associated with this publication.

Anchor to productPublicationsV3productPublicationsV3
ResourcePublicationConnection!
non-null

The product publications for the list of products published to the publication.

Arguments

Int

The first n elements from the paginated list.

String

The elements that come after the specified cursor.

Int

The last n elements from the paginated list.

String

The elements that come before the specified cursor.

Boolean
Default:false

Reverse the order of the underlying list.


ProductConnection!
non-null

The list of products published to the publication.

Arguments

Int

The first n elements from the paginated list.

String

The elements that come after the specified cursor.

Int

The last n elements from the paginated list.

String

The elements that come before the specified cursor.

Boolean
Default:false

Reverse the order of the underlying list.

ProductSortKeys
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.

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.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to barcode
string

Filter by the product variant barcode field.

Example:

  • barcode:ABC-abc-1234
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.

Example:

  • 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.

Example:

  • category_id:sg-4-17-2-17
Anchor to collection_id
id

Filter by the collection id field.

Example:

  • collection_id:108179161409
Anchor to combined_listing_role
string

Filter by the role of the product in a combined listing.

Valid values:

  • parent
  • child
  • no_role

Example:

  • combined_listing_role:parent
Anchor to created_at
time

Filter by the date and time when the product was created.

Example:

  • created_at:>'2020-10-21T23:39:20Z'
  • created_at:<now
  • created_at:<='2024'
Anchor to delivery_profile_id
id

Filter by the delivery profile id field.

Example:

  • delivery_profile_id:108179161409
Anchor to error_feedback
string

Filter by products with publishing errors.

Anchor to gift_card
boolean

Filter by the product isGiftCard field.

Example:

  • gift_card:true
string

Filter by a comma-separated list of product handles.

Example:

  • handle:the-minimal-snowboard
Anchor to has_only_composites
boolean

Filter by products that have only composite variants.

Example:

  • 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.

Example:

  • has_only_default_variant:true
Anchor to has_variant_with_components
boolean

Filter by products that have variants with associated components.

Example:

  • has_variant_with_components:true
id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to inventory_total
integer

Filter by inventory count.

Example:

  • inventory_total:0
  • inventory_total:>150
  • inventory_total:>=200
Anchor to is_price_reduced
boolean

Filter by products that have a reduced price. For more information, refer to the CollectionRule object.

Example:

  • is_price_reduced:true
Anchor to metafields.{namespace}.{key}
mixed

Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.

Example:

  • metafields.custom.on_sale:true
  • metafields.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.

Example:

  • out_of_stock_somewhere:true
bigdecimal

Filter by the product variant price field.

Example:

  • price:100.57
Anchor to product_configuration_owner
string

Filter by the app id field.

Example:

  • 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 app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead.

Valid values:

  • * {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

Example:

  • product_publication_status:189769876-approved
Anchor to product_type
string

Filter by a comma-separated list of product types.

Example:

  • product_type:snowboard
Anchor to publication_ids
string

Filter by a comma-separated list of publication IDs that are associated with the product.

Example:

  • 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 app ID (Channel.app.id) and one of the valid status values.

Valid values:

  • * {channel_app_id}-unset
  • * {channel_app_id}-pending
  • * {channel_app_id}-approved
  • * {channel_app_id}-not_approved

Example:

  • publishable_status:580111-unset
  • publishable_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.

Example:

  • published_at:>2020-10-21T23:39:20Z
  • published_at:<now
  • published_at:<=2024
Anchor to 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 the channel app ID (Channel.app.id) with suffixes: - {channel_app_id}-published: Returns resources published to the specified channel. - {channel_app_id}-visible: Same as {channel_app_id}-published (kept for backwards compatibility). - {channel_app_id}-intended: Returns resources added to the channel but not yet published. - {channel_app_id}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel.

Valid values:

  • online_store_channel
  • published
  • visible
  • unpublished
  • * {channel_app_id}-published
  • * {channel_app_id}-visible
  • * {channel_app_id}-intended
  • * {channel_app_id}-hidden
  • unavailable

Example:

  • published_status:online_store_channel
  • published_status:published
  • published_status:580111-published
  • published_status:580111-hidden
  • published_status:unavailable
string

Filter by the product variant sku field. Learn more about SKUs.

Example:

  • sku:XYZ-12345
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.

Valid values:

  • active Default
  • archived
  • draft

Example:

  • status:active,draft
string

Filter objects by the tag field.

Example:

  • tag:my_tag
Anchor to tag_not
string

Filter by objects that don’t have the specified tag.

Example:

  • tag_not:my_tag
string

Filter by the product title field.

Example:

  • title:The Minimal Snowboard
Anchor to updated_at
time

Filter by the date and time when the product was last updated.

Example:

  • updated_at:>'2020-10-21T23:39:20Z'
  • updated_at:<now
  • updated_at:<='2024'
Anchor to variant_id
id

Filter by the product variant id field.

Example:

  • variant_id:45779434701121
Anchor to variant_title
string

Filter by the product variant title field.

Example:

  • variant_title:'Special ski wax'
string

Filter by the origin or source of the product. Learn more about vendors and managing vendor information.

Example:

  • vendor:Snowdevil
  • vendor:Snowdevil OR vendor:Icedevil
ID

The ID of a saved search. The search’s query string is used as the query argument.


Anchor to supportsFuturePublishingsupportsFuturePublishing
Boolean!
non-null

Whether the publication supports future publishing.

Deprecated fields

App!
non-nullDeprecated
String!
non-nullDeprecated

Was this section helpful?

query

Retrieves a Publication by ID.

Returns null if the publication doesn't exist.

Arguments

ID!
required

The ID of the Publication to return.


query

Returns a paginated list of Publication.

Filter publications by CatalogType.

Arguments

CatalogType

Filter publications by catalog type.

Int

The first n elements from the paginated list.

String

The elements that come after the specified cursor.

Int

The last n elements from the paginated list.

String

The elements that come before the specified cursor.

Boolean
Default:false

Reverse the order of the underlying list.



Was this section helpful?

mutation

Creates a Publication that controls which Product and Collection customers can access through a Catalog.

You can create an empty publication and add products later, or prepopulate it with all existing products. The autoPublish field determines whether the publication automatically adds newly created products.

Arguments

PublicationCreateInput!
required

The input fields to use when creating the publication.


mutation

Updates a Publication.

You can add or remove products from the publication, with a maximum of 50 items per operation. The autoPublish field determines whether new products automatically display in this publication.

Arguments

ID!
required

The ID of the publication to update.

PublicationUpdateInput!
required

The input fields to use when updating the publication.



Was this section helpful?

interface

Was this section helpful?