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 tag

144 Posts
Sort by:
Post not yet marked as solved
0 Replies
121 Views
Hi, After calling the following endpoint: params = {'limit': 1, 'fields[appPricePoints]': ['customerPrice,territory,priceTier,proceeds'], 'include': ['territory,priceTier']} GET - https://api.appstoreconnect.apple.com/v1/appPriceTiers/1/pricePoints the 200 response returns the element next: https://api.appstoreconnect.apple.com/v1/appPriceTiers/1/pricePoints?cursor=AQ.AMXRC_I&include=priceTier%2Cterritory&fields%5BappPricePoints%5D=priceTier%2Cproceeds%2CcustomerPrice%2Cterritory&limit=1 for which after calling it the response is a 400 HTTP status code an error message: "The parameter 'include' can only be included once". Am I doing something wrong or is the server responding with an invalid next link?
Posted
by JoseT.
Last updated
.
Post not yet marked as solved
0 Replies
159 Views
As part of my developer duties, I white label apps and publish them on the Google and Apple app stores. My experience deploying apps on Google play store is an actual dream compared to the hoops Apple makes me jump through like I'm some kind of circus animal. On top of that, every time I search an issue I'm experiencing, it comes up. Other developers experience the same issues too, and the comments on them are "Same issue" and "Did you find a solution yet?". At this stage I am flabbergasted that people actually support a company like Apple.
Posted
by marcod123.
Last updated
.
Post marked as solved
1 Replies
145 Views
Dear Teams, kindly assist as I am unable to submit my app for review due to the below errors: You must select a primary category for your app Before you can submit your app for review, an Admin must provide information about the app's privacy practice in the App privacy section. Unfortunately , I couldn't see the category filled to select from. Pls I need help.
Posted
by octoxii.
Last updated
.
Post not yet marked as solved
10 Replies
5.8k Views
I see that it's currently possible to report payments and tax information manually from the App Store Connect user interface, per the 'View Payment Information' section of the App Store Connect help documentation. Is there any way to retrieve this information programmatically, either via the REST API or the Reporter command line tool? The 'Finance' reports that are available through the developer tools show developer proceeds in the original currency of the transaction, not in the developer's currency post-conversion. Without currency conversion and tax information, the 'Finance' reports are not particularly useful for accounting purposes.
Posted
by wdantzler.
Last updated
.
Post not yet marked as solved
0 Replies
121 Views
My team has CI setup to automatically build our app with Fastlane, which features functions to automatically increment the build number and version numbers. However, to my knowledge, Fastlane (and any other ASC API clients) don't know the state of deployed builds unless they ask for a specific one. This leads to a disruption in our CI workflow, as App Store Connect rejects uploading of builds with the same version number. I'm wondering if there's a simple way to get the version information of the latest publicly released build, whatever latest happens to refer to at runtime. That way, we can build a fully automated function into our CI system that increments the version number if and only if the latest publicly deployed release is different than the last one reflected in source (thinking a .latest_release text file or similar). Is such a retrieval of the latest build possible with the API?
Posted Last updated
.
Post not yet marked as solved
5 Replies
6.7k Views
Does anyone know where I can find the embed code for the Apple Download Badge for apps? I have tried ITunes link Maker but there is no-where on it for Apps. I managed to get the Google badge in seconds but for Apple it seems it’s like trying to find the holy grail. I’ve been through 3 different support contacts who have now referred me here. I would really appreciate any up to date info on how to find the code. many thanks!
Posted
by Swanson12.
Last updated
.
Post not yet marked as solved
1 Replies
395 Views
I have been using the App Store API to get sales reports without any problem. but unfortunately having issues with the financial reports. I am able to view and download reports starting January 2021 that have data but when attempting to get it via API I get a 404 response: {     "errors": [         {             "id": "XXXX-XXXX-XXXX-XXXX",             "status": "404",             "code": "NOT_FOUND",             "title": "The request expected results but none were found",             "detail": "There were no sales for the date specified."         }     ] } I am using the same vendor number and these additional filters: filter[reportType] = FINANCIAL filter[reportDate] = 2021-02 filter[regionCode] = Z1 (and tried many different ones but I get the same response) Any idea what I can do to get this to work? Thanks
Posted Last updated
.
Post not yet marked as solved
2 Replies
730 Views
I am trying to automate PASS\_TYPE\_ID certificate creation via AppleConnect API, I cannot find what parameters I should use to be able to create this type of certificate. When I try to POST this data to https://api.appstoreconnect.apple.com/v1/certificates: {'data': {'attributes': {'certificateType': 'PASS\_TYPE\_ID', 'csrContent': '-----BEGIN CERTIFICATE REQUEST----------END CERTIFICATE REQUEST-----\n'}, 'type': 'certificates'}} I get this error: {'errors': [{'code': 'NOTFOUND', 'detail': "There is no identifier with ID 'null' on this team.", 'id': '5c9f7d3c-ce75-43a4-b3ac-b295a8f146db', 'status': '404', 'title': 'The specified resource does not exist'}]} From OpenAPI spec is not clear what parameters should be used and 'certificateType': 'PASSTYPE_ID' is not covered there. Do you have idea or example how to do it?
Posted Last updated
.
Post not yet marked as solved
3 Replies
1.1k Views
I am using the App Store Connect API to receive information about my app. I have noticed that the API is so extremely slow. Are there any tipps to speed up the requests? Take this request for example: https://api.appstoreconnect.apple.com/v1/builds?filter[app]=1234854699&limit=1&fields[builds]=iconAssetToken To me, this seems like a pretty straightforward request. Out of all build, get the latest one and return it. However, this request takes between 3 and 5 seconds. I need to send this request for each of my apps, so getting the builds alone can take up to 20 seconds which is not acceptable. Other requests are very slow as well. For simple requests like that I expect response times within a couple of hundreds milliseconds. Am I missing something? I have used Postman to send the request. I did not send any additional headers, only the Authorisation one.
Posted
by inexcitus.
Last updated
.
Post not yet marked as solved
0 Replies
243 Views
I'm trying to get a response from Look Up Order ID. I have the following code to test the JWT token is working: var {KJUR, KEYUTIL} = require('jsrsasign'); var uuid = require('uuid'); var moment = require('moment'); var axios = require('axios'); var R = require('ramda'); function fixPrivateKeyReturnLine(privKey) { const privateKeyPatcher = R.replace(new RegExp("\\\\n", "\g"), "\n"); return privateKeyPatcher(privKey); } function getToken(){ var oHeader = {alg: 'ES256', typ: 'JWT', kid: `${process.env.APPLE_KEY_ID}`}; var oPayload = { iss: `${process.env.APPLE_ISS}`, iat: moment().unix(), exp: moment().add(20, 'minutes').unix(), aud: 'appstoreconnect-v1', nonce: uuid.v4(), bid: 'com.XXXXX.YYYYY', // Bundle -> attributes.identifier } var sHeader = JSON.stringify(oHeader); var sPayload = JSON.stringify(oPayload); var secret = fixPrivateKeyReturnLine(process.env.APPLE_API_KEY); var prvKey = KEYUTIL.getKey(secret); return KJUR.jws.JWS.sign('ES256', sHeader, sPayload, prvKey); } function getByOrderId(url, orderId){ var axiosHeaders = { headers: { "Authorization": `Bearer ${getToken()}`, "Content-Type": "application/json" } } return axios.get(`${url}/${orderId}`, axiosHeaders) .then( res => console.log(`Response ---> ${res}`)) .catch( err => console.log(`ERROR ---> ${err}`)) } getByOrderId('https://api.storekit.itunes.apple.com/inApps/v1/lookup', 'order_id'); // Response Production: ERROR ---> Error: Request failed with status code 401 getByOrderId('https://api.storekit-sandbox.itunes.apple.com/inApps/v1/lookup', 'order_id'); // Response Sandbox: ERROR ---> Error: Request failed with status code 404 When I create the JWT and hit Sandbox I get 404 (Not found), which makes me think the token is well generated. If I change the endpoint to Production URL I get 401 (Unauthorized). Do I need to create 2 In-Apps keys for each environment? Should I use App Store Connect API keys? How can I check/debug where is the error on the Production endpoint? or Is there anything am I missing?
Posted
by osaavedra.
Last updated
.
Post marked as solved
1 Replies
439 Views
Hi everyone, We are trying to move from using saved login sessions on our CI systems to the fancy API Key methods. Once we finally convinced our security folks to allow us to try using an admin level key we were still disappointed to find that not everything is working... For a little setup we are building on: macOS 12.1 Xcode 13.2.1 What we are building: a developer-id signed Mac app It does not have an App Store version The bundle IDs are registered in the developer page and have been for years. It's a regular app with some subprojects bundled inside it. (It's in production on a very wide scale and has been for years.) We recently had to add an entitlement to one of the components and thus the build now requires a provisioning profile. It's the monkey's paw promise of automatic signing with an API Key in Xcode 13 that has let that profile bring a dark malaise to my world. When trying to build, archive, and export the app with xcodebuild we've managed to get the build and archive steps to work with the API Key. We can NOT authenticate though with the API key during the export stage. Because of this it can't find the profile for the app. If I login to the ADC page in Xcode, then download the profile with the "Download Manual Profile" button, then remove the account from Xcode again it will export the archive by using the local profile. It will though continue to flail around trying to authenticate over and over and over and over and over again using the token. 2022-03-03 08:12:49.026 xcodebuild[33107:1065902] DVTServices: Received response for 78B4588E-1CB0-4E56-86E7-4A62EB8E94A0 @ <https://appstoreconnect.apple.com/xcbuild/QH65B2/listTeams.action?clientId=XABBG36SBA>. Error = Error Domain=DVTPortalResponseErrorDomain Code=0 "Communication with Apple failed" UserInfo={NSLocalizedDescription=Communication with Apple failed, NSLocalizedRecoverySuggestion=A non-HTTP 200 response was received (401) for URL https://appstoreconnect.apple.com/xcbuild/QH65B2/listTeams.action?clientId=XABBG36SBA} One of the goals of using an API Key on CI is that we can get away from things like needing to press manual download buttons, or try to maintain the Apple IDs that time out every 20 minutes. This is blocking us from that glorious goal and driving me to the precipice of madness. We are going to open a DTS incident on this, but I wanted to be sure that we also posted the info here for the community. (Note that it took us a while to realize that in order to use a token you also must remove any Apple IDs from the Xcode prefs. This would be super helpful if it was in the documentation!)
Posted
by jamfshome.
Last updated
.
Post not yet marked as solved
2 Replies
310 Views
Hi, I understand there is are many options to manage App Store Connect programmatically using the API. But it seems that In-App Purchases cannot be created or maintained using the API. I have an app with about 30 IAPs that soon will expand to 1000+ IAPs due to multiple translations of contents. Any solution?
Posted
by razvanrd.
Last updated
.
Post not yet marked as solved
0 Replies
176 Views
hello I'm trying to download finance detail report via api, but all I get is the consolidated reports. I see the answer for same question: https://developer.apple.com/forums/thread/134209 , and i tried to add the region code Z1 but api returns the following error: APIError: There were no sales for the date specified. another question: the parameter Report Date is confusing, when I put '2022-01' I got reports for the period sep 2021. I tried different dates and it always returned data from 3 months before.
Posted
by ida0901.
Last updated
.
Post not yet marked as solved
20 Replies
9k Views
It shows on the AppStore Connect API landing page that only a team agent can request access. Since my team agent is unfamiliar with the portal, can an Admin request access, instead?
Posted
by arikays.
Last updated
.
Post not yet marked as solved
1 Replies
276 Views
We are using notarytool to notorize installers for distribution. notarytool submit file-path { -k key-path -d key-id -i issuer | --apple-id apple-id [--password app-specific-password] --team-id team-id | -p profile-name [--keychain keychain-path] } [--wait --no-s3-acceleration] App Store Connect API Keys Developer ID team administrators can create App Store Connect API keys for the developers on their team by logging into <https://appstoreconnect.apple.com/access/api> and selecting the "Keys" tab. For security purposes, the private key can only be downloaded once. -k, --key key-path App Store Connect API key. File system path to the private key. -d, --key-id key-id App Store Connect API Key ID. For most teams this will be a 10 character alphanumeric string. -i, --issuer issuer App Store Connect API Issuer ID. The issuer ID is a UUID format string. What is the recommended practice for the key-path, where should the API private key be stored in the the file system ? There is this documentation https://developer.apple.com/documentation/security/certificate_key_and_trust_services/keys/storing_keys_in_the_keychain https://developer.apple.com/documentation/security/certificate_key_and_trust_services/keys https://developer.apple.com/documentation/security/certificate_key_and_trust_services/keys/storing_keys_in_the_secure_enclave But none seems to make a recommendation for storing private keys in a way that would work with notarytool https://help.apple.com/developer-account/#/devcdfbb56a3 States the following, but does not make a recommendation WARNING: Save this file in a secure place because the key is not saved in your developer account and you won’t be able to download it again. If the Download button is disabled, you previously downloaded the key.
Posted
by wheelie.
Last updated
.
Post not yet marked as solved
0 Replies
216 Views
Additionally, you can only remove apps if all versions of that app are in one of the following states: • Prepare for Submission • Invalid Binary • Developer Rejected • Rejected • Metadata Rejected • Developer Removed From Sale • Removed From Sale       I have try a lot of things .... I' m only interrested in IOS 1.0 ; I don't need the mac0s 1.0 and also not the tvos 1.0   My IOS 1.0 was rejected before because of lack in the privacy statement , so I make the change in my apps and try to send a new version without success. My apps status is now  iOS App ·                    1.0 Ready for Review     This is for the history. Now I want to restart from scratch .   I want to have my app in the status rejected again so I go to app revew TYPE DATE ? VERSION REVIEW STATUS App Store Submission Feb 11, 2022 at 11:49 AM iOS 1.0 Unresolved Issues Resolve  and type resolve to get the rejected again   But I get    An error has occurred. Try again later. App Review Feb 11, 2022 at 11:49 AM Resubmit to App Review Unresolved Issues Date Submitted Feb 11, 2022 at 11:49 AM Submitted By Last Updated By Submission ID 7e2faca0-2db1-4473-9653-a835d2a725ca Items Submitted (1) You can review and make edits to your items below, or communicate with Apple. Accepted items won't be available for release until all items with issues are resubmitted and accepted. You can also remove those items and resubmit them later. 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. What can I do ?
Posted
by ealalin.
Last updated
.
Post not yet marked as solved
1 Replies
1.4k Views
I tried to make use of the new cloud signing options to xcodebuild -exportArchive on our CI server, as explained in WWDC21 session 10204, but bumped into the seemingly arbitrary limitation that distribution signing requires an App Store Connect API key with Admin-level access. Why is that? In this case, I am trying to run the command $ xcodebuild -exportArchive \ -archivePath build/MyApp.xcarchive \ -exportOptionsPlist exportOptions-AppStore.plist \ -exportPath build \ -allowProvisioningUpdates \ -authenticationKeyPath AuthKey_$KEY_ID.p8 \ -authenticationKeyID $KEY_ID \ -authenticationKeyIssuerID $ISSUER_ID but using a non-admin $KEY_ID (with Developer or App Manager access only) results in xcodebuild printing this error: error: exportArchive: Cloud signing permission error Error Domain=DeveloperAPIServiceErrorDomain Code=5 "Cloud signing permission error" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedRecoverySuggestion=You haven't been given access to cloud-managed distribution certificates. Please contact your team's Account Holder or an Admin to give you access. If you need further assistance, contact Apple Developer Program Support at https://developer.apple.com/contact/., NSLocalizedDescription=Cloud signing permission error} ... The only way I have found for the above command to succeed is through the use an API key with Admin access. But in a company with several teams and CI servers sharing one App Store team, scattering unconstrained admin access around like that seems like a strong no-go. So a feature request, if I may! Now, the error I'm seeing appears to be the same effective error as what's seen by a developer who haven't got the "Access to Cloud Managed Distribution Certificate" setting checked under their App Store Connect user account. So would it be possible to somehow enable that access for a given API key as well? (Even better if API keys could also be limited to specific apps like user accounts can. But I realise it's a known issue as documented in the note in the docs.)
Posted Last updated
.
Post not yet marked as solved
1 Replies
2.7k Views
Everytime I erase and set my phone to factory reset I always see the same errors. {"timestamp":"2021-05-15 16:05:02.00 -0400","bug_type":"313","os_version":"iPhone OS 14.5.1 (18E212)","incident_id":"0BB5267C-1AA6-4C0B-B048-C201D896D9C5"} {"locale":"en_US","agent":"parsecd\/1.0 (iPhone12,8; iPhone OS 14.5.1 18E212) DuetExpert\/1","user_guid_string":"344C4C73-9029-4D5D-BF54-BAD2AF5E1FA2","country_code":"US","session_start":1621109102,"previous_session_end_reason":"no_previous_session"} what is duet expert?
Posted
by Dotty22.
Last updated
.