Graphql Admin API version 2025-10. Using Shopify GraphiQL App to run the following GraphQL mutation with the described variables:
mutation UpdateMenu($id: ID!, $title: String!, $handle: String!, $items: [MenuItemUpdateInput!]!) {
menuUpdate(id: $id, title: $title, handle: $handle, items: $items) {
menu {
id
handle
items {
id
title
items {
id
title
}
}
}
userErrors {
message
code
field
}
}
}
{
"id": "gid://shopify/Menu/12345678",
"title": "Main menu",
"handle": "main-menu",
"items": [
{
"id": "gid://shopify/MenuItem/12345678",
"title": "Home",
"type": "FRONTPAGE",
"items": []
},
{
"id": "gid://shopify/MenuItem/12345678",
"title": "Catalog",
"type": "CATALOG",
"items": []
},
{
"id": "gid://shopify/MenuItem/12345678",
"title": "Sitemap",
"type": "HTTP",
"items": []
}
]
}
Response:
{
"data": {
"menuUpdate": {
"menu": null,
"userErrors": [
{
"message": "Subject can't be blank",
"code": null,
"field": null
}
]
}
},
"extensions": {
"cost": {
"requestedQueryCost": 12,
"actualQueryCost": 10,
"throttleStatus": {
"maximumAvailable": 2000,
"currentlyAvailable": 1990,
"restoreRate": 100
}
}
}
}
According to the Shopify admin graphql api, there is no field called subject in menuUpdate mutation
Thanks in advance.