Anchor to productUpdateMediaproduct
productUpdateMedia
mutationDeprecated
Requires access scope. Also: The user must have a permission to update media for a product.
Updates media for a product. Use instead.
Anchor to Arguments
Arguments
- Anchor to mediamedia•[Update
Media requiredInput!]! A list of media updates.
- Anchor to productIdproduct•
Id ID!required Specifies the product on which media will be updated.
Was this section helpful?
Anchor to ProductUpdateMediaPayload returnsProductUpdateMediaPayload returns
- Anchor to mediamedia•
The updated media object.
- Anchor to mediaUserErrorsmedia•
User Errors [MediaUser non-nullError!]! The list of errors that occurred from executing the mutation.
- Anchor to productproduct•
The product on which media was updated.
- Anchor to userErrorsuser•
Errors The list of errors that occurred from executing the mutation.
Was this section helpful?
Examples
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
mutation ProductImageUpdate($id: ID!) {
productUpdateMedia(productId: $id, media: [{id: "gid://shopify/MediaImage/853695510", alt: "Updated alt text."}]) {
media {
id
alt
status
... on MediaImage {
image {
url
}
}
}
mediaUserErrors {
field
message
}
}
}`,
{
variables: {
"id": "gid://shopify/Product/108828309"
},
},
);
const data = await response.json();
mutation ProductImageUpdate($id: ID!) {
productUpdateMedia(productId: $id, media: [{id: "gid://shopify/MediaImage/853695510", alt: "Updated alt text."}]) {
media {
id
alt
status
... on MediaImage {
image {
url
}
}
}
mediaUserErrors {
field
message
}
}
}
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "mutation ProductImageUpdate($id: ID!) { productUpdateMedia(productId: $id, media: [{id: \"gid://shopify/MediaImage/853695510\", alt: \"Updated alt text.\"}]) { media { id alt status ... on MediaImage { image { url } } } mediaUserErrors { field message } } }",
"variables": {
"id": "gid://shopify/Product/108828309"
}
}'
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
mutation ProductImageUpdate($id: ID!) {
productUpdateMedia(productId: $id, media: [{id: "gid://shopify/MediaImage/853695510", alt: "Updated alt text."}]) {
media {
id
alt
status
... on MediaImage {
image {
url
}
}
}
mediaUserErrors {
field
message
}
}
}`,
{
variables: {
"id": "gid://shopify/Product/108828309"
},
},
);
const data = await response.json();
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 ProductImageUpdate($id: ID!) {
productUpdateMedia(productId: $id, media: [{id: "gid://shopify/MediaImage/853695510", alt: "Updated alt text."}]) {
media {
id
alt
status
... on MediaImage {
image {
url
}
}
}
mediaUserErrors {
field
message
}
}
}
QUERY
variables = {
"id": "gid://shopify/Product/108828309"
}
response = client.query(query: query, variables: variables)
const client = new shopify.clients.Graphql({session});
const data = await client.query({
data: {
"query": `mutation ProductImageUpdate($id: ID!) {
productUpdateMedia(productId: $id, media: [{id: "gid://shopify/MediaImage/853695510", alt: "Updated alt text."}]) {
media {
id
alt
status
... on MediaImage {
image {
url
}
}
}
mediaUserErrors {
field
message
}
}
}`,
"variables": {
"id": "gid://shopify/Product/108828309"
},
},
});
Input variables
JSON{
"id": "gid://shopify/Product/108828309"
}
Response
JSON{
"productUpdateMedia": {
"media": [
{
"id": "gid://shopify/MediaImage/853695510",
"alt": "Updated alt text.",
"status": "READY",
"image": {
"url": "https://cdn.shopify.com/s/files/1/2637/1970/products/draft58.jpg?v=1730761095"
}
}
],
"mediaUserErrors": []
}
}