App Store Connect API

RSS for tag

The App Store Connect API helps you automate tasks usually done on the Apple Developer website and App Store Connect.

Posts under App Store Connect API tag

200 Posts

Post

Replies

Boosts

Views

Activity

App Store Connect: Can't change Primary Locale to nl-NL — 19 historical versions blocked by missing screenshots, API returns 409
I'm trying to change an app's Primary Language in App Store Connect from de-DE to nl-NL and hitting a state I can't resolve through any interface available to me. Environment App Store Connect (web UI) and App Store Connect API v1 Problem UI: App Information → Primary Language → nl-NL → Save fails with: "Primary Locale couldn't be saved because you must first provide all the required screenshots for each version in this language." API: PATCH /v1/apps/1669670490 with attributes.primaryLocale = "nl-NL" returns HTTP 409: ENTITY_ERROR.ATTRIBUTE.INVALID.INVALID_STATE.MISSING_SCREENSHOTS_PRIMARY_LOCALE Error detail contains an unsubstituted placeholder: "...you must first provide all the required @@LANGUAGE_VALUE@@ screenshots..." What I've verified Current live version (3.7.6) and current editable version (3.7.11) both have complete nl-NL screenshot sets for all required device sizes (6.9" iPhone, 13" iPad). No Watch app, iMessage extension, Custom Product Pages, In-App Events, or IAPs. Enumerated all 23 versions via the API (1.0 → 4.1.0). 19 of them have an nl-NL appStoreVersionLocalization (with real historical description/keywords/support URL) but zero nl-NL screenshots attached. Tried POSTing an nl-NL screenshot set to one historical version (4.1.0) directly via the API to confirm this isn't just a UI restriction. Also returns 409 ENTITY_ERROR.ATTRIBUTE.INVALID.INVALID_STATE — historical versions are locked against edits (including screenshots) at the API level, not just the UI. Question Since these historical versions can't be edited through any supported interface, is there a documented way to satisfy or bypass the "screenshots for each version" check for locked historical versions when changing Primary Locale? Filed as case 20000130035264 with Developer Support, who pointed me here for the technical side.
9
0
369
3h
App Store Connect Status Not Syncing After Successful Membership Renewal
Dear Apple Developer Support Team, I recently renewed my Apple Developer Program membership on August 8, 2026. When checking my account portal at ⁠developer.apple.com/account⁠, my membership status shows as active with the new expiration date set to August 9, 2027, and all current agreements have been accepted. However, my App Store Connect dashboard still displays a banner stating that my membership has expired, and my apps remain unavailable. Could you please assist in manually refreshing or syncing the account status between the Developer Portal and App Store Connect?
1
0
49
21h
Which App Store Connect API should submit an Apple-hosted asset pack for external TestFlight review?
Hello, Apple’s documentation appears inconsistent about which App Store Connect API should be used to submit an Apple-hosted Background Asset version for external TestFlight review: In WWDC25 “Discover Apple-Hosted Background Assets”, Apple says that the asset pack version can be submitted using the POST /v1/betaBackgroundAssetReviewSubmissions. In Uploading and versioning Apple hosted background assets, the external beta review instructions link to “Submit an app for beta review,” which uses POST /v1/betaAppReviewSubmissions. These two resources have different behavior. betaBackgroundAssetReviewSubmissions I called the public API with the same resource structure used by the App Store Connect web UI: POST https://api.appstoreconnect.apple.com/v1/betaBackgroundAssetReviewSubmissions { "data": { "type": "betaBackgroundAssetReviewSubmissions", "relationships": { "backgroundAssetVersion": { "data": { "type": "backgroundAssetVersions", "id": "<BACKGROUND_ASSET_VERSION_ID>" } } } } } The public API returned 404 PATH_ERROR: The resource 'v1/betaBackgroundAssetReviewSubmissions' does not exist. However, the App Store Connect web UI uses the private endpoint below with the same payload and receives HTTP 201: POST https://appstoreconnect.apple.com/iris/v1/betaBackgroundAssetReviewSubmissions The public endpoint is also absent from the current App Store Connect OpenAPI specification. betaAppReviewSubmissions I also tested the public POST /v1/betaAppReviewSubmissions endpoint. When I supplied a backgroundAssetVersion relationship, the API returned 409: 'backgroundAssetVersion' is not a relationship on the resource 'betaAppReviewSubmissions'. You must provide a value for the relationship 'build'. The build relationship only accepts the builds resource type, not backgroundAssetVersions. Therefore, betaAppReviewSubmissions can submit an app build but cannot submit a Background Asset version. Could Apple please clarify: Which public API should be used to submit a Background Asset version for external TestFlight review? Is betaBackgroundAssetReviewSubmissions intended to be exposed through the public App Store Connect API? Is the link to betaAppReviewSubmissions in the Background Assets documentation incorrect? When will the public documentation and OpenAPI specification be updated? Thank you.
0
0
33
23h
App stuck in Ready for Review state
Last week I've submitted a new update for review doing the standard procedure for iOS, Mac and Vision. When submitting them both the Mac and Vision App switched to Waiting for Review state but the iOS one got stuck in Ready for Review state. I've tried a few times canceling the submission and submitting again and it always gets stuck in the "Ready for Review" state. Under the App Review section shows as Waiting for Review but on the general page shows Ready for Review. I've tried using the App Store Connect the API and the same thing happens. Any suggestions how to fix this?
7
3
3.1k
6d
Intermittent Timeouts and Server Errors When Retrieving Transactions via App Store Server API
Hello, We operate an app that grants users credits after a successful in-app purchase. Our current purchase-processing flow is as follows: A user completes an in-app purchase. Our app or server receives the purchase-related information. Our server sends a transaction verification request to the App Store Server API. After verifying the transaction, our service marks the purchase as completed and grants credits to the user. However, we are intermittently experiencing connection timeouts and unidentified server errors when retrieving transaction information through the App Store Server API. One example of the timeout error is: HTTPSConnectionPool( host='api.storekit.itunes.apple.com', port=443 ): Max retries exceeded with url: /inApps/v1/transactions/330003085668123 Caused by ConnectTimeoutError: Connection to api.storekit.itunes.apple.com timed out. (connect timeout=3) We also intermittently receive the following error response: { "code": 5000001, "message": "An unknown error occurred. Please try again." } When this issue occurs, the payment may have been successfully completed through the App Store, but our server is unable to immediately verify the transaction. As a result, the user may not receive the purchased credits in our app. We would appreciate your guidance on the following questions: What are the common causes of connection timeouts or error code 5000001 when calling /inApps/v1/transactions/{transactionId}? What retry strategy does Apple recommend when these errors occur? Please advise whether there are recommended timeout values, retry limits, or exponential backoff parameters. Is there another reliable method to confirm a completed purchase when the transaction lookup API does not return a response immediately? Does Apple recommend using App Store Server Notifications V2 to process completed purchases asynchronously rather than relying solely on an immediate transaction or receipt verification response? For an app that grants consumable digital credits, which value should be used as the primary identifier for purchase completion and duplicate-grant prevention: transactionId, originalTransactionId, or the information contained in signedTransactionInfo? When a temporary API error occurs, is it recommended to store the purchase as pending and perform transaction verification again from our server until a definitive result is received? We would appreciate Apple’s recommended implementation approach for reliable transaction verification and recovery, particularly to prevent cases in which a payment is successfully completed but the purchased credits are not granted due to a temporary API communication error. Thank you.
0
0
150
1w
App Store Connect Automation: API Data Mismatch and Alternative Approaches
Hello, We are currently working on a Robotic Process Automation (RPA) solution to automate the retrieval of Installs, Uninstalls and Crash Reports from App Store Connect. Initially, we planned to automate the process through the App Store Connect UI. However, due to Multi-Factor Authentication (MFA) requirements and related automation challenges, we explored the App Store Connect APIs as an alternative approach. While using the APIs, we have encountered the following issues: The Installs, Uninstalls, and Crash data returned by the APIs does not match the data displayed in the App Store Connect UI. The data retrieved through the APIs appears to be from an older reporting period (previous-to-previous week), while the UI displays more recent data. We created a report request using the "Ongoing" option and are using the generated report ID to retrieve Installs and Uninstalls data. However, the values still do not match those shown in the UI. We would appreciate guidance on the following: What could be causing the discrepancy between the App Store Connect API data and the data displayed in the UI? Are there any known data refresh delays, aggregation differences, or reporting latency between the APIs and the UI? Are we using the correct report type and approach to retrieve the latest available weekly metrics for Installs and Uninstalls? What are the recommended best practices for programmatically retrieving: Installs Uninstalls Crash Reports Additionally, is there any alternative approach for automating the retrieval of this data other than: UI-based automation that requires MFA, or App Store Connect APIs? Any guidance, recommendations, or documentation references would be greatly appreciated. Thank you for your support.
0
0
117
2w
It says: "There are still screenshot uploads in progress." when submit a new build
I'm submitting a new version of my app, and after click "submit for Review", it show that: A few more items are needed in order to submit for review The items listed below are required for submission:There are still screenshot uploads in progress. I didn't met this problem before. Is that mean I haven't upload all the screenshot required or it's still uploading the screenshots to App Store Connect's server? Cause before there is a "save" button after you drag images to the screenshots area, now you don't. And I think I have uploaded all the screenshots needed and I waited a day to try submit again, still the same. What should I do?
205
16
91k
2w
Unable to submit first auto-renewable subscription because existing SubscriptionGroupVersion is in unsupported legacy state
Hi everyone, I'm hoping someone from Apple or another developer has seen this before because I'm completely blocked from submitting my first auto-renewable subscription. Setup First app submission App version: 1.0 (Build 34) One auto-renewable subscription Five consumable IAPs Everything configured in App Store Connect StoreKit works correctly in TestFlight Subscription purchases complete successfully in TestFlight RevenueCat configuration has been verified Subscription review screenshot is uploaded and processed successfully Problem App Store Connect shows: "There are errors with one or more of your items. To fix them, you need to remove the items and add them again to your submission." The draft contains: App Version 5 Consumable IAPs 1 Subscription When I submit through the App Store Connect API I receive: STATE_ERROR.SUBSCRIPTION_SUBMISSION_REQUIRES_GROUP_VERSION A subscription must be submitted with its subscription group version when the group has no prior approved version. That makes sense because this is my first subscription. However, when I attempt to create a subscription group version I receive: STATE_ERROR.ALREADY_EXISTS Version already exists. There is already an inflight version with id: bf2f7b5b-7fbd-44fc-9c67-af1297f3d76a So I then attempted to add that existing SubscriptionGroupVersion to the review submission. Apple responds with: STATE_ERROR.SUBSCRIPTION_GROUP_VERSION_NOT_SUPPORTED Subscription group version bf2f7b5b-7fbd-44fc-9c67-af1297f3d76a is using an older format that is not supported for review submission. Please update before submitting. and also: STATE_ERROR.SUBSCRIPTION_GROUP_VERSION_INVALID_STATE Subscription group version bf2f7b5b-7fbd-44fc-9c67-af1297f3d76a cannot be submitted. Only versions in Prepare for Submission or Developer Rejected can be submitted. The issue I'm now stuck because: Apple says I must submit a SubscriptionGroupVersion. Apple says one already exists. Apple will not allow me to create a replacement. Apple will not allow me to submit the existing one. Apple says the existing one is using an older format. I cannot find any way in App Store Connect to update, replace or delete this SubscriptionGroupVersion. Things I've already verified Build 34 is attached correctly. Subscription Product ID is correct. RevenueCat configuration is correct. StoreKit loads the subscription successfully. Purchases work in TestFlight. Subscription review screenshot exists and is COMPLETE. Localizations, pricing and availability are all configured. The issue occurs both in App Store Connect and when submitting via the App Store Connect API. Question Has anyone encountered this before? Is there a way to regenerate or migrate a SubscriptionGroupVersion into the new format from App Store Connect, or is this something Apple Developer Support has to reset on the backend? Any advice would be greatly appreciated. Thanks!
0
0
372
2w
The default message configured through the Retention Message API is not displayed to users
Hello, I have a problem with the Retention Message API. The default message is not displayed to users when they try to cancel their subscription in the device's Settings app. The API configuration was made with Revenue Request. The request to use this API was approved by Apple for our account. After configuring it for the Sandbox environment, everything worked as expected the image and text were displayed to users. Later, I applied the same configuration to the Production environment. I received the Approved status for the message, but after purchasing the subscription from the App Store, although I can see the subscription in Settings, the retention message is not displayed when I attempt to cancel it. I have tried different Apple accounts from different regions (both EU and non-EU) and tested from physical locations without using a VPN. Also, for clarification, we do not use real-time communication only the default retention message. For additional information: I also tried configuring this message from App Store Connect, as shown in WWDC 2026, but this section is not available under the Subscriptions category. When I deactivate and then reactivate the message, I notice that the deactivated state shows the text status "Waiting for sync (0/9)", while the active state shows "Approved". All other assets have an Approved state. In my case, the message is configured for all subscription types without any filters or other restrictions. What could be causing this problem, and how can I fix it? It seems that the issue is not on my side.
1
0
479
3w
App store Connect API using Python Package returns 401
from appstoreserverlibrary.api_client import AppStoreServerAPIClient, APIException from appstoreserverlibrary.models.Environment import Environment with open("AUTHKEYLOCATION" ,'rb') as f: private_key = f.read() key_id = "KEYID" issuer_id = "ISSUER_ID" bundle_id = "BUNDLEID" environment = Environment.SANDBOX client = AppStoreServerAPIClient(private_key, key_id, issuer_id, bundle_id, environment) class IosRTDN (APIView): #permission_classes = [ IsAuthenticated] def get(self,request): try: response = client.request_test_notification() print(response) return Response(response) except APIException as e: return Response({ 'error': str(e) }) Using this implementation of the python package from here, it still get a 401 response, from what i see from other implementation ie: JWT, you need a timestamp do you need timestamp too in this case, and where should i put it then?
0
0
300
3w
App Store Connect Metrics via REST API
I hope this message finds you well. I’m reaching out to ask whether specific App Store Connect metrics available in the App Analytics dashboard can also be accessed via the App Store Connect REST API. I have reviewed the official API documentation, but I couldn’t find confirmation regarding the metrics listed below. Could you kindly clarify if the following metrics are available through the REST API? And if so, could you point me to the relevant endpoints or documentation? From the "Usage" group: Installations (Opt-in only) Active Devices Deletions (Uninstalls) From the "App Store" group: Impressions (Unique Devices) Product Page Views (Unique Devices) If these metrics are not available via the REST API, is there an alternative method to programmatically access or export them? Thank you very much in advance for your help and guidance.
4
1
828
Jul ’26
buildBundles relationship returns 403 "has no allowed operations defined" for Admin API key
Summary Every request to the buildBundles relationship of a build returns HTTP 403, regardless of the build's age or state, even with an Admin-role App Store Connect API key. This blocks access to buildBundleFileSizes, which I need to read the app's download/install size. Error response GET https://api.appstoreconnect.apple.com/v1/builds/{buildId}/buildBundles HTTP/1.1 403 Forbidden { "errors": [ { "status": "403", "code": "FORBIDDEN_ERROR", "title": "The given operation is not allowed", "detail": "The relationship 'buildBundles' has no allowed operations defined." } ] } Environment App Store Connect API (JWT, ES256) API key role: Admin (Team key) JWT payload contains only iss / iat / exp / aud (aud = "appstoreconnect-v1"), no scope field Organization account What works (same key, same token) GET /v1/builds?filter[app]={appId}&limit=5&sort=-uploadedDate → 200 OK GET /v1/apps/{appId}/builds → 200 OK GET /v1/appStoreVersions/{id}?include=app,build → 200 OK So the token itself is valid and can read builds and app store versions. What fails GET /v1/builds/{buildId}/buildBundles → 403 (above) Minimal reproduction (curl) 1) List builds — WORKS (200), returns valid build IDs curl -s -H "Authorization: Bearer $JWT" "https://api.appstoreconnect.apple.com/v1/builds?filter[app]=<APP_ID>&limit=1&sort=-uploadedDate" 2) Read buildBundles for that build — FAILS (403) curl -s -H "Authorization: Bearer $JWT" "https://api.appstoreconnect.apple.com/v1/builds/<BUILD_ID>/buildBundles" -> 403 FORBIDDEN_ERROR: "The relationship 'buildBundles' has no allowed operations defined." $JWT is an ES256 token, aud=appstoreconnect-v1, NO scope claim. Steps to reproduce Generate an ES256 JWT with an Admin-role key (no scope in payload). List builds for an app — succeeds, returns valid build IDs. For ANY returned build ID, GET /v1/builds/{buildId}/buildBundles — always 403. What I have already ruled out Role: the key is Admin, not Developer. Still 403. Build age/state: tested the newest build (uploaded today, processingState = VALID) and builds from several years ago — all return 403. JWT scope: the token has no scope claim (verified by decoding it), so it is not scope-restricted. Still 403. Token validity: the same token successfully reads /v1/builds and /v1/appStoreVersions. Malformed URL / double slash: I verified the request URL is exactly https://api.appstoreconnect.apple.com/v1/builds/{id}/buildBundles with a single slash after the host (no .com//v1). A related thread traced a 403 to a double-slash URL breaking a scoped token (https://developer.apple.com/forums/thread/820203), but that does not apply here: my URL is well-formed AND my token has no scope. Questions Is the buildBundles relationship (and buildBundleFileSizes) actually supported via the public App Store Connect API for organization accounts? If yes, what specific configuration (key type, role, account setting, or entitlement) is required to make GET /v1/builds/{id}/buildBundles return 200 instead of 403? Is there any alternative endpoint to retrieve a build's download/install size (the "size" Apple pushes to the developer, e.g. "206.6 MB, Wi-Fi required")? Thanks in advance.
1
0
531
Jul ’26
code Cloud export fails: Session Proxy unable to authenticate with App Store Connect (Code=1, response null)
Xcode Cloud builds fail at the export archive step. The critical log shows: Account "Session Proxy Provider": Unable to authenticate with App Store Connect Error Domain=DVTServicesSessionProviderCredentialITunesAuthenticationContextError Code=1 "(null)" And in DVTITunesSoftwareService.log: App Store Connect response failed with unknown failure; response (null); error (null) error: DVTServicesSessionProviderCredentialITunesAuthenticationContextError.proxy Environment: Xcode Cloud, iOS app, team type Individual (S43L28SVX2) What I have ruled out: Regenerated all DISTRIBUTION_MANAGED certificates (per thread 744683) — portal API is reachable, certs issued successfully Removed an obsolete App Groups entitlement that was causing a secondary error — that error is now gone All agreements accepted, no pending legal items Failure persists across multiple builds with identical symptoms The developer portal API responds correctly. The failure is isolated to the App Store Connect store configuration endpoint specifically, where the proxy returns response (null) — no HTTP response at all. This appears identical to thread https://developer.apple.com/forums/thread/810658 where Apple confirmed the root cause was a backend API permission issue for the team requiring an Apple-side fix. Support case 102857550486 was opened but redirected to admin support without technical investigation. Has anyone else hit this recently, or can an Apple engineer look at the backend state for this team?
1
0
1k
Jul ’26
Signed updated Apple Developer agreement, but App Store Connect still blocks version creation
I’m running into an issue in App Store Connect where I’m being blocked from creating a new app version because it says I need to accept the latest Apple Developer Program License Agreement. However, I already accepted the agreement two days ago. When I go back to the agreements area, it appears that the agreement has been signed ("Issued June 18, 2026. Accepted June 24, 2026."), but the prompt still appears and continues preventing me from creating a new version. I’ve tried refreshing App Store Connect and checking again, but the issue is still happening. Has anyone else run into a delay where App Store Connect takes time to recognize the accepted agreement? Is there anything else I should check, or is this something that requires Apple Support to resolve? Thanks!
1
1
240
Jul ’26
My Authenticator App is in 'Wating for Review' state since March 23, 2026
Hello Apple, I am looking for guidance regarding an app that has been waiting for review for an unusually long time. It's the first build and the app details are : App ID: 6771651289 App Title: Authenticator App Status: Waiting for Review Submission Date: March 23, 2026 Submission Type: First App Store Submission My app has remained in the "Waiting for Review" state since March 23, 2026, and I have not yet received any feedback, requests for additional information, or review outcome. I understand that review times can vary depending on workload and review requirements. However, the extended waiting for review period is causing a significant delay to my planned launch, and I would be grateful if the App Review Team could provide an update on the status of the review or advise whether any additional information is needed from my side. Thank you for your time and assistance. I appreciate the work of the App Review Team and look forward to your response. Kind regards, Sufyan
0
0
228
Jun ’26
App waiting for review
Hello App Review Team, My app, SUB PREMIUM TV (Apple ID: 6769972609, Version 1.0), has been in “Waiting for Review” status for several days. I would like to confirm whether there is any issue with my submission or if any additional information is needed from me. Thank you for your time and assistance. Best regards, Babucarr Ngum
1
0
408
Jun ’26
My Apple Developer Program membership wasn't activated after payment. And they're waiting for me to pay again.
Herkese merhaba, 19 Haziran 2026 tarihinde Apple Geliştirici Programı üyeliği satın aldım. Ödeme banka hesabımdan başarıyla tahsil edildi. 20 Haziran'da Apple'dan bir e-fatura ve siparişimin işleme alındağı söylemeden başka bir e-posta aldım. Ancak, Apple Developer hesabımda oturum açtığımda, hala “Enroll Today” düğmesini görüyorum. Hesabım ucretsiz bir geliştirici hesabına benziyor ve ucretli üyelik özelliklerine erişemiyorum. Satın alma işlemi için kullandığım Apple Hesabıyla oturum açtım. Üyelik ayrıca Apple Hesabımın abonelikler bölümünün altında da görünmüyor. Bu konuyu daha önce yaşayan var mı? Aktivasyon ne kadar sürdü ve bunu çözmek için ne yaptınız? Teşekkür ederim.
0
0
161
Jun ’26
App Store Connect: Can't change Primary Locale to nl-NL — 19 historical versions blocked by missing screenshots, API returns 409
I'm trying to change an app's Primary Language in App Store Connect from de-DE to nl-NL and hitting a state I can't resolve through any interface available to me. Environment App Store Connect (web UI) and App Store Connect API v1 Problem UI: App Information → Primary Language → nl-NL → Save fails with: "Primary Locale couldn't be saved because you must first provide all the required screenshots for each version in this language." API: PATCH /v1/apps/1669670490 with attributes.primaryLocale = "nl-NL" returns HTTP 409: ENTITY_ERROR.ATTRIBUTE.INVALID.INVALID_STATE.MISSING_SCREENSHOTS_PRIMARY_LOCALE Error detail contains an unsubstituted placeholder: "...you must first provide all the required @@LANGUAGE_VALUE@@ screenshots..." What I've verified Current live version (3.7.6) and current editable version (3.7.11) both have complete nl-NL screenshot sets for all required device sizes (6.9" iPhone, 13" iPad). No Watch app, iMessage extension, Custom Product Pages, In-App Events, or IAPs. Enumerated all 23 versions via the API (1.0 → 4.1.0). 19 of them have an nl-NL appStoreVersionLocalization (with real historical description/keywords/support URL) but zero nl-NL screenshots attached. Tried POSTing an nl-NL screenshot set to one historical version (4.1.0) directly via the API to confirm this isn't just a UI restriction. Also returns 409 ENTITY_ERROR.ATTRIBUTE.INVALID.INVALID_STATE — historical versions are locked against edits (including screenshots) at the API level, not just the UI. Question Since these historical versions can't be edited through any supported interface, is there a documented way to satisfy or bypass the "screenshots for each version" check for locked historical versions when changing Primary Locale? Filed as case 20000130035264 with Developer Support, who pointed me here for the technical side.
Replies
9
Boosts
0
Views
369
Activity
3h
App Store Connect Status Not Syncing After Successful Membership Renewal
Dear Apple Developer Support Team, I recently renewed my Apple Developer Program membership on August 8, 2026. When checking my account portal at ⁠developer.apple.com/account⁠, my membership status shows as active with the new expiration date set to August 9, 2027, and all current agreements have been accepted. However, my App Store Connect dashboard still displays a banner stating that my membership has expired, and my apps remain unavailable. Could you please assist in manually refreshing or syncing the account status between the Developer Portal and App Store Connect?
Replies
1
Boosts
0
Views
49
Activity
21h
Which App Store Connect API should submit an Apple-hosted asset pack for external TestFlight review?
Hello, Apple’s documentation appears inconsistent about which App Store Connect API should be used to submit an Apple-hosted Background Asset version for external TestFlight review: In WWDC25 “Discover Apple-Hosted Background Assets”, Apple says that the asset pack version can be submitted using the POST /v1/betaBackgroundAssetReviewSubmissions. In Uploading and versioning Apple hosted background assets, the external beta review instructions link to “Submit an app for beta review,” which uses POST /v1/betaAppReviewSubmissions. These two resources have different behavior. betaBackgroundAssetReviewSubmissions I called the public API with the same resource structure used by the App Store Connect web UI: POST https://api.appstoreconnect.apple.com/v1/betaBackgroundAssetReviewSubmissions { "data": { "type": "betaBackgroundAssetReviewSubmissions", "relationships": { "backgroundAssetVersion": { "data": { "type": "backgroundAssetVersions", "id": "<BACKGROUND_ASSET_VERSION_ID>" } } } } } The public API returned 404 PATH_ERROR: The resource 'v1/betaBackgroundAssetReviewSubmissions' does not exist. However, the App Store Connect web UI uses the private endpoint below with the same payload and receives HTTP 201: POST https://appstoreconnect.apple.com/iris/v1/betaBackgroundAssetReviewSubmissions The public endpoint is also absent from the current App Store Connect OpenAPI specification. betaAppReviewSubmissions I also tested the public POST /v1/betaAppReviewSubmissions endpoint. When I supplied a backgroundAssetVersion relationship, the API returned 409: 'backgroundAssetVersion' is not a relationship on the resource 'betaAppReviewSubmissions'. You must provide a value for the relationship 'build'. The build relationship only accepts the builds resource type, not backgroundAssetVersions. Therefore, betaAppReviewSubmissions can submit an app build but cannot submit a Background Asset version. Could Apple please clarify: Which public API should be used to submit a Background Asset version for external TestFlight review? Is betaBackgroundAssetReviewSubmissions intended to be exposed through the public App Store Connect API? Is the link to betaAppReviewSubmissions in the Background Assets documentation incorrect? When will the public documentation and OpenAPI specification be updated? Thank you.
Replies
0
Boosts
0
Views
33
Activity
23h
IAP Promotional Image Appears Broken in App Store Connect
Hello! After uploading a promotional image for an IAP, it appears broken in App Store Connect. We tested it with another app and encountered the same issue immediately after uploading. Could you please advise what might be causing this and how to fix it?
Replies
1
Boosts
2
Views
340
Activity
4d
App stuck in Ready for Review state
Last week I've submitted a new update for review doing the standard procedure for iOS, Mac and Vision. When submitting them both the Mac and Vision App switched to Waiting for Review state but the iOS one got stuck in Ready for Review state. I've tried a few times canceling the submission and submitting again and it always gets stuck in the "Ready for Review" state. Under the App Review section shows as Waiting for Review but on the general page shows Ready for Review. I've tried using the App Store Connect the API and the same thing happens. Any suggestions how to fix this?
Replies
7
Boosts
3
Views
3.1k
Activity
6d
Intermittent Timeouts and Server Errors When Retrieving Transactions via App Store Server API
Hello, We operate an app that grants users credits after a successful in-app purchase. Our current purchase-processing flow is as follows: A user completes an in-app purchase. Our app or server receives the purchase-related information. Our server sends a transaction verification request to the App Store Server API. After verifying the transaction, our service marks the purchase as completed and grants credits to the user. However, we are intermittently experiencing connection timeouts and unidentified server errors when retrieving transaction information through the App Store Server API. One example of the timeout error is: HTTPSConnectionPool( host='api.storekit.itunes.apple.com', port=443 ): Max retries exceeded with url: /inApps/v1/transactions/330003085668123 Caused by ConnectTimeoutError: Connection to api.storekit.itunes.apple.com timed out. (connect timeout=3) We also intermittently receive the following error response: { "code": 5000001, "message": "An unknown error occurred. Please try again." } When this issue occurs, the payment may have been successfully completed through the App Store, but our server is unable to immediately verify the transaction. As a result, the user may not receive the purchased credits in our app. We would appreciate your guidance on the following questions: What are the common causes of connection timeouts or error code 5000001 when calling /inApps/v1/transactions/{transactionId}? What retry strategy does Apple recommend when these errors occur? Please advise whether there are recommended timeout values, retry limits, or exponential backoff parameters. Is there another reliable method to confirm a completed purchase when the transaction lookup API does not return a response immediately? Does Apple recommend using App Store Server Notifications V2 to process completed purchases asynchronously rather than relying solely on an immediate transaction or receipt verification response? For an app that grants consumable digital credits, which value should be used as the primary identifier for purchase completion and duplicate-grant prevention: transactionId, originalTransactionId, or the information contained in signedTransactionInfo? When a temporary API error occurs, is it recommended to store the purchase as pending and perform transaction verification again from our server until a definitive result is received? We would appreciate Apple’s recommended implementation approach for reliable transaction verification and recovery, particularly to prevent cases in which a payment is successfully completed but the purchased credits are not granted due to a temporary API communication error. Thank you.
Replies
0
Boosts
0
Views
150
Activity
1w
App Store Connect API Error
I get error while visiting People>Integration how do I fix it and what is the reason for this error?
Replies
0
Boosts
0
Views
83
Activity
1w
App Store Connect Automation: API Data Mismatch and Alternative Approaches
Hello, We are currently working on a Robotic Process Automation (RPA) solution to automate the retrieval of Installs, Uninstalls and Crash Reports from App Store Connect. Initially, we planned to automate the process through the App Store Connect UI. However, due to Multi-Factor Authentication (MFA) requirements and related automation challenges, we explored the App Store Connect APIs as an alternative approach. While using the APIs, we have encountered the following issues: The Installs, Uninstalls, and Crash data returned by the APIs does not match the data displayed in the App Store Connect UI. The data retrieved through the APIs appears to be from an older reporting period (previous-to-previous week), while the UI displays more recent data. We created a report request using the "Ongoing" option and are using the generated report ID to retrieve Installs and Uninstalls data. However, the values still do not match those shown in the UI. We would appreciate guidance on the following: What could be causing the discrepancy between the App Store Connect API data and the data displayed in the UI? Are there any known data refresh delays, aggregation differences, or reporting latency between the APIs and the UI? Are we using the correct report type and approach to retrieve the latest available weekly metrics for Installs and Uninstalls? What are the recommended best practices for programmatically retrieving: Installs Uninstalls Crash Reports Additionally, is there any alternative approach for automating the retrieval of this data other than: UI-based automation that requires MFA, or App Store Connect APIs? Any guidance, recommendations, or documentation references would be greatly appreciated. Thank you for your support.
Replies
0
Boosts
0
Views
117
Activity
2w
It says: "There are still screenshot uploads in progress." when submit a new build
I'm submitting a new version of my app, and after click "submit for Review", it show that: A few more items are needed in order to submit for review The items listed below are required for submission:There are still screenshot uploads in progress. I didn't met this problem before. Is that mean I haven't upload all the screenshot required or it's still uploading the screenshots to App Store Connect's server? Cause before there is a "save" button after you drag images to the screenshots area, now you don't. And I think I have uploaded all the screenshots needed and I waited a day to try submit again, still the same. What should I do?
Replies
205
Boosts
16
Views
91k
Activity
2w
Unable to submit first auto-renewable subscription because existing SubscriptionGroupVersion is in unsupported legacy state
Hi everyone, I'm hoping someone from Apple or another developer has seen this before because I'm completely blocked from submitting my first auto-renewable subscription. Setup First app submission App version: 1.0 (Build 34) One auto-renewable subscription Five consumable IAPs Everything configured in App Store Connect StoreKit works correctly in TestFlight Subscription purchases complete successfully in TestFlight RevenueCat configuration has been verified Subscription review screenshot is uploaded and processed successfully Problem App Store Connect shows: "There are errors with one or more of your items. To fix them, you need to remove the items and add them again to your submission." The draft contains: App Version 5 Consumable IAPs 1 Subscription When I submit through the App Store Connect API I receive: STATE_ERROR.SUBSCRIPTION_SUBMISSION_REQUIRES_GROUP_VERSION A subscription must be submitted with its subscription group version when the group has no prior approved version. That makes sense because this is my first subscription. However, when I attempt to create a subscription group version I receive: STATE_ERROR.ALREADY_EXISTS Version already exists. There is already an inflight version with id: bf2f7b5b-7fbd-44fc-9c67-af1297f3d76a So I then attempted to add that existing SubscriptionGroupVersion to the review submission. Apple responds with: STATE_ERROR.SUBSCRIPTION_GROUP_VERSION_NOT_SUPPORTED Subscription group version bf2f7b5b-7fbd-44fc-9c67-af1297f3d76a is using an older format that is not supported for review submission. Please update before submitting. and also: STATE_ERROR.SUBSCRIPTION_GROUP_VERSION_INVALID_STATE Subscription group version bf2f7b5b-7fbd-44fc-9c67-af1297f3d76a cannot be submitted. Only versions in Prepare for Submission or Developer Rejected can be submitted. The issue I'm now stuck because: Apple says I must submit a SubscriptionGroupVersion. Apple says one already exists. Apple will not allow me to create a replacement. Apple will not allow me to submit the existing one. Apple says the existing one is using an older format. I cannot find any way in App Store Connect to update, replace or delete this SubscriptionGroupVersion. Things I've already verified Build 34 is attached correctly. Subscription Product ID is correct. RevenueCat configuration is correct. StoreKit loads the subscription successfully. Purchases work in TestFlight. Subscription review screenshot exists and is COMPLETE. Localizations, pricing and availability are all configured. The issue occurs both in App Store Connect and when submitting via the App Store Connect API. Question Has anyone encountered this before? Is there a way to regenerate or migrate a SubscriptionGroupVersion into the new format from App Store Connect, or is this something Apple Developer Support has to reset on the backend? Any advice would be greatly appreciated. Thanks!
Replies
0
Boosts
0
Views
372
Activity
2w
bundle id is missing when creating an app
I have two bundle ids, but they seems to be missing and I cant select anyone. this is why I cant create a new app.
Replies
54
Boosts
7
Views
56k
Activity
3w
The default message configured through the Retention Message API is not displayed to users
Hello, I have a problem with the Retention Message API. The default message is not displayed to users when they try to cancel their subscription in the device's Settings app. The API configuration was made with Revenue Request. The request to use this API was approved by Apple for our account. After configuring it for the Sandbox environment, everything worked as expected the image and text were displayed to users. Later, I applied the same configuration to the Production environment. I received the Approved status for the message, but after purchasing the subscription from the App Store, although I can see the subscription in Settings, the retention message is not displayed when I attempt to cancel it. I have tried different Apple accounts from different regions (both EU and non-EU) and tested from physical locations without using a VPN. Also, for clarification, we do not use real-time communication only the default retention message. For additional information: I also tried configuring this message from App Store Connect, as shown in WWDC 2026, but this section is not available under the Subscriptions category. When I deactivate and then reactivate the message, I notice that the deactivated state shows the text status "Waiting for sync (0/9)", while the active state shows "Approved". All other assets have an Approved state. In my case, the message is configured for all subscription types without any filters or other restrictions. What could be causing this problem, and how can I fix it? It seems that the issue is not on my side.
Replies
1
Boosts
0
Views
479
Activity
3w
App store Connect API using Python Package returns 401
from appstoreserverlibrary.api_client import AppStoreServerAPIClient, APIException from appstoreserverlibrary.models.Environment import Environment with open("AUTHKEYLOCATION" ,'rb') as f: private_key = f.read() key_id = "KEYID" issuer_id = "ISSUER_ID" bundle_id = "BUNDLEID" environment = Environment.SANDBOX client = AppStoreServerAPIClient(private_key, key_id, issuer_id, bundle_id, environment) class IosRTDN (APIView): #permission_classes = [ IsAuthenticated] def get(self,request): try: response = client.request_test_notification() print(response) return Response(response) except APIException as e: return Response({ 'error': str(e) }) Using this implementation of the python package from here, it still get a 401 response, from what i see from other implementation ie: JWT, you need a timestamp do you need timestamp too in this case, and where should i put it then?
Replies
0
Boosts
0
Views
300
Activity
3w
App Store Connect Metrics via REST API
I hope this message finds you well. I’m reaching out to ask whether specific App Store Connect metrics available in the App Analytics dashboard can also be accessed via the App Store Connect REST API. I have reviewed the official API documentation, but I couldn’t find confirmation regarding the metrics listed below. Could you kindly clarify if the following metrics are available through the REST API? And if so, could you point me to the relevant endpoints or documentation? From the "Usage" group: Installations (Opt-in only) Active Devices Deletions (Uninstalls) From the "App Store" group: Impressions (Unique Devices) Product Page Views (Unique Devices) If these metrics are not available via the REST API, is there an alternative method to programmatically access or export them? Thank you very much in advance for your help and guidance.
Replies
4
Boosts
1
Views
828
Activity
Jul ’26
buildBundles relationship returns 403 "has no allowed operations defined" for Admin API key
Summary Every request to the buildBundles relationship of a build returns HTTP 403, regardless of the build's age or state, even with an Admin-role App Store Connect API key. This blocks access to buildBundleFileSizes, which I need to read the app's download/install size. Error response GET https://api.appstoreconnect.apple.com/v1/builds/{buildId}/buildBundles HTTP/1.1 403 Forbidden { "errors": [ { "status": "403", "code": "FORBIDDEN_ERROR", "title": "The given operation is not allowed", "detail": "The relationship 'buildBundles' has no allowed operations defined." } ] } Environment App Store Connect API (JWT, ES256) API key role: Admin (Team key) JWT payload contains only iss / iat / exp / aud (aud = "appstoreconnect-v1"), no scope field Organization account What works (same key, same token) GET /v1/builds?filter[app]={appId}&limit=5&sort=-uploadedDate → 200 OK GET /v1/apps/{appId}/builds → 200 OK GET /v1/appStoreVersions/{id}?include=app,build → 200 OK So the token itself is valid and can read builds and app store versions. What fails GET /v1/builds/{buildId}/buildBundles → 403 (above) Minimal reproduction (curl) 1) List builds — WORKS (200), returns valid build IDs curl -s -H "Authorization: Bearer $JWT" "https://api.appstoreconnect.apple.com/v1/builds?filter[app]=<APP_ID>&limit=1&sort=-uploadedDate" 2) Read buildBundles for that build — FAILS (403) curl -s -H "Authorization: Bearer $JWT" "https://api.appstoreconnect.apple.com/v1/builds/<BUILD_ID>/buildBundles" -> 403 FORBIDDEN_ERROR: "The relationship 'buildBundles' has no allowed operations defined." $JWT is an ES256 token, aud=appstoreconnect-v1, NO scope claim. Steps to reproduce Generate an ES256 JWT with an Admin-role key (no scope in payload). List builds for an app — succeeds, returns valid build IDs. For ANY returned build ID, GET /v1/builds/{buildId}/buildBundles — always 403. What I have already ruled out Role: the key is Admin, not Developer. Still 403. Build age/state: tested the newest build (uploaded today, processingState = VALID) and builds from several years ago — all return 403. JWT scope: the token has no scope claim (verified by decoding it), so it is not scope-restricted. Still 403. Token validity: the same token successfully reads /v1/builds and /v1/appStoreVersions. Malformed URL / double slash: I verified the request URL is exactly https://api.appstoreconnect.apple.com/v1/builds/{id}/buildBundles with a single slash after the host (no .com//v1). A related thread traced a 403 to a double-slash URL breaking a scoped token (https://developer.apple.com/forums/thread/820203), but that does not apply here: my URL is well-formed AND my token has no scope. Questions Is the buildBundles relationship (and buildBundleFileSizes) actually supported via the public App Store Connect API for organization accounts? If yes, what specific configuration (key type, role, account setting, or entitlement) is required to make GET /v1/builds/{id}/buildBundles return 200 instead of 403? Is there any alternative endpoint to retrieve a build's download/install size (the "size" Apple pushes to the developer, e.g. "206.6 MB, Wi-Fi required")? Thanks in advance.
Replies
1
Boosts
0
Views
531
Activity
Jul ’26
code Cloud export fails: Session Proxy unable to authenticate with App Store Connect (Code=1, response null)
Xcode Cloud builds fail at the export archive step. The critical log shows: Account "Session Proxy Provider": Unable to authenticate with App Store Connect Error Domain=DVTServicesSessionProviderCredentialITunesAuthenticationContextError Code=1 "(null)" And in DVTITunesSoftwareService.log: App Store Connect response failed with unknown failure; response (null); error (null) error: DVTServicesSessionProviderCredentialITunesAuthenticationContextError.proxy Environment: Xcode Cloud, iOS app, team type Individual (S43L28SVX2) What I have ruled out: Regenerated all DISTRIBUTION_MANAGED certificates (per thread 744683) — portal API is reachable, certs issued successfully Removed an obsolete App Groups entitlement that was causing a secondary error — that error is now gone All agreements accepted, no pending legal items Failure persists across multiple builds with identical symptoms The developer portal API responds correctly. The failure is isolated to the App Store Connect store configuration endpoint specifically, where the proxy returns response (null) — no HTTP response at all. This appears identical to thread https://developer.apple.com/forums/thread/810658 where Apple confirmed the root cause was a backend API permission issue for the team requiring an Apple-side fix. Support case 102857550486 was opened but redirected to admin support without technical investigation. Has anyone else hit this recently, or can an Apple engineer look at the backend state for this team?
Replies
1
Boosts
0
Views
1k
Activity
Jul ’26
Signed updated Apple Developer agreement, but App Store Connect still blocks version creation
I’m running into an issue in App Store Connect where I’m being blocked from creating a new app version because it says I need to accept the latest Apple Developer Program License Agreement. However, I already accepted the agreement two days ago. When I go back to the agreements area, it appears that the agreement has been signed ("Issued June 18, 2026. Accepted June 24, 2026."), but the prompt still appears and continues preventing me from creating a new version. I’ve tried refreshing App Store Connect and checking again, but the issue is still happening. Has anyone else run into a delay where App Store Connect takes time to recognize the accepted agreement? Is there anything else I should check, or is this something that requires Apple Support to resolve? Thanks!
Replies
1
Boosts
1
Views
240
Activity
Jul ’26
My Authenticator App is in 'Wating for Review' state since March 23, 2026
Hello Apple, I am looking for guidance regarding an app that has been waiting for review for an unusually long time. It's the first build and the app details are : App ID: 6771651289 App Title: Authenticator App Status: Waiting for Review Submission Date: March 23, 2026 Submission Type: First App Store Submission My app has remained in the "Waiting for Review" state since March 23, 2026, and I have not yet received any feedback, requests for additional information, or review outcome. I understand that review times can vary depending on workload and review requirements. However, the extended waiting for review period is causing a significant delay to my planned launch, and I would be grateful if the App Review Team could provide an update on the status of the review or advise whether any additional information is needed from my side. Thank you for your time and assistance. I appreciate the work of the App Review Team and look forward to your response. Kind regards, Sufyan
Replies
0
Boosts
0
Views
228
Activity
Jun ’26
App waiting for review
Hello App Review Team, My app, SUB PREMIUM TV (Apple ID: 6769972609, Version 1.0), has been in “Waiting for Review” status for several days. I would like to confirm whether there is any issue with my submission or if any additional information is needed from me. Thank you for your time and assistance. Best regards, Babucarr Ngum
Replies
1
Boosts
0
Views
408
Activity
Jun ’26
My Apple Developer Program membership wasn't activated after payment. And they're waiting for me to pay again.
Herkese merhaba, 19 Haziran 2026 tarihinde Apple Geliştirici Programı üyeliği satın aldım. Ödeme banka hesabımdan başarıyla tahsil edildi. 20 Haziran'da Apple'dan bir e-fatura ve siparişimin işleme alındağı söylemeden başka bir e-posta aldım. Ancak, Apple Developer hesabımda oturum açtığımda, hala “Enroll Today” düğmesini görüyorum. Hesabım ucretsiz bir geliştirici hesabına benziyor ve ucretli üyelik özelliklerine erişemiyorum. Satın alma işlemi için kullandığım Apple Hesabıyla oturum açtım. Üyelik ayrıca Apple Hesabımın abonelikler bölümünün altında da görünmüyor. Bu konuyu daha önce yaşayan var mı? Aktivasyon ne kadar sürdü ve bunu çözmek için ne yaptınız? Teşekkür ederim.
Replies
0
Boosts
0
Views
161
Activity
Jun ’26