Skip to main content
Glama

Update a promotion

update_promotion
Destructive

Modify an existing promotion's configuration, including status, limits, and eligibility, while preserving omitted fields.

Instructions

Rate limit: 100 requests / 10 seconds per shop. See Rate limiting.

Updates an existing promotion's configuration. Only provided fields are updated; omitted fields remain unchanged. Status changes (activate/deactivate) are part of the same update call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitsNo
statusNo
accountNoExact private shop profile label; not a provider identity or authorization proof.
confirmNoExplicit approval for this exact provider effect or local private-file operation.
payloadNoComplete current native JSON body; cannot mix with native body flags or payload_file.
appliesToNo
payload_fileNoAbsolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
promotion_idYesNative promotionId
requirementsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real context beyond the annotations: an explicit rate limit (100 requests / 10 seconds per shop) and merge/patch semantics for omitted fields. Annotations already declare destructive=true, idempotent=false, openWorld=true, so the safety profile is covered; the description usefully complements it. It does not disclose whether updates are reversible or what authorization is required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the rate limit, then two tight sentences covering update semantics and status handling. No filler. Slightly dense in a single opening block but every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter destructive mutation with nested objects, no output schema, and mid-range schema coverage, the description covers the essentials (rate limit, partial update, status) but omits the payload vs. payload_file vs. body-flags choice and any auth/confirm guidance, leaving meaningful gaps an agent would need to fill from the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 56% and the description adds almost no parameter meaning. It never clarifies the relationship between the top-level fields (limits/status/appliesTo/requirements), the payload object, and payload_file, even though the schema itself flags these as mutually exclusive and nested. Only the status parameter is obliquely touched via 'status changes'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Updates an existing promotion's configuration.' An agent can distinguish it from create_promotion/get_promotion. It stops short of explicitly differentiating from siblings or stating what a promotion is, but the intent is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives partial-update semantics ('only provided fields are updated; omitted fields remain unchanged') and notes that status changes go through the same call, which is useful usage context. However, it never says when to use this over alternatives, nor mentions prerequisites such as the confirm/account parameters or which promotion states are eligible.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools