--- title: Publication - GraphQL Admin description: >- A group of [products](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) and [collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection) that are published to an app. Each publication manages which products and collections display on its associated [`Channel`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel). Merchants can automatically publish products when they're created if [`autoPublish`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication#field-Publication.fields.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`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication#field-Publication.fields.catalog) field links to pricing and availability rules specific to that publication's context. api_version: 2025-01 api_name: admin type: object api_type: graphql source_url: html: 'https://shopify.dev/docs/api/admin-graphql/2025-01/objects/Publication' md: 'https://shopify.dev/docs/api/admin-graphql/2025-01/objects/Publication.md' --- # Publication object A group of [products](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) and [collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection) that are published to an app. Each publication manages which products and collections display on its associated [`Channel`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel). Merchants can automatically publish products when they're created if [`autoPublish`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication#field-Publication.fields.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`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication#field-Publication.fields.catalog) field links to pricing and availability rules specific to that publication's context. ## Fields * auto​Publish [Boolean!](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Boolean) non-null Whether new products are automatically published to this publication. * catalog [Catalog](https://shopify.dev/docs/api/admin-graphql/2025-01/interfaces/Catalog) The catalog associated with the publication. * collection​Publications​V3 [Resource​Publication​Connection!](https://shopify.dev/docs/api/admin-graphql/2025-01/connections/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). * first [Int](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Boolean) Default:false Reverse the order of the underlying list. *** * collections [Collection​Connection!](https://shopify.dev/docs/api/admin-graphql/2025-01/connections/CollectionConnection) non-null The list of collections published to the publication. * first [Int](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Boolean) Default:false Reverse the order of the underlying list. *** * has​Collection [Boolean!](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Boolean) non-null Whether the collection is available to the publication. * id [ID!](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/ID) required ### Arguments Collection ID to check. *** * id [ID!](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/ID) non-null A globally-unique ID. * operation [Publication​Operation](https://shopify.dev/docs/api/admin-graphql/2025-01/unions/PublicationOperation) A background operation associated with this publication. * product​Publications​V3 [Resource​Publication​Connection!](https://shopify.dev/docs/api/admin-graphql/2025-01/connections/ResourcePublicationConnection) non-null The product publications for the list of products published to the publication. * first [Int](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Boolean) Default:false Reverse the order of the underlying list. *** * products [Product​Connection!](https://shopify.dev/docs/api/admin-graphql/2025-01/connections/ProductConnection) non-null The list of products published to the publication. * first [Int](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Int) ### Arguments The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Boolean) Default:false Reverse the order of the underlying list. *** * supports​Future​Publishing [Boolean!](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Boolean) non-null Whether the publication supports future publishing. ### Deprecated fields * app [App!](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/App) non-nullDeprecated * name [String!](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/String) non-nullDeprecated *** ## Map ### Fields and connections with this object * {}[AppCatalog.publication](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/AppCatalog#field-AppCatalog.fields.publication) * {}[AppInstallation.publication](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/AppInstallation#field-AppInstallation.fields.publication) * ||-[Catalog.publication](https://shopify.dev/docs/api/admin-graphql/2025-01/interfaces/Catalog#fields-publication) * {}[Collection.unpublishedPublications](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/Collection#field-Collection.fields.unpublishedPublications) * {}[CollectionPublication.publication](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/CollectionPublication#field-CollectionPublication.fields.publication) * {}[CompanyLocationCatalog.publication](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/CompanyLocationCatalog#field-CompanyLocationCatalog.fields.publication) * {}[MarketCatalog.publication](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/MarketCatalog#field-MarketCatalog.fields.publication) * {}[Order.publication](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/Order#field-Order.fields.publication) * {}[Product.unpublishedPublications](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/Product#field-Product.fields.unpublishedPublications) * <->[PublicationConnection.nodes](https://shopify.dev/docs/api/admin-graphql/2025-01/connections/PublicationConnection#returns-nodes) * {}[PublicationEdge.node](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/PublicationEdge#field-PublicationEdge.fields.node) * ||-[Publishable.unpublishedPublications](https://shopify.dev/docs/api/admin-graphql/2025-01/interfaces/Publishable#fields-unpublishedPublications) * {}[ResourcePublication.publication](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/ResourcePublication#field-ResourcePublication.fields.publication) * {}[ResourcePublicationV2.publication](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/ResourcePublicationV2#field-ResourcePublicationV2.fields.publication) *** ## Queries * [publication](https://shopify.dev/docs/api/admin-graphql/2025-01/queries/publication) query Retrieves a [`Publication`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) by [`ID`](https://shopify.dev/docs/api/usage/gids). Returns `null` if the publication doesn't exist. * id [ID!](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/ID) required ### Arguments The ID of the Publication to return. *** * [publications](https://shopify.dev/docs/api/admin-graphql/2025-01/queries/publications) query Returns a paginated list of [`Publication`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). Filter publications by [`CatalogType`](https://shopify.dev/docs/api/admin-graphql/latest/enums/CatalogType). * catalog​Type [Catalog​Type](https://shopify.dev/docs/api/admin-graphql/2025-01/enums/CatalogType) ### Arguments Filter publications by catalog type. * first [Int](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Int) The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * after [String](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/String) The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * last [Int](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Int) The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql). * before [String](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/String) The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql). * reverse [Boolean](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/Boolean) Default:false Reverse the order of the underlying list. *** *** ## \Publication Queries ### Queried by * \[publication](https://shopify.dev/docs/api/admin-graphql/2025-01/queries/publication) * \[publications](https://shopify.dev/docs/api/admin-graphql/2025-01/queries/publications) *** ## Mutations * [publication​Create](https://shopify.dev/docs/api/admin-graphql/2025-01/mutations/publicationCreate) mutation Creates a [`Publication`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) that controls which [`Product`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) and [`Collection`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection) customers can access through a [`Catalog`](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/Catalog). You can create an empty publication and add products later, or prepopulate it with all existing products. The [`autoPublish`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publicationCreate#arguments-input.fields.autoPublish) field determines whether the publication automatically adds newly created products. * input [Publication​Create​Input!](https://shopify.dev/docs/api/admin-graphql/2025-01/input-objects/PublicationCreateInput) required ### Arguments The input fields to use when creating the publication. *** * [publication​Update](https://shopify.dev/docs/api/admin-graphql/2025-01/mutations/publicationUpdate) mutation Updates a [`Publication`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). You can add or remove [products](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) from the publication, with a maximum of 50 items per operation. The [`autoPublish`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publicationUpdate#arguments-input.fields.autoPublish) field determines whether new products automatically display in this publication. * id [ID!](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/ID) required ### Arguments The ID of the publication to update. * input [Publication​Update​Input!](https://shopify.dev/docs/api/admin-graphql/2025-01/input-objects/PublicationUpdateInput) required The input fields to use when updating the publication. *** *** ## <\~> Publication Mutations ### Mutated by * <\~>[publication​Create](https://shopify.dev/docs/api/admin-graphql/2025-01/mutations/publicationCreate) * <\~>[publication​Update](https://shopify.dev/docs/api/admin-graphql/2025-01/mutations/publicationUpdate) *** ## Interfaces * [Node](https://shopify.dev/docs/api/admin-graphql/2025-01/interfaces/Node) interface *** ## ||-Publication Implements ### Implements * ||-[Node](https://shopify.dev/docs/api/admin-graphql/2025-01/interfaces/Node)