Skip to main content
Glama

Delivery: delivery-term zones [sandbox]

delivery_update_terms

Creates a task to update delivery-term zones in a tariff. Supply the full list of zones with matching provider zone IDs. Returns a taskID to track status via delivery_get_task.

Instructions

[SANDBOX] Creates a task to update the delivery-term zones in a tariff; returns a taskID — status via delivery_get_task. Important: the list of new terms must fully match the tariff's deliveryProviderZoneId values. For delivery-service partners only. The body is an array of zones directly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zonesYesArray of delivery-term zones: deliveryProviderZoneId, name, minTerm/maxTerm (business days).
dryRunNov0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
tariff_idYesTariff identifier (int32, in path); legacy decimal strings remain accepted.
idempotencyKeyNov0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict error. Keys are stored as bounded SHA-256 fingerprints.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv1.2.0
    • changedInput schema / properties / idempotencyKey / description
      Previous value: -"v0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict error — this is safe by design."New value: +"v0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict error. Keys are stored as bounded SHA-256 fingerprints."
    • addedInput schema / properties / tariff_id / anyOf
      Added value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "pattern": "^-?\\d+$",
      +    "type": "string"
      +  }
      +]
    • changedInput schema / properties / tariff_id / description
      Previous value: -"Tariff identifier (in path)."New value: +"Tariff identifier (int32, in path); legacy decimal strings remain accepted."
    • removedInput schema / properties / tariff_id / type
      Removed value: -"string"
    • removedInput schema / properties / zones / items / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / zones / items / description
      Removed value: -"See TermsZone in swaggers/delivery.json"
    • addedInput schema / properties / zones / items / properties
      Added value: +{
      +  "deliveryProviderZoneId": {
      +    "type": "string"
      +  },
      +  "maxTerm": {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  "minTerm": {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  "name": {
      +    "type": "string"
      +  }
      +}
    • removedInput schema / properties / zones / items / propertyNames
      Removed value: -{
      -  "type": "string"
      -}
  2. Changed1 schema field changedv0.8.1
    • changedInput schema / properties / zones / items / description
      Previous value: -"See TermsZone in swaggers/Доставка.json"New value: +"See TermsZone in swaggers/delivery.json"
  3. Changed5 schema fields changedv0.8.0
    • changedInput schema / properties / dryRun / description
      Previous value: -"v0.7.0: если true — возвращает preview HTTP-запроса без вызова Avito API. Безопасно для просмотра, что именно будет сделано. Default: значение AVITO_MCP_DRY_RUN_DEFAULT (обычно false)."New value: +"v0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false)."
    • changedInput schema / properties / idempotencyKey / description
      Previous value: -"v0.7.0: опциональный ключ для защиты от дублей. Повторный вызов с тем же ключом в течение AVITO_MCP_IDEMPOTENCY_TTL_SEC возвращает закешированный результат. Тот же ключ с другими args вернёт ошибку conflict — это безопасно по дизайну."New value: +"v0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict error — this is safe by design."
    • changedInput schema / properties / tariff_id / description
      Previous value: -"ID тарифа."New value: +"Tariff identifier (in path)."
    • changedInput schema / properties / zones / description
      Previous value: -"Массив зон сроков."New value: +"Array of delivery-term zones: deliveryProviderZoneId, name, minTerm/maxTerm (business days)."
    • changedInput schema / properties / zones / items / description
      Previous value: -"См. TermsZone в swaggers/Доставка.json"New value: +"See TermsZone in swaggers/Доставка.json"
  4. First observedv0.7.4

TDQS

A4.4/5.0
Behavior4/5

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

Annotations indicate it is not read-only, not idempotent, and not destructive, which aligns with the description stating it 'Creates a task to update'. The description adds behavioral context: it returns a taskID and is asynchronous (status via delivery_get_task), and specifies that it operates in a sandbox. This goes beyond annotations by clarifying the async nature and authorization requirement.

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?

The description is very concise: three sentences that front-load purpose, then provide a key constraint, and finally specify audience and body format. Every sentence adds value without repetition or fluff.

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?

Given the tool's complexity (4 parameters, no output schema, async task), the description covers purpose, constraint, audience, and follow-up status check. It lacks details on error handling or response shape, but the schema covers parameter details. The presence of annotations for safety traits reduces the need for further behavioral description.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds extra meaning by emphasizing that the 'zones' array must fully match the tariff's deliveryProviderZoneId values, and that the body is an array of zones directly. This provides value beyond the schema descriptions.

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

Purpose5/5

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

The description clearly states it 'Creates a task to update the delivery-term zones in a tariff', specifying the verb (creates a task to update) and resource (delivery-term zones in a tariff). It also distinguishes itself by noting it's for delivery-service partners and uses a sandbox environment, which helps differentiate from siblings.

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

Usage Guidelines4/5

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

The description provides important usage constraints: the list of new terms must fully match the tariff's deliveryProviderZoneId values, and it's for delivery-service partners only. It also mentions that status is obtained via delivery_get_task. However, it does not explicitly state when to use this tool versus alternatives in the sibling list.

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