shopify_update_menu
Update a Shopify storefront navigation menu by replacing its title, handle, and complete item tree, after verifying the current menu matches an approved digest.
Instructions
Replace a storefront navigation menu's title, handle, and full item tree. This is a whole-menu replacement — read the menu first with shopify.get_menu, approve its exact semantic preimage, and send back every item you want to keep. The connector re-reads the preimage immediately before dispatch and independently compares the complete result. Requires the online-store-navigation scopes; a connection without them returns SHOPIFY_NAVIGATION_SCOPE_REQUIRED (offer a Shopify reconnect).
Args:
menu_id (required): Menu ID to update (numeric or GID).
title (required): Menu title (send the existing title to keep it).
handle (required): Menu handle (send the existing handle to keep it).
items (required): JSON-string list of the menu's complete item tree: [{title, type?, url?, resource_id?, items?}]. Items omitted here are removed from the menu.
expected_preimage_sha256 (required): Exact governed get_menu semantic-tree digest approved for replacement. A changed digest fails before provider dispatch.
project_id: Authenticated Project UUID.
project_ref: Exact project correlation reference.
connector_account_ref: Project-bound connector account alias.
idempotency_key: Stable business-action identity.
effect: Claimed read or write effect; Spring verifies it.
approval_ref: Approved platform task UUID when resuming a write.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | No | ||
| title | No | ||
| effect | No | ||
| handle | No | ||
| menu_id | No | ||
| project_id | No | ||
| project_ref | No | ||
| approval_ref | No | ||
| idempotency_key | No | ||
| connector_account_ref | No | ||
| expected_preimage_sha256 | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |