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

117 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Recommended way to detect when a user has joined your team via App Store Connect API?
I'm using App Store Connect API to automate onboarding/off-boarding user invitations for my team members when they start working on my app. Once devs join the team, I'd like to invite them to the specific app's beta test group. This requires some additional work after the user has joined the team because unlike visibleApps, there's no way to initially indicate the beta test groups that a user should have access to. One challenge I'm finding is that people don't immediately join the team on time so polling feels a bit excessive/wasteful. Is there some recommended mechanism for adding users to the internal test flight group, or is there a way to trigger a webhook when the list of users is updated. I noticed that there's a new /v1/marketplaceWebhooks API so I imagine this is the recommended format for registering callbacks. Any assistance here would be greatly appreciated.
1
16
423
Jun ’25
Possible to create App Groups with the App Store Connect API?
It looks like the capability identifier, merchantIds, can now officially be interacted with using the /v1/merchantIds endpoint. Curious if /v1/appGroups or /v1/cloudContainers will be added to the official API too. Fastlane currently supports these endpoints with the cookies authentication system. Unlike many endpoints, these ones are specifically required to ensure that apps with certain entitlements have correct remote settings otherwise the xcodebuild will fail. Appreciate any input here, thanks!
0
17
655
Mar ’25
STANDARD type of report returns empty data
Hello! Any clues or guidance, please? I have already spent several days fighting with secret knowledge of App Store API connect and got to this point. But this one seems like I am stuck. I call https://api.appstoreconnect.apple.com/v1/analyticsReports/r14-[my-specific-id]/instances and get empty data { "data" : [ ], "links" : { "self" : "https://api.appstoreconnect.apple.com/v1/analyticsReports/r14-[my-specific-id]/instances" }, "meta" : { "paging" : { "total" : 0, "limit" : 50 } } } r14-[my-specific-id] is the id I got from calling https://api.appstoreconnect.apple.com/v1/analyticsReportRequests/[another-specific]/reports. r14-[my-specific-id] is "App Store Discovery and Engagement Standard" according to the response from /reports endpoint. Yes, I know, that it is a valid case for DETAILED reports to get empty data due to Apple Privacy thresholds. But the report I am trying to download is STANDARD (at least, it is what the name the report ("App Store Discovery and Engagement Standard") states in /reports end point response). Basic hygiene checks: I do have numbers in App Store UI in Analytics tab for this report Out of all reports returned by /reports the greatest majority of reports return empty data but SOME reports return data properly (unfortunately, not the ones I need) Enough time has passed: I have submitted request for ONGOING report 3 calendar days ago, it got executed within 24 hours, and it is already 2 full calendar days passed since execution of my request, meaning 8am P.T. has passed two times since ONGOING equest was fulfilled Any suggestions, ideas, clues, please? (Apple, why getting simple data can become such a quest?)
2
0
61
Apr ’25
ModifyPromo 409: State Error
When calling modifypromo, I keep getting this error: error: HTTP status code 409, body { "errors" : [ { "id" : "7aeb5c20-576d-4500-ad65-525d298d2093", "status" : "409", "code" : "STATE_ERROR", "title" : "The request cannot be fulfilled because of the state of another resource.", "detail" : "Cannot invoke "com.apple.its.pricing.api.model.Country.countryCodeISO2A()" because the return value of "com.apple.its.pricing.api.model.offers.AdHocOfferProduct.country()" is null" } ] } My request is: Where id is the encrypted values needed { "data": { "attributes": {}, "relationships": { "prices": { "data": [ { "id": "id", "type": "subscriptionPromotionalOfferPrices" } ] } }, "type": "subscriptionPromotionalOffers", "id": "id" }, "included": [ { "attributes": {}, "id": "subscriptionPromotionalOfferPrices", "relationships": { "subscriptionPricePoint": { "data": { "id": "id", "type": "subscriptionPricePoints" } }, "territory": { "data": { "id": "USA", "type": "territories" } } } } ] }
2
0
67
Apr ’25
Create app in Appstore using AppStoreConnect API is giving an error.
Hello Apple Developer Team, I've followed the AppStoreConnect API documentation and created the following: I've created a API Key in App store > Integrations > Teams key, gave the role as admin. Created a valid JWT token When fetching the GET v1/apps, I can see the list of apps. Also I was able to make GET v1/users as well successfully. I've the valid bundle Id and capabilities enabled in the developer portal. Facing an issue while creating an app in App Store using AppStoreConnect API using POST call: This is my ruby script: response = api_request( method: :post, path: "/v1/apps", token: token, body: { data: { type: 'apps', attributes: { name: APP_NAME, primaryLocale: LOCALE, sku: "SKU#{Time.now.to_i}", bundleId: BUNDLE_ID, platform: 'IOS' } } } ) It gives me below error: { "errors": [ { "id": "09b465fc-316f-47b4-9bc3-9c340cb966aa", "status": "403", "code": "FORBIDDEN_ERROR", "title": "The given operation is not allowed", "detail": "The resource 'apps' does not allow 'CREATE'. Allowed operations are: GET_COLLECTION, GET_INSTANCE, UPDATE" } ] } Did anyone was able to successfully create the app in App Store via AppStoreConnect API? Could you please help me identify the root cause for the above issue and provide some inputs so that I could work on resolving them and move forward in the deployment process. Appreciate your help in reviewing this. Thank you, Santosh
0
0
125
Apr ’25
Cannot submit iOS build (error: A required agreement is missing or has expired) despite all agreements signed
Refer to the attached screenshots I am trying to push an update for an existing iOS app that I developed a few years ago (App ID: 1465985188) but I am getting this error: A required agreement is missing or has expired. This request requires an in-effect agreement that has not been signed or has expired. (ID: O4YFH7VPB2LECAUAVXR6G4WRFQ) (403) I checked my agreements page and there is no clear indication of any missing agreements left to sign or what not. I have tried different builds of this project to no avail. I am stuck in a rut and I have been already waiting two weeks for customer support to acknowledge my issue and get back to me. My membership is due in a couple months, and honestly, if this is not resolved by end of this month I am not gonna renew. Attaching screenshots of all the agreements, and as you can see all the agreements are signed.
1
0
127
Apr ’25
Send logs from appstoreconnect to SIEM
Good day. The Infrastructure Security team my company is concerned about potential information security incidents in https://appstoreconnect.apple.com/. We intend to: Collect logs of any activities within our organization (for example, someone adding a new user with administrative privileges or publishing a new application from a corporate account). Automatically deliver these logs to our SIEM (e.g., Splunk), so that alerts can be generated and potential security incidents can be addressed, such as breaches of internal policies by an employee or a compromise of a corporate account associated with https://appstoreconnect.apple.com/. Could you please advise on how this can be implemented?
0
0
36
Apr ’25
Requesting Code-Level Support: Node.js Script to Fetch US Education Apps with "Exam Prep" by Revenue
Hi Apple Developer Support, I’m working on a Node.js script to fetch all apps listed under the Education category and Reference subcategory from the US App Store, where the app name includes "exam prep". My goal is to list these apps in descending order of their earned revenue (including both paid apps and those with subscriptions). To proceed, I’m looking for guidance or code-level support on: Accessing App Store metadata programmatically via Apple-approved APIs. Filtering apps by category, subcategory, and keywords in the app name. Sorting the result set by revenue (paid and subscription earnings). Is there any recommended API or service (official or via App Store Connect) that I should be using to achieve this? Appreciate any direction, documentation, or sample code that can help. Thanks in advance!
0
0
46
Apr ’25
Issues with pulling Crash data from API
We are currently experiencing an issue accessing crash data via the App Store Connect Analytics API for several of our mobile apps. Summary of Issue: For certain app IDs, crash data is clearly visible within the App Store Connect UI under the "App Crashes" report. However, when attempting to retrieve this same data via the official Analytics API, no crash data is returned. Our integration makes the following API calls: GET /v1/analyticsReportRequests/<report_id>/reports?filter[category]=APP_USAGE GET /v1/analyticsReports/<instance_id>/instances GET /v1/analyticsReports/<instance_id>/segment (to retrieve download URL) This process works as expected for some apps, where the “App Crashes” report is available and the segment URL is returned. However, for other apps, while the crash data appears in the UI, the API does not return the “App Crashes” report or any segment URL to download the data. We’ve confirmed the report IDs and used the correct authentication headers in our requests. Question Can anyone please advise why crash data for certain apps is not available via the API, even though it is accessible via the UI? Is this a known limitation or a possible configuration issue on our account?
1
1
72
Apr ’25
Is there a way to pull Ratings data via API or other method?
We are currently pulling data via the API to look various metrics, including reviews and ratings. However, I noticed the ratings only come in with associated reviews - it doesn't appear there is public access to the API for pulling all historic ratings (without associated reviews). Is this correct? Does anyone know a workaround or way to access the ratings data via API or other method?
0
1
44
Apr ’25
Device token for DeviceCheck API
Hi all, I'm trying to integrate Apple’s DeviceCheck API into my Flutter iOS app. I already have everything set up on the backend — the Apple private key, key ID, team ID, and DeviceCheck capability. The backend is generating and signing the JWT correctly and making requests to Apple. However, I’m currently stuck on the frontend (Flutter): 👉 How can I generate the device_token required by the DeviceCheck API (via DCDevice.generateToken) in a Flutter iOS app? I understand that DCDevice.generateToken() must be called from native Swift code. I previously attempted to use a MethodChannel to bridge this in Swift, but would prefer not to write or maintain native Swift code if possible. I've looked for a prebuilt Flutter package to handle this, but nothing exists or is up-to-date on pub.dev. Main Question: Is there any Apple-supported way to generate the device_token for DeviceCheck from a Flutter app without writing Swift code manually? If not, is DCDevice.generateToken() the only possible approach, and must I implement this via Swift and Flutter platform channels? Thanks!
0
0
99
Apr ’25
App Store Connect shows more data than salesreports API
We're using https://api.appstoreconnect.apple.com/v1/salesReports (https://developer.apple.com/documentation/appstoreconnectapi/get-v1-salesreports) to get the First-Time Downloads as can be seen in the App Store Connect per app. But from the API we only get data since March 2025 while in the App Store Connect data can be seen since November 2022. From the API response we read the Units for entries where 'Product Type Identifier' is 1 (https://developer.apple.com/help/app-store-connect/reference/product-type-identifiers/) per Apple Identifier. The results is for all apps as we expect, but for one app we only get data since March 2025. It is indeed the case that the app has been published in March, but the same id was in use since November 2022, under another vendor though (different vendorNumber, which we don't know). Is there any way to get the statistics from before March, like can be seen in the App Store Connect? Perhaps another way of calling salesReports or another API. We tried https://appstoreconnect.apple.com/analytics/api/v1/data/timeseries as that is the call happening in App Store Connect which over there is returning data prior to March 2025, but we couldn't get it to work nor find documentation about it. Or can we feed the old data so we would get it back from salesReports?
0
0
91
Apr ’25
App Store Server API JWT Authentication Issue
Issue Description I am experiencing persistent 401 Unauthorized errors when attempting to access the App Store Server API using JWT authentication. Despite following Apple's documentation and regenerating keys, I am unable to successfully authenticate. Implementation Details I'm implementing JWT authentication for the App Store Server API to retrieve transaction information from the following endpoint: https://api.storekit.itunes.apple.com/inApps/v1/transactions/{transactionID} My JWT generation code (in PHP/Laravel) follows Apple's documentation: php$kid = '6W6H649LJ4'; $header = [ "alg" => "ES256", "kid" => $kid, "typ" => "JWT" ]; $iss = 'b8d99de7-b43b-4cbb-aada-546ec784e249'; // App Store Connect API Key Issuer ID $bid = 'com.gitiho.learnCourse'; // Bundle ID $payload = [ "iss" => $iss, "iat" => time(), "exp" => time() + 3600, "aud" => "appstoreconnect-v1", "bid" => $bid ]; $pathFileAuthKeyP8 = "AuthKey_6W6H649LJ4.p8"; $contentFileAuthKey = \File::get(base_path($pathFileAuthKeyP8)); $alg = "ES256"; $jwt = \Firebase\JWT\JWT::encode($payload, $contentFileAuthKey, $alg, null, $header); Steps Taken to Troubleshoot Verified that the Issuer ID is correct and in UUID format Confirmed that the Key ID matches the private key filename Regenerated the key with proper App Store Server API permissions Ensured the private key file is properly formatted with correct headers and footers Verified that the JWT is being properly encoded using the ES256 algorithm Confirmed the bundle ID is correct for our application Checked that the API endpoint URL is correct Additional Information This implementation previously worked correctly We started experiencing 401 errors recently without changing our implementation We are using the Firebase JWT library for PHP to encode the JWT Request Could you please help identify what might be causing these authentication failures? Is there any recent change in the authentication requirements or endpoint URLs that might be affecting our integration? Thanks for support me.
0
0
59
Apr ’25
Unable to use API key to create new app in CI
Hi, We run an app house where we're creating a new app through our store for clients every few weeks. We've been using the Apple ID login through fastlane to create new apps in our CI, however we find having to log in to multiple machines every few weeks very frustrating, as it requires 2fa, and always seems to happen right when the system admins are on leave. We've tried to use the API key instead however creating apps doesn't appear to be supported, as we get a 403 error stating we can't use create. This was with the App manager role. Is it at all possible to crate an app using the api key, turn off the timeout on the ID Login or, automate this so we don't need to log in every few weeks?
0
0
32
Apr ’25
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.
2
0
151
May ’25
In-App Purchase Products Not Fetching via Unity IAP in TestFlight Builds
We are experiencing an issue with our iOS TestFlight builds where in-app purchase (IAP) products are not being retrieved as expected. We are using Unity IAP to handle our purchases, and despite having all the products correctly configured and approved in App Store Connect, we consistently receive errors such as: UnityIAP: Received 0 products Unavailable product [product_id] We have thoroughly verified that: The product identifiers are correctly configured in App Store Connect. The bundle ID mappings are correctly set on both Unity and our backend. The same setup works on the live App Store build, where purchases are fetched and validated correctly for the same set of In App products. Sandbox test accounts are being used during TestFlight testing. This issue only started appearing recently and affects the TestFlight builds only. Note: My App ID and Product ID are correct, the IAP is live on the App Store, and the product is recognized in sandbox. Looking forward to your support on this matter.
4
16
729
May ’25
subscriptionGroupLookups API returns 404 - No LookUp Key assigned to my subscription group
Hello, I'm encountering an issue when trying to use the subscriptionGroupLookups endpoint in the App Store Connect API. Despite having the correct setup, I continue to receive a 404 NOT FOUND error when making requests to: GET https://api.appstoreconnect.apple.com/v1/subscriptionGroupLookups Here is the current state of my environment: I am the Account Holder of the App Store Connect account The App Store Connect API key has been successfully created I have the correct Key ID, Issuer ID, and .p8 private key I can authenticate and access the apps and subscriptionGroups endpoints However, the subscriptionGroupLookups endpoint always returns: { "errors": [ { "status": "404", "code": "NOT_FOUND", "title": "The specified resource does not exist" } ] } I suspect that LookUp Keys (UUIDs) have not been assigned to our subscription groups, even though they were created and are active in App Store Connect. There is no “Request Access” button visible under the Integrations tab (as mentioned in Apple support instructions), and my keys appear under “App Store Connect API” > “Keys” as active. Questions: How can I ensure that LookUp Keys are assigned to my subscription groups? Is there a way to trigger this manually or via support? Has anyone successfully resolved this? Any advice or experience would be greatly appreciated. Thank you!
0
0
52
May ’25
Creating Advanced AppClip Experiences Via API
I'm trying to programmatically create an Advanced AppClip Experience via the API. following the docs https://developer.apple.com/documentation/appstoreconnectapi/app-clips-and-app-clip-experiences I have created the header image. But when I try to create the experience I can not figure out a) how to create a localisationID to be included in the relationships object b) how to get the included object to be recognised Any one have experience or can offer help?
1
0
77
May ’25
App Store Analytics API Reports
Hi everyone, I’m new here. I’m working with the App Store Connect (ASC) Analytics API and I have some questions about how to retrieve historical data for downloads and in-app purchases. I’ve created two types of reports: 1. ONGOING: Retrieves current and recent data. 2. ONE_TIME_SNAPSHOT: Supposedly retrieves historical data. I am specifically interested in the Detailed versions: • App Store Downloads Detailed • App Store Purchases Detailed What's my problem? 1. The ONGOING report brings instances with data from the last few days, which seems correct for App Downloads. But not with Purchases, it brings just a few random days and I'm not sure about the granularity. 2. The ONE_TIME_SNAPSHOT report, however, retrieves instances with data from specific days, but the selection of these days appears to be random. I can’t figure out the criteria behind it. Does anyone know what the selection criteria are for the days that appear in the ONE_TIME_SNAPSHOT report? Is it possible to configure the date range for this type of report? Why are some historical dates available while others are not? Is there a way to ensure that the ONE_TIME_SNAPSHOT report brings data from all days within a specified range? Any advice or insights would be greatly appreciated! Thanks in advance!
0
0
140
May ’25
Retrieving each user’s “last login” timestamp via the App Store Connect API – is it possible?
Hello everyone, I’m building a custom tool that uses the App Store Connect API (v1) to manage my team’s users. I can successfully list all users with: GET https://api.appstoreconnect.apple.com/v1/users …but the JSON response only includes fields like firstName, lastName, email, allAppsVisible, provisioningAllowed, and roles. There is no lastLogin or timestamp field anywhere in the User object: { "data": [ { "id": "USER_ID", "type": "users", "attributes": { "firstName": "mohit", "lastName": "tiwari", "email": "", "allAppsVisible": false, "provisioningAllowed": false }, "relationships": { … } }, … ] } My main question is: How can I retrieve each user’s “last login” timestamp via the App Store Connect API? Is this even possible with the current endpoints? If it isn’t exposed, has Apple any plans to add this? Or are there any recommended workarounds—perhaps via audit logs or another API—to track when each user last accessed App Store Connect? Thanks in advance for your guidance and any code/endpoint examples you can share!
0
0
65
May ’25