Version: 2024-10
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/2024-10/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query GetScriptTag($id: ID!) { scriptTag(id: $id) { id cache createdAt displayScope src updatedAt } }\",\n \"variables\": {\n \"id\": \"gid://shopify/ScriptTag/466217408\"\n }\n}'\n" Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n data: {\n \"query\": `query GetScriptTag($id: ID!) {\n scriptTag(id: $id) {\n id\n cache\n createdAt\n displayScope\n src\n updatedAt\n }\n }`,\n \"variables\": {\n \"id\": \"gid://shopify/ScriptTag/466217408\"\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 query GetScriptTag($id: ID!) {\n scriptTag(id: $id) {\n id\n cache\n createdAt\n displayScope\n src\n updatedAt\n }\n }\nQUERY\n\nvariables = {\n \"id\": \"gid://shopify/ScriptTag/466217408\"\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/466217408\",\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 query GetScriptTag($id: ID!) {\n scriptTag(id: $id) {\n id\n cache\n createdAt\n displayScope\n src\n updatedAt\n }\n }`,\n {\n variables: {\n \"id\": \"gid://shopify/ScriptTag/466217408\"\n },\n },\n);\n\nconst data = await response.json();\n" Graphql query: "query GetScriptTag($id: ID!) {\n scriptTag(id: $id) {\n id\n cache\n createdAt\n displayScope\n src\n updatedAt\n }\n}"
input: { "id": "gid://shopify/ScriptTag/466217408" }
response: { "data": { "scriptTag": { "id": "gid://shopify/ScriptTag/466217408", "cache": false, "createdAt": "2024-10-29T22:38:08Z", "displayScope": "ALL", "src": "https://js.example.org/foo.js", "updatedAt": "2024-10-29T22:38:08Z" } } }