Other formats agents might prefer:
markdownjsonllms.txt

Agent? You probably want markdown or json, or Pod over MCP.

Reported issues for App Store Connect by forgeopslabs

Pod holds 16 of 20 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to App Store Connect by forgeopslabs.

Most discussed

Tier 3: Specialized domains (Game Center, App Clips, EU alternative distribution)

Summary

Grab-bag of specialized domains, each reachable today via appstore_request. Promote to dedicated tools as demand warrants.

Candidate areas

  • Game Center: gameCenterDetails, gameCenterLeaderboards, gameCenterAchievements, leaderboard sets, localizations, images.
  • App Clips: appClips, appClipDefaultExperiences, appClipAdvancedExperiences, app clip header images.
  • EU alternative distribution (DMA): marketplaceDomains, marketplaceSearchDetails, `alterna

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Tier 3: Analytics Reports API

Summary

Request and download App Store analytics reports (JSON-based request flow, unlike the gzipped-TSV sales reports which remain out of scope).

Proposed tools

  • request_analytics_report(app_id, access_type)ONGOING or ONE_TIME_SNAPSHOT.
  • list_analytics_reports(report_request_id, category?)
  • list_analytics_report_instances(report_id, granularity?, processing_date?)
  • list_analytics_report_segments(instance_id) — segments carry the download URL + checksum.

API detail

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Tier 3: In-app events

Summary

Create and manage in-app events (App Store event cards), including localized metadata and media.

Proposed tools

  • create_app_event(app_id, reference_name, badge?, ...)
  • create_app_event_localization(app_event_id, locale, name, short_description, long_description?)
  • upload_app_event_screenshot(app_event_localization_id, file_path) — reuse the asset workflow.

API details

  • POST /v1/appEvents — `{ data: { type: "appEvents", attributes: { referenceName, badge, ... }, rel

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Tier 3: Xcode Cloud (CI) integration

Summary

Inspect and trigger Xcode Cloud builds.

Proposed tools

  • list_ci_products(limit?)
  • list_ci_workflows(ci_product_id)
  • start_ci_build(workflow_id, { source_branch_id | source_tag_id }) — create a ciBuildRun.
  • get_ci_build_run(build_run_id, include?)
  • list_ci_build_actions(build_run_id)

API details

  • GET /v1/ciProducts, GET /v1/ciProducts/{id}/workflows.
  • POST /v1/ciBuildRuns — `{ data: { type: "ciBuildRuns", relationships: { workflow, sourceBranchOrTag } }

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Tier 3: Bundle ID capabilities

Summary

Enable/configure capabilities (push, app groups, iCloud, etc.) on a bundle ID — complements the existing provisioning tools.

Proposed tools

  • enable_bundle_id_capability(bundle_id, capability_type, settings?)
  • disable_bundle_id_capability(capability_id)

API details

  • POST /v1/bundleIdCapabilities{ data: { type: "bundleIdCapabilities", attributes: { capabilityType, settings }, relationships: { bundleId: { data: { type: "bundleIds", id } } } } }. capabilityType e.g

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Tier 3: TestFlight depth (test notes, build details, expire)

Summary

Round out TestFlight beyond the current basics.

Proposed tools

  • set_build_test_notes(build_id, locale, whats_new)betaBuildLocalizations.
  • set_build_beta_detail(build_id, auto_notify_enabled)buildBetaDetails.
  • set_beta_app_review_detail(app_id, { contact_*, demo_* })betaAppReviewDetails.
  • expire_build(build_id) — PATCH expired: true.
  • add_build_to_beta_group(beta_group_id, build_id).

API details

  • POST /v1/betaBuildLocalizations — `{ data: { ty

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Tier 3: Users & access management

Summary

Manage team users and invitations.

Proposed tools

  • list_users(limit?, include?)
  • invite_user(email, first_name, last_name, roles[], all_apps_visible?, visible_app_ids?[])
  • update_user(user_id, { roles?, all_apps_visible?, provisioning_allowed? })
  • remove_user(user_id)

API details

  • GET /v1/users, PATCH /v1/users/{id}, DELETE /v1/users/{id}.
  • POST /v1/userInvitations — `{ data: { type: "userInvitations", attributes: { email, firstName, lastName, roles, allA

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Tier 2: Phased release control

Summary

Manage a version's phased (staged 7-day) rollout.

Proposed tools

  • start_phased_release(version_id) — create in ACTIVE state.
  • update_phased_release(phased_release_id, state) — PAUSE / RESUME / COMPLETE.

API details

  • POST /v1/appStoreVersionPhasedReleases{ data: { type: "appStoreVersionPhasedReleases", attributes: { phasedReleaseState }, relationships: { appStoreVersion } } }. State enum: INACTIVE | ACTIVE | PAUSED | COMPLETE.
  • `PATCH /v1/appStoreVersionPhasedR

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Most recent

Tier 2: Customer reviews & responses

Summary

Read customer reviews and post/edit/delete developer responses.

Proposed tools

  • list_customer_reviews(app_id, rating?, territory?, sort?, limit?)
  • respond_to_review(review_id, response_body) — create or update the response.
  • delete_review_response(response_id)

API details

  • GET /v1/apps/{id}/customerReviews — supports filter[rating], filter[territory], sort=-createdDate, include=response.
  • POST /v1/customerReviewResponses — `{ data: { type: "customerRevie

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Tier 2: Promoted purchases (promote IAPs on the product page)

Summary

Promote in-app purchases / subscriptions on the App Store product page and control their order.

Proposed tools

  • create_promoted_purchase(app_id, { in_app_purchase_id | subscription_id }, enabled?, visible_for_all_users?)
  • set_promoted_purchase_order(app_id, ordered_promoted_purchase_ids[])
  • list_promoted_purchases(app_id)

API details

  • POST /v1/promotedPurchases — `{ data: { type: "promotedPurchases", attributes: { enabled, visibleForAllUsers }, relationships: { app

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Tier 2: Win-back offers

Summary

Create win-back offers to re-acquire churned subscribers (StoreKit win-back offers).

Proposed tools

  • create_winback_offer(subscription_id, reference_name, offer_id, offer_mode, duration, period_count, priority, customer_eligibility_*, start_date?, end_date?, prices[])
  • list_winback_offers(subscription_id)

API details

  • POST /v1/winBackOffers — `{ data: { type: "winBackOffers", attributes: { referenceName, offerId, duration, offerMode, periodCount, priority, promotionIn

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Tier 2: Subscription offer codes (campaigns, one-time-use, custom)

Summary

Create subscription offer-code campaigns and generate one-time-use / custom codes.

Proposed tools

  • create_offer_code(subscription_id, name, offer_mode, duration, number_of_periods, customer_eligibilities[], total_number_of_codes, prices[])
  • generate_one_time_use_codes(offer_code_id, number_of_codes, expiration_date)
  • create_custom_offer_code(offer_code_id, custom_code, number_of_codes, expiration_date)
  • list_offer_codes(subscription_id)

API details

  • `POST /v1/subs

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Tier 2: Subscription introductory & promotional offers

Summary

Create introductory offers (free trial / pay-as-you-go / pay-up-front) and promotional offers for subscriptions — major conversion levers.

Proposed tools

  • create_introductory_offer(subscription_id, price_point_id, territory, offer_mode, duration, number_of_periods, start_date?, end_date?)
  • create_promotional_offer(subscription_id, name, offer_code, offer_mode, duration, number_of_periods, prices[])

API details

  • POST /v1/subscriptionIntroductoryOffers — `{ data: { type

Read the thread · 2026-06-16 · open · outside contributor · 0 comments

Tier 1: Product & app availability (territories)

Summary

Control which territories an IAP, subscription, or app is available in.

Proposed tools

  • set_iap_availability(iap_id, territory_ids[], available_in_new_territories?)
  • set_subscription_availability(subscription_id, territory_ids[], available_in_new_territories?)
  • set_app_availability(app_id, territory_ids[])

API details

  • POST /v1/inAppPurchaseAvailabilities — `{ data: { type: "inAppPurchaseAvailabilities", attributes: { availableInNewTerritories }, relationships: { i

Read the thread · 2026-06-16 · closed · outside contributor · 0 comments

Tier 1: Screenshot/preview SET management (create, delete, reorder)

Summary

Create and manage appScreenshotSets / appPreviewSets. Today we can upload assets into a set but not create the set itself, so the asset workflow is incomplete.

Proposed tools

  • create_screenshot_set(version_localization_id, screenshot_display_type) — e.g. APP_IPHONE_67.
  • create_preview_set(version_localization_id, preview_type) — e.g. IPHONE_67.
  • delete_screenshot_set(set_id) / delete_preview_set(set_id).
  • reorder_screenshots(set_id, ordered_screenshot_ids[])

Read the thread · 2026-06-16 · closed · outside contributor · 0 comments

Tier 1: App info localizations (name, subtitle, privacy URL per locale)

Summary

Set the app's localized name/subtitle/privacy policy — distinct from version localizations and required for a new app.

Proposed tools

  • create_app_info_localization(app_info_id, locale, { name?, subtitle?, privacy_policy_url?, privacy_policy_text?, privacy_choices_url? })
  • update_app_info_localization(localization_id, attributes)

API details

  • POST /v1/appInfoLocalizations — `{ data: { type: "appInfoLocalizations", attributes: { locale, name, subtitle, privacyPolicyUrl,

Read the thread · 2026-06-16 · closed · outside contributor · 0 comments

The remaining reports are on the project's issue tracker.