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.

App Store Connect API Documentation

Posts under App Store Connect API subtopic

Post

Replies

Boosts

Views

Activity

Analytics Reports API response only returns empty data array
I am following the Downloading Analytics Reports guide which consists of five steps: request the ONGOING report generation for the app once list all analytics report requests for the app list all analytics reports based on the analytics report request id :x: list all analytics report instances based on the analytics report id list all segments of the analytics report instance to get the download url I can only complete the third step which returns a list of all available reports. However when I continue with step four, the request for the analytics report instances returns with a response code 200 but the data array is always empty: I am using the Home Screen Widget Installs report but this is also happening for other reports Also changing or omitting the filter doesn't change anything { "data": [], "links": { "self": "https://api.appstoreconnect.apple.com/v1/analyticsReports/{reportId}/instances?filter%5Bgranularity%5D=DAILY" }, "meta": { "paging": { "total": 0, "limit": 50 } } } What could be the reason that the data array is empty and how can I fix it because there is no error message?
9
6
1.6k
22h
TestFlight Beta Build Webhook Events Missing (Shown in WWDC25 but Not available in API/Portal)
I am trying to add webhook subscriptions for TestFlight build processing completion and TestFlight beta build review completion events. These were showcased in the WWDC25 session: https://developer.apple.com/videos/play/wwdc2025/324/ Currently, I am able to receive webhook events for distribution updates, and the corresponding checkmark option is available in the App Store Connect portal. However, there is no checkmark option in the portal to subscribe to beta build-related events. In the video, there is clearly a checkmark option for the beta review event subscription (at 4:55). The current documentation also does not mention beta processing and beta review event subscriptions. It only lists the event types that are visible in the web portal: https://developer.apple.com/documentation/appstoreconnectapi/webhookeventtype When I try to add the BUILD_BETA_DETAIL_EXTERNAL_BETA_STATE_UPDATED event (as shown in the video at 6:10) via the PATCH API request, I get the below error. "errors": [ { "id": "****-****-****-****-*********3851", "status": 409, "code": "ENTITY_ERROR.ATTRIBUTE.TYPE", "title": "An attribute in the provided entity has the wrong type", "detail": "'BUILD_BETA_DETAIL_EXTERNAL_BETA_STATE_UPDATED' is not a valid value for the attribute 'eventTypes/3'.", "expectedValues": [ "APP_STORE_VERSION_APP_VERSION_STATE_UPDATED", "BETA_FEEDBACK_CRASH_SUBMISSION_CREATED", "BETA_FEEDBACK_SCREENSHOT_SUBMISSION_CREATED" ], "source": { "pointer": "/data/attributes/eventTypes/3" } } ] } The App Store Connect web portal also does not provide a checkmark option for subscribing to this event type. My questions are: Are the TestFlight build processing completion and beta build review completion webhook events coming soon, or do they already exist? Are there any other ways to get beta build events apart from polling?
2
0
181
3d
Discrepancy Between App Store Connect Dashboard Metrics and API Exported Data
Hi, I am currently using the App Store Connect API to retrieve metrics for my app. Specifically, I am trying to match the following metrics displayed in the App Store Connect UI under the Metrics section: *Usage -Installations -Deletions -Active Devices *App Store -Impressions (Unique Devices) -Page Views (Unique Devices) To compute these metrics, I have exported the following CSV files: app_sessions_standard.csv app_store_discovery_and_engagement_standard.csv app_store_installation_and_deletion_standard.csv However, when I try to compute the metrics from the CSV files, the values do not match those shown in the App Store Connect dashboard. Could you please clarify why there is a discrepancy between the UI metrics and the data available through the API or CSV exports? Are there any known delays, filters, or calculation differences that could explain this? Thank you for your assistance. Best regards,
2
2
332
5d
How to build reliable Analytics integration via API?
Hey there, I'm building a service that requires receiving accurate app downloads and sales/proceeds data along with the campaign name. From reading the documentation it looks to be fairly understandable, but in practice it is not that straightforward. For example, I received the first one-time-snapshot detailed report for the App Store Purchases, and it contains partial data for several days. Shouldn't that be a full report of everything in analytics for like last year or so? Should I expect it to be updated and extended in the coming days? For the ongoing detailed report, I have not received anything yet, but I'm afraid it might have partial data as well. I will report here as well.
2
1
497
5d
Build upload API not yet available?
Dear community, in order to modernize our build pipelines, I wanted to try out the new App Store Connect build upload API that was introduced in the WWDC video "Automate your development process with the App Store Connect API". However, when POSTing to https://api.appstoreconnect.apple.com/v1/buildUploads, I receive the following error message: { "errors": [ { "id": "9fb916ea-4d26-4712-8c55-d1d4b5320bf2", "status": "404", "code": "PATH_ERROR", "title": "The URL path is not valid", "detail": "The resource 'v1/buildUploads' does not exist" } ] } Is this API not yet available or am I doing something wrong? If it is not yet available, is there an ETA? Thanks in advance & best regards, Yannik
2
3
405
5d
How to retrieve the App Icon?
I need to get the app icon from the AppStore Connect API in order to display a list of my apps. However there seems to be no way. I See in the appstoreconnect.apple.com website that the icons are there and available, there is even a function where you can click on it and get the high res version: https://appstoreconnect.apple.com/apps/1504874998/distribution/ios/version/deliverable (this link is of course not available from the outside) I tried builds/{id}/icons which always returns nothing and found an iconAssetToken object in the builds array, but the link is weirdly formatted and leads to nothing. Hope someone can help, I'm fairly new to the API and the usage is quite odd for me so far. Best, Nils
5
2
2.3k
6d
403 Forbidden error
Hello Apple Developer Support, I am facing an issue when attempting to use the App Store Connect API with my API key. While basic access (e.g., /v1/apps) works correctly, any requests related to Certificates, Identifiers & Profiles (CIP) are failing with a 403 Forbidden error. Here are the details of the request and validation results: JWT Details: { "header": { "alg": "ES256", "kid": "2XLW343BLM", "typ": "JWT" }, "payload": { "iss": "9cf6159c-e038-4703-b542-7652242a6dbf", "iat": 1757515277, "exp": 1757516357, "aud": "appstoreconnect-v1" } } Test Results: ✅ /v1/apps?limit=1 → Status: 200 (working) ❌ /v1/bundleIds?limit=1 → Status: 403 Error: Unable to find a team with the given Content Provider ID 9cf6159c-e038-4703-b542-7652242a6dbf to which you belong. ❌ /v1/certificates?limit=1 → Status: 403 Error: This request is forbidden for security reasons. ❌ /v1/profiles?limit=1 → Status: 403 Error: Unable to find a team with the given Content Provider ID. I have already confirmed that: All API keys were generated correctly. All required roles and permissions have been assigned in App Store Connect. It seems that while public access endpoints are functioning, the CIP endpoints are blocked for my account/key. Could you please advise: Why the given Content Provider ID is not being recognized? Whether additional permissions, roles, or configuration are required to enable access to Certificates, Identifiers, and Profiles through the API? If it is possible to reset or refresh my membership/team configuration so that I can successfully access the App Store Connect API endpoints for CIP. Thank you for your support and guidance. Best regards
13
15
1.2k
1w
[iOS 26 presentOfferCodeRedeemSheet] Custom Offer Code fails with "The code entered is not valid"
Hello everyone, I'm having trouble testing custom offer codes for my auto-renewable subscription in the Sandbox environment. I am using the modern StoreKit 2 API to display the redemption sheet: try await StoreKit.AppStore.presentOfferCodeRedeemSheet(in: windowScene) When I enter a valid custom code that I created in App Store Connect, the system sheet immediately returns the following error: "Cannot Redeem Code. The code entered is not valid. [environment: sandbox]" To be clear, I am manually typing the custom code string itself into the redemption sheet's text field, not using a one-time code link or URL. I believe my configuration is correct, and I've already spent a significant amount of time troubleshooting. Here is a list of everything I have checked and tried so far: App Store Connect Configuration: The Offer Code is marked as "Active". The parent subscription product is approved and its status is "Ready for Sale". The offer's eligibility is set correctly The start and end dates for the offer are valid. Despite all these steps, the error persists. At this point, I suspect this might be a temporary issue with the Sandbox environment itself, but I want to make sure I haven't missed any crucial configuration steps. Has anyone else encountered this issue recently? Is there anything else I should be checking? Any help would be greatly appreciated. Thank you.
0
0
26
1w
can't submit version with App Store Connect Api
I’m currently automating our iOS release pipeline with the App Store Connect API. TestFlight and App Store version creation are mostly working, but I’m stuck at the “submit for review” step. Below are the endpoint I’m calling, the payload, and the error I receive: > url: https://api.appstoreconnect.apple.com/v1/appStoreReviewSubmissions > method: POST > params: None > json: {'data': {'type': 'appStoreReviewSubmissions', 'relationships': {'appStoreVersion': {'data': {'type': 'appStoreVersions', 'id': '62db20b9-1bc6-4b1a-9b52-9834a807c377'}}}}} > response: <Response [404]> > ASCAPIError(404): The specified resource does not exist: The path provided does not match a defined resource type. | errors=[{'id': '32d2c224-0f1c-4592-a02d-a4f87b13b6b7', 'status': '404', 'code': 'NOT_FOUND', 'title': 'The specified resource does not exist', 'detail': 'The path provided does not match a defined resource type.'}] The official documentation app-store-version-submissions doesn't mention the endpoint, and I could not find any working example in open-source CLI tools. Questions: Does the App Store Connect API actually support submitting an App Store version for review? If yes, where can I find the exact endpoint & required scope documented? If no, is there a canonical list of what the API can and cannot do so I can confirm the limitation? Any pointers to docs or working code samples would be greatly appreciated.
0
0
105
1w
How to match App Store Connect UI for “Installations” & “First-time downloads” from Analytics Reports (dedupe/versioning guidance?)
We fetch the App Store Analytics – App Installs & Deletions (Daily) report via the Analytics Reports API and land each delivery into S3. The rows we ingest contain fields like Date, Event, Download Type, Counts, and Unique Devices. We’re trying to compute for example Installations and First-time downloads so our warehouse totals match the App Store Connect UI exactly, but our counts are consistently higher when we aggregate (with filter conditions being the same). Questions: (1) Official dedupe/versioning approach: What's the recommended approach to avoid double counting across API deliveries and to match the UI exactly? If later deliveries can revise past dates, what field(s) or process should we rely on to decide which records to keep for a given Date? (2) Completeness window: For daily data, is the recommended approach to publish rolling values that may change for a few days, or waiting until dates are considered “complete” before reporting? Any best-practice guidance would be helpful. Thanks!
1
3
145
2w
App Store Connect Age Rating API
I have a problem with the API to set some values. For example under section Violence, I can set following categories: Cartoon or Fantasy Violence Realistic Violence Prolonged Graphic or Sadistic Realistic Violence But not: Guns or Other Weapons Here I am refering to this documentation: https://developer.apple.com/documentation/appstoreconnectapi/ageratingdeclarationupdaterequest/data-data.dictionary/attributes-data.dictionary For following sections it is also not possible via API: Capabilities: Unrestricted Web Access user-Generated Content Mesaging and Chat Advertising Medical or Wellness Health or Wellness Topics medical or treatment Information I would like to know if it is planned from your side to support the setting of those fields via the App Store Connect API. And if yes, when will this be possible?
0
0
16
2w
Replicating figures from App Store Connect using Analytics Reports via App Store Connect API
We have recently ingested data using the App Store Connect API for: App Store Discovery and Engagement App Store Downloads I'm unable to match figures from fairly basic reports and I can't understand where I'm going wrong. For example: Running figures from App Store Connect > Analytics > Metrics > Product Page Views, with no filters, for a given date (e.g. 1 July 2025) - I get a completely different figure (smaller, almost half the volume) than when I try to use the data from the App Store Discover and Engagement report for the same date. For reference, I am looking at the sum of counts when event = Page view and page type = Product page. It's a similar thing for First-Time Downloads. Am I missing something obvious?
1
1
168
2w
Payment report API
Hi, In the AppstoreConnect website it's possible to retrieve the payments and estimated proceeds. Is it possible to recover it automaticaly with an API ? I saw "Payments and Proceeds" documentation (https://developer.apple.com/help/app-store-connect/getting-paid/view-payments-and-proceeds), and the "Download Sales and Trends Reports" API documentation (https://developer.apple.com/documentation/appstoreconnectapi/get-v1-salesreports). But none can retrieve the amount that Apple proceeds to the bank account. I need this because I sell in different countries with different currencies. And I manage different Apple accounts. Best Regards,
0
0
52
3w
API Key for customerReviewResponses
We're trying to test submitting a review response through the App Store Connect API. The documentation states that an API key with the role App Manager should allow this. However when testing I get a 403 response with the error: { "errors": [ { "id": "15eb1546-78e2-45a6-b1f4-3cc96166b5fb", "status": "403", "code": "FORBIDDEN_ERROR", "title": "This request is forbidden for security reasons", "detail": "The API key in use does not allow this request" } ] } Can anyone tell me where I'm going wrong? According to the documentation the API key should work.
0
0
25
3w
Non-GET methods for `passTypeIds` are failing
I am trying to delete and create pass type ids. In both cases I get error 400 which means that at least my token is valid. In case of deletion I make a DELETE request to /v1/passtypeIds/{id} where {id} is 10 character string. And I get 400 error back with basically no (or rather nonsensical) explanation: "JSON processing failed". What JSON? There is no request body for this request.
0
0
122
3w
Deploymet from FlutterFlow
When trying to deploy my app to App Store Connect from FlutterFlow, I keep receving this error message: This request is forbidden for security reasons - Unable to find a team with the given Content Provider ID '********' to which you belong. Please contact Apple Developer Program Support. https://developer.apple.com/support .
2
1
97
4w
Issue: Offer Code Redemption Sheet Not Closing and Missing Receipt
Dear Apple Support Team, We are experiencing an issue with the Offer Code Redemption Sheet in our iOS app. Despite following Apple’s recommended approaches, the redemption sheet does not close automatically after a user successfully redeems a code. We have implemented both methods as suggested in the documentation: StoreKit 2 (iOS 16+): AppStore.presentOfferCodeRedeemSheet(in: scene) StoreKit 1 (iOS 14–15): SKPaymentQueue.default().presentCodeRedemptionSheet() Expected behavior: The sheet should automatically close after a successful code redemption and provide a receipt for verification. Observed behavior: The sheet remains open even after a code is successfully redeemed, and we do not receive a receipt to validate the redemption. We would greatly appreciate guidance or any workaround to ensure that: The redemption sheet closes automatically after redemption. A valid receipt is delivered for verification. For your reference, we are testing on: iOS versions: 16+, 15+ Device models: iPhone 16 and others Please let us know if additional information, logs, or screen recordings are needed to investigate this issue.
0
0
39
Sep ’25
Template (custom entitlement) name not supported
Hi All! Ever since the new PLA I have issues with adding my entitlements to my profiles. Previously when adding an entitlement I used the format [entitlementName] [AppId] [type] e.g. Apple Pay Pass Suppression [AppId] Development However ever since the new PLA I get an warning in my terminal that the template name is not supported by the App Store Connect API. Anyone that can help me out with the new format? I cant seem to find any helpful documentation online. Thanks! PS: the link in the screenshot points to this website: https://docs.fastlane.tools/actions/match/#managed-capabilities The naming strategy the use on the website doesnt work either: Apple Pay Pass Suppression Development
2
2
117
Sep ’25
Fetching app version release dates with App Store Connect API
What App Store Connect API endpoint(s) do I need to use to get the release dates of an app's various app versions? On App Store Connect itself, I can navigate to a given app and select "History", on the left side under General. See screenshot: In the screenshot, you can clearly see that version 1.9 became Ready for Distribution on Nov 12, 2024 at 3:28 AM, and that version 1.10 became Ready for Distribution on February 18, 2025 at 8:10 AM. However, I haven't been able to find to get any of these detailed status history via the App Store Connect API. Specifically I'm looking for release, or "go live", dates for the various versions of a given app. I'd have expected one of these API endpoints, or some combination thereof, to include this information in some way, but I'm just not finding it: GET https://api.appstoreconnect.apple.com/v1/apps/{id}/appStoreVersions GET https://api.appstoreconnect.apple.com/v1/appStoreVersions/{id} GET https://api.appstoreconnect.apple.com/v1/apps/{id}/builds GET https://api.appstoreconnect.apple.com/v1/apps/{id}/reviewSubmissions I've submitted FB16730940 and also via TSI.
2
0
264
Aug ’25
v1/appPriceSchedules 409
BASE_TERRITORY="USA" app_id = "*******" # your app id app_price_points_id = "eyJzIjoiNjc1MTMwOTAyNiIsInQiOiJVU0EiLCJwIjoiMTAwMTEifQ" # query and get manual_price_id = "manualPrice-0" update_app_price_url = "https://api.appstoreconnect.apple.com/v1/appPriceSchedules" update_app_price_payload = { "data": { "type": "appPriceSchedules", "relationships": { "app": { "data": {"type": "apps", "id": app_id} }, "baseTerritory": { "data": {"type": "territories", "id": BASE_TERRITORY} }, "manualPrices": { "data": [{"id": manual_price_id, "type": "appPrices"}] } } }, "included": [ { "type": "appPrices", "id": manual_price_id, "attributes": {"startDate": None}, "relationships": { "appPricePoint": { "data": {"type": "appPricePoints", "id": app_price_points_id} } } } ] } update_app_price_resp = requests.post(update_app_price_url, headers=headers, data=json.dumps(update_app_price_payload)) if update_app_price_resp.status_code == 201: update_app_price_id = update_app_price_resp.json()["data"]["id"] print(f"✅ Success : {update_app_price_id}") else: print(f"❌ Failed : {update_app_price_resp.status_code} {update_app_price_resp.text}") sys.exit(1) There was no problem a week ago, but now it reports an error ❌ Failed : 409 { "errors" : [ { "id" : "69a6e006-b99c-4d58-880c-0225c1eff581", "status" : "409", "code" : "ENTITY_ERROR.INCLUDED.INVALID_ID", "title" : "The provided entity id is invalid", "detail" : "The provided included entity id 'USA-1.0' has invalid format", "source" : { "pointer" : "/included/0/id" } } ] }
5
2
396
Aug ’25