publishable Unpublishmutation
mutation
2024-10latest
Requires write
access scope. Also: The user must have permission to create and edit products or create and edit catalogs.
Unpublishes a resource from a channel. If the resource is a product, then it's visible in the channel only if the product status is active
.
Arguments
The resource to delete or update publications for.
Specifies the input fields required to unpublish a resource.
Was this section helpful?
PublishableUnpublishPayload returns
Resource that has been unpublished.
The user's shop.
The list of errors that occurred from executing the mutation.
Was this section helpful?
Code examples for MUTATION: publishableUnpublish
Query Reference for MUTATION: publishableUnpublish
"mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n # Publishable fields\n }\n shop {\n # Shop fields\n }\n userErrors {\n field\n message\n }\n }\n}"
Input Reference for MUTATION: publishableUnpublish
"{\n \"id\": \"gid://shopify/<objectName>/10079785100\",\n \"input\": [\n {\n \"publicationId\": \"gid://shopify/<objectName>/10079785100\",\n \"publishDate\": \"2019-09-07T15:50:00Z\"\n }\n ]\n}"
Schema Reference for MUTATION: publishableUnpublish
"input PublicationInput {\n channelId: ID\n publicationId: ID\n publishDate: DateTime\n}\n"
Display Examples for MUTATION: publishableUnpublish
[ { "example": { "type_name": "publishableunpublish", "title": "Error response", "description": "Attempting to unpublish a product without providing either a channel ID or a publication ID returns an error.\n", "query_string": "mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n}", "variables": { "id": "gid://shopify/Product/108828309", "input": { "publishDate": "2024-09-11T21:10:38-04:00" } }, "response": { "data": { "publishableUnpublish": { "publishable": { "availablePublicationsCount": { "count": 4 }, "resourcePublicationsCount": { "count": 4 } }, "shop": { "publicationCount": 8 }, "userErrors": [ { "field": [ "input", "0", "publicationId" ], "message": "PublicationId cannot be empty" } ] } } }, "api_name": "admin", "minimum_api_version": "2024-04", "maximum_api_version": "unstable", "location": "/components/merchandising/test/unit/graph_api/admin/mutations/publishable_unpublish_test.rb", "curl_example": "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2024-10/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) { publishableUnpublish(id: $id, input: $input) { publishable { availablePublicationsCount { count } resourcePublicationsCount { count } } shop { publicationCount } userErrors { field message } } }\",\n \"variables\": {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"publishDate\": \"2024-09-11T21:10:38-04:00\"\n }\n }\n}'\n", "remix_example": "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }`,\n {\n variables: {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"publishDate\": \"2024-09-11T21:10:38-04:00\"\n }\n },\n },\n);\n\nconst data = await response.json();\n", "ruby_example": "session = ShopifyAPI::Auth::Session.new(\n shop: \"your-development-store.myshopify.com\",\n access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n session: session\n)\n\nquery = <<~QUERY\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY\n\nvariables = {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"publishDate\": \"2024-09-11T21:10:38-04:00\"\n }\n}\n\nresponse = client.query(query: query, variables: variables)\n", "node_example": "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }`,\n \"variables\": {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"publishDate\": \"2024-09-11T21:10:38-04:00\"\n }\n },\n },\n});\n", "php_example": "use Shopify\\Clients\\Graphql;\n\n$client = new Graphql(\"your-development-store.myshopify.com\", $accessToken);\n$query = <<<QUERY\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY;\n\n$variables = [\n \"id\" => \"gid://shopify/Product/108828309\",\n \"input\" => [\n \"publishDate\" => \"2024-09-11T21:10:38-04:00\",\n ],\n];\n\n$response = $client->query([\"query\" => $query, \"variables\" => $variables]);\n" }, "titleStringKey": "variables", "inputVariableEntries": [ { "arg": { "name": "id", "description": "The resource to delete or update publications for.", "type": { "kind": "SCALAR", "name": "ID", "list": false, "non_null": true }, "defaultValue": null, "typeSignature": "ID!", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "id", "argValue": " \"gid://shopify/Product/108828309\"", "typeKind": "MUTATION" }, { "arg": { "name": "input", "description": "Specifies the input fields required to unpublish a resource.", "type": { "kind": "INPUT_OBJECT", "name": "PublicationInput", "list": true, "non_null": true }, "defaultValue": null, "typeSignature": "[PublicationInput!]!", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "input", "argValue": " {\"publishDate\":\"2024-09-11T21:10:38-04:00\"}", "typeKind": "MUTATION" } ] }, { "example": { "type_name": "publishableunpublish", "title": "Unpublish a product from a channel", "query_string": "mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n}", "variables": { "id": "gid://shopify/Product/108828309", "input": { "channelId": "gid://shopify/Channel/762454635" } }, "response": { "data": { "publishableUnpublish": { "publishable": { "availablePublicationsCount": { "count": 3 }, "resourcePublicationsCount": { "count": 3 } }, "shop": { "publicationCount": 8 }, "userErrors": [] } } }, "api_name": "admin", "minimum_api_version": "2024-04", "maximum_api_version": "unstable", "location": "/components/merchandising/test/unit/graph_api/admin/mutations/publishable_unpublish_test.rb", "curl_example": "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2024-10/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) { publishableUnpublish(id: $id, input: $input) { publishable { availablePublicationsCount { count } resourcePublicationsCount { count } } shop { publicationCount } userErrors { field message } } }\",\n \"variables\": {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"channelId\": \"gid://shopify/Channel/762454635\"\n }\n }\n}'\n", "remix_example": "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }`,\n {\n variables: {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"channelId\": \"gid://shopify/Channel/762454635\"\n }\n },\n },\n);\n\nconst data = await response.json();\n", "ruby_example": "session = ShopifyAPI::Auth::Session.new(\n shop: \"your-development-store.myshopify.com\",\n access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n session: session\n)\n\nquery = <<~QUERY\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY\n\nvariables = {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"channelId\": \"gid://shopify/Channel/762454635\"\n }\n}\n\nresponse = client.query(query: query, variables: variables)\n", "node_example": "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }`,\n \"variables\": {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"channelId\": \"gid://shopify/Channel/762454635\"\n }\n },\n },\n});\n", "php_example": "use Shopify\\Clients\\Graphql;\n\n$client = new Graphql(\"your-development-store.myshopify.com\", $accessToken);\n$query = <<<QUERY\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY;\n\n$variables = [\n \"id\" => \"gid://shopify/Product/108828309\",\n \"input\" => [\n \"channelId\" => \"gid://shopify/Channel/762454635\",\n ],\n];\n\n$response = $client->query([\"query\" => $query, \"variables\" => $variables]);\n" }, "titleStringKey": "variables", "inputVariableEntries": [ { "arg": { "name": "id", "description": "The resource to delete or update publications for.", "type": { "kind": "SCALAR", "name": "ID", "list": false, "non_null": true }, "defaultValue": null, "typeSignature": "ID!", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "id", "argValue": " \"gid://shopify/Product/108828309\"", "typeKind": "MUTATION" }, { "arg": { "name": "input", "description": "Specifies the input fields required to unpublish a resource.", "type": { "kind": "INPUT_OBJECT", "name": "PublicationInput", "list": true, "non_null": true }, "defaultValue": null, "typeSignature": "[PublicationInput!]!", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "input", "argValue": " {\"channelId\":\"gid://shopify/Channel/762454635\"}", "typeKind": "MUTATION" } ] }, { "example": { "type_name": "publishableunpublish", "title": "Unpublish a product from a non-existing channel", "query_string": "mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n}", "variables": { "id": "gid://shopify/Product/108828309", "input": { "channelId": "gid://shopify/Channel/0" } }, "response": { "data": { "publishableUnpublish": { "publishable": { "availablePublicationsCount": { "count": 4 }, "resourcePublicationsCount": { "count": 4 } }, "shop": { "publicationCount": 8 }, "userErrors": [ { "field": [ "input", "0", "publicationId" ], "message": "Channel does not exist or is not publishable" } ] } } }, "api_name": "admin", "minimum_api_version": "2024-04", "maximum_api_version": "unstable", "location": "/components/merchandising/test/unit/graph_api/admin/mutations/publishable_unpublish_test.rb", "curl_example": "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2024-10/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) { publishableUnpublish(id: $id, input: $input) { publishable { availablePublicationsCount { count } resourcePublicationsCount { count } } shop { publicationCount } userErrors { field message } } }\",\n \"variables\": {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"channelId\": \"gid://shopify/Channel/0\"\n }\n }\n}'\n", "remix_example": "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }`,\n {\n variables: {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"channelId\": \"gid://shopify/Channel/0\"\n }\n },\n },\n);\n\nconst data = await response.json();\n", "ruby_example": "session = ShopifyAPI::Auth::Session.new(\n shop: \"your-development-store.myshopify.com\",\n access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n session: session\n)\n\nquery = <<~QUERY\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY\n\nvariables = {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"channelId\": \"gid://shopify/Channel/0\"\n }\n}\n\nresponse = client.query(query: query, variables: variables)\n", "node_example": "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }`,\n \"variables\": {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"channelId\": \"gid://shopify/Channel/0\"\n }\n },\n },\n});\n", "php_example": "use Shopify\\Clients\\Graphql;\n\n$client = new Graphql(\"your-development-store.myshopify.com\", $accessToken);\n$query = <<<QUERY\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY;\n\n$variables = [\n \"id\" => \"gid://shopify/Product/108828309\",\n \"input\" => [\n \"channelId\" => \"gid://shopify/Channel/0\",\n ],\n];\n\n$response = $client->query([\"query\" => $query, \"variables\" => $variables]);\n" }, "titleStringKey": "variables", "inputVariableEntries": [ { "arg": { "name": "id", "description": "The resource to delete or update publications for.", "type": { "kind": "SCALAR", "name": "ID", "list": false, "non_null": true }, "defaultValue": null, "typeSignature": "ID!", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "id", "argValue": " \"gid://shopify/Product/108828309\"", "typeKind": "MUTATION" }, { "arg": { "name": "input", "description": "Specifies the input fields required to unpublish a resource.", "type": { "kind": "INPUT_OBJECT", "name": "PublicationInput", "list": true, "non_null": true }, "defaultValue": null, "typeSignature": "[PublicationInput!]!", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "input", "argValue": " {\"channelId\":\"gid://shopify/Channel/0\"}", "typeKind": "MUTATION" } ] }, { "example": { "type_name": "publishableunpublish", "title": "Unpublish a product from a non-existing publication", "query_string": "mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n}", "variables": { "id": "gid://shopify/Product/108828309", "input": { "publicationId": "gid://shopify/Publication/0" } }, "response": { "data": { "publishableUnpublish": { "publishable": { "availablePublicationsCount": { "count": 4 }, "resourcePublicationsCount": { "count": 4 } }, "shop": { "publicationCount": 8 }, "userErrors": [ { "field": [ "input", "0", "publicationId" ], "message": "Publication does not exist or is not publishable" } ] } } }, "api_name": "admin", "minimum_api_version": "2024-04", "maximum_api_version": "unstable", "location": "/components/merchandising/test/unit/graph_api/admin/mutations/publishable_unpublish_test.rb", "curl_example": "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2024-10/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) { publishableUnpublish(id: $id, input: $input) { publishable { availablePublicationsCount { count } resourcePublicationsCount { count } } shop { publicationCount } userErrors { field message } } }\",\n \"variables\": {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"publicationId\": \"gid://shopify/Publication/0\"\n }\n }\n}'\n", "remix_example": "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }`,\n {\n variables: {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"publicationId\": \"gid://shopify/Publication/0\"\n }\n },\n },\n);\n\nconst data = await response.json();\n", "ruby_example": "session = ShopifyAPI::Auth::Session.new(\n shop: \"your-development-store.myshopify.com\",\n access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n session: session\n)\n\nquery = <<~QUERY\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY\n\nvariables = {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"publicationId\": \"gid://shopify/Publication/0\"\n }\n}\n\nresponse = client.query(query: query, variables: variables)\n", "node_example": "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }`,\n \"variables\": {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"publicationId\": \"gid://shopify/Publication/0\"\n }\n },\n },\n});\n", "php_example": "use Shopify\\Clients\\Graphql;\n\n$client = new Graphql(\"your-development-store.myshopify.com\", $accessToken);\n$query = <<<QUERY\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY;\n\n$variables = [\n \"id\" => \"gid://shopify/Product/108828309\",\n \"input\" => [\n \"publicationId\" => \"gid://shopify/Publication/0\",\n ],\n];\n\n$response = $client->query([\"query\" => $query, \"variables\" => $variables]);\n" }, "titleStringKey": "variables", "inputVariableEntries": [ { "arg": { "name": "id", "description": "The resource to delete or update publications for.", "type": { "kind": "SCALAR", "name": "ID", "list": false, "non_null": true }, "defaultValue": null, "typeSignature": "ID!", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "id", "argValue": " \"gid://shopify/Product/108828309\"", "typeKind": "MUTATION" }, { "arg": { "name": "input", "description": "Specifies the input fields required to unpublish a resource.", "type": { "kind": "INPUT_OBJECT", "name": "PublicationInput", "list": true, "non_null": true }, "defaultValue": null, "typeSignature": "[PublicationInput!]!", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "input", "argValue": " {\"publicationId\":\"gid://shopify/Publication/0\"}", "typeKind": "MUTATION" } ] }, { "example": { "type_name": "publishableunpublish", "title": "Unpublish a product from a publication", "query_string": "mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n}", "variables": { "id": "gid://shopify/Product/108828309", "input": { "publicationId": "gid://shopify/Publication/762454635" } }, "response": { "data": { "publishableUnpublish": { "publishable": { "availablePublicationsCount": { "count": 3 }, "resourcePublicationsCount": { "count": 3 } }, "shop": { "publicationCount": 8 }, "userErrors": [] } } }, "api_name": "admin", "minimum_api_version": "2024-04", "maximum_api_version": "unstable", "location": "/components/merchandising/test/unit/graph_api/admin/mutations/publishable_unpublish_test.rb", "curl_example": "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2024-10/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) { publishableUnpublish(id: $id, input: $input) { publishable { availablePublicationsCount { count } resourcePublicationsCount { count } } shop { publicationCount } userErrors { field message } } }\",\n \"variables\": {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"publicationId\": \"gid://shopify/Publication/762454635\"\n }\n }\n}'\n", "remix_example": "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }`,\n {\n variables: {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"publicationId\": \"gid://shopify/Publication/762454635\"\n }\n },\n },\n);\n\nconst data = await response.json();\n", "ruby_example": "session = ShopifyAPI::Auth::Session.new(\n shop: \"your-development-store.myshopify.com\",\n access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n session: session\n)\n\nquery = <<~QUERY\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY\n\nvariables = {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"publicationId\": \"gid://shopify/Publication/762454635\"\n }\n}\n\nresponse = client.query(query: query, variables: variables)\n", "node_example": "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }`,\n \"variables\": {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"publicationId\": \"gid://shopify/Publication/762454635\"\n }\n },\n },\n});\n", "php_example": "use Shopify\\Clients\\Graphql;\n\n$client = new Graphql(\"your-development-store.myshopify.com\", $accessToken);\n$query = <<<QUERY\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY;\n\n$variables = [\n \"id\" => \"gid://shopify/Product/108828309\",\n \"input\" => [\n \"publicationId\" => \"gid://shopify/Publication/762454635\",\n ],\n];\n\n$response = $client->query([\"query\" => $query, \"variables\" => $variables]);\n" }, "titleStringKey": "variables", "inputVariableEntries": [ { "arg": { "name": "id", "description": "The resource to delete or update publications for.", "type": { "kind": "SCALAR", "name": "ID", "list": false, "non_null": true }, "defaultValue": null, "typeSignature": "ID!", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "id", "argValue": " \"gid://shopify/Product/108828309\"", "typeKind": "MUTATION" }, { "arg": { "name": "input", "description": "Specifies the input fields required to unpublish a resource.", "type": { "kind": "INPUT_OBJECT", "name": "PublicationInput", "list": true, "non_null": true }, "defaultValue": null, "typeSignature": "[PublicationInput!]!", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "input", "argValue": " {\"publicationId\":\"gid://shopify/Publication/762454635\"}", "typeKind": "MUTATION" } ] }, { "example": { "type_name": "publishableunpublish", "title": "Unpublish a product using both a channel ID and publication ID", "description": "If you provide a channel ID and publication ID, then only the publication ID is used.\n", "query_string": "mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n}", "variables": { "id": "gid://shopify/Product/108828309", "input": { "channelId": "gid://shopify/Channel/762454635", "publicationId": "gid://shopify/Publication/762454635" } }, "response": { "data": { "publishableUnpublish": { "publishable": { "availablePublicationsCount": { "count": 3 }, "resourcePublicationsCount": { "count": 3 } }, "shop": { "publicationCount": 8 }, "userErrors": [] } } }, "api_name": "admin", "minimum_api_version": "2024-04", "maximum_api_version": "unstable", "location": "/components/merchandising/test/unit/graph_api/admin/mutations/publishable_unpublish_test.rb", "curl_example": "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2024-10/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) { publishableUnpublish(id: $id, input: $input) { publishable { availablePublicationsCount { count } resourcePublicationsCount { count } } shop { publicationCount } userErrors { field message } } }\",\n \"variables\": {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"channelId\": \"gid://shopify/Channel/762454635\",\n \"publicationId\": \"gid://shopify/Publication/762454635\"\n }\n }\n}'\n", "remix_example": "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }`,\n {\n variables: {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"channelId\": \"gid://shopify/Channel/762454635\",\n \"publicationId\": \"gid://shopify/Publication/762454635\"\n }\n },\n },\n);\n\nconst data = await response.json();\n", "ruby_example": "session = ShopifyAPI::Auth::Session.new(\n shop: \"your-development-store.myshopify.com\",\n access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n session: session\n)\n\nquery = <<~QUERY\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY\n\nvariables = {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"channelId\": \"gid://shopify/Channel/762454635\",\n \"publicationId\": \"gid://shopify/Publication/762454635\"\n }\n}\n\nresponse = client.query(query: query, variables: variables)\n", "node_example": "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }`,\n \"variables\": {\n \"id\": \"gid://shopify/Product/108828309\",\n \"input\": {\n \"channelId\": \"gid://shopify/Channel/762454635\",\n \"publicationId\": \"gid://shopify/Publication/762454635\"\n }\n },\n },\n});\n", "php_example": "use Shopify\\Clients\\Graphql;\n\n$client = new Graphql(\"your-development-store.myshopify.com\", $accessToken);\n$query = <<<QUERY\n mutation publishableUnpublish($id: ID!, $input: [PublicationInput!]!) {\n publishableUnpublish(id: $id, input: $input) {\n publishable {\n availablePublicationsCount {\n count\n }\n resourcePublicationsCount {\n count\n }\n }\n shop {\n publicationCount\n }\n userErrors {\n field\n message\n }\n }\n }\nQUERY;\n\n$variables = [\n \"id\" => \"gid://shopify/Product/108828309\",\n \"input\" => [\n \"channelId\" => \"gid://shopify/Channel/762454635\",\n \"publicationId\" => \"gid://shopify/Publication/762454635\",\n ],\n];\n\n$response = $client->query([\"query\" => $query, \"variables\" => $variables]);\n" }, "titleStringKey": "variables", "inputVariableEntries": [ { "arg": { "name": "id", "description": "The resource to delete or update publications for.", "type": { "kind": "SCALAR", "name": "ID", "list": false, "non_null": true }, "defaultValue": null, "typeSignature": "ID!", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "id", "argValue": " \"gid://shopify/Product/108828309\"", "typeKind": "MUTATION" }, { "arg": { "name": "input", "description": "Specifies the input fields required to unpublish a resource.", "type": { "kind": "INPUT_OBJECT", "name": "PublicationInput", "list": true, "non_null": true }, "defaultValue": null, "typeSignature": "[PublicationInput!]!", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "input", "argValue": " {\"channelId\":\"gid://shopify/Channel/762454635\",\"publicationId\":\"gid://shopify/Publication/762454635\"}", "typeKind": "MUTATION" } ] } ]