Check TestFlight Build Status
Find App Store Connect app with bundle ID [bundle ID]. List builds for [marketing version] and [platform], then inspect selected builds to summarize processing and TestFlight review status.
Leina connects to App Store Connect to help you check builds, summarize customer reviews, and update TestFlight notes. Ask in your team chat. Leina does the work and brings back the result.
Connect App Store Connect, choose what to share, and hand off your first task.
You
For the selected build, save these English testing notes: Test offline sign-in and confirm that saved drafts appear after reconnecting.
Leina
I’ve saved the en-US testing notes for the selected build. Testers can use these two checks.
TestFlight · What to Test
Offline sign-in and draft recovery
Testing notes saved for the selected build in en-US.
An App Store Connect AI agent works with the apps and release records your API key can access. Ask it to check a build, organize customer feedback, or put approved testing instructions into TestFlight.
You specify the source and the destination. Leina uses the content available to your connection and returns the result for you to review.
App Store Connect is Apple’s workspace for managing App Store apps, TestFlight testing, and customer reviews.
Provide the build ID, language, and approved instructions.
Read the build and its associated app to confirm the target.
Set What to Test for the selected language.
Get the build reference, language, and stored instructions.
Copy a prompt, add your details, and send it to Leina in your connected team chat.
Find App Store Connect app with bundle ID [bundle ID]. List builds for [marketing version] and [platform], then inspect selected builds to summarize processing and TestFlight review status.
Read customer reviews for App Store Connect app [app ID] in [storefront code]. Summarize recurring praise and issues with review IDs, and distinguish developer responses from customer text.
Read App Store Connect build [build ID]. Set its What to Test notes for [locale] to this approved text [text], and report the updated build and locale.
Your next App Store Connect task can start with a message.
Tell Leina what you need in your team chat. Include the source, destination, and expected result.
Connect the tools involved and give Leina access to the content it needs.
Share the source material, say where the result belongs, and describe what you need.
Review the result and any changes in the connected app.
Hand off these everyday tasks to your AI employee.
List the apps the API key can see, optionally filtered by bundle identifier, name, or SKU.
Read one app record by its App Store Connect identifier.
List builds uploaded for one app, with the prerelease version each build belongs to. Filter by version, platform, processing state, or TestFlight review state.
Read one build together with its prerelease version, its TestFlight review submission, and the app it belongs to.
List the prerelease versions of one app, which group its TestFlight builds by marketing version.
List the TestFlight groups of one app, including the public invitation link of each group.
Create a TestFlight group for an app, optionally enabling its public invitation link.
Delete a TestFlight group. Testers who only belonged to that group lose access to its builds.
List TestFlight testers, optionally narrowed to one app, group, or build.
Invite a TestFlight tester by email. App Store Connect only creates a tester that is assigned to something, so pass at least one of betaGroupIds or buildIds.
Remove a TestFlight tester from the team, revoking their access to every build and group.
Add existing TestFlight testers to one group so they receive the builds that group can install.
Remove testers from one TestFlight group. The testers stay on the team and keep access through their other groups.
Make one build available to TestFlight groups so their testers can install it.
Submit a build for TestFlight beta review, which external groups require before they can install it.
Set the "What to Test" notes a build shows testers in one locale. Updates the existing notes for that locale, or creates them when the locale has none yet.
List the App Store versions of one app, with the review and release state of each version.
Read one App Store version by its App Store Connect identifier.
List the App Store reviews of one app together with the developer response published for each review.
Read one App Store review together with the developer response published for it.
Publish a developer response to an App Store review. App Store Connect treats this as an upsert: an existing response for the same review is replaced, and publication is asynchronous.
Remove a published developer response from an App Store review.
List the members of the App Store Connect team, with the roles granted to each of them.
Read one App Store Connect team member by identifier.
Read the price schedule of an app, including the base territory its automatic prices derive from. Returns null when App Store Connect has no price schedule for the app yet. Use list_app_price_schedule_manual_prices and list_app_price_schedule_automatic_prices for the individual prices.
Set the price schedule of an app: the base territory plus the manual prices, each a price point (which already encodes its territory) with an optional date range. App Store Connect derives the prices of every other territory from the base territory price. The new schedule replaces the current prices and any scheduled price changes of the app. Find price point identifiers with list_app_price_points.
List the manual prices of a price schedule, each with the price point it uses, the territory it applies to and the customer price and proceeds of that price point.
List the automatic prices of a price schedule, which App Store Connect derives from the base territory price for every territory without a manual price. Each entry carries its price point, territory, customer price and proceeds.
Read the base territory of a price schedule, the territory whose price the automatic prices of the other territories are derived from.
List the price points an app can be sold at, optionally narrowed to some territories. Each price point carries the customer price and developer proceeds in the territory currency; pass its identifier to create_app_price_schedule.
Read one price point by its App Store Connect identifier, including the territory it belongs to.
List the price points in other territories that App Store Connect considers equivalent to one price point, optionally narrowed to some territories. Use it to pick matching manual prices across territories.
Read the availability configuration of an app, which says whether it is automatically offered in new territories. Returns null when App Store Connect has no availability record for the app yet. Use list_territory_availabilities for the per-territory settings.
Set the territory availability of an app: whether it is offered in new territories automatically, and for each listed territory whether it is available, its release date and whether pre-orders are enabled. The new configuration replaces the current availability of the app in every territory, so list every territory the app should stay available in.
List the per-territory availability of an app availability configuration: whether the app is on sale in each territory, its release date, pre-order settings and the content statuses that explain why it is or is not available.
Change the availability of an app in one territory: toggle whether it is available, set or clear its release date, or enable pre-orders. Pass at least one field; the others keep their current values.
End the pre-order of an app in the given territories and release it there immediately. This is how a pre-order for the whole app is ended: pass the territory availabilities of every territory the app is on pre-order in. The pre-order cannot be resumed afterwards.
List the webhooks registered on one app, with the URL, enabled state, and subscribed event types of each.
Read one webhook by its App Store Connect identifier.
Register a webhook on an app so App Store Connect posts a signed notification to the URL whenever one of the chosen events happens. Use ping_webhook afterwards to test the endpoint.
Change the name, URL, secret, event types, or enabled state of a webhook. Each given field replaces the current value; eventTypes replaces the whole list.
Delete a webhook. App Store Connect stops sending notifications to its URL and its delivery history is no longer reachable.
List the delivery attempts of one webhook, newest first as App Store Connect orders them, with the event each attempt carried and the response the endpoint returned. Filter by delivery state or creation time to find failed deliveries to resend.
Send the event of an earlier delivery again, for example after the endpoint was down. App Store Connect creates a new delivery marked as a redelivery; the original delivery record is kept.
Send a test ping notification to a webhook so the endpoint and its signature check can be verified. The ping shows up in the webhook deliveries with ping set to true.
List the bundle IDs (App IDs) registered with the team, optionally filtered by identifier, name, platform, or seed ID.
Read one bundle ID record by its App Store Connect identifier.
Register a new bundle ID (App ID) with the team. Capabilities are added afterwards with enable_bundle_id_capability.
Rename a bundle ID. The name is the only attribute App Store Connect lets you change; the identifier string and platform are fixed once registered.
Delete a bundle ID from the team. App Store Connect refuses to delete a bundle ID that an app record still uses.
List the provisioning profiles that were created for one bundle ID.
Read the App Store Connect app that uses one bundle ID. Returns null when no app has been created for the bundle ID yet.
List the capabilities enabled on one bundle ID, with their configured settings.
Enable a capability such as push notifications or associated domains on a bundle ID. Provisioning profiles created for the bundle ID before the change may need to be regenerated to carry the new entitlement.
Replace the configuration of a capability that is already enabled on a bundle ID, for example the iCloud version or data protection level. Provide at least one of capabilityType or settings; the settings given replace the current ones.
Disable a capability on a bundle ID and discard its configuration. Provisioning profiles that relied on the capability become invalid.
List the signing certificates of the team, including their base64 DER content, optionally filtered by type, display name, or serial number.
Read one certificate by its App Store Connect identifier, including its base64 DER content.
Issue a new signing certificate from a certificate signing request (CSR). Apple Pay and pass type certificates also take the merchant ID or pass type ID they belong to. Developer ID certificates for macOS can only be created in the Apple Developer website or Xcode, and Apple caps how many certificates of each type a team may hold.
Activate or deactivate a certificate. App Store Connect only exposes the activation state, which applies to Apple Pay payment processing certificates; a deactivated certificate stops being used for payment processing until it is activated again.
Revoke a certificate that was lost, stolen, compromised, or is expiring. Revocation is permanent and cannot be undone: apps signed with the certificate can no longer be re-signed with it, every provisioning profile that contains it becomes invalid, and Developer ID or Apple Pay certificates may need Apple to restore service. Issue a replacement with create_certificate first when the certificate is still in use.
List the provisioning profiles of the team, including their base64 content, optionally filtered by name, profile type, or validity state.
Read one provisioning profile by its App Store Connect identifier, including its base64 content.
Create a provisioning profile for one bundle ID from the given certificates and, for development and ad hoc profiles, the devices allowed to install the app. App Store and in-house profile types take no devices.
Delete a provisioning profile so it can no longer be downloaded or used to sign new builds. Create a replacement with create_profile when the bundle ID still needs one.
List the certificates embedded in one provisioning profile.
List the devices a development or ad hoc provisioning profile allows.
Read the bundle ID a provisioning profile was created for.
List the devices registered with the team, optionally filtered by name, platform, UDID, or status.
Read one registered device by its App Store Connect identifier.
Register a device with the team so development and ad hoc profiles can include it. Apple limits how many devices a team registers per membership year, and registered devices can only be removed in the Apple Developer website; use update_device to disable one instead.
Rename a registered device or change its status. Provide at least one of name or status. Disabling a device invalidates the development and ad hoc profiles that include it, while the device keeps counting toward the yearly device limit; re-enabling it keeps the same record.
List the Apple Pay merchant IDs registered with the team, optionally filtered by name or identifier.
Read one Apple Pay merchant ID record by its App Store Connect identifier.
Register an Apple Pay merchant ID with the team. Payment processing and merchant identity certificates are issued for it afterwards with create_certificate.
Rename an Apple Pay merchant ID. The name is the only attribute App Store Connect lets you change.
Delete an Apple Pay merchant ID from the team. Apple Pay transactions and certificates that reference it stop working.
List the Apple Pay certificates issued for one merchant ID, optionally filtered by type, display name, or serial number.
List the Wallet pass type IDs registered with the team, optionally filtered by name or identifier.
Read one Wallet pass type ID record by its App Store Connect identifier.
Register a Wallet pass type ID with the team. Pass signing certificates are issued for it afterwards with create_certificate.
Rename a Wallet pass type ID. The name is the only attribute App Store Connect lets you change.
Delete a Wallet pass type ID from the team. Passes signed for it can no longer be updated and its certificates stop working.
List the pass signing certificates issued for one pass type ID, optionally filtered by type, display name, or serial number.
Change the TestFlight flags of one build: expire it so testers can no longer install it, or record whether it uses non-exempt encryption. Expiring a build cannot be undone. Pass at least one field.
List the TestFlight testers who were assigned one build individually, outside of any group.
Assign existing TestFlight testers to one build individually so they can install it without belonging to a group.
Remove the individual assignment of TestFlight testers from one build. Testers keep access through any group that has the build.
Withdraw one build from TestFlight groups so their testers can no longer install it.
List the TestFlight groups that can install one build.
Read the TestFlight distribution details of one build: its internal and external testing states and whether testers are notified automatically.
Turn automatic tester notifications on or off for one build. The build beta detail identifier comes from get_build_beta_detail.
Send the TestFlight availability notification for one build to every tester who can install it. The notification cannot be recalled, so use it only when automatic notifications were off.
List the "What to Test" notes of one build, one record per locale, optionally narrowed to a single locale.
Read the "What to Test" notes record of one build and locale by its identifier.
Create the "What to Test" notes of one build for a locale that has none yet. App Store Connect rejects a second record for the same locale; use update_build_test_notes to change existing notes.
Replace the "What to Test" notes of one existing build localization. The previous text is overwritten.
Delete the "What to Test" notes of one build in one locale. Testers in that locale fall back to the notes of the primary locale.
Read the contact person, demo account, and notes Apple uses when reviewing an app for TestFlight external testing.
Change the contact person, demo account, or notes Apple uses when reviewing an app for TestFlight. Each field given replaces the stored value; pass at least one. The identifier comes from get_beta_app_review_detail.
List the TestFlight test information of one app, one record per locale, optionally narrowed to a single locale.
Read the TestFlight test information of one app and locale by its identifier.
Create the TestFlight test information of an app for a locale that has none yet: the description, feedback email, and URLs testers see in TestFlight.
Change the TestFlight test information of one app localization. Each field given replaces the stored value; pass at least one.
Delete the TestFlight test information of an app in one locale. Testers in that locale fall back to the primary locale.
Read the license agreement TestFlight testers of an app must accept.
Replace the license agreement text TestFlight testers of an app must accept. The identifier comes from get_beta_license_agreement.
Send the TestFlight invitation email again to a tester who has not accepted the invitation for one app.
Read one TestFlight group by its identifier, including its public link settings.
Change the name, public link, feedback, or Apple silicon and Apple Vision availability settings of one TestFlight group. Each field given replaces the stored value; pass at least one.
List the builds one TestFlight group can install, with the prerelease version each build belongs to.
Make several builds available to one TestFlight group so its testers can install them.
Withdraw several builds from one TestFlight group so its testers can no longer install them.
Read one TestFlight tester by its identifier, including the invitation state and the devices the app is installed on.
List the apps one TestFlight tester has access to.
Revoke a TestFlight tester's access to specific apps, removing them from every group and build of those apps while keeping them on the team.
List the TestFlight groups one tester belongs to.
Read one prerelease version by its identifier.
List the TestFlight beta review submissions of one build, optionally narrowed to one review state.
Read one TestFlight beta review submission by its identifier.
Create a new App Store version for an app on one platform. The version starts in PREPARE_FOR_SUBMISSION and can be deleted again until it is submitted for review.
Change the version string, copyright, review or release settings, or attached build of an App Store version. Each given field overwrites the current value; pass null for copyright or earliestReleaseDate to clear them.
Delete an App Store version that has not been submitted yet, together with its localizations and review information.
Select the build an App Store version submits for review, replacing any build selected before. Pass null as buildId to detach the current build.
Read the build currently attached to an App Store version, or null when no build has been selected.
List the localized App Store metadata (description, keywords, release notes, URLs) of one App Store version, optionally narrowed to specific locales.
Read the localized App Store metadata of one version in one locale.
Add App Store metadata for one locale to an App Store version. The locale must be enabled for the app and must not already have a localization on this version.
Overwrite the localized App Store metadata of one version in one locale. Only the given fields change; pass null to clear a field.
Remove the App Store metadata of one locale from an App Store version, including its screenshots and previews.
Read the phased release configuration of an App Store version, or null when phased release is not configured for it.
Enable phased release for an App Store version so an approved update rolls out to automatic-update users over seven days. Can be removed again with delete_app_store_version_phased_release before the version is released.
Pause, resume, or complete the phased rollout of a released version. COMPLETE releases the version to every user at once and cannot be undone.
Turn off phased release for an App Store version so the approved update reaches every user at once.
Release an approved App Store version that is waiting in PENDING_DEVELOPER_RELEASE to the App Store. The release starts immediately and cannot be undone.
Read the App Review contact details, demo account, and notes attached to an App Store version, or null when none were entered yet.
Enter the App Review contact details, demo account, and notes for an App Store version that has none yet.
Overwrite the App Review contact details, demo account, or notes of an App Store version. Only the given fields change; pass null to clear a text field.
List the review submissions of one app, with the App Store version each submission carries. Filter by platform or review state.
Read one review submission with its state and the App Store version it carries.
Start a new review submission for an app on one platform. Add items with add_review_submission_item, then send it with submit_review_submission. An app can have only one open submission per platform.
Send a prepared review submission and all of its items to App Review. The submission moves to WAITING_FOR_REVIEW and can only be taken back with cancel_review_submission.
Cancel a review submission, removing it from the App Review queue. Its items return to their previous state and a new submission is needed to submit them again.
List the items in a review submission, each naming the App Store version, custom product page version, experiment, or in-app event it reviews.
Add one record to an open review submission. Give exactly one of appStoreVersionId, appCustomProductPageVersionId, appStoreVersionExperimentId, appStoreVersionExperimentV2Id, or appEventId. The item can be removed again with delete_review_submission_item before the submission is sent.
Mark a review submission item as resolved after fixing the issues App Review raised, or mark it as removed so the submission continues without it.
Delete an item from a review submission that has not been sent to App Review yet.
Update app-level settings such as the primary locale, third-party content rights declaration, server notification URLs, or accessibility URL. Overwrites the given attributes; pass null for a URL to clear it. Pass at least one attribute.
List the app info records of an app, each with its review state, derived age ratings, and the identifiers of its App Store categories. An app usually has one editable record plus the record of the version on the App Store.
Read one app info record with its review state, derived age ratings, and App Store category identifiers.
Set the App Store categories of an app info record. Each given category replaces the current one; subcategories only apply when the matching category is Games or Stickers. Pass at least one category. Use list_app_categories to find identifiers.
List the localized names, subtitles, and privacy URLs of an app info record, optionally narrowed to some locales.
Read one app info localization by its identifier.
Add a locale to an app info record with the app name and optional subtitle and privacy URLs shown in that locale. App Store Connect rejects a locale the record already has.
Change the name, subtitle, or privacy URLs of an app info localization. Overwrites the given fields; pass null to clear a subtitle, URL, or privacy text. Pass at least one field.
Remove a locale from an app info record. The app stops being listed in that language once the change is submitted.
List App Store categories with their platforms, parent, and subcategory identifiers. Filter by platform or list only top-level categories or only subcategories.
Read one App Store category with its platforms, parent category, and subcategory identifiers.
Read the age rating questionnaire answers attached to an app info record, including any manual rating overrides.
Answer or change questions of the age rating questionnaire. Only the given answers are overwritten; App Store Connect recalculates the derived age ratings. Pass at least one answer.
List the accessibility declarations (Accessibility Nutrition Labels) of an app, optionally filtered by device family or publication state.
Read one accessibility declaration by its identifier.
Create a draft accessibility declaration for one device family of an app. The draft is not shown on the App Store until update_accessibility_declaration publishes it.
Change the supported accessibility features of a declaration, or publish it by passing publish: true, which replaces the currently published declaration for that device family. Pass at least one field.
Delete an accessibility declaration.
List the export compliance (encryption) declarations of an app with their review state and compliance code, optionally filtered by platform or by the builds they cover.
Read one export compliance (encryption) declaration by its identifier.
Create an export compliance declaration for an app that uses non-exempt encryption. App Store Connect reviews it and assigns a compliance code; the declaration cannot be edited afterwards, only replaced by a new one. Supporting documents must be uploaded separately.
Read the custom end user license agreement of an app together with the territories it applies in. Returns null when the app uses Apple's standard EULA everywhere.
Attach a custom end user license agreement to an app for the given territories. Apple's standard EULA keeps applying elsewhere. App Store Connect rejects a second agreement for the same app.
Replace the text of a custom end user license agreement or the full set of territories it applies in. Pass at least one of agreementText or territoryIds.
Remove the custom end user license agreement of an app so Apple's standard EULA applies in every territory.
List every App Store territory with its currency. Territory identifiers are used for license agreements, availability, and pricing.
List the tags App Store Connect assigned to an app for App Store discovery, optionally only those shown or hidden on the App Store.
List the Android app mappings of an app, which link an Android package to this app for Android to iPhone migration.
Read one Android app mapping by its identifier.
Map an Android app to this app by its package name and signing certificate fingerprints, so Android users migrating to iPhone are offered this app.
Change the package name or replace the full list of signing certificate fingerprints of an Android app mapping. Pass at least one field.
Delete an Android app mapping.
List the Xcode Cloud products of the team, optionally narrowed to one app or to app or framework products. A product holds the workflows and build runs of one app or framework.
Read one Xcode Cloud product by its App Store Connect identifier.
Delete an Xcode Cloud product, which removes every workflow and build history of that app or framework from Xcode Cloud.
List the workflows of one Xcode Cloud product.
List the build runs of one Xcode Cloud product across all of its workflows, optionally narrowed to the run that produced one build.
List the primary repositories of one Xcode Cloud product, the repositories that hold the project or package its workflows build.
List the additional repositories of one Xcode Cloud product, such as Swift package dependencies Xcode Cloud has been granted access to.
Read one Xcode Cloud workflow with its start conditions, actions, and the product, repository, Xcode version, and macOS version it uses.
Create an Xcode Cloud workflow for a product. Give it at least one action and, for automatic builds, one or more start conditions; without start conditions it can only be started manually.
Change an Xcode Cloud workflow. Every field given replaces the current value; a start condition or the actions array is replaced as a whole, so pass the complete new object. Give at least one field to change.
Delete an Xcode Cloud workflow together with its build history. Builds already delivered to TestFlight or App Store Connect are kept.
List the build runs of one Xcode Cloud workflow, optionally narrowed to the run that produced one build.
Read the source repository an Xcode Cloud workflow builds from.
Read one Xcode Cloud build run, including its progress, completion status, issue counts, and the commit it built. Poll it to follow a run started with start_ci_build_run.
Start an Xcode Cloud build run for a workflow. Pass the Git reference of the branch or tag to build, or the pull request to build; the run is queued and progresses asynchronously, so read it back with get_ci_build_run.
List the actions (build, analyze, test, archive) of one build run with the progress and outcome of each.
List the App Store Connect builds an Xcode Cloud build run delivered, with the prerelease version each build belongs to. Use it to find the build to distribute after an archive action.
Read one action of a build run, with its progress, outcome, and issue counts.
List the artifacts a build action produced, such as archives, log bundles, and result bundles, each with a time-limited download URL.
List the errors, warnings, analyzer warnings, and test failures a build action reported.
List the per-test results of a test action, with the outcome on each destination.
Read the build run a build action belongs to.
Read one build artifact, including a fresh time-limited download URL for its file.
Read one issue a build action reported, with the file and line it points at.
Read the result of one test method across the destinations it ran on.
List the macOS versions Xcode Cloud can build on.
Read one macOS version available in Xcode Cloud.
List the Xcode versions that can run on one macOS version in Xcode Cloud.
List the Xcode versions Xcode Cloud can build with, each with the simulators and Macs available for tests.
Read one Xcode version available in Xcode Cloud, with the simulators and Macs available for tests.
List the macOS versions one Xcode version can run on in Xcode Cloud.
List the source control providers (GitHub, GitLab, Bitbucket) connected to Xcode Cloud for the team.
Read one source control provider connected to Xcode Cloud.
List the repositories Xcode Cloud can access on one source control provider.
List every source repository Xcode Cloud can access across all connected providers, optionally narrowed to specific repository identifiers.
Read one source repository, with its provider and default branch identifiers.
List the branches and tags of one repository as Xcode Cloud sees them. Their identifiers are what start_ci_build_run takes as sourceBranchOrTagId.
List the pull requests of one repository as Xcode Cloud sees them. Their identifiers are what start_ci_build_run takes as scmPullRequestId.
Read one branch or tag of a repository as Xcode Cloud sees it.
Read one pull request of a repository as Xcode Cloud sees it.
List the screenshot feedback testers sent from TestFlight for one app, with the build and tester each submission came from. Screenshot download URLs expire, so fetch them soon after listing.
Read one screenshot feedback submission with its device details, attached screenshots, and the build and tester it came from.
Delete a screenshot feedback submission from App Store Connect. The screenshots and comment are removed permanently.
List the crash feedback testers sent from TestFlight for one app, with the build and tester each submission came from. Use get_beta_feedback_crash_log to read the crash log text of one submission.
Read one crash feedback submission with its device details and the build and tester it came from.
Delete a crash feedback submission from App Store Connect. The crash log and comment are removed permanently.
Read the full crash log text attached to one crash feedback submission.
Read the recruitment criteria of a TestFlight group, which restrict who can join through its public link by device family and OS version. Returns null when the group has no criteria.
Set recruitment criteria on a TestFlight group so only testers on the listed device families and OS versions can join through its public link. A group can hold one set of criteria; update or delete it afterwards.
Replace the device family and OS version filters of existing recruitment criteria. The previous filters are overwritten.
Delete the recruitment criteria of a TestFlight group, so anyone with the public link can join again.
List the device families and OS versions App Store Connect accepts in recruitment criteria, to pick valid minimumOsInclusive and maximumOsInclusive values.
Check whether a TestFlight group has a build that testers matching its recruitment criteria could install.
List the App Clip invocations testers can launch from TestFlight for one App Clip build bundle, with the localized titles of each. Find build bundle identifiers with list_build_bundles.
Read one TestFlight App Clip invocation together with its localized titles.
Add an App Clip experience that testers launch from the TestFlight app, creating its localized titles in the same request. At least one localization is required.
Change the invocation URL of a TestFlight App Clip invocation. The previous URL is overwritten.
Delete a TestFlight App Clip invocation and its localized titles. Testers can no longer launch that experience from TestFlight.
Add a localized title in one more locale to an existing TestFlight App Clip invocation.
Change the title of one localized App Clip invocation title. The locale itself cannot be changed; the previous title is overwritten.
Delete one localized title of a TestFlight App Clip invocation.
List the bundles (app, App Clip, and watch app) contained in one uploaded build, with their bundle identifiers, architectures, entitlements, and dSYM download URL. Every bundle of the build is returned in one call: App Store Connect only exposes bundles as an include of the build, capped at 50, and offers no cursor. Build bundle identifiers are needed for the App Clip and file size actions.
Read the cached validation status of the associated domains an App Clip build bundle declares, as Apple's CDN last recorded it. Returns null when App Store Connect has no status for the bundle.
Read the debug-mode validation status of the associated domains an App Clip build bundle declares, which checks the domains directly instead of Apple's CDN cache. Returns null when App Store Connect has no status for the bundle.
List the download and install sizes of one build bundle per device model and OS version, as App Store Connect computed them after processing.
Read TestFlight usage metrics for one app: sessions, crashes, and feedback over the chosen period, either as one aggregate row or as one row per tester.
Read TestFlight usage metrics for one group: sessions, crashes, and feedback over the chosen period, either as one aggregate row or as one row per tester.
Read TestFlight usage metrics of one tester in one app: sessions, crashes, and feedback over the chosen period.
Read TestFlight usage metrics of one build: invitations, installs, sessions, crashes, and feedback since the build became available.
List the introductory offers of one auto-renewable subscription, with the territory and price point of each offer. Filter by territory to inspect one storefront.
Create an introductory offer for an auto-renewable subscription. A FREE_TRIAL offer needs no price point; PAY_AS_YOU_GO and PAY_UP_FRONT offers need the subscription price point of the territory. Apple allows one active introductory offer per territory at a time. Sandbox may take up to an hour to reflect the change.
Change the end date of an introductory offer, or remove the end date so the offer runs until it is deleted. Apple allows no other change; create a new offer to change the price, duration, or mode.
Delete an introductory offer. Customers who already redeemed it keep their discounted period.
List the promotional offers of one auto-renewable subscription. Use list_subscription_promotional_offer_prices to read the territory prices of an offer.
Read one promotional offer by its App Store Connect identifier.
Create a promotional offer for an auto-renewable subscription together with its territory prices. The offer code becomes the identifier your app passes to StoreKit and cannot be changed later.
Set territory prices on an existing promotional offer. Each submitted territory replaces the price already stored for it; other attributes of the offer cannot be changed after creation.
Delete a promotional offer. Apps can no longer present it, and customers who already redeemed it keep their discounted period.
List the territory prices of one promotional offer, with the currency and customer price of each price point.
List the offer code configurations of one auto-renewable subscription, with the code counts and active state of each configuration.
Read one offer code configuration by its App Store Connect identifier.
Create an offer code configuration for an auto-renewable subscription together with its territory prices. Generate the redeemable codes afterwards with create_subscription_offer_code_custom_code or create_subscription_offer_code_one_time_use_code.
Activate or deactivate an offer code configuration. Deactivating it stops every custom and one-time use code of the configuration from being redeemed; Apple allows no other change after creation.
List the territory prices of one offer code configuration, with the currency and customer price of each price point.
List the custom codes generated for one offer code configuration.
Read one custom code batch by its App Store Connect identifier.
Generate a custom code for an offer code configuration, which many customers can redeem up to the given number of times. The code text cannot be changed once created.
Activate or deactivate a custom code. A deactivated code can no longer be redeemed until it is activated again.
List the one-time use code batches generated for one offer code configuration. The code values themselves are only available as a CSV download in App Store Connect.
Read one one-time use code batch by its App Store Connect identifier.
Generate a batch of one-time use codes for an offer code configuration. Each code can be redeemed once; download the code values from App Store Connect afterwards.
Activate or deactivate a one-time use code batch. Deactivating it stops every unredeemed code in the batch from being redeemed.
List the win-back offers of one auto-renewable subscription. Use list_win_back_offer_prices to read the territory prices of an offer.
Read one win-back offer by its App Store Connect identifier.
Create a win-back offer for lapsed subscribers of an auto-renewable subscription together with its prices, one subscription price point per territory. The offer identifier, duration, mode, and period count cannot be changed later.
Change the schedule, priority, promotion intent, or customer eligibility of a win-back offer. Only the given fields change; the identifier, duration, mode, period count, and prices cannot be changed after creation.
Delete a win-back offer. Apps can no longer present it, and customers who already redeemed it keep their discounted period.
List the territory prices of one win-back offer, with the currency and customer price of each price point.
Change the roles, app visibility, or provisioning access of a team member. Roles and visible apps replace the current values rather than adding to them. Pass at least one field to change.
Remove a member from the App Store Connect team. They lose access to every app and to any API keys tied to their account.
List the apps a team member can see. For a user with allAppsVisible the list reflects every app on the team.
Make additional apps visible to a team member who does not have access to all apps.
Hide apps from a team member so they can no longer open them in App Store Connect.
Replace the whole set of apps a team member can see. Apps missing from the new list are hidden from the user.
List pending invitations to join the App Store Connect team, optionally narrowed by email, role, or visible app.
Read one pending team invitation by identifier.
Invite someone to join the App Store Connect team with the given roles. Apple emails them an activation link that expires after three days; the invitation can be cancelled until it is accepted.
Cancel a pending team invitation. The activation link stops working; invite the person again if needed.
List the apps a pending invitation will make visible to the invited user.
Resolve audit-log actor identifiers, such as the submitter of a review submission, to the team member, API key, or system that performed the action. App Store Connect requires at least one identifier.
Read one audit-log actor by identifier.
List the Sandbox Apple Accounts of the team used to test in-app purchases. Sandbox accounts are created and deleted in App Store Connect, not through the API.
Change the territory, interrupted-purchase setting, or subscription renewal rate of a sandbox tester. Changes can take up to an hour to reach the sandbox environment. Pass at least one field to change.
Erase the purchase history of sandbox testers so they can test first-time purchases again. The history cannot be restored.
List the analytics report requests of one app, which are the entry point to its analytics reports.
Read one analytics report request by identifier.
Ask App Store Connect to generate analytics reports for an app. ONGOING produces new daily, weekly, and monthly reports until the request is deleted or stops for inactivity; ONE_TIME_SNAPSHOT delivers historical data once. Reports appear asynchronously, so list them later.
Delete an analytics report request. App Store Connect stops producing its reports and the existing report instances are no longer listed.
List the report types available under one analytics report request, optionally narrowed by category or exact name.
Read one analytics report type by identifier.
List the processed instances of one analytics report, each covering a daily, weekly, or monthly period.
Read one analytics report instance by identifier.
List the downloadable segments of one analytics report instance. Each url points at a gzip-compressed file that the caller downloads itself; the links expire five minutes after they are issued, so call this action right before downloading.
List the diagnostic signatures App Store Connect collected for one build: recurring call patterns behind disk writes, hangs, or slow launches, weighted by how critical they are.
Fetch the anonymized backtrace logs App Store Connect recorded for one diagnostic signature, including call stack trees and device metadata.
Fetch the performance and power metrics of the most recent versions of an app, such as launch time, hang rate, memory, and battery use, in the xcodeMetrics document format. Use get_build_perf_power_metrics for one specific build.
Fetch the performance and power metrics collected for one build in the xcodeMetrics document format.
List the subscription groups of one app, optionally narrowed by reference name or by the state of the subscriptions they contain.
Read one subscription group by its App Store Connect identifier.
Create a subscription group for an app. Subscriptions are created inside a group, and customers can switch between the subscriptions of one group.
Rename a subscription group. The new reference name replaces the existing one.
Delete a subscription group. App Store Connect only deletes groups that no longer contain subscriptions that have been approved.
List the customer-facing localized names of one subscription group.
Read one subscription group localization by its App Store Connect identifier.
Add the customer-facing name of a subscription group in one locale. Each locale can only be added once per group.
Change the customer-facing name or custom app name of a subscription group in one locale. Pass at least one field; the locale itself cannot be changed.
Delete the customer-facing name of a subscription group in one locale.
List the auto-renewable subscriptions of one subscription group, optionally narrowed by name, product identifier, or state.
Read one auto-renewable subscription by its App Store Connect identifier.
Create an auto-renewable subscription inside a subscription group. The product identifier cannot be changed afterwards, and the subscription still needs localizations, a price, availability, and a review submission before it can go on sale.
Change the reference name, subscription period, Family Sharing setting, review note, or group level of a subscription. Pass at least one field; each given field overwrites the existing value. Family Sharing cannot be turned off again once enabled for an approved subscription.
Delete an auto-renewable subscription. App Store Connect only deletes subscriptions that have never been approved; approved subscriptions can only be removed from sale.
List the customer-facing localized names and descriptions of one subscription.
Read one subscription localization by its App Store Connect identifier.
Add the customer-facing name and description of a subscription in one locale. Each locale can only be added once per subscription.
Change the customer-facing name or description of a subscription in one locale. Pass at least one field; the locale itself cannot be changed.
Delete the customer-facing name and description of a subscription in one locale.
List the current and scheduled prices of one subscription, with the territory and price point of each price. Filter by territory, payment plan, or price point.
Set the price of a subscription in one territory from a subscription price point, either as the initial price or as a scheduled price change. Use list_subscription_price_points to find the price point identifier. A scheduled change can be removed again with delete_subscription_price.
Delete a scheduled price change of a subscription before it takes effect. The price that is already in effect cannot be deleted.
List the price points a subscription can be priced at, with the customer price and developer proceeds of each. Apple recommends filtering by territory and plans to make that filter mandatory.
Read one subscription price point by its App Store Connect identifier.
List the price points in other territories that App Store Connect considers equivalent to one subscription price point, which is how a price set in one territory is carried over to the rest.
List the adjusted territory equalizations of one subscription price point, the equivalents App Store Connect proposes after its territory-specific price adjustments.
Read the billing grace period settings of an app, either by app or by the grace period record identifier. Pass exactly one of appId or subscriptionGracePeriodId.
Change the billing grace period settings of an app: turn it on or off in production or the sandbox, set its length, or choose which renewals it covers. Pass at least one field; the change applies to every subscription of the app.
List the territory availability records of one subscription, one per payment plan. Use list_subscription_plan_availability_territories for the full territory list of a record.
Read one subscription plan availability by its App Store Connect identifier.
Make one payment plan of a subscription available in a set of territories. Each plan type can only have one availability record per subscription; use update_subscription_plan_availability to change an existing one.
Change the territories a subscription payment plan is sold in, or whether it opens automatically in new territories. Pass at least one field; availableTerritoryIds replaces the whole territory list, so territories left out stop selling the plan.
List the territories in which one subscription plan availability sells the plan.
List the versions of one subscription, optionally narrowed by review state. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
Read one subscription version by its App Store Connect identifier. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
Create a new draft version of a subscription so its localized metadata can be edited and submitted for review while the approved version stays live. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
List the localized names and descriptions attached to one subscription version. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
Read one subscription version localization by its App Store Connect identifier. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
Add the customer-facing name and description of a subscription in one locale to a subscription version. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
Change the customer-facing name or description of a subscription version localization. Pass at least one field; the locale itself cannot be changed. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
Delete one localization from a subscription version. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
List the versions of one subscription group, optionally narrowed by review state. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
Read one subscription group version by its App Store Connect identifier. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
Create a new draft version of a subscription group so its localized names can be edited and submitted for review while the approved version stays live. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
List the localized names attached to one subscription group version. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
Read one subscription group version localization by its App Store Connect identifier. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
Add the customer-facing name of a subscription group in one locale to a subscription group version. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
Change the customer-facing name or custom app name of a subscription group version localization. Pass at least one field; the locale itself cannot be changed. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
Delete one localization from a subscription group version. Versions belong to the App Store Connect API 4.4 review flow: a version is a draft of the localized metadata that goes through App Review, and the live record is replaced once the version is approved.
List the in-app purchases of one app (consumables, non-consumables, and non-renewing subscriptions; auto-renewable subscriptions are a separate family). Filter by type, state, name, or product identifier.
Read one in-app purchase by its App Store Connect identifier.
Create an in-app purchase for an app. The product identifier is permanent and cannot be reused after deletion, so choose it carefully. The purchase starts in MISSING_METADATA until localizations, a price schedule, and a review screenshot are added.
Update the reference name, review note, or Family Sharing flag of an in-app purchase. Pass at least one field; each given field overwrites the current value.
Delete an in-app purchase that has never been approved. Its product identifier can never be used again for this app.
List the localized display names and descriptions of one in-app purchase, one record per locale.
Read one in-app purchase localization by its identifier.
Add the display name and description of an in-app purchase for one locale. Each locale can have only one localization per purchase.
Overwrite the display name or description of an in-app purchase localization. Pass at least one field; the locale itself cannot be changed.
Delete one locale of an in-app purchase's display name and description.
List the price points available to an in-app purchase, with the customer price and proceeds per territory. Use a price point identifier from here when building a price schedule or offer code price.
List the price points in other territories that Apple considers equivalent to one price point, which is how automatic prices for a base territory are derived.
Read the price schedule of an in-app purchase together with its base territory. Returns null when the purchase has no price schedule yet.
Set the price schedule of an in-app purchase: a base territory plus manual prices for specific territories. Territories without a manual price get automatic prices equalized from the base territory. Posting a schedule replaces the prices App Store Connect currently has for the purchase.
List the manually set prices of an in-app purchase price schedule, with the price point, customer price, and proceeds of each.
List the prices App Store Connect derived automatically from the base territory of an in-app purchase price schedule.
Read the base territory of an in-app purchase price schedule, including its currency.
Read the availability record of an in-app purchase, which says whether it is offered in new territories automatically. Returns null when no availability has been set. Use list_in_app_purchase_available_territories for the territory list.
Set the territories an in-app purchase is sold in. The list replaces the current availability entirely, so territories left out are removed from sale.
List the territories an in-app purchase is currently sold in, using the availability record identifier from get_in_app_purchase_availability.
Read the metadata and temporary download URL of the hosted content package of an in-app purchase. Returns null when no content has been uploaded.
List the metadata versions of an in-app purchase, optionally narrowed to one review state.
Read one in-app purchase version by its identifier.
Create a new metadata version of an in-app purchase so its display text and images can be edited and reviewed without taking the approved version off sale.
List the localized display names and descriptions attached to one in-app purchase version.
Read one localization of an in-app purchase version by its identifier.
Add the display name and description of an in-app purchase version for one locale.
Overwrite the display name or description of an in-app purchase version localization. Pass at least one field.
Delete one locale from an in-app purchase version.
Submit an in-app purchase to App Review. The purchase must be in READY_TO_SUBMIT; once submitted it cannot be edited until review finishes.
List the offer code configurations of an in-app purchase, optionally narrowed to offers priced in one territory.
Read one in-app purchase offer code configuration by its identifier.
Create an offer code configuration for an in-app purchase: who may redeem it and the discounted price per territory. Generate redeemable codes afterwards with the custom code or one-time-use code actions.
Activate or deactivate an in-app purchase offer code. Deactivating stops every custom and one-time-use code of the offer from being redeemed.
List the discounted prices of an in-app purchase offer code per territory, with the price point, customer price, and proceeds of each.
List the custom codes generated for an in-app purchase offer code.
Create a custom code for an in-app purchase offer that customers redeem by typing it, with a redemption limit and optional expiration date.
Activate or deactivate one custom code of an in-app purchase offer without touching the other codes of the offer.
List the one-time-use code batches generated for an in-app purchase offer code. The code values are only available as a CSV download in App Store Connect.
Generate a batch of one-time-use codes for an in-app purchase offer. Download the generated code values from App Store Connect afterwards; they are not returned here.
Activate or deactivate one batch of one-time-use codes of an in-app purchase offer.
List the in-app purchases and subscriptions promoted on the App Store product page of one app, in display order.
Read one promoted purchase by its identifier.
Promote an in-app purchase or a subscription on the App Store product page of an app. Pass exactly one of inAppPurchaseId or subscriptionId. A promotional image must still be uploaded in App Store Connect before the promotion can be submitted.
Change whether a promoted purchase is enabled or visible to all customers. Pass at least one field.
Remove a promotion from the App Store product page of an app.
Set the display order of the promoted purchases of an app. The list replaces the current order, so include every promoted purchase that should stay listed.
List the custom product pages of one app, optionally only the visible or only the hidden ones.
Read one custom product page by its App Store Connect identifier.
Create a custom product page for an app. Copy the metadata of an App Store version (appStoreVersionTemplateId) or of another custom product page (customProductPageTemplateId), or create the first page version inline with a deep link and localized promotional text. The page starts hidden until its first version passes App Review; use list_app_custom_product_page_versions to find the version to work on.
Rename a custom product page or toggle its visibility on the App Store. Overwrites the given fields; pass at least one.
Delete a custom product page together with all of its versions and localizations. Its App Store URL stops working.
List the versions of one custom product page, optionally narrowed to some review states.
Read one custom product page version by its App Store Connect identifier.
Create a new editable version of a custom product page, for example to change it after the current version was approved. App Store Connect rejects a new version while the page already has one that is still being prepared or reviewed.
Set or clear the deep link of a custom product page version. Overwrites the existing deep link; pass null to remove it.
List the localizations of one custom product page version, optionally narrowed to some locales.
Read one custom product page localization by its App Store Connect identifier.
Add a locale to a custom product page version with optional promotional text. Screenshots and app previews for the locale are uploaded separately. App Store Connect rejects a locale the version already has.
Replace the promotional text of a custom product page localization, or clear it with null.
Remove a locale from a custom product page version, including the screenshots and previews attached to it.
List the product page optimization tests of one app, optionally narrowed to some states, with the App Store version each test uses as its control.
Read one product page optimization test, including the App Store version that serves as its control.
Create a product page optimization test for an app on one platform. The test starts in PREPARE_FOR_SUBMISSION; add treatments with create_app_store_version_experiment_treatment, then start it with update_app_store_version_experiment once its treatments are approved.
Rename a product page optimization test, change its traffic proportion, or start it by passing started true. Starting a test is not reversible: it begins serving treatments to App Store traffic and can only be stopped, not returned to draft. Pass at least one field.
Delete a product page optimization test together with its treatments. A running test is stopped; results already collected are lost.
List the treatments of one product page optimization test.
Read one treatment of a product page optimization test.
Add a treatment to a product page optimization test, optionally using an alternate app icon bundled with the app. Add locales to the treatment with create_app_store_version_experiment_treatment_localization before uploading its screenshots.
Rename a treatment or change its alternate app icon. Overwrites the given fields; pass null as appIconName to return to the default icon. Pass at least one field.
Delete a treatment from a product page optimization test, including its localizations and screenshots.
List the locales of one treatment, optionally narrowed to some locales. Screenshots and previews of a treatment are attached to these localizations.
Read one treatment localization by its App Store Connect identifier.
Add a locale to a treatment so screenshots and app previews can be uploaded for it. App Store Connect rejects a locale the treatment already has.
Remove a locale from a treatment, including the screenshots and previews attached to it.
Promote the winning treatment of a product page optimization test to the default product page: its screenshots, previews, and app icon are applied to the given App Store version, replacing that version's current product page assets. Use list_app_store_version_experiments to find the control version (latestControlVersionId) the test ran against.
List the Apple-hosted background asset packs of one app, with the version currently in each of the App Store, internal TestFlight, and external TestFlight slots.
Read one background asset pack, with the version currently in each of the App Store, internal TestFlight, and external TestFlight slots.
Create an Apple-hosted background asset pack record for an app. The record starts without versions; create a version next, then upload and commit the asset pack archive through the generic proxy or Xcode.
Archive or unarchive a background asset pack. Archiving is the only change App Store Connect accepts on an asset pack; the identifier and versions stay as they are.
List the versions of one background asset pack with their processing state and their internal TestFlight, external TestFlight, and App Store release records.
Read one background asset version with its processing state, validation messages, parent asset pack, and release records.
Create a new version record for a background asset pack. App Store Connect assigns the next version number automatically; the version stays in AWAITING_UPLOAD until the asset pack archive is uploaded and committed, which needs the binary upload endpoints outside these actions.
Read the App Store release record of a background asset version, which tracks its App Review and distribution state.
Read the internal TestFlight release record of a background asset version. App Store Connect creates it once the version finishes processing.
Read the external TestFlight release record of a background asset version, which tracks its beta review state.
List the alternative distribution public keys of the team. A key without an app applies to every alternative distribution app on the account.
Read one alternative distribution key and its public key.
Read the alternative distribution key tied to one app, or null when the app has no key of its own.
Upload the public half of an alternative distribution key pair. Without appId the key applies to every alternative distribution app on the account; with appId it is tied to that marketplace or web distribution app. The private half never goes to Apple and signs the marketplace JWTs or install verification.
Remove an alternative distribution key from the account. Tokens signed with the matching private key stop being accepted.
List the base web domains registered for alternative distribution on the account.
Read one alternative distribution domain.
Register the base web domain that serves a marketplace app or web distribution app. All app pages and the marketplace sitemap must live on this domain, and it is enabled for every alternative distribution app on the account.
Delete an alternative distribution domain. Apps served from that domain can no longer be installed through it.
Read one alternative distribution package and the checksums of the source build it was generated from. Use list_alternative_distribution_package_versions for its downloadable versions.
Read the alternative distribution package generated for one App Store version, or null when none exists yet.
Generate the alternative distribution package for an already approved App Store version. Versions approved after alternative distribution was enabled get their package automatically; use this for versions that were approved before.
List the versions of an alternative distribution package with their time-limited download URLs.
Read one alternative distribution package version and its time-limited download URL.
List the device-specific variants of an alternative distribution package version, each with its download URL and encrypted key blob.
Read one variant of an alternative distribution package version, with its download URL and encrypted key blob.
List the delta updates of an alternative distribution package version, each with its download URL and encrypted key blob.
Read one delta update of an alternative distribution package version, with its download URL and encrypted key blob.
Read the marketplace search detail of an alternative marketplace app, or null when no catalog URL has been configured.
Set the sitemap catalog URL of an alternative marketplace app so Apple can crawl it and include the marketplace apps in Spotlight search. Each marketplace app holds one search detail.
Replace the sitemap catalog URL of an existing marketplace search detail.
Delete the marketplace search detail of an alternative marketplace app. Apple stops crawling the catalog URL.
List the in-app events of an app, optionally narrowed to some review states or identifiers.
Read one in-app event with its state, badge, purpose, and territory schedules.
Create a draft in-app event for an app. Add localizations with create_app_event_localization before submitting the event for review in App Store Connect.
Change the reference name, badge, deep link, purchase requirement, locale, priority, purpose, or territory schedules of an in-app event. Overwrites the given fields; pass null for deepLink or purchaseRequirement to clear it. Pass at least one field.
Delete an in-app event together with its localizations. A published event is removed from the App Store.
List the localized name and descriptions of an in-app event for every locale.
Read one in-app event localization by its identifier.
Add a locale to an in-app event with the name and descriptions shown in that locale. App Store Connect rejects a locale the event already has.
Change the name or descriptions of an in-app event localization. Overwrites the given fields; pass null to clear a field. Pass at least one field.
Remove a locale from an in-app event together with the screenshots and video clips uploaded for it.
List the App Clips of an app, optionally filtered by bundle identifier.
Read one App Clip by its identifier.
List the default experiences of an App Clip with the App Store version each one is released with. Optionally keep only experiences that are, or are not, attached to a version.
Read one default App Clip experience with its action and the App Store version it is released with.
Create a default experience for an App Clip, optionally attached to the App Store version it ships with or copied from an existing experience.
Change the action of a default App Clip experience or the App Store version it is released with. Pass at least one field.
Delete a default App Clip experience together with its localizations and review detail.
Attach a default App Clip experience to the App Store version it is released with, replacing any version attached before.
List the localized subtitles of a default App Clip experience, optionally narrowed to some locales.
Read one default App Clip experience localization by its identifier.
Add a locale to a default App Clip experience with the subtitle shown on the App Clip card in that locale. The header image is uploaded separately in App Store Connect.
Change the subtitle of a default App Clip experience localization, or pass null to remove it.
Remove a locale from a default App Clip experience together with its header image.
Read the invocation URLs App Review uses to test a default App Clip experience, or null when none were provided yet.
Provide the invocation URLs App Review uses to test a default App Clip experience. Each experience has at most one review detail; use update_app_clip_app_store_review_detail to change it.
Replace the invocation URLs App Review uses to test a default App Clip experience. Pass an empty list to remove them all.
List the advanced experiences of an App Clip with their localized card text. Filter by status, place match status, or action.
Read one advanced App Clip experience with its invocation URL, place, status, and localized card text.
Create an advanced App Clip experience for an invocation URL with its localized card text and optional place. App Store Connect requires a header image reserved beforehand through the appClipAdvancedExperienceImages endpoint (a binary upload, available through the proxy); pass its identifier as headerImageId.
Change the action, business category, default language, place, header image, or localized card text of an advanced App Clip experience. Overwrites the given fields; a given localizations list is written inline and replaces the relationship. Pass at least one field.
Delete an advanced App Clip experience. App Store Connect has no DELETE endpoint for it; the experience is removed by setting its documented removed flag, after which users can no longer invoke it.
List the featuring nominations of the team in the given states, optionally narrowed by type, related app, or whether they include in-app events.
Read one featuring nomination by its identifier.
Create a featuring nomination for one or more apps. With submitted false it stays a draft you can edit; with submitted true it is sent to Apple's editorial team right away.
Change a featuring nomination, submit a draft with submitted true, or archive it with archived true. Overwrites the given fields; a given list of apps, events, or territories replaces the current one. Pass null for publishEndDate or notes to clear it. Pass at least one field.
Delete a featuring nomination.
Read the Game Center configuration of one app, including the group it belongs to and the leaderboards shown by default. Returns null when the app has never been enabled for Game Center.
Enable Game Center for an app by creating its Game Center detail. The detail owns the achievements, leaderboards and leaderboard sets of the app, and an app has at most one of them.
Read one Game Center detail by its App Store Connect identifier, together with the group and the default leaderboards it links to.
Move a Game Center detail into a group, or change the leaderboards shown by default in the Game Center dashboard. Overwrites the relationships you pass; pass at least one. App Store Connect does not echo the linked identifiers on this call, so read them back with get_game_center_detail.
Read the Game Center group a Game Center detail belongs to. Returns null when the app does not share its achievements and leaderboards with other apps.
List the achievements of one Game Center detail, optionally narrowed by reference name, archived state or identifier.
List the leaderboards of one Game Center detail, optionally narrowed by reference name, archived state or identifier.
List the leaderboard sets of one Game Center detail, optionally narrowed by reference name or identifier.
List the App Store versions of the app together with their Game Center enablement, optionally narrowed to the enabled or the disabled ones.
Replace the achievements attached to a Game Center detail. The identifiers you pass become the complete set, so an achievement left out is detached from the app.
Replace the leaderboards attached to a Game Center detail. The identifiers you pass become the complete set, so a leaderboard left out is detached from the app.
Replace the leaderboard sets attached to a Game Center detail. The identifiers you pass become the complete set, so a leaderboard set left out is detached from the app.
Replace the earliest App Store versions, one per platform, that may take part in Game Center challenges. The identifiers you pass become the complete set, so a platform left out no longer has a minimum version.
List the Game Center groups of the team. Apps in a group share their achievements, leaderboards and leaderboard sets, so players keep one progress across the apps.
Create a Game Center group. The group starts empty: an app joins it through its Game Center detail, and the achievements, leaderboards and leaderboard sets it shares are set with the replace actions.
Read one Game Center group by its App Store Connect identifier.
Rename a Game Center group. Overwrites the reference name; pass null to clear it. The apps and the shared records of the group are not touched.
Delete a Game Center group. The apps that were in the group keep their own Game Center records and stop sharing progress with each other.
List the Game Center details of the apps that belong to one group, that is the apps sharing the achievements, leaderboards and leaderboard sets of the group.
List the achievements shared by one Game Center group, optionally narrowed by reference name, archived state or identifier.
List the leaderboards shared by one Game Center group, optionally narrowed by reference name, archived state or identifier.
List the leaderboard sets shared by one Game Center group, optionally narrowed by reference name or identifier.
Set which achievements one Game Center group shares. Pass the complete list: an achievement left out is no longer shared through the group.
Set which leaderboards one Game Center group shares. Pass the complete list: a leaderboard left out is no longer shared through the group.
Set which leaderboard sets one Game Center group shares. Pass the complete list: a leaderboard set left out is no longer shared through the group.
Turn Game Center on for one App Store version by creating its Game Center app version record. Everything Game Center knows about that release hangs off this record: use update_game_center_app_version to toggle it again, and add_compatibility_versions_to_game_center_app_version to keep earlier releases multiplayer compatible with it.
Read one Game Center app version by its App Store Connect identifier.
Enable or disable Game Center for the App Store version this record belongs to. Disabling it hides Game Center from players on that release without deleting its achievements or leaderboards.
Read the App Store version a Game Center app version belongs to, for example to learn its version string and review state.
List the earlier app versions that stay multiplayer compatible with this one, so players who have not updated yet can still be matched with players who have. Optionally narrowed to the compatible versions that have Game Center enabled.
Mark earlier Game Center app versions as multiplayer compatible with this one. Adds to the versions already listed instead of replacing them.
Stop treating earlier Game Center app versions as multiplayer compatible with this one. Players still on a removed version can no longer be matched with players on this one.
Read the Game Center app version of one App Store version. Returns null when Game Center was never enabled for that version.
Post a score to a Game Center leaderboard on behalf of a player. This is how a server-authoritative game reports scores its own backend computed instead of letting the game client submit them.
Report a player's progress towards a Game Center achievement from a server instead of from the game client. Submitting 100 marks the achievement earned.
Create a Game Center achievement together with its first version. Pass gameCenterDetailId when the achievement belongs to a single app, or gameCenterGroupId when it is shared by every app of a Game Center group. The achievement has no player-facing text yet; read the first version with list_game_center_achievement_versions and add locales with create_game_center_achievement_localization.
Read one Game Center achievement by its App Store Connect identifier.
Change the configuration of a Game Center achievement, or archive it so it is no longer offered to players. Overwrites the given fields; pass at least one. The vendor identifier cannot be changed after the achievement was created.
Delete a Game Center achievement together with all of its versions and localizations. Players lose the achievement and the progress recorded for it.
List the versions of one Game Center achievement, each with the review and release state of the localizations it carries.
Attach a Game Center achievement to a game activity, replacing the activity it was attached to before.
Create a new version of a Game Center achievement. Editing the player-facing text of an achievement that is already live goes through a new version: add or change its localizations, and the version carries them through App Review.
Read one Game Center achievement version by its App Store Connect identifier.
List the localizations of one Game Center achievement version, one per locale the achievement is shown in.
Add a locale to a Game Center achievement version with the name and the two descriptions players see before and after they earn the achievement. The achievement image for the locale is uploaded separately. App Store Connect rejects a locale the version already has.
Read one Game Center achievement localization by its App Store Connect identifier.
Change the name or the descriptions of a Game Center achievement localization, or clear one of them with null. Overwrites the given fields; pass at least one. The locale cannot be changed; delete the localization and create it again instead.
Remove a locale from a Game Center achievement version, including the achievement image uploaded for it.
Read the achievement image uploaded for one Game Center achievement localization, including its delivery state, or null when no image has been uploaded. Uploading an image is not covered by this connector; only the already uploaded image can be read.
Create a Game Center leaderboard owned by one app or shared by a group. App Store Connect always creates the first leaderboard version alongside it, so the player-facing text is added with create_game_center_leaderboard_localization against that version. Give recurrenceStartDate, recurrenceDuration and recurrenceRule together to make the leaderboard recurring.
Read one Game Center leaderboard by its App Store Connect identifier.
Change the configuration of a Game Center leaderboard or archive it. Overwrites the given fields and clears the ones passed as null; pass at least one. The vendorIdentifier cannot be changed. Archiving retires the leaderboard so it stops accepting scores.
Delete a Game Center leaderboard together with its versions, localizations and the scores players submitted to it.
List the versions of one Game Center leaderboard. Each version carries its own localizations through App Review.
Link a Game Center leaderboard to the game activity it belongs to, replacing any activity linked before. App Store Connect confirms the change without returning the leaderboard.
Link a Game Center leaderboard to the challenge that ranks players against it, replacing any challenge linked before. App Store Connect confirms the change without returning the leaderboard.
Create a new version of a Game Center leaderboard so its localized text can be edited and taken through App Review again. Add the text with create_game_center_leaderboard_localization against the new version.
Read one Game Center leaderboard version by its App Store Connect identifier.
List the locales of one Game Center leaderboard version, each with the name, score description and score formatting shown to players.
Add a locale to a Game Center leaderboard version with the name and score text players see there. The image shown next to the leaderboard is uploaded separately and is not covered by this connector.
Read one Game Center leaderboard localization by its App Store Connect identifier.
Change the text or score formatting of a Game Center leaderboard localization. Overwrites the given fields and clears the ones passed as null; pass at least one. The locale cannot be changed.
Remove a locale from a Game Center leaderboard version, including the image uploaded for it.
Read the image shown with a Game Center leaderboard localization, including its delivery state. Returns null when no image has been uploaded for the locale. Uploading an image is not covered by this connector, only reading the one already uploaded.
Create a Game Center leaderboard set that groups related leaderboards under one entry in the Game Center dashboard, and optionally put existing leaderboards into it. App Store Connect always creates the first set version together with the set; add the localized set names with create_game_center_leaderboard_set_localization.
Read one Game Center leaderboard set by its App Store Connect identifier.
Rename a Game Center leaderboard set, or clear its reference name with null. The vendor identifier is fixed once the set exists and cannot be changed.
Delete a Game Center leaderboard set together with its versions and localizations. The leaderboards that were in the set are kept and stay available on their own.
List the leaderboards that belong to one Game Center leaderboard set, optionally narrowed by reference name, by archived state, or to specific leaderboards.
Put more existing leaderboards into a Game Center leaderboard set. The leaderboards already in the set are kept.
Replace the whole list of leaderboards in a Game Center leaderboard set. Leaderboards missing from the new list leave the set but are not deleted.
Take leaderboards out of a Game Center leaderboard set. The leaderboards themselves are kept and stay available on their own.
List the versions of one Game Center leaderboard set. Each version carries its own localized names through App Review.
Create a new editable version of a Game Center leaderboard set, for example to change its localized names after the current version went live.
Read one Game Center leaderboard set version by its App Store Connect identifier, including its review state.
List the locales one Game Center leaderboard set version is translated into.
Add a locale to a Game Center leaderboard set version with the set name players see in that locale. App Store Connect rejects a locale the version already has.
Read one Game Center leaderboard set localization by its App Store Connect identifier.
Replace the set name of a Game Center leaderboard set localization, or clear it with null. The locale is fixed once the localization exists; delete and recreate it to change the locale.
Remove a locale from a Game Center leaderboard set version, including the image uploaded for that locale.
Read the image attached to one Game Center leaderboard set localization, with its delivery URL and upload state. Uploading an image is not covered by this connector; only an image that was already uploaded can be read.
List the member localizations of one leaderboard inside one leaderboard set. A member localization is the name a leaderboard is shown under while a player browses the set, which can differ from the name of the leaderboard on its own. App Store Connect requires both the set and the leaderboard.
Give one leaderboard a name of its own inside one leaderboard set, for one locale. Without a member localization the leaderboard keeps its usual localized name inside the set.
Replace the name a leaderboard is shown under inside a leaderboard set, or clear it with null so the leaderboard falls back to its usual localized name.
Delete the name a leaderboard is shown under inside a leaderboard set for one locale. The leaderboard stays in the set and falls back to its usual localized name.
List the Game Center activities of one app, reached through its Game Center detail record. App Store Connect offers no filters here, so page through the results with limit and cursor.
List the Game Center activities shared by the apps of one Game Center group. App Store Connect offers no filters here, so page through the results with limit and cursor.
Create a Game Center activity for one app (gameCenterDetailId) or for a group of apps (gameCenterGroupId). Pass fallbackUrl to create the first activity version together with the activity; leave it out and no version is created, so add one afterwards with create_game_center_activity_version before the activity can be localized.
Read one Game Center activity by its App Store Connect identifier.
Change the configuration of a Game Center activity or archive it. Overwrites the given fields and passing null clears one; vendorIdentifier cannot change once the activity exists. Pass at least one field.
Delete a Game Center activity together with its versions, localizations and images. Archive it with update_game_center_activity instead when players may still hold invitations to it.
List the versions of one Game Center activity, each with its review and release state.
Attach achievements to a Game Center activity so players can earn them while the activity is played. Achievements already attached are left as they are.
Detach achievements from a Game Center activity. The achievements themselves are kept and stay available outside the activity.
Attach leaderboards to a Game Center activity so scores made while it is played are posted to them. Leaderboards already attached are left as they are.
Detach leaderboards from a Game Center activity. The leaderboards themselves are kept together with the scores already posted to them.
Create a new version of a Game Center activity, for example to change its localizations or its default image after the current version was released. The new version starts in PREPARE_FOR_SUBMISSION.
Read one Game Center activity version by its App Store Connect identifier.
Set or clear the fallback URL of a Game Center activity version. Overwrites the existing URL; pass null to remove it.
Read the default image of a Game Center activity version, shown wherever a locale has no image of its own. Returns null when no default image has been uploaded yet; uploading one is not covered by this connector.
List the locales one Game Center activity version has text for.
Add a locale to a Game Center activity version with the name and description players see in it. App Store Connect rejects a locale the version already has.
Read one Game Center activity localization by its App Store Connect identifier.
Replace the name or the description of a Game Center activity localization, or clear one with null. The locale cannot change; delete the localization and create it again instead. Pass at least one field.
Remove a locale from a Game Center activity version, including the image attached to it.
Read the image of one Game Center activity localization. Returns null when the locale has no image of its own and falls back to the default image of the version; uploading an image is not covered by this connector.
List the challenges configured on the Game Center detail of one app, optionally narrowed by reference name, archived state or identifier.
List the challenges shared by the games of one Game Center group, optionally narrowed by reference name, archived state or identifier.
Create a Game Center challenge on the Game Center detail of one app or on a group, scored on one leaderboard. The challenge starts without a version; create its first version with create_game_center_challenge_version and add the localized text to that version.
Read one Game Center challenge by its App Store Connect identifier.
Rename a Game Center challenge, archive it, change whether players may repeat it, or score it on another leaderboard. Overwrites the given fields; pass at least one. The vendor identifier and the challenge type cannot be changed after creation.
Delete a Game Center challenge together with all of its versions, localizations and images.
List the versions of one Game Center challenge, each with the review and release state it is in.
Score a Game Center challenge on another leaderboard, replacing the leaderboard it used before. App Store Connect does not accept detaching the leaderboard, so a leaderboard identifier is always required.
Create a new version of a Game Center challenge, for example to change its localized text after the current version went live. The version starts empty; add its locales with create_game_center_challenge_localization.
Read one Game Center challenge version by its App Store Connect identifier.
Read the default image of a Game Center challenge version, the one shown for locales without their own image. Returns null when the version has no default image. Uploading an image is not covered by this connector.
List the locales one Game Center challenge version carries text for.
Add a locale with the name and description players see to a Game Center challenge version. App Store Connect rejects a locale the version already has.
Read one Game Center challenge localization by its App Store Connect identifier.
Replace the name or the description of a Game Center challenge localization, or clear one of them with null. Overwrites the given fields; pass at least one. The locale cannot be changed, so replace the localization to move the text to another locale.
Remove one locale from a Game Center challenge version, including the image attached to it.
Read the image of one Game Center challenge localization, or null when the locale has no image of its own and falls back to the default image of the version. Uploading an image is not covered by this connector.
List every Game Center matchmaking queue of the team, each with the rule set it matches requests with and the rule set of a running experiment.
Create a Game Center matchmaking queue and attach the rule set its requests are matched with. Optionally attach a second rule set to experiment with, and list the bundle identifiers whose classic matchmaking requests should reach this queue.
Read one Game Center matchmaking queue by its App Store Connect identifier, including the rule set it matches requests with and the rule set of a running experiment.
Point a Game Center matchmaking queue at another rule set, change the rule set its experiment runs with, or replace the classic matchmaking bundle identifiers. Overwrites the given fields; pass at least one. The queue name cannot be changed after creation.
Delete a Game Center matchmaking queue. Requests the game sends to the deleted queue are no longer matched.
List every Game Center matchmaking rule set of the team, with the player limits and the rule language version each one uses.
Create a Game Center matchmaking rule set with the player limits a match must stay within. Add its teams and rules afterwards with create_game_center_matchmaking_team and create_game_center_matchmaking_rule, then attach the rule set to a queue.
Read one Game Center matchmaking rule set by its App Store Connect identifier.
Change the player limits of a Game Center matchmaking rule set, or clear a limit with null. Overwrites the given fields; pass at least one. The rule set name and its rule language version cannot be changed.
Delete a Game Center matchmaking rule set together with its teams and rules. A queue that still points at the rule set stops matching requests.
List the matchmaking queues that match their requests with one rule set, either as their rule set or as their experiment rule set.
List the rules of one Game Center matchmaking rule set, with the expression each rule evaluates for a candidate match.
List the teams of one Game Center matchmaking rule set, with the player limits of each team.
Add a rule to a Game Center matchmaking rule set. The expression is evaluated for every candidate match: a COMPATIBLE, DISTANCE or TEAM rule decides whether the candidate is acceptable, and a MATCH rule scores it. Try the rule set with test_game_center_matchmaking_rule_set before attaching it to a queue.
Change the expression, the description or the weight of a Game Center matchmaking rule, or clear one of them with null. Overwrites the given fields; pass at least one. The rule name and its type cannot be changed.
Delete a rule from its Game Center matchmaking rule set. Candidate matches are no longer checked against it.
Add a team to a Game Center matchmaking rule set. Rule expressions refer to the team by its name, and Game Center fills the team with between minPlayers and maxPlayers players.
Change the player limits of a Game Center matchmaking team, or clear a limit with null. Overwrites the given fields; pass at least one. The team name cannot be changed, because rule expressions refer to it.
Delete a team from its Game Center matchmaking rule set. Rule expressions that still refer to the team by name stop working.
Run a Game Center matchmaking rule set against a set of simulated requests and return the matches it would have formed, with the team each simulated player was assigned to. Nothing is stored and no real player is matched, so this is safe to run against a rule set that is already attached to a queue.
Read the matchmaking requests an app made through classic (non rule based) matchmaking, as time series of request counts and queue wait times. Each data point covers the granularity you pass.
Read the matchmaking requests an app made through rule based matchmaking, as time series of request counts and queue wait times.
Read the matchmaking requests one queue handled, as time series of request counts and queue wait times, optionally split by result or by the app that sent the requests.
Read how many requests were waiting in one matchmaking queue, as time series of average and percentile queue sizes.
Read the matchmaking sessions one queue produced, as time series of session counts and of how many players each session held.
Read the share of a queue's traffic that was matched with the experiment rule set, as time series of request counts and queue wait times. Compare it with get_game_center_matchmaking_queue_request_metrics to judge whether the experiment rule set is an improvement.
Read how many requests were waiting in the part of a matchmaking queue served by the experiment rule set, as time series of average and percentile queue sizes.
Read how often one matchmaking rule returned each boolean result, as time series of evaluation counts.
Read the values one matchmaking rule expression returned, as time series of evaluation counts with average and percentile results.
Read how often one matchmaking rule failed to evaluate, as time series of error counts.
Connect the Apps your work depends on, and give Leina the context to carry the task forward.
Hand off a task while your team is discussing it. Leina uses your connected tools and brings the result back to the conversation.
See How Leina Works in SlackI’ve saved the en-US testing notes for the selected build. Testers can use these two checks.
Build queries can filter the build number and prerelease marketing version separately. Provide both when needed, along with the platform.
Yes. Ask for references to the source reviews. The summary distinguishes customer feedback from developer replies and states which reviews were included.
No. It updates What to Test notes for a build and locale. App release and TestFlight review are separate operations.
Start with one task you already need to do. Tell Leina what a finished result should look like.
Connect App Store Connect, choose what to share, and hand off your first task.