discount Automatic Bulk Deletemutation
Requires Apps must have write
access scope.
Asynchronously delete automatic discounts in bulk if a search
or saved
argument is provided or if a
maximum discount threshold is reached (1,000). Otherwise, deletions will occur inline.
Warning: All automatic discounts will be deleted if a blank search
argument is provided.
Arguments
The IDs of the automatic discounts to delete.
Anchor to savedSearchIdsavedSearchIdThe ID of the saved search to use for filtering automatic discounts to delete.
Anchor to searchsearchThe search query for filtering automatic discounts to delete.
For more information on the list of supported fields and search syntax, refer to the AutomaticDiscountNodes query section.
DiscountAutomaticBulkDeletePayload returns
The asynchronous job removing the automatic discounts.
The list of errors that occurred from executing the mutation.
Code examples for MUTATION: discountAutomaticBulkDelete
Query Reference for MUTATION: discountAutomaticBulkDelete
"mutation discountAutomaticBulkDelete {\n discountAutomaticBulkDelete {\n job {\n # Job fields\n }\n userErrors {\n field\n message\n }\n }\n}"
Input Reference for MUTATION: discountAutomaticBulkDelete
"{\n \"ids\": [\n \"gid://shopify/<objectName>/10079785100\"\n ],\n \"savedSearchId\": \"gid://shopify/<objectName>/10079785100\",\n \"search\": \"<your-search>\"\n}"
Schema Reference for MUTATION: discountAutomaticBulkDelete
""
Display Examples for MUTATION: discountAutomaticBulkDelete
[ { "example": { "type_name": "discountautomaticbulkdelete", "title": "Asynchronously delete automatic discounts in bulk using a search filter", "description": "Asynchronously delete all expired automatic discounts that are type `percentage`.", "query_string": "mutation discountAutomaticBulkDelete($search: String) {\n discountAutomaticBulkDelete(search: $search) {\n job {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n}", "variables": { "search": "type:percentage status:expired" }, "response": { "data": { "discountAutomaticBulkDelete": { "job": { "id": "gid://shopify/Job/11a6c2db-7d58-4a77-ac7b-7128dd68b8aa" }, "userErrors": [] } } }, "api_name": "admin", "minimum_api_version": "2023-10", "maximum_api_version": "unstable", "location": "/components/pricing/test/unit/graph_api/admin/mutations/discount_automatic_bulk_delete_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 discountAutomaticBulkDelete($search: String) { discountAutomaticBulkDelete(search: $search) { job { id } userErrors { code field message } } }\",\n \"variables\": {\n \"search\": \"type:percentage status:expired\"\n }\n}'\n", "remix_example": "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n mutation discountAutomaticBulkDelete($search: String) {\n discountAutomaticBulkDelete(search: $search) {\n job {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }`,\n {\n variables: {\n \"search\": \"type:percentage status:expired\"\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 discountAutomaticBulkDelete($search: String) {\n discountAutomaticBulkDelete(search: $search) {\n job {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }\nQUERY\n\nvariables = {\n \"search\": \"type:percentage status:expired\"\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 discountAutomaticBulkDelete($search: String) {\n discountAutomaticBulkDelete(search: $search) {\n job {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }`,\n \"variables\": {\n \"search\": \"type:percentage status:expired\"\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 discountAutomaticBulkDelete($search: String) {\n discountAutomaticBulkDelete(search: $search) {\n job {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }\nQUERY;\n\n$variables = [\n \"search\" => \"type:percentage status:expired\",\n];\n\n$response = $client->query([\"query\" => $query, \"variables\" => $variables]);\n" }, "titleStringKey": "variables", "inputVariableEntries": [ { "arg": { "name": "search", "description": "The search query for filtering automatic discounts to delete.\n\nFor more information on the list of supported fields and search syntax, refer to the [AutomaticDiscountNodes query section](https://shopify.dev/api/admin-graphql/latest/queries/automaticDiscountNodes#argument-automaticdiscountnodes-query).", "type": { "kind": "SCALAR", "name": "String", "list": false, "non_null": false }, "defaultValue": null, "typeSignature": "String", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "search", "argValue": " \"type:percentage status:expired\"", "typeKind": "MUTATION" } ] }, { "example": { "type_name": "discountautomaticbulkdelete", "title": "Using more than one targeting argument returns an error", "description": "Trying to use both `search` and `ids` arguments returns an error", "query_string": "mutation discountAutomaticBulkDelete($search: String, $ids: [ID!]) {\n discountAutomaticBulkDelete(search: $search, ids: $ids) {\n job {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n}", "variables": { "ids": [ "gid://shopify/DiscountAutomaticNode/1" ], "search": "type:bxgy" }, "response": { "data": { "discountAutomaticBulkDelete": { "job": null, "userErrors": [ { "code": "TOO_MANY_ARGUMENTS", "field": null, "message": "Only one of IDs, search argument or saved search ID is allowed." } ] } } }, "api_name": "admin", "minimum_api_version": "2023-10", "maximum_api_version": "unstable", "location": "/components/pricing/test/unit/graph_api/admin/mutations/discount_automatic_bulk_delete_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 discountAutomaticBulkDelete($search: String, $ids: [ID!]) { discountAutomaticBulkDelete(search: $search, ids: $ids) { job { id } userErrors { code field message } } }\",\n \"variables\": {\n \"ids\": [\n \"gid://shopify/DiscountAutomaticNode/1\"\n ],\n \"search\": \"type:bxgy\"\n }\n}'\n", "remix_example": "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n mutation discountAutomaticBulkDelete($search: String, $ids: [ID!]) {\n discountAutomaticBulkDelete(search: $search, ids: $ids) {\n job {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }`,\n {\n variables: {\n \"ids\": [\n \"gid://shopify/DiscountAutomaticNode/1\"\n ],\n \"search\": \"type:bxgy\"\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 discountAutomaticBulkDelete($search: String, $ids: [ID!]) {\n discountAutomaticBulkDelete(search: $search, ids: $ids) {\n job {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }\nQUERY\n\nvariables = {\n \"ids\": [\"gid://shopify/DiscountAutomaticNode/1\"],\n \"search\": \"type:bxgy\"\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 discountAutomaticBulkDelete($search: String, $ids: [ID!]) {\n discountAutomaticBulkDelete(search: $search, ids: $ids) {\n job {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }`,\n \"variables\": {\n \"ids\": [\n \"gid://shopify/DiscountAutomaticNode/1\"\n ],\n \"search\": \"type:bxgy\"\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 discountAutomaticBulkDelete($search: String, $ids: [ID!]) {\n discountAutomaticBulkDelete(search: $search, ids: $ids) {\n job {\n id\n }\n userErrors {\n code\n field\n message\n }\n }\n }\nQUERY;\n\n$variables = [\n \"ids\" => [\"gid://shopify/DiscountAutomaticNode/1\"],\n \"search\" => \"type:bxgy\",\n];\n\n$response = $client->query([\"query\" => $query, \"variables\" => $variables]);\n" }, "titleStringKey": "variables", "inputVariableEntries": [ { "arg": { "name": "ids", "description": "The IDs of the automatic discounts to delete.", "type": { "kind": "SCALAR", "name": "ID", "list": true, "non_null": false }, "defaultValue": null, "typeSignature": "[ID!]", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "ids", "argValue": " [\"gid://shopify/DiscountAutomaticNode/1\"]", "typeKind": "MUTATION" }, { "arg": { "name": "search", "description": "The search query for filtering automatic discounts to delete.\n\nFor more information on the list of supported fields and search syntax, refer to the [AutomaticDiscountNodes query section](https://shopify.dev/api/admin-graphql/latest/queries/automaticDiscountNodes#argument-automaticdiscountnodes-query).", "type": { "kind": "SCALAR", "name": "String", "list": false, "non_null": false }, "defaultValue": null, "typeSignature": "String", "isDeprecated": false, "deprecationReason": null, "kind": "ARGUMENT" }, "key": "search", "argValue": " \"type:bxgy\"", "typeKind": "MUTATION" } ] } ]