Anchor to publishablePublishpublishable
publishablePublish
mutation
Requires access scope. Also: The user must have permission to create and edit products or create and edit catalogs.
Publishes a resource to a channel. If the resource is a product, then it's visible in the channel only if the product status is active
. Products that are sold exclusively on subscription () can be published only on online stores.
Anchor to Arguments
Arguments
- •ID!required
The resource to create or update publications for.
- Anchor to inputinput•[Publication
Input!]! required Specifies the input fields required to publish a resource.
Was this section helpful?
Anchor to PublishablePublishPayload returnsPublishablePublishPayload returns
- Anchor to publishablepublishable•
Resource that has been published.
- Anchor to shopshop•Shop!non-null
The user's shop.
- Anchor to userErrorsuser•
Errors [UserError!]! non-null The list of errors that occurred from executing the mutation.
Was this section helpful?
- Create a collection listing to publish a collection to your app
- Create a product listing to publish a product to your app
- Publish a collection with a publication ID
- Publish a product that does not belong to the shop
- Publish a product that does not exist
- Publish a product with a future publication date
- Publish a product with an invalid publication ID
- publishablePublish reference
Examples
1const { admin } = await authenticate.admin(request);23const response = await admin.graphql(4 `#graphql5 mutation PublishablePublish($collectionId: ID!, $publicationId: ID!) {6 publishablePublish(id: $collectionId, input: {publicationId: $publicationId}) {7 publishable {8 publishedOnPublication(publicationId: $publicationId)9 }10 userErrors {11 field12 message13 }14 }15 }`,16 {17 variables: {18 "collectionId": "gid://shopify/Collection/636030761",19 "publicationId": "gid://shopify/Publication/762454635"20 },21 },22);2324const data = await response.json();25
mutation PublishablePublish($collectionId: ID!, $publicationId: ID!) {
publishablePublish(id: $collectionId, input: {publicationId: $publicationId}) {
publishable {
publishedOnPublication(publicationId: $publicationId)
}
userErrors {
field
message
}
}
}
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2024-04/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "mutation PublishablePublish($collectionId: ID!, $publicationId: ID!) { publishablePublish(id: $collectionId, input: {publicationId: $publicationId}) { publishable { publishedOnPublication(publicationId: $publicationId) } userErrors { field message } } }",
"variables": {
"collectionId": "gid://shopify/Collection/636030761",
"publicationId": "gid://shopify/Publication/762454635"
}
}'
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
mutation PublishablePublish($collectionId: ID!, $publicationId: ID!) {
publishablePublish(id: $collectionId, input: {publicationId: $publicationId}) {
publishable {
publishedOnPublication(publicationId: $publicationId)
}
userErrors {
field
message
}
}
}`,
{
variables: {
"collectionId": "gid://shopify/Collection/636030761",
"publicationId": "gid://shopify/Publication/762454635"
},
},
);
const data = await response.json();
const client = new shopify.clients.Graphql({session});
const data = await client.query({
data: {
"query": `mutation PublishablePublish($collectionId: ID!, $publicationId: ID!) {
publishablePublish(id: $collectionId, input: {publicationId: $publicationId}) {
publishable {
publishedOnPublication(publicationId: $publicationId)
}
userErrors {
field
message
}
}
}`,
"variables": {
"collectionId": "gid://shopify/Collection/636030761",
"publicationId": "gid://shopify/Publication/762454635"
},
},
});
session = ShopifyAPI::Auth::Session.new(
shop: "your-development-store.myshopify.com",
access_token: access_token
)
client = ShopifyAPI::Clients::Graphql::Admin.new(
session: session
)
query = <<~QUERY
mutation PublishablePublish($collectionId: ID!, $publicationId: ID!) {
publishablePublish(id: $collectionId, input: {publicationId: $publicationId}) {
publishable {
publishedOnPublication(publicationId: $publicationId)
}
userErrors {
field
message
}
}
}
QUERY
variables = {
"collectionId": "gid://shopify/Collection/636030761",
"publicationId": "gid://shopify/Publication/762454635"
}
response = client.query(query: query, variables: variables)
Input variables
JSON1{2 "collectionId": "gid://shopify/Collection/636030761",3 "publicationId": "gid://shopify/Publication/762454635"4}
Response
JSON1{2 "publishablePublish": {3 "publishable": {4 "publishedOnPublication": true5 },6 "userErrors": []7 }8}