Version: unstable
Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.
Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/unstable/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"mutation ScriptTagDelete($id: ID!) { scriptTagDelete(id: $id) { deletedScriptTagId userErrors { field message } } }\",\n \"variables\": {\n \"id\": \"gid://shopify/ScriptTag/421379493\"\n }\n}'\n" Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `mutation ScriptTagDelete($id: ID!) {\n scriptTagDelete(id: $id) {\n deletedScriptTagId\n userErrors {\n field\n message\n }\n }\n }`,\n \"variables\": {\n \"id\": \"gid://shopify/ScriptTag/421379493\"\n },\n },\n});\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 ScriptTagDelete($id: ID!) {\n scriptTagDelete(id: $id) {\n deletedScriptTagId\n userErrors {\n field\n message\n }\n }\n }\nQUERY\n\nvariables = {\n \"id\": \"gid://shopify/ScriptTag/421379493\"\n}\n\nresponse = client.query(query: query, variables: variables)\n" PHP example: "use Shopify\\Clients\\Graphql;\n\n$client = new Graphql(\"your-development-store.myshopify.com\", $accessToken);\n$query = <<\"gid://shopify/ScriptTag/421379493\",\n];\n\n$response = $client->query([\"query\" => $query, \"variables\" => $variables]);\n" Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n `#graphql\n mutation ScriptTagDelete($id: ID!) {\n scriptTagDelete(id: $id) {\n deletedScriptTagId\n userErrors {\n field\n message\n }\n }\n }`,\n {\n variables: {\n \"id\": \"gid://shopify/ScriptTag/421379493\"\n },\n },\n);\n\nconst data = await response.json();\n" Graphql query: "mutation ScriptTagDelete($id: ID!) {\n scriptTagDelete(id: $id) {\n deletedScriptTagId\n userErrors {\n field\n message\n }\n }\n}"
input: { "id": "gid://shopify/ScriptTag/421379493" }
response: { "data": { "scriptTagDelete": { "deletedScriptTagId": "gid://shopify/ScriptTag/421379493", "userErrors": [] } } }