Skip to main content
Glama

apple_create_subscription_offer_code

Create custom or one-time-use subscription offer codes for distribution outside the App Store. Provide per-territory prices, looked up first with apple_get_subscription_price_points.

Instructions

Create a subscription offer code (custom or one-time-use codes distributed outside the App Store). Requires per-territory prices — look them up first with apple_get_subscription_price_points.

Input Schema

NameRequiredDescriptionDefault
nameYesInternal reference name for the offer code
pricesYesPer-territory prices for the offer
durationYesBilling period duration of the offer
offerModeYesOffer pricing mode
subscriptionIdYesSubscription ID
numberOfPeriodsYesNumber of billing periods the offer applies for
autoRenewEnabledNoWhether the subscription auto-renews after the offer period
offerEligibilityYesHow this offer interacts with introductory offers
customerEligibilitiesYesWhich customers are eligible

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and only discloses the price-lookup dependency and external distribution. It says nothing about required App Store Connect permissions/roles, whether codes are immediately live, whether they can be revoked or expire, or that creation is a non-reversible write.

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 short sentences, both front-loaded with actionable content: what it makes, and the mandatory lookup step before calling. No filler.

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 nine-parameter, eight-required mutation with no annotations and no output schema, the description covers the main trap (price points) but leaves the offerEligibility/offerMode interaction and post-creation behavior unexplained. Adequate to start, not complete enough to call confidently.

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 coverage is 100%, so all nine parameters including the three enums are already documented. The description only adds that prices are 'per-territory' and must come from the price-points tool, which is a helpful cross-reference but nothing the schema lacks.

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?

Specific verb and resource ('Create a subscription offer code') with clarifying parenthetical that these are custom/one-time-use codes distributed outside the App Store. It does not explicitly distinguish itself from the near-sibling apple_create_iap_offer_code, which an agent scanning a long tool list would likely confuse it with.

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?

States a concrete prerequisite ('look them up first with apple_get_subscription_price_points'), naming the exact sibling tool and ordering, which prevents a likely failure. It gives no exclusion conditions, however (e.g., when to use apple_create_iap_offer_code instead).

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