asc_get_subscription_introductory_offer
fetch one offer by ID.
How to use it
asc_get_subscription_introductory_offer is exposed by the Appstoreconnect MCP MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the asc_get_subscription_introductory_offer tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.
Install Appstoreconnect MCP
npx -y @akoskomuves/appstoreconnect-mcpOther tools in Appstoreconnect MCP (39)
delete a pending or active offer. Apple refuses to delete one that is currently redeemable; PATCH endDate to today to stop it instead.
cancel a pending scheduled change
DELETE → 204.
DELETE → 204.
fetch one app by ID
/ ascpost… / ascpatch… — the What-to-tell-App-Review card of a version: contact person, demo account (name/password/required), notes. To-one per version; Apple merges on PATCH.
fetch a single IAP by ID.
/ ascpatch… — billing grace period per app: optIn / sandboxOptIn, duration (3 / 16 / 28 days), renewalType (all renewals vs paid-to-paid only). Keeps lapsed subscribers entitled while Apple retries payment.
fetch a single offer, including its per-territory prices.
fetch a single offer, including its subscription and per-territory prices.
valid Apple price tiers for an app in a given territory (~600+ tiers per territory). Pass nearAmount (target price) and optional nearCount (default 10) to narrow the response to the nearest tiers — Apple does not support a near-amount filter server-side, so the full list is still paginated but only
current price schedule for an app, splitting manual overrides from auto-derived prices and surfacing the base territory
list apps (filter by bundleId)
valid Apple price tiers for an IAP in a given territory. Same nearAmount / nearCount narrowing as the app and subscription price-point tools.
current price schedule for an IAP (same shape as app prices: manual overrides + auto-derived + base territory).
list IAPs for an app (v2 surface only — auto-renewable subscriptions are covered by the Subscriptions tools above). Filterable by inAppPurchaseType and state. If this returns zero rows for an app you know has IAPs, the IAPs may be legacy-only and need to be migrated in the App Store Connect web UI b
groups for an app
list intro offers (free trial / pay-as-you-go / pay-up-front) configured for a subscription, across territories. Apple's "all territories" wildcard (a single offer with no territory) surfaces as TERR=(all) in the table.
valid price points for a subscription in a territory. Pass nearAmount to narrow the response to the nearest tiers around a target price.
current price schedule per subscription
list per-territory price rows attached to an offer (territory + currency + amount + price-point ID).
list promo offers configured for a subscription.
list per-territory price rows attached to an offer (territory + currency + amount + price-point ID).
list win-back offers configured for a subscription.
auto-renewable subscriptions in a group
narrow update path: only startDate, endDate, and pricePointId can change after creation. To change mode / duration / periods, delete and re-create.
update the offer's per-territory prices. Apple's wire semantic is replace (the new prices array becomes the post-state, dropping any territory not listed); the tool's mode: 'replace' 'add' 'remove' parameter hides the footgun — 'add' reads current prices and merges, 'remove' reads and filters.
update the mutable attributes only: eligibility, startDate/endDate, priority, and promotionIntent. To change identity, mode, duration, periods, or prices, delete and re-create.
replace the entire price schedule (whole-schedule replace, NOT a merge — matches Apple's API). Pre-flight refuses unless at least one entry targets the base territory with no startDate, and requires explicit acknowledgeReplacesAll: true. A separate acknowledgeDeletesScheduledIfBaseChanges ack is req
⚠️ release an approved (PENDINGDEVELOPERRELEASE) version to the public App Store now — the "Release this version" click, automated. Only for manually-released versions; no undo.
replace the entire IAP price schedule (same whole-schedule replace semantics as ascpostapppriceschedule: acknowledgeReplacesAll: true, base-territory entry with no startDate, base-change ack required). No grandfather mechanism — same as apps.
/ ascpostsubscriptionsubmission / ascpostsubscriptiongroupsubmission — submit an IAP / subscription / subscription group's pending metadata changes for review standalone, without a version release. Wire gotcha handled: the IAP one relates via inAppPurchaseV2.
create an offer. Three offerModes: FREETRIAL (no price; omit pricePointId), PAYASYOUGO (charge the offer price each period for numberOfPeriods periods), PAYUPFRONT (single charge for the whole duration; Apple still requires numberOfPeriods — defaults to 1 when omitted). Pass territoryId to target on
schedule a price change for one territory
create an offer (name + offerCode + mode + duration + all per-territory prices) in one atomic POST. Pre-flights Apple's 10-offer cap and offerCode collisions, refusing with a clear remedy message instead of letting Apple 409.
create an offer (identity + eligibility rules + schedule + priority + all per-territory prices) in one atomic POST. Eligibility is expressed as customerEligibilityPaidSubscriptionDurationInMonths, customerEligibilityTimeSinceLastSubscribedInMonths (an { minimum, maximum? } range), and an optional cu
JWS v2 format introduced at WWDC 2025 (back-deployed to iOS 15). Use with StoreKit 2's newer promotional-offer purchase options. Returns the JWS compact serialization directly. transactionId (the customer's appTransactionId) is optional but strongly recommended.
legacy ECDSA-concatenated signature used by StoreKit 1's SKPaymentDiscount and the original StoreKit 2 Product.PurchaseOption.promotionalOffer(offerID:keyID:nonce:signature:timestamp:) API. Returns the base64 signature plus the nonce, timestamp, and keyId for the caller to pass to StoreKit. Auto-gen
ascgetiapavailability (reads through the v2 parent path) · asclistiapavailableterritories · ascpostiapavailability (same replace semantics).