mutation productVariantsBulkUpdate($productId: ID!, $variants: [ProductVariantsBulkInput!]!) {
productVariantsBulkUpdate(productId: $productId, variants: $variants) {
product {
id
}
productVariants {
id
metafields(first: 2) {
edges {
node {
namespace
key
value
}
}
}
}
userErrors {
field
message
}
}
}
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2025-04/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "mutation productVariantsBulkUpdate($productId: ID!, $variants: [ProductVariantsBulkInput!]!) { productVariantsBulkUpdate(productId: $productId, variants: $variants) { product { id } productVariants { id metafields(first: 2) { edges { node { namespace key value } } } } userErrors { field message } } }",
"variables": {
"productId": "gid://shopify/Product/20995642",
"variants": [
{
"id": "gid://shopify/ProductVariant/1070325197",
"metafields": [
{
"id": "gid://shopify/Metafield/1069229095",
"value": "SYNTHETIC LEATHER"
},
{
"namespace": "my_fields",
"key": "sole_material",
"value": "RUBBER",
"type": "single_line_text_field"
}
]
},
{
"id": "gid://shopify/ProductVariant/1070325198",
"metafields": [
{
"id": "gid://shopify/Metafield/1069229096",
"value": "SYNTHETIC LEATHER"
},
{
"namespace": "my_fields",
"key": "sole_material",
"value": "CREPE",
"type": "single_line_text_field"
}
]
}
]
}
}'
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
mutation productVariantsBulkUpdate($productId: ID!, $variants: [ProductVariantsBulkInput!]!) {
productVariantsBulkUpdate(productId: $productId, variants: $variants) {
product {
id
}
productVariants {
id
metafields(first: 2) {
edges {
node {
namespace
key
value
}
}
}
}
userErrors {
field
message
}
}
}`,
{
variables: {
"productId": "gid://shopify/Product/20995642",
"variants": [
{
"id": "gid://shopify/ProductVariant/1070325197",
"metafields": [
{
"id": "gid://shopify/Metafield/1069229095",
"value": "SYNTHETIC LEATHER"
},
{
"namespace": "my_fields",
"key": "sole_material",
"value": "RUBBER",
"type": "single_line_text_field"
}
]
},
{
"id": "gid://shopify/ProductVariant/1070325198",
"metafields": [
{
"id": "gid://shopify/Metafield/1069229096",
"value": "SYNTHETIC LEATHER"
},
{
"namespace": "my_fields",
"key": "sole_material",
"value": "CREPE",
"type": "single_line_text_field"
}
]
}
]
},
},
);
const data = await response.json();
const client = new shopify.clients.Graphql({session});
const data = await client.query({
data: {
"query": `mutation productVariantsBulkUpdate($productId: ID!, $variants: [ProductVariantsBulkInput!]!) {
productVariantsBulkUpdate(productId: $productId, variants: $variants) {
product {
id
}
productVariants {
id
metafields(first: 2) {
edges {
node {
namespace
key
value
}
}
}
}
userErrors {
field
message
}
}
}`,
"variables": {
"productId": "gid://shopify/Product/20995642",
"variants": [
{
"id": "gid://shopify/ProductVariant/1070325197",
"metafields": [
{
"id": "gid://shopify/Metafield/1069229095",
"value": "SYNTHETIC LEATHER"
},
{
"namespace": "my_fields",
"key": "sole_material",
"value": "RUBBER",
"type": "single_line_text_field"
}
]
},
{
"id": "gid://shopify/ProductVariant/1070325198",
"metafields": [
{
"id": "gid://shopify/Metafield/1069229096",
"value": "SYNTHETIC LEATHER"
},
{
"namespace": "my_fields",
"key": "sole_material",
"value": "CREPE",
"type": "single_line_text_field"
}
]
}
]
},
},
});
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 productVariantsBulkUpdate($productId: ID!, $variants: [ProductVariantsBulkInput!]!) {
productVariantsBulkUpdate(productId: $productId, variants: $variants) {
product {
id
}
productVariants {
id
metafields(first: 2) {
edges {
node {
namespace
key
value
}
}
}
}
userErrors {
field
message
}
}
}
QUERY
variables = {
"productId": "gid://shopify/Product/20995642",
"variants": [{"id"=>"gid://shopify/ProductVariant/1070325197", "metafields"=>[{"id"=>"gid://shopify/Metafield/1069229095", "value"=>"SYNTHETIC LEATHER"}, {"namespace"=>"my_fields", "key"=>"sole_material", "value"=>"RUBBER", "type"=>"single_line_text_field"}]}, {"id"=>"gid://shopify/ProductVariant/1070325198", "metafields"=>[{"id"=>"gid://shopify/Metafield/1069229096", "value"=>"SYNTHETIC LEATHER"}, {"namespace"=>"my_fields", "key"=>"sole_material", "value"=>"CREPE", "type"=>"single_line_text_field"}]}]
}
response = client.query(query: query, variables: variables)