accounts_list
List every App Store Connect account registered locally. Returns names, key ids, issuer ids, key-file paths, and descriptions. Never returns key material.
無需輸入參數。

io.github.devinwang由 GitHub 帳號 devinwang 發布v0.5.0更新於 Nov 4, 2026
MCP server for Apple's App Store Connect API: 1316 tools generated from the official OpenAPI spec.
本機 MCP 伺服器,把 Apple App Store Connect API 包裝成 1316 個工具,讓助理管理 App、TestFlight、內購、評論、分析與 Xcode Cloud。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
參照 儲存庫 中的啟動說明。
The complete Model Context Protocol (MCP) server for Apple's App Store Connect API. 1316 tools. 100% coverage of every non-deprecated operation in Apple's official OpenAPI spec — TestFlight, Xcode Cloud, Game Center, App Clips, in-app purchases, subscriptions, review submissions, analytics, provisioning, and everything else Apple exposes. Works with Claude, Cursor, VS Code Copilot, Codex CLI, Gemini CLI, Windsurf, or any MCP client.
[npm version] [npm downloads] [CI] [License: MIT] [Node] [Tools: 1316] [Spec: 4.3] [MCP] [TypeScript]
See also: google-play-developer-mcp — the same philosophy for the Google Play Console.
asc-mcp (zelentsov-dev)App Store Connect is huge. Apple's own OpenAPI spec currently lists 1303 operations across 203 resource groups — TestFlight, Xcode Cloud, Game Center, App Clips, in-app purchases, subscriptions, offer codes, review submissions, alternative distribution (EU DMA), analytics, metrics, privacy manifests, provisioning, users… the list goes on.
Every community MCP covers a slice. None covers everything.
app-store-connect-mcp does.
If you drive App Store Connect with an AI assistant — submission automation, TestFlight management, IAP / subscription catalog, review triage, analytics, or Xcode Cloud orchestration — this gives the assistant the full toolbox in one install.
1316 tools total (as of spec v4.5.1):
accounts_* — local multi-account registry (add / list / switch / remove / update / current)auth_* — auth_status (readiness) and auth_revoke_cacheasset_upload_file — step 2 of the 3-step asset upload protocol (screenshots, previews, review attachments, IAP review screenshots, App Clip header images, Game Center images, routing app coverages)sales_reports_download — downloads and un-gzips sales reports, returns parsed TSVfinance_reports_download — same for finance reportsanalytics_report_instance_wait — poll until a report is COMPLETED/FAILEDci_build_run_wait — poll an Xcode Cloud build run to completionRun auth_status, then apps_get_collection to verify end-to-end.
Install from npm:
Or run without installing:
About the package name. The package on npm is
apple-app-store-connect-mcp. After install, the command on your$PATHisapp-store-connect-mcp(the bin name) — that's what your MCP client config below points at.
Then add to your MCP client config (example, Claude Code):
Finally, register your App Store Connect API key (details below):
AuthKey_<KEYID>.p8 file. You only get this download once. Store it outside any git repo, for example at ~/.config/app-store-connect-mcp/AuthKey_AB12CD34EF.p8 with chmod 600.Launch any MCP client that has the server configured, then call:
Should return { source: "accounts", tokenAcquired: true, expiresAt: ... }.
Lists the apps the key can see.
All subsequent calls target the currently-switched account.
ASC_ACCOUNT)currentAccount is a single global value in accounts.json, shared by every MCP client on
the machine. If you work on more than one App Store Connect account, that is a footgun: an
accounts_switch in one project silently retargets every other project, and an assistant in
project A can end up writing to account B's apps.
Pin the account per server process instead. Set ASC_ACCOUNT in the MCP client config:
With a pin in effect:
currentAccount happens to be.accounts_switch to any other account fails loudly instead of silently retargeting.accounts_remove refuses to delete the pinned account.auth_status and accounts_current report pinnedTo, so it is always visible which account
a session is on.If ASC_ACCOUNT names an account that isn't registered, calls fail with an explicit error rather
than falling back to some other account.
Give each project its own pin — then no project depends on the shared global at all.
For compatibility with older setups (e.g. zelentsov-dev/asc-mcp), the server also accepts:
If no account is registered via accounts_add, the server falls back to these env vars. accounts_* tools always take precedence.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
Or edit ~/.claude.json:
If you work on more than one App Store Connect account, put the server in each project's
.mcp.json instead and pin it — see Pinning one account per project:
Settings → MCP → Add new MCP server:
.vscode/mcp.json:
Any MCP-compliant client accepts the same command entry — point it at the globally installed app-store-connect-mcp binary, or at node /path/to/dist/index.js when running from source.
Then in your MCP client config:
Returns parsed rows. Add parse: false to get raw TSV.
asc-mcp (zelentsov-dev)This server replaces github.com/zelentsov-dev/asc-mcp. Key differences:
zelentsov-dev/asc-mcp uses simplified names like apps_search, reviews_list, app_versions_submit_for_review. This server uses Apple's official operationId snake-cased — apps_get_collection, customer_reviews_get_collection, review_submissions_create_instance. There's no auto-translation: update any prompts or scripts that assumed the old names.ASC_KEY_ID, ASC_ISSUER_ID, ASC_PRIVATE_KEY_PATH) still work, so you don't need to move the .p8 to migrate. You'll get a one-time stderr warning recommending you register via accounts_add for multi-account support.company_* → accounts_*. Rename mental model: a "company" in the old server is an "account" here.A comprehensive name-by-name mapping is included in docs/MIGRATION.md.
This repo ships with zero credentials. You bring an App Store Connect API .p8; the server records only its path.
.gitignore blocks*.p8, AuthKey_*, AuthKey_*.p8*.pem, *.p12, *.pfx, *.key, id_rsa*accounts.json, .app-store-connect-mcp/credentials/, keys/, secrets/.env, .env.* (keeps .env.example).p8 outside any git repo on your machine.Admin lets this MCP do anything including deleting store metadata. Restrict as appropriate.accounts_update --keyFile <newPath>.auth_status returns only the key id, issuer id, a boolean, and the JWT expiry timestamp. It never returns the JWT or the .p8 content.dist/.Apple logs every API call against your key id. If you ever suspect misuse, open App Store Connect → Users and Access → Integrations and revoke the key; any outstanding JWTs signed with it stop working immediately.
spec/app-store-connect-openapi.json). When Apple ships a new version, npm run spec:download && npm run codegen && npm run build is all it takes to update.operationId values converted to snake_case. This means the MCP names match the official REST reference, so when an LLM reads Apple's docs it can pick the right tool without translation.filter[name], fields[apps], limit[appStoreVersions]). Request bodies are z.record(z.unknown()) with a description pointing at the OpenAPI component schema — ASC validates them server-side and our error translator surfaces mistakes clearly. Generating full zod trees for every JSON:API envelope would balloon the server by 10× and add negligible value.401 becomes "JWT rejected — rotate or check clock skew", 403 becomes "key isn't authorized for this endpoint", 422 surfaces the exact source.pointer from the ASC response, 429 explains the per-team quota, 5xx points at https://developer.apple.com/system-status/.PRs welcome. Before you submit:
npm run typecheck + npm run build pass on Node 18 / 20 / 22 (CI also runs this)..p8, a real keyId, a real issuerId, or a real JWT in an issue, PR, fixture, or example.npm run spec:downloadnpm run codegen — regenerates src/tools/generated/ and spec/coverage-report.txtnpm run buildspec/coverage-report.txt diff — a delta of 10+ tools or a new top-level tag should get a CHANGELOG note.src/tools/overrides.ts and must have names that don't collide with any generated name.[DEPRECATED] prefix..gitignore, .p8 content never cached in process memory, in-memory-only JWT cache, universal output redaction.~/.app-store-connect-mcp/accounts.json (path storage only).ASC_KEY_ID / ASC_ISSUER_ID / ASC_PRIVATE_KEY_PATH env vars (drop-in replacement for zelentsov-dev/asc-mcp setups).npm run codegen.MIT — see LICENSE.
來源:README.md,提交 00a92f9
List every App Store Connect account registered locally. Returns names, key ids, issuer ids, key-file paths, and descriptions. Never returns key material.
無需輸入參數。
Show which account is currently active. All subsequent API calls use this account's credentials. If `pinnedTo` is set, this server was pinned to that account via ASC_ACCOUNT and cannot be switched.
無需輸入參數。
Register a new App Store Connect account. Provide the Key ID, Issuer ID, and an absolute path to the `.p8` file. The key file stays on disk — the MCP records only its path.
name必填keyId必填scopekeyFile必填issuerId必填descriptionRemove an account from the local registry. Does NOT delete the `.p8` file on disk.
name必填Make an existing registered account the active one.
name必填Change one or more fields of an existing account. Provide only the fields you want to update.
name必填keyIdscopekeyFileissuerIddescriptionVerify that the active account can acquire an App Store Connect JWT. Returns identifiers and a boolean readiness flag. Never returns the JWT itself or the `.p8` contents.
無需輸入參數。
Drop the in-memory JWT cache so the next API call re-signs. Useful after rotating the `.p8`.
無需輸入參數。
POST /v1/accessibilityDeclarations (POST /v1/accessibilityDeclarations) Body shape: see OpenAPI components.schemas.AccessibilityDeclarationCreateRequest for the full JSON:API envelope.
body必填GET /v1/accessibilityDeclarations/{id} (GET /v1/accessibilityDeclarations/{id})
id必填fields_accessibilityDeclarationsPATCH /v1/accessibilityDeclarations/{id} (PATCH /v1/accessibilityDeclarations/{id}) Body shape: see OpenAPI components.schemas.AccessibilityDeclarationUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/accessibilityDeclarations/{id} (DELETE /v1/accessibilityDeclarations/{id})
id必填GET /v1/actors (GET /v1/actors)
limitfilter_idfields_actorsGET /v1/actors/{id} (GET /v1/actors/{id})
id必填fields_actorsPATCH /v1/ageRatingDeclarations/{id} (PATCH /v1/ageRatingDeclarations/{id}) Body shape: see OpenAPI components.schemas.AgeRatingDeclarationUpdateRequest for the full JSON:API envelope.
id必填body必填GET /v1/alternativeDistributionDomains (GET /v1/alternativeDistributionDomains)
limitfields_alternativeDistributionDomainsPOST /v1/alternativeDistributionDomains (POST /v1/alternativeDistributionDomains) Body shape: see OpenAPI components.schemas.AlternativeDistributionDomainCreateRequest for the full JSON:API envelope.
body必填GET /v1/alternativeDistributionDomains/{id} (GET /v1/alternativeDistributionDomains/{id})
id必填fields_alternativeDistributionDomainsDELETE /v1/alternativeDistributionDomains/{id} (DELETE /v1/alternativeDistributionDomains/{id})
id必填GET /v1/alternativeDistributionKeys (GET /v1/alternativeDistributionKeys)
limitexists_appfields_alternativeDistributionKeysPOST /v1/alternativeDistributionKeys (POST /v1/alternativeDistributionKeys) Body shape: see OpenAPI components.schemas.AlternativeDistributionKeyCreateRequest for the full JSON:API envelope.
body必填GET /v1/alternativeDistributionKeys/{id} (GET /v1/alternativeDistributionKeys/{id})
id必填fields_alternativeDistributionKeysDELETE /v1/alternativeDistributionKeys/{id} (DELETE /v1/alternativeDistributionKeys/{id})
id必填GET /v1/alternativeDistributionPackageDeltas/{id} (GET /v1/alternativeDistributionPackageDeltas/{id})
id必填fields_alternativeDistributionPackageDeltasGET /v1/alternativeDistributionPackageVariants/{id} (GET /v1/alternativeDistributionPackageVariants/{id})
id必填fields_alternativeDistributionPackageVariantsGET /v1/alternativeDistributionPackageVersions/{id} (GET /v1/alternativeDistributionPackageVersions/{id})
id必填includelimit_deltaslimit_variantsfields_alternativeDistributionPackagesfields_alternativeDistributionPackageDeltasfields_alternativeDistributionPackageVariantsfields_alternativeDistributionPackageVersionsGET /v1/alternativeDistributionPackageVersions/{id}/relationships/deltas (GET /v1/alternativeDistributionPackageVersions/{id}/relationships/deltas)
id必填limitGET /v1/alternativeDistributionPackageVersions/{id}/deltas (GET /v1/alternativeDistributionPackageVersions/{id}/deltas)
id必填limitfields_alternativeDistributionPackageDeltasGET /v1/alternativeDistributionPackageVersions/{id}/relationships/variants (GET /v1/alternativeDistributionPackageVersions/{id}/relationships/variants)
id必填limitGET /v1/alternativeDistributionPackageVersions/{id}/variants (GET /v1/alternativeDistributionPackageVersions/{id}/variants)
id必填limitfields_alternativeDistributionPackageVariantsPOST /v1/alternativeDistributionPackages (POST /v1/alternativeDistributionPackages) Body shape: see OpenAPI components.schemas.AlternativeDistributionPackageCreateRequest for the full JSON:API envelope.
body必填GET /v1/alternativeDistributionPackages/{id} (GET /v1/alternativeDistributionPackages/{id})
id必填includelimit_versionsfields_alternativeDistributionPackagesfields_alternativeDistributionPackageVersionsGET /v1/alternativeDistributionPackages/{id}/relationships/versions (GET /v1/alternativeDistributionPackages/{id}/relationships/versions)
id必填limitGET /v1/alternativeDistributionPackages/{id}/versions (GET /v1/alternativeDistributionPackages/{id}/versions)
id必填limitincludefilter_statelimit_deltaslimit_variantsfields_alternativeDistributionPackagesfields_alternativeDistributionPackageDeltasfields_alternativeDistributionPackageVariantsfields_alternativeDistributionPackageVersionsGET /v1/analyticsReportInstances/{id} (GET /v1/analyticsReportInstances/{id})
id必填fields_analyticsReportInstancesGET /v1/analyticsReportInstances/{id}/relationships/segments (GET /v1/analyticsReportInstances/{id}/relationships/segments)
id必填limitGET /v1/analyticsReportInstances/{id}/segments (GET /v1/analyticsReportInstances/{id}/segments)
id必填limitfields_analyticsReportSegmentsPOST /v1/analyticsReportRequests (POST /v1/analyticsReportRequests) Body shape: see OpenAPI components.schemas.AnalyticsReportRequestCreateRequest for the full JSON:API envelope.
body必填GET /v1/analyticsReportRequests/{id} (GET /v1/analyticsReportRequests/{id})
id必填includelimit_reportsfields_analyticsReportsfields_analyticsReportRequestsDELETE /v1/analyticsReportRequests/{id} (DELETE /v1/analyticsReportRequests/{id})
id必填GET /v1/analyticsReportRequests/{id}/relationships/reports (GET /v1/analyticsReportRequests/{id}/relationships/reports)
id必填limitGET /v1/analyticsReportRequests/{id}/reports (GET /v1/analyticsReportRequests/{id}/reports)
id必填limitfilter_namefilter_categoryfields_analyticsReportsGET /v1/analyticsReportSegments/{id} (GET /v1/analyticsReportSegments/{id})
id必填fields_analyticsReportSegmentsGET /v1/analyticsReports/{id} (GET /v1/analyticsReports/{id})
id必填fields_analyticsReportsGET /v1/analyticsReports/{id}/relationships/instances (GET /v1/analyticsReports/{id}/relationships/instances)
id必填limitGET /v1/analyticsReports/{id}/instances (GET /v1/analyticsReports/{id}/instances)
id必填limitfilter_granularityfilter_processingDatefields_analyticsReportInstancesPOST /v1/androidToIosAppMappingDetails (POST /v1/androidToIosAppMappingDetails) Body shape: see OpenAPI components.schemas.AndroidToIosAppMappingDetailCreateRequest for the full JSON:API envelope.
body必填GET /v1/androidToIosAppMappingDetails/{id} (GET /v1/androidToIosAppMappingDetails/{id})
id必填fields_androidToIosAppMappingDetailsPATCH /v1/androidToIosAppMappingDetails/{id} (PATCH /v1/androidToIosAppMappingDetails/{id}) Body shape: see OpenAPI components.schemas.AndroidToIosAppMappingDetailUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/androidToIosAppMappingDetails/{id} (DELETE /v1/androidToIosAppMappingDetails/{id})
id必填GET /v1/appAssetLibraries/{id} (GET /v1/appAssetLibraries/{id})
id必填fields_appAssetLibrariesGET /v1/appAssetLibraries/{id}/relationships/images (GET /v1/appAssetLibraries/{id}/relationships/images)
id必填limitGET /v1/appAssetLibraries/{id}/images (GET /v1/appAssetLibraries/{id}/images)
id必填sortlimitincludefilter_idfilter_statefilter_specIdfilter_categorylimit_placementsfilter_referenceNamefields_appAssetLibraryImagesfields_appAssetLibraryPlacementsGET /v1/appAssetLibraries/{id}/relationships/videos (GET /v1/appAssetLibraries/{id}/relationships/videos)
id必填limitGET /v1/appAssetLibraries/{id}/videos (GET /v1/appAssetLibraries/{id}/videos)
id必填sortlimitincludefilter_idfilter_statefilter_specIdfilter_categorylimit_placementsfilter_referenceNamefields_appAssetLibraryVideosfields_appAssetLibraryPlacementsPOST /v1/appAssetLibraryImages (POST /v1/appAssetLibraryImages) Body shape: see OpenAPI components.schemas.AppAssetLibraryImageCreateRequest for the full JSON:API envelope.
body必填GET /v1/appAssetLibraryImages/{id} (GET /v1/appAssetLibraryImages/{id})
id必填includelimit_placementsfields_appAssetLibraryImagesfields_appAssetLibraryPlacementsPATCH /v1/appAssetLibraryImages/{id} (PATCH /v1/appAssetLibraryImages/{id}) Body shape: see OpenAPI components.schemas.AppAssetLibraryImageUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appAssetLibraryImages/{id} (DELETE /v1/appAssetLibraryImages/{id})
id必填GET /v1/appAssetLibraryImages/{id}/relationships/placements (GET /v1/appAssetLibraryImages/{id}/relationships/placements)
id必填limitGET /v1/appAssetLibraryImages/{id}/placements (GET /v1/appAssetLibraryImages/{id}/placements)
id必填sortlimitincludefilter_idfilter_statefilter_videofilter_placementTypefilter_placementGroupfilter_appEventLocalizationfields_appAssetLibraryImagesfields_appAssetLibraryVideos另有 8 個POST /v1/appAssetLibraryPlacementOrderingRequests (POST /v1/appAssetLibraryPlacementOrderingRequests) Body shape: see OpenAPI components.schemas.AppAssetLibraryPlacementOrderingRequestCreateRequest for the full JSON:API envelope.
body必填includelimit_orderedPlacementsfields_appAssetLibraryPlacementsfields_appAssetLibraryPlacementOrderingRequestsPOST /v1/appAssetLibraryPlacements (POST /v1/appAssetLibraryPlacements) Body shape: see OpenAPI components.schemas.AppAssetLibraryPlacementCreateRequest for the full JSON:API envelope.
body必填GET /v1/appAssetLibraryPlacements/{id} (GET /v1/appAssetLibraryPlacements/{id})
id必填includefields_appAssetLibraryImagesfields_appAssetLibraryVideosfields_appEventLocalizationsfields_appAssetLibraryPlacementsfields_appStoreVersionLocalizationsfields_appCustomProductPageLocalizationsfields_appStoreVersionExperimentTreatmentLocalizationsDELETE /v1/appAssetLibraryPlacements/{id} (DELETE /v1/appAssetLibraryPlacements/{id})
id必填GET /v1/appAssetLibraryRefData (GET /v1/appAssetLibraryRefData)
filter_specsfilter_featuresfilter_placementTypesfields_appAssetLibraryRefDatafilter_placementProfileGroupsGET /v1/appAssetLibraryRefData/{id} (GET /v1/appAssetLibraryRefData/{id})
id必填fields_appAssetLibraryRefDataPOST /v1/appAssetLibraryVideos (POST /v1/appAssetLibraryVideos) Body shape: see OpenAPI components.schemas.AppAssetLibraryVideoCreateRequest for the full JSON:API envelope.
body必填GET /v1/appAssetLibraryVideos/{id} (GET /v1/appAssetLibraryVideos/{id})
id必填includelimit_placementsfields_appAssetLibraryVideosfields_appAssetLibraryPlacementsPATCH /v1/appAssetLibraryVideos/{id} (PATCH /v1/appAssetLibraryVideos/{id}) Body shape: see OpenAPI components.schemas.AppAssetLibraryVideoUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appAssetLibraryVideos/{id} (DELETE /v1/appAssetLibraryVideos/{id})
id必填GET /v1/appAssetLibraryVideos/{id}/relationships/placements (GET /v1/appAssetLibraryVideos/{id}/relationships/placements)
id必填limitGET /v1/appAssetLibraryVideos/{id}/placements (GET /v1/appAssetLibraryVideos/{id}/placements)
id必填sortlimitincludefilter_idfilter_imagefilter_statefilter_placementTypefilter_placementGroupfilter_appEventLocalizationfields_appAssetLibraryImagesfields_appAssetLibraryVideos另有 8 個POST /v2/appAvailabilities (POST /v2/appAvailabilities) Body shape: see OpenAPI components.schemas.AppAvailabilityV2CreateRequest for the full JSON:API envelope.
body必填GET /v2/appAvailabilities/{id} (GET /v2/appAvailabilities/{id})
id必填includefields_appAvailabilitieslimit_territoryAvailabilitiesfields_territoryAvailabilitiesGET /v2/appAvailabilities/{id}/relationships/territoryAvailabilities (GET /v2/appAvailabilities/{id}/relationships/territoryAvailabilities)
id必填limitGET /v2/appAvailabilities/{id}/territoryAvailabilities (GET /v2/appAvailabilities/{id}/territoryAvailabilities)
id必填limitincludefields_territoriesfields_territoryAvailabilitiesGET /v1/appCategories (GET /v1/appCategories)
limitincludeexists_parentfilter_platformslimit_subcategoriesfields_appCategoriesGET /v1/appCategories/{id} (GET /v1/appCategories/{id})
id必填includelimit_subcategoriesfields_appCategoriesGET /v1/appCategories/{id}/relationships/parent (GET /v1/appCategories/{id}/relationships/parent)
id必填GET /v1/appCategories/{id}/parent (GET /v1/appCategories/{id}/parent)
id必填fields_appCategoriesGET /v1/appCategories/{id}/relationships/subcategories (GET /v1/appCategories/{id}/relationships/subcategories)
id必填limitGET /v1/appCategories/{id}/subcategories (GET /v1/appCategories/{id}/subcategories)
id必填limitfields_appCategoriesPOST /v1/appClipAdvancedExperienceImages (POST /v1/appClipAdvancedExperienceImages) Body shape: see OpenAPI components.schemas.AppClipAdvancedExperienceImageCreateRequest for the full JSON:API envelope.
body必填GET /v1/appClipAdvancedExperienceImages/{id} (GET /v1/appClipAdvancedExperienceImages/{id})
id必填fields_appClipAdvancedExperienceImagesPATCH /v1/appClipAdvancedExperienceImages/{id} (PATCH /v1/appClipAdvancedExperienceImages/{id}) Body shape: see OpenAPI components.schemas.AppClipAdvancedExperienceImageUpdateRequest for the full JSON:API envelope.
id必填body必填POST /v1/appClipAdvancedExperiences (POST /v1/appClipAdvancedExperiences) Body shape: see OpenAPI components.schemas.AppClipAdvancedExperienceCreateRequest for the full JSON:API envelope.
body必填GET /v1/appClipAdvancedExperiences/{id} (GET /v1/appClipAdvancedExperiences/{id})
id必填includefields_appClipslimit_localizationsfields_appClipAdvancedExperiencesfields_appClipAdvancedExperienceImagesfields_appClipAdvancedExperienceLocalizationsPATCH /v1/appClipAdvancedExperiences/{id} (PATCH /v1/appClipAdvancedExperiences/{id}) Body shape: see OpenAPI components.schemas.AppClipAdvancedExperienceUpdateRequest for the full JSON:API envelope.
id必填body必填POST /v1/appClipAppStoreReviewDetails (POST /v1/appClipAppStoreReviewDetails) Body shape: see OpenAPI components.schemas.AppClipAppStoreReviewDetailCreateRequest for the full JSON:API envelope.
body必填GET /v1/appClipAppStoreReviewDetails/{id} (GET /v1/appClipAppStoreReviewDetails/{id})
id必填includefields_appClipDefaultExperiencesfields_appClipAppStoreReviewDetailsPATCH /v1/appClipAppStoreReviewDetails/{id} (PATCH /v1/appClipAppStoreReviewDetails/{id}) Body shape: see OpenAPI components.schemas.AppClipAppStoreReviewDetailUpdateRequest for the full JSON:API envelope.
id必填body必填POST /v1/appClipDefaultExperienceLocalizations (POST /v1/appClipDefaultExperienceLocalizations) Body shape: see OpenAPI components.schemas.AppClipDefaultExperienceLocalizationCreateRequest for the full JSON:API envelope.
body必填GET /v1/appClipDefaultExperienceLocalizations/{id} (GET /v1/appClipDefaultExperienceLocalizations/{id})
id必填includefields_appClipHeaderImagesfields_appClipDefaultExperiencesfields_appClipDefaultExperienceLocalizationsPATCH /v1/appClipDefaultExperienceLocalizations/{id} (PATCH /v1/appClipDefaultExperienceLocalizations/{id}) Body shape: see OpenAPI components.schemas.AppClipDefaultExperienceLocalizationUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appClipDefaultExperienceLocalizations/{id} (DELETE /v1/appClipDefaultExperienceLocalizations/{id})
id必填GET /v1/appClipDefaultExperienceLocalizations/{id}/relationships/appClipHeaderImage (GET /v1/appClipDefaultExperienceLocalizations/{id}/relationships/appClipHeaderImage)
id必填GET /v1/appClipDefaultExperienceLocalizations/{id}/appClipHeaderImage (GET /v1/appClipDefaultExperienceLocalizations/{id}/appClipHeaderImage)
id必填includefields_appClipHeaderImagesfields_appClipDefaultExperienceLocalizationsPOST /v1/appClipDefaultExperiences (POST /v1/appClipDefaultExperiences) Body shape: see OpenAPI components.schemas.AppClipDefaultExperienceCreateRequest for the full JSON:API envelope.
body必填GET /v1/appClipDefaultExperiences/{id} (GET /v1/appClipDefaultExperiences/{id})
id必填includefields_appClipsfields_appStoreVersionsfields_appClipDefaultExperiencesfields_appClipAppStoreReviewDetailslimit_appClipDefaultExperienceLocalizationsfields_appClipDefaultExperienceLocalizationsPATCH /v1/appClipDefaultExperiences/{id} (PATCH /v1/appClipDefaultExperiences/{id}) Body shape: see OpenAPI components.schemas.AppClipDefaultExperienceUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appClipDefaultExperiences/{id} (DELETE /v1/appClipDefaultExperiences/{id})
id必填GET /v1/appClipDefaultExperiences/{id}/relationships/appClipAppStoreReviewDetail (GET /v1/appClipDefaultExperiences/{id}/relationships/appClipAppStoreReviewDetail)
id必填GET /v1/appClipDefaultExperiences/{id}/appClipAppStoreReviewDetail (GET /v1/appClipDefaultExperiences/{id}/appClipAppStoreReviewDetail)
id必填includefields_appClipDefaultExperiencesfields_appClipAppStoreReviewDetailsGET /v1/appClipDefaultExperiences/{id}/relationships/appClipDefaultExperienceLocalizations (GET /v1/appClipDefaultExperiences/{id}/relationships/appClipDefaultExperienceLocalizations)
id必填limitGET /v1/appClipDefaultExperiences/{id}/appClipDefaultExperienceLocalizations (GET /v1/appClipDefaultExperiences/{id}/appClipDefaultExperienceLocalizations)
id必填limitincludefilter_localefields_appClipHeaderImagesfields_appClipDefaultExperiencesfields_appClipDefaultExperienceLocalizationsGET /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion (GET /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion)
id必填PATCH /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion (PATCH /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion) Body shape: see OpenAPI components.schemas.AppClipDefaultExperienceReleaseWithAppStoreVersionLinkageRequest for the full JSON:API envelope.
id必填body必填GET /v1/appClipDefaultExperiences/{id}/releaseWithAppStoreVersion (GET /v1/appClipDefaultExperiences/{id}/releaseWithAppStoreVersion)
id必填includefields_appsfields_buildsfields_appStoreVersionsfields_routingAppCoveragesfields_appStoreReviewDetailsfields_gameCenterAppVersionsfields_appClipDefaultExperienceslimit_appStoreVersionExperimentsfields_appStoreVersionExperimentsfields_appStoreVersionSubmissions另有 5 個POST /v1/appClipHeaderImages (POST /v1/appClipHeaderImages) Body shape: see OpenAPI components.schemas.AppClipHeaderImageCreateRequest for the full JSON:API envelope.
body必填GET /v1/appClipHeaderImages/{id} (GET /v1/appClipHeaderImages/{id})
id必填includefields_appClipHeaderImagesfields_appClipDefaultExperienceLocalizationsPATCH /v1/appClipHeaderImages/{id} (PATCH /v1/appClipHeaderImages/{id}) Body shape: see OpenAPI components.schemas.AppClipHeaderImageUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appClipHeaderImages/{id} (DELETE /v1/appClipHeaderImages/{id})
id必填GET /v1/appClips/{id} (GET /v1/appClips/{id})
id必填includefields_appsfields_appClipslimit_appClipDefaultExperiencesfields_appClipDefaultExperiencesGET /v1/appClips/{id}/relationships/appClipAdvancedExperiences (GET /v1/appClips/{id}/relationships/appClipAdvancedExperiences)
id必填limitGET /v1/appClips/{id}/appClipAdvancedExperiences (GET /v1/appClips/{id}/appClipAdvancedExperiences)
id必填limitincludefilter_actionfilter_statusfields_appClipsfilter_placeStatuslimit_localizationsfields_appClipAdvancedExperiencesfields_appClipAdvancedExperienceImagesfields_appClipAdvancedExperienceLocalizationsGET /v1/appClips/{id}/relationships/appClipDefaultExperiences (GET /v1/appClips/{id}/relationships/appClipDefaultExperiences)
id必填limitGET /v1/appClips/{id}/appClipDefaultExperiences (GET /v1/appClips/{id}/appClipDefaultExperiences)
id必填limitincludefields_appClipsfields_appStoreVersionsfields_appClipDefaultExperiencesexists_releaseWithAppStoreVersionfields_appClipAppStoreReviewDetailslimit_appClipDefaultExperienceLocalizationsfields_appClipDefaultExperienceLocalizationsPOST /v1/appCustomProductPageLocalizations (POST /v1/appCustomProductPageLocalizations) Body shape: see OpenAPI components.schemas.AppCustomProductPageLocalizationCreateRequest for the full JSON:API envelope.
body必填GET /v1/appCustomProductPageLocalizations/{id} (GET /v1/appCustomProductPageLocalizations/{id})
id必填includelimit_placementslimit_appPreviewSetslimit_searchKeywordsfields_appPreviewSetslimit_appScreenshotSetsfields_appScreenshotSetsfields_appAssetLibraryPlacementsfields_appCustomProductPageVersionsfields_appCustomProductPageLocalizationsPATCH /v1/appCustomProductPageLocalizations/{id} (PATCH /v1/appCustomProductPageLocalizations/{id}) Body shape: see OpenAPI components.schemas.AppCustomProductPageLocalizationUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appCustomProductPageLocalizations/{id} (DELETE /v1/appCustomProductPageLocalizations/{id})
id必填GET /v1/appCustomProductPageLocalizations/{id}/relationships/appPreviewSets (GET /v1/appCustomProductPageLocalizations/{id}/relationships/appPreviewSets)
id必填limitGET /v1/appCustomProductPageLocalizations/{id}/appPreviewSets (GET /v1/appCustomProductPageLocalizations/{id}/appPreviewSets)
id必填limitincludelimit_appPreviewsfields_appPreviewsfilter_previewTypefields_appPreviewSetsfilter_appStoreVersionLocalizationfields_appStoreVersionLocalizationsfields_appCustomProductPageLocalizationsfilter_appStoreVersionExperimentTreatmentLocalizationfields_appStoreVersionExperimentTreatmentLocalizationsGET /v1/appCustomProductPageLocalizations/{id}/relationships/appScreenshotSets (GET /v1/appCustomProductPageLocalizations/{id}/relationships/appScreenshotSets)
id必填limitGET /v1/appCustomProductPageLocalizations/{id}/appScreenshotSets (GET /v1/appCustomProductPageLocalizations/{id}/appScreenshotSets)
id必填limitincludelimit_appScreenshotsfields_appScreenshotsfields_appScreenshotSetsfilter_screenshotDisplayTypefilter_appStoreVersionLocalizationfields_appStoreVersionLocalizationsfields_appCustomProductPageLocalizationsfilter_appStoreVersionExperimentTreatmentLocalizationfields_appStoreVersionExperimentTreatmentLocalizationsGET /v1/appCustomProductPageLocalizations/{id}/relationships/placements (GET /v1/appCustomProductPageLocalizations/{id}/relationships/placements)
id必填limitGET /v1/appCustomProductPageLocalizations/{id}/placements (GET /v1/appCustomProductPageLocalizations/{id}/placements)
id必填sortlimitincludefilter_idfilter_imagefilter_statefilter_videofilter_placementTypefilter_placementGroupfilter_appEventLocalizationfields_appAssetLibraryImages另有 8 個GET /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords (GET /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords)
id必填limitPOST /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords (POST /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords) Body shape: see OpenAPI components.schemas.AppCustomProductPageLocalizationSearchKeywordsLinkagesRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords (DELETE /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords) Body shape: see OpenAPI components.schemas.AppCustomProductPageLocalizationSearchKeywordsLinkagesRequest for the full JSON:API envelope.
id必填body必填GET /v1/appCustomProductPageLocalizations/{id}/searchKeywords (GET /v1/appCustomProductPageLocalizations/{id}/searchKeywords)
id必填limitfilter_localefilter_platformfields_appKeywordsPOST /v1/appCustomProductPageVersions (POST /v1/appCustomProductPageVersions) Body shape: see OpenAPI components.schemas.AppCustomProductPageVersionCreateRequest for the full JSON:API envelope.
body必填GET /v1/appCustomProductPageVersions/{id} (GET /v1/appCustomProductPageVersions/{id})
id必填includefields_appCustomProductPagesfields_appCustomProductPageVersionslimit_appCustomProductPageLocalizationsfields_appCustomProductPageLocalizationsPATCH /v1/appCustomProductPageVersions/{id} (PATCH /v1/appCustomProductPageVersions/{id}) Body shape: see OpenAPI components.schemas.AppCustomProductPageVersionUpdateRequest for the full JSON:API envelope.
id必填body必填GET /v1/appCustomProductPageVersions/{id}/relationships/appCustomProductPageLocalizations (GET /v1/appCustomProductPageVersions/{id}/relationships/appCustomProductPageLocalizations)
id必填limitGET /v1/appCustomProductPageVersions/{id}/appCustomProductPageLocalizations (GET /v1/appCustomProductPageVersions/{id}/appCustomProductPageLocalizations)
id必填limitincludefilter_localelimit_placementsfields_appKeywordslimit_appPreviewSetslimit_searchKeywordsfields_appPreviewSetslimit_appScreenshotSetsfields_appScreenshotSetsfields_appAssetLibraryPlacements另有 2 個POST /v1/appCustomProductPages (POST /v1/appCustomProductPages) Body shape: see OpenAPI components.schemas.AppCustomProductPageCreateRequest for the full JSON:API envelope.
body必填GET /v1/appCustomProductPages/{id} (GET /v1/appCustomProductPages/{id})
id必填includefields_appsfields_appCustomProductPageslimit_appCustomProductPageVersionsfields_appCustomProductPageVersionsPATCH /v1/appCustomProductPages/{id} (PATCH /v1/appCustomProductPages/{id}) Body shape: see OpenAPI components.schemas.AppCustomProductPageUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appCustomProductPages/{id} (DELETE /v1/appCustomProductPages/{id})
id必填GET /v1/appCustomProductPages/{id}/relationships/appCustomProductPageVersions (GET /v1/appCustomProductPages/{id}/relationships/appCustomProductPageVersions)
id必填limitGET /v1/appCustomProductPages/{id}/appCustomProductPageVersions (GET /v1/appCustomProductPages/{id}/appCustomProductPageVersions)
id必填limitincludefilter_statefields_appCustomProductPagesfields_appCustomProductPageVersionslimit_appCustomProductPageLocalizationsfields_appCustomProductPageLocalizationsPOST /v1/appEncryptionDeclarationDocuments (POST /v1/appEncryptionDeclarationDocuments) Body shape: see OpenAPI components.schemas.AppEncryptionDeclarationDocumentCreateRequest for the full JSON:API envelope.
body必填GET /v1/appEncryptionDeclarationDocuments/{id} (GET /v1/appEncryptionDeclarationDocuments/{id})
id必填fields_appEncryptionDeclarationDocumentsPATCH /v1/appEncryptionDeclarationDocuments/{id} (PATCH /v1/appEncryptionDeclarationDocuments/{id}) Body shape: see OpenAPI components.schemas.AppEncryptionDeclarationDocumentUpdateRequest for the full JSON:API envelope.
id必填body必填GET /v1/appEncryptionDeclarations (GET /v1/appEncryptionDeclarations)
limitincludefilter_appfields_appslimit_buildsfields_buildsfilter_buildsfilter_platformfields_appEncryptionDeclarationsfields_appEncryptionDeclarationDocumentsPOST /v1/appEncryptionDeclarations (POST /v1/appEncryptionDeclarations) Body shape: see OpenAPI components.schemas.AppEncryptionDeclarationCreateRequest for the full JSON:API envelope.
body必填GET /v1/appEncryptionDeclarations/{id} (GET /v1/appEncryptionDeclarations/{id})
id必填includefields_appslimit_buildsfields_buildsfields_appEncryptionDeclarationsfields_appEncryptionDeclarationDocuments[DEPRECATED] GET /v1/appEncryptionDeclarations/{id}/relationships/app (GET /v1/appEncryptionDeclarations/{id}/relationships/app)
id必填[DEPRECATED] GET /v1/appEncryptionDeclarations/{id}/app (GET /v1/appEncryptionDeclarations/{id}/app)
id必填fields_appsGET /v1/appEncryptionDeclarations/{id}/relationships/appEncryptionDeclarationDocument (GET /v1/appEncryptionDeclarations/{id}/relationships/appEncryptionDeclarationDocument)
id必填GET /v1/appEncryptionDeclarations/{id}/appEncryptionDeclarationDocument (GET /v1/appEncryptionDeclarations/{id}/appEncryptionDeclarationDocument)
id必填fields_appEncryptionDeclarationDocuments[DEPRECATED] POST /v1/appEncryptionDeclarations/{id}/relationships/builds (POST /v1/appEncryptionDeclarations/{id}/relationships/builds) Body shape: see OpenAPI components.schemas.AppEncryptionDeclarationBuildsLinkagesRequest for the full JSON:API envelope.
id必填body必填POST /v1/appEventLocalizations (POST /v1/appEventLocalizations) Body shape: see OpenAPI components.schemas.AppEventLocalizationCreateRequest for the full JSON:API envelope.
body必填GET /v1/appEventLocalizations/{id} (GET /v1/appEventLocalizations/{id})
id必填includefields_appEventslimit_placementslimit_appEventVideoClipsfields_appEventVideoClipslimit_appEventScreenshotsfields_appEventScreenshotsfields_appEventLocalizationsfields_appAssetLibraryPlacementsPATCH /v1/appEventLocalizations/{id} (PATCH /v1/appEventLocalizations/{id}) Body shape: see OpenAPI components.schemas.AppEventLocalizationUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appEventLocalizations/{id} (DELETE /v1/appEventLocalizations/{id})
id必填GET /v1/appEventLocalizations/{id}/relationships/appEventScreenshots (GET /v1/appEventLocalizations/{id}/relationships/appEventScreenshots)
id必填limitGET /v1/appEventLocalizations/{id}/appEventScreenshots (GET /v1/appEventLocalizations/{id}/appEventScreenshots)
id必填limitincludefields_appEventScreenshotsfields_appEventLocalizationsGET /v1/appEventLocalizations/{id}/relationships/appEventVideoClips (GET /v1/appEventLocalizations/{id}/relationships/appEventVideoClips)
id必填limitGET /v1/appEventLocalizations/{id}/appEventVideoClips (GET /v1/appEventLocalizations/{id}/appEventVideoClips)
id必填limitincludefields_appEventVideoClipsfields_appEventLocalizationsGET /v1/appEventLocalizations/{id}/relationships/placements (GET /v1/appEventLocalizations/{id}/relationships/placements)
id必填limitGET /v1/appEventLocalizations/{id}/placements (GET /v1/appEventLocalizations/{id}/placements)
id必填sortlimitincludefilter_idfilter_imagefilter_statefilter_videofilter_placementTypefilter_placementGroupfields_appAssetLibraryImagesfields_appAssetLibraryVideos另有 8 個POST /v1/appEventScreenshots (POST /v1/appEventScreenshots) Body shape: see OpenAPI components.schemas.AppEventScreenshotCreateRequest for the full JSON:API envelope.
body必填GET /v1/appEventScreenshots/{id} (GET /v1/appEventScreenshots/{id})
id必填includefields_appEventScreenshotsfields_appEventLocalizationsPATCH /v1/appEventScreenshots/{id} (PATCH /v1/appEventScreenshots/{id}) Body shape: see OpenAPI components.schemas.AppEventScreenshotUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appEventScreenshots/{id} (DELETE /v1/appEventScreenshots/{id})
id必填POST /v1/appEventVideoClips (POST /v1/appEventVideoClips) Body shape: see OpenAPI components.schemas.AppEventVideoClipCreateRequest for the full JSON:API envelope.
body必填GET /v1/appEventVideoClips/{id} (GET /v1/appEventVideoClips/{id})
id必填includefields_appEventVideoClipsfields_appEventLocalizationsPATCH /v1/appEventVideoClips/{id} (PATCH /v1/appEventVideoClips/{id}) Body shape: see OpenAPI components.schemas.AppEventVideoClipUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appEventVideoClips/{id} (DELETE /v1/appEventVideoClips/{id})
id必填POST /v1/appEvents (POST /v1/appEvents) Body shape: see OpenAPI components.schemas.AppEventCreateRequest for the full JSON:API envelope.
body必填GET /v1/appEvents/{id} (GET /v1/appEvents/{id})
id必填includefields_appEventslimit_localizationsfields_appEventLocalizationsPATCH /v1/appEvents/{id} (PATCH /v1/appEvents/{id}) Body shape: see OpenAPI components.schemas.AppEventUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appEvents/{id} (DELETE /v1/appEvents/{id})
id必填GET /v1/appEvents/{id}/relationships/localizations (GET /v1/appEvents/{id}/relationships/localizations)
id必填limitGET /v1/appEvents/{id}/localizations (GET /v1/appEvents/{id}/localizations)
id必填limitincludefields_appEventslimit_placementslimit_appEventVideoClipsfields_appEventVideoClipslimit_appEventScreenshotsfields_appEventScreenshotsfields_appEventLocalizationsfields_appAssetLibraryPlacementsPOST /v1/appInfoLocalizations (POST /v1/appInfoLocalizations) Body shape: see OpenAPI components.schemas.AppInfoLocalizationCreateRequest for the full JSON:API envelope.
body必填GET /v1/appInfoLocalizations/{id} (GET /v1/appInfoLocalizations/{id})
id必填includefields_appInfosfields_appInfoLocalizationsPATCH /v1/appInfoLocalizations/{id} (PATCH /v1/appInfoLocalizations/{id}) Body shape: see OpenAPI components.schemas.AppInfoLocalizationUpdateRequest for the full JSON:API envelope.
id必填body必填DELETE /v1/appInfoLocalizations/{id} (DELETE /v1/appInfoLocalizations/{id})
id必填GET /v1/appInfos/{id} (GET /v1/appInfos/{id})
id必填includefields_appsfields_appInfosfields_appCategorieslimit_appInfoLocalizationsfields_appInfoLocalizationsfields_ageRatingDeclarationsPATCH /v1/appInfos/{id} (PATCH /v1/appInfos/{id}) Body shape: see OpenAPI components.schemas.AppInfoUpdateRequest for the full JSON:API envelope.
id必填body必填GET /v1/appInfos/{id}/relationships/ageRatingDeclaration (GET /v1/appInfos/{id}/relationships/ageRatingDeclaration)
id必填GET /v1/appInfos/{id}/ageRatingDeclaration (GET /v1/appInfos/{id}/ageRatingDeclaration)
id必填fields_ageRatingDeclarationsGET /v1/appInfos/{id}/relationships/appInfoLocalizations (GET /v1/appInfos/{id}/relationships/appInfoLocalizations)
id必填limitGET /v1/appInfos/{id}/appInfoLocalizations (GET /v1/appInfos/{id}/appInfoLocalizations)
id必填limitincludefilter_localefields_appInfosfields_appInfoLocalizationsGET /v1/appInfos/{id}/relationships/primaryCategory (GET /v1/appInfos/{id}/relationships/primaryCategory)
id必填GET /v1/appInfos/{id}/primaryCategory (GET /v1/appInfos/{id}/primaryCategory)
id必填includelimit_subcategoriesfields_appCategoriesGET /v1/appInfos/{id}/relationships/primarySubcategoryOne (GET /v1/appInfos/{id}/relationships/primarySubcategoryOne)
id必填GET /v1/appInfos/{id}/primarySubcategoryOne (GET /v1/appInfos/{id}/primarySubcategoryOne)
id必填includelimit_subcategoriesfields_appCategoriesGET /v1/appInfos/{id}/relationships/primarySubcategoryTwo (GET /v1/appInfos/{id}/relationships/primarySubcategoryTwo)
id必填GET /v1/appInfos/{id}/primarySubcategoryTwo (GET /v1/appInfos/{id}/primarySubcategoryTwo)
id必填includelimit_subcategoriesfields_appCategoriesGET /v1/appInfos/{id}/relationships/secondaryCategory (GET /v1/appInfos/{id}/relationships/secondaryCategory)
id必填GET /v1/appInfos/{id}/secondaryCategory (GET /v1/appInfos/{id}/secondaryCategory)
id必填includelimit_subcategoriesfields_appCategoriesGET /v1/appInfos/{id}/relationships/secondarySubcategoryOne (GET /v1/appInfos/{id}/relationships/secondarySubcategoryOne)
id必填GET /v1/appInfos/{id}/secondarySubcategoryOne (GET /v1/appInfos/{id}/secondarySubcategoryOne)
id必填includelimit_subcategoriesfields_appCategoriesGET /v1/appInfos/{id}/relationships/secondarySubcategoryTwo (GET /v1/appInfos/{id}/relationships/secondarySubcategoryTwo)
id必填GET /v1/appInfos/{id}/secondarySubcategoryTwo (GET /v1/appInfos/{id}/secondarySubcategoryTwo)
id必填includelimit_subcategoriesfields_appCategories已滿足適用檢查項的 90%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
npm install -g apple-app-store-connect-mcpnpx -y apple-app-store-connect-mcp{ "mcpServers": { "app-store-connect": { "command": "app-store-connect-mcp" } }}accounts_add name: my-app keyId: AB12CD34EF issuerId: 69a6de70-... keyFile: /Users/you/.config/app-store-connect-mcp/AuthKey_AB12CD34EF.p8accounts_add name: my-app keyId: <the 10-char Key ID> issuerId: <the UUID shown above the API keys list> keyFile: /absolute/path/to/AuthKey_XXXXXXXXXX.p8 description: (optional)auth_statusapps_get_collectionaccounts_add name: client-a keyId: ... issuerId: ... keyFile: ...accounts_add name: client-b keyId: ... issuerId: ... keyFile: ...accounts_switch name: client-baccounts_list{ "mcpServers": { "app-store-connect": { "command": "app-store-connect-mcp", "env": { "ASC_ACCOUNT": "acme-app" } } }}ASC_KEY_ID="..."ASC_ISSUER_ID="..."ASC_PRIVATE_KEY_PATH="/absolute/path/to/AuthKey_XXX.p8"{ "mcpServers": { "app-store-connect": { "command": "app-store-connect-mcp" } }}claude mcp add app-store-connect app-store-connect-mcp{ "mcpServers": { "app-store-connect": { "command": "app-store-connect-mcp" } }}{ "mcpServers": { "app-store-connect": { "command": "app-store-connect-mcp", "env": { "ASC_ACCOUNT": "acme-app" } } }}{ "app-store-connect": { "command": "app-store-connect-mcp" }}{ "servers": { "app-store-connect": { "type": "stdio", "command": "app-store-connect-mcp" } }}git clone https://github.com/devinwang/app-store-connect-mcp.gitcd app-store-connect-mcpnpm installnpm run build{ "mcpServers": { "app-store-connect": { "command": "node", "args": ["/absolute/path/to/app-store-connect-mcp/dist/index.js"] } }}accounts_switch name: my-appauth_statusapps_get_collectionbuilds_get_collection "filter[preReleaseVersion.version]": "1.2.0" "filter[version]": "147"
beta_groups_get_collection "filter[app]": <APP_ID> "fields[betaGroups]": "name,publicLinkEnabled"
builds_beta_groups_create_to_many_relationship id: <BUILD_ID> body: data: - type: betaGroups id: <BETA_GROUP_ID>
builds_update_instance id: <BUILD_ID> body: data: type: builds id: <BUILD_ID> attributes: expired: falseapp_screenshots_create_instance body: data: type: appScreenshots attributes: fileName: "en-US-iphone-6_9-1.png" fileSize: 2415122 relationships: appScreenshotSet: data: { type: appScreenshotSets, id: <SET_ID> }# → response includes the new `data.id` (asset is now AWAITING_UPLOAD)
asset_upload_file filePath: /abs/path/to/screenshot.png assetType: appScreenshots # preferred: tool fetches uploadOperations assetId: <SCREENSHOT_ID> # server-side (signature stays server-side)# (legacy: pass `uploadOperations: [...]` from the create response instead)
app_screenshots_update_instance id: <SCREENSHOT_ID> body: data: type: appScreenshots id: <SCREENSHOT_ID> attributes: uploaded: true sourceFileChecksum: <MD5>ci_build_runs_create_instance body: data: type: ciBuildRuns relationships: workflow: data: { type: ciWorkflows, id: <WORKFLOW_ID> }# → response includes `data.id`
ci_build_run_wait id: <BUILD_RUN_ID> timeoutMs: 3600000customer_reviews_get_collection "filter[app]": <APP_ID> "sort": "-createdDate" "limit": 10
customer_review_responses_v1_create_instance body: data: type: customerReviewResponses attributes: responseBody: "Thanks for the feedback — we fixed this crash in 1.2.1. Please give it another try!" relationships: review: data: { type: customerReviews, id: <REVIEW_ID> }sales_reports_download "filter[frequency]": DAILY "filter[reportType]": SALES "filter[reportSubType]": SUMMARY "filter[vendorNumber]": "12345678" "filter[reportDate]": "2026-04-20"subscription_groups_create_instance body: { data: { type: subscriptionGroups, attributes: { referenceName: "Premium" }, relationships: { app: { data: { type: apps, id: <APP_ID> } } } } }
subscriptions_create_instance body: { data: { type: subscriptions, attributes: { productId: "com.example.premium.monthly", name: "Premium Monthly", subscriptionPeriod: "ONE_MONTH" }, relationships: { group: { data: { type: subscriptionGroups, id: <GROUP_ID> } } } } }
subscription_prices_create_instance body: { data: { type: subscriptionPrices, relationships: { subscription: { data: { type: subscriptions, id: <SUB_ID> } }, territory: { data: { type: territories, id: "USA" } }, subscriptionPricePoint: { data: { type: subscriptionPricePoints, id: <PRICE_POINT_ID> } } } } }