Skip to main content
Glama

Update gifting config

update_gifting_config
Destructive

Writes four creator-controlled gifting rule fields to set entry time limits, product and shipping policies, and enabled status. Server-side validation and upsert create the config if missing.

Instructions

Writes the four creator-controlled gifting rule fields. Validation (duration 20-180s, valid shipping/products) and the one-platform-per-shop mutex are enforced server-side. Upserts: a first-ever PUT materializes the config row.

Input Schema

NameRequiredDescriptionDefault
accountNoExact private shop profile label; not a provider identity or authorization proof.
confirmNoSet true only when the user asked for exactly this action.
enabledNoMaster flag. Off pauses purchasability without losing the rest.
payloadNoComplete current native JSON body; cannot mix with native body flags or payload_file.
productsNo
shippingNo
payload_fileNoAbsolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
entryTimeLimitSecondsNoEntry time limit in seconds. Validated 20-180.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv3.0.0
    • addedInput schema / $defs
      Added value: +{
      +  "products": {
      +    "oneOf": [
      +      {
      +        "allOf": [
      +          {
      +            "properties": {
      +              "type": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type"
      +            ],
      +            "title": "Products Policy X Request"
      +          },
      +          {
      +            "properties": {
      +              "type": {
      +                "const": "ALL",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        ],
      +        "title": "All Products"
      +      },
      +      {
      +        "allOf": [
      +          {
      +            "properties": {
      +              "type": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type"
      +            ],
      +            "title": "Products Policy X Request"
      +          },
      +          {
      +            "properties": {
      +              "offerIds": {
      +                "items": {
      +                  "format": "uuid",
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "properties": {
      +              "type": {
      +                "const": "EXCLUDED",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        ],
      +        "required": [
      +          "offerIds"
      +        ],
      +        "title": "Excluded Products"
      +      },
      +      {
      +        "allOf": [
      +          {
      +            "properties": {
      +              "type": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type"
      +            ],
      +            "title": "Products Policy X Request"
      +          },
      +          {
      +            "properties": {
      +              "offerIds": {
      +                "items": {
      +                  "format": "uuid",
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "properties": {
      +              "type": {
      +                "const": "SELECTED",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        ],
      +        "required": [
      +          "offerIds"
      +        ],
      +        "title": "Selected Products"
      +      }
      +    ]
      +  },
      +  "shipping": {
      +    "oneOf": [
      +      {
      +        "allOf": [
      +          {
      +            "properties": {
      +              "type": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type"
      +            ],
      +            "title": "Shipping Policy X Request"
      +          },
      +          {
      +            "properties": {
      +              "type": {
      +                "const": "ALL_CREATOR",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        ],
      +        "title": "All Creator"
      +      },
      +      {
      +        "allOf": [
      +          {
      +            "properties": {
      +              "type": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type"
      +            ],
      +            "title": "Shipping Policy X Request"
      +          },
      +          {
      +            "properties": {
      +              "type": {
      +                "const": "ALL_WINNER",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        ],
      +        "title": "All Winner"
      +      },
      +      {
      +        "allOf": [
      +          {
      +            "properties": {
      +              "type": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type"
      +            ],
      +            "title": "Shipping Policy X Request"
      +          },
      +          {
      +            "properties": {
      +              "max": {
      +                "format": "double",
      +                "type": "number"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "properties": {
      +              "type": {
      +                "const": "MAX_CREATOR",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        ],
      +        "required": [
      +          "max"
      +        ],
      +        "title": "Max Creator"
      +      }
      +    ]
      +  }
      +}
    • changedInput schema / properties / confirm / description
      Previous value: -"Explicit approval for this exact provider effect or local private-file operation."New value: +"Set true only when the user asked for exactly this action."
    • addedInput schema / properties / payload / properties / products / $ref
      Added value: +"#/$defs/products"
    • removedInput schema / properties / payload / properties / products / oneOf
      Removed value: -[
      -  {
      -    "allOf": [
      -      {
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "title": "Products Policy X Request"
      -      },
      -      {
      -        "properties": {
      -          "type": {
      -            "const": "ALL",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    ],
      -    "title": "All Products"
      -  },
      -  {
      -    "allOf": [
      -      {
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "title": "Products Policy X Request"
      -      },
      -      {
      -        "properties": {
      -          "offerIds": {
      -            "items": {
      -              "format": "uuid",
      -              "type": "string"
      -            },
      -            "type": "array"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      {
      -        "properties": {
      -          "type": {
      -            "const": "EXCLUDED",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    ],
      -    "required": [
      -      "offerIds"
      -    ],
      -    "title": "Excluded Products"
      -  },
      -  {
      -    "allOf": [
      -      {
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "title": "Products Policy X Request"
      -      },
      -      {
      -        "properties": {
      -          "offerIds": {
      -            "items": {
      -              "format": "uuid",
      -              "type": "string"
      -            },
      -            "type": "array"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      {
      -        "properties": {
      -          "type": {
      -            "const": "SELECTED",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    ],
      -    "required": [
      -      "offerIds"
      -    ],
      -    "title": "Selected Products"
      -  }
      -]
    • addedInput schema / properties / payload / properties / shipping / $ref
      Added value: +"#/$defs/shipping"
    • removedInput schema / properties / payload / properties / shipping / oneOf
      Removed value: -[
      -  {
      -    "allOf": [
      -      {
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "title": "Shipping Policy X Request"
      -      },
      -      {
      -        "properties": {
      -          "type": {
      -            "const": "ALL_CREATOR",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    ],
      -    "title": "All Creator"
      -  },
      -  {
      -    "allOf": [
      -      {
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "title": "Shipping Policy X Request"
      -      },
      -      {
      -        "properties": {
      -          "type": {
      -            "const": "ALL_WINNER",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    ],
      -    "title": "All Winner"
      -  },
      -  {
      -    "allOf": [
      -      {
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "title": "Shipping Policy X Request"
      -      },
      -      {
      -        "properties": {
      -          "max": {
      -            "format": "double",
      -            "type": "number"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      {
      -        "properties": {
      -          "type": {
      -            "const": "MAX_CREATOR",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    ],
      -    "required": [
      -      "max"
      -    ],
      -    "title": "Max Creator"
      -  }
      -]
    • addedInput schema / properties / products / $ref
      Added value: +"#/$defs/products"
    • removedInput schema / properties / products / oneOf
      Removed value: -[
      -  {
      -    "allOf": [
      -      {
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "title": "Products Policy X Request"
      -      },
      -      {
      -        "properties": {
      -          "type": {
      -            "const": "ALL",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    ],
      -    "title": "All Products"
      -  },
      -  {
      -    "allOf": [
      -      {
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "title": "Products Policy X Request"
      -      },
      -      {
      -        "properties": {
      -          "offerIds": {
      -            "items": {
      -              "format": "uuid",
      -              "type": "string"
      -            },
      -            "type": "array"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      {
      -        "properties": {
      -          "type": {
      -            "const": "EXCLUDED",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    ],
      -    "required": [
      -      "offerIds"
      -    ],
      -    "title": "Excluded Products"
      -  },
      -  {
      -    "allOf": [
      -      {
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "title": "Products Policy X Request"
      -      },
      -      {
      -        "properties": {
      -          "offerIds": {
      -            "items": {
      -              "format": "uuid",
      -              "type": "string"
      -            },
      -            "type": "array"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      {
      -        "properties": {
      -          "type": {
      -            "const": "SELECTED",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    ],
      -    "required": [
      -      "offerIds"
      -    ],
      -    "title": "Selected Products"
      -  }
      -]
    • addedInput schema / properties / shipping / $ref
      Added value: +"#/$defs/shipping"
    • removedInput schema / properties / shipping / oneOf
      Removed value: -[
      -  {
      -    "allOf": [
      -      {
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "title": "Shipping Policy X Request"
      -      },
      -      {
      -        "properties": {
      -          "type": {
      -            "const": "ALL_CREATOR",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    ],
      -    "title": "All Creator"
      -  },
      -  {
      -    "allOf": [
      -      {
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "title": "Shipping Policy X Request"
      -      },
      -      {
      -        "properties": {
      -          "type": {
      -            "const": "ALL_WINNER",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    ],
      -    "title": "All Winner"
      -  },
      -  {
      -    "allOf": [
      -      {
      -        "properties": {
      -          "type": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type"
      -        ],
      -        "title": "Shipping Policy X Request"
      -      },
      -      {
      -        "properties": {
      -          "max": {
      -            "format": "double",
      -            "type": "number"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      {
      -        "properties": {
      -          "type": {
      -            "const": "MAX_CREATOR",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    ],
      -    "required": [
      -      "max"
      -    ],
      -    "title": "Max Creator"
      -  }
      -]
  2. First observedv2.0.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true, and the description reinforces this with real behavioral detail beyond the annotations: server-side validation (duration 20-180s), the one-platform-per-shop mutex, and upsert materialization of a missing row. One mild tension remains unaddressed: the description's 'Upserts / PUT' framing reads as idempotent while idempotentHint=false, and no failure behavior is described.

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

Conciseness5/5

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

Two tight sentences with the core action front-loaded, followed by the enforcement and upsert caveats. No filler, every clause carries information.

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

Completeness4/5

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

For an 8-param, zero-required mutation with nested oneOf schemas and no output schema, the description covers the essentials an agent needs (write semantics, server-side validation, mutex constraint, upsert behavior). It could still say what happens on validation failure or what permissions the 'account' label requires.

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

Parameters3/5

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

Schema description coverage is 75%, so the schema already documents the key fields. The description adds the useful grouping that the payload carries exactly four creator-controlled fields and restates the 20-180s validation, but it does not clarify the payload vs. payload_file vs. top-level flag exclusivity (left to the schema) or the nested products/shipping oneOf variants.

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?

The description gives a specific verb and resource ('Writes the four creator-controlled gifting rule fields'), which clearly separates it from the read-only sibling get_gifting_config. It is clear but never names an alternative tool or explicitly scopes what 'the four fields' are beyond the schema.

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

Usage Guidelines2/5

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

There is no stated when-to-use, when-not-to-use, or named alternative. The only contextual cue is the upsert note ('a first-ever PUT materializes the config row'), which hints at create-or-replace semantics but does not guide tool selection against siblings like update_promotion or create_gifting_checkout.

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