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

211 Posts
Sort by:
Post not yet marked as solved
0 Replies
338 Views
I'm encountering an issue while attempting to upload my IPA to the App Store. The error message indicates a problem with the datatype of the cfBundleVersion attribute, stating that it's incorrect. Strangely, this was working fine until yesterday. It's the error log: 2024-02-09 22:16:35.852 INFO: Show Progress: Contacting Apple Services… 2024-02-09 22:16:36.729 *** Error: Error [REDACTED]ing '/Users/vagrant/deploy/[REDACTED] - Development.ipa'. 2024-02-09 22:16:36.730 *** Error: An attribute in the provided entity has the wrong type Unexpected json type provided for attribute 'cfBundleVersion'. Expected a STRING but got INTEGER (ID: xxxxx) (409) { NSLocalizedDescription = "An attribute in the provided entity has the wrong type"; NSLocalizedFailureReason = "Unexpected json type provided for attribute 'cfBundleVersion'. Expected a STRING but got INTEGER (ID: xxxxx)"; "original_server_error" = { code = "ENTITY_ERROR.ATTRIBUTE.TYPE"; detail = "Unexpected json type provided for attribute 'cfBundleVersion'. Expected a STRING but got INTEGER"; id = "xxxxx", source = { pointer = "/data/attributes/cfBundleVersion"; }; status = 409; title = "An attribute in the provided entity has the wrong type"; }; } Uploading IPA failed: exit status 1 Here's the relevant snippet from my Info.plist: <string>74</string> I've built the iOS app using React Native and deployed it via Bitrise. Any insights into why this error might be occurring and how to resolve it would be greatly appreciated. Thank you!
Posted
by Ken2026.
Last updated
.
Post not yet marked as solved
1 Replies
353 Views
I'm using AppStoreConnect_Swift_SDK to add achievements to Game Center. Everything looks ok. I'm able to add achievements, localizations, and seem to be sending the images correctly. Yet when I try to update 'isUploaded' to 'true', I get "The request failed with response code 500 UNEXPECTED_ERROR". And while the error says it's server side, I suspect it is something wrong on my side. GCAI.id is the image reservation id. let data = GameCenterAchievementImageUpdateRequest.Data(type: .gameCenterAchievementImages, id: GCAI.id, attributes: .init(isUploaded: true)) let req = GameCenterAchievementImageUpdateRequest(data: data) let request = APIEndpoint.v1.gameCenterAchievementImages.id(GCAI.id).patch(req) let gcaiRes = try await self.provider.request(request).data Other than going through the SDK, this looks like Hubert's Video. So I suspect it doesn't like something else but the error just isn't that informative? I could ask the SDK author but every issue I've worked out so far has just been from misunderstanding the API and not related to the SDK itself.
Posted
by Bill3D.
Last updated
.
Post not yet marked as solved
1 Replies
327 Views
Hi, All of my TestFlight builds expired themselves and I can't submit any new builds for external testing. The general error message I see is "There was an error processing your request. Please try again later." and looking at the console I see a more specific error "API Response Error: TF_BETA_APP_REVIEW_RESPONSE". I've sent a couple of emails to support but I haven't heard anything back yet. What's going on with App Store Connect these days? It's so unreliable.
Posted
by hmandl.
Last updated
.
Post not yet marked as solved
0 Replies
251 Views
Recently Apple has deprecated subscriptions property availableInAllTerritories from the resource 'subscriptions'" Post this, You are not able to update prices to the subscription. As availableInAllTerritories is not set for new subscription. So you have to enable availableInAllTerritories manually to change the prices. So the steps listed in https://developer.apple.com/documentation/appstoreconnectapi/app_store/auto-renewable_subscriptions/managing_auto-renewable_subscriptions will not work out of box.
Posted
by kanishka4.
Last updated
.
Post not yet marked as solved
0 Replies
423 Views
I intend to use Apple Store Connect API for making & updating OFFER CODES in my subscription. I have created the GET requests needed using an API Key I have generated but the POST requests are not going through and getting an error in the process. https://api.appstoreconnect.apple.com/v1/subscriptionOfferCodes This is the API that I am trying to hit using the POST request but the process is not going through for some reason.
Posted Last updated
.
Post not yet marked as solved
0 Replies
273 Views
Hi I have an api which was downloading the apple sales report by using Apple Connect Api in short it used to generate the jwt and then was fetching the report. Some how it stopped working and same code now returns 401. Question is the details which I use to generate the jwt for each request do I need to refresh / renew that ? Is there an expiry date associated with that which I use to generate the jwt or not ? Say you use the private key to create the jwt or ECParameters parameters to generate the key which is used to create the jwt do we need to renew that private key / ECP details or that remains alive / active until it is revoked ? If that is the case how I can refresh that ? I know that the jwt which we need to send to apple connect to get the sale report has maximum 20 mins life. Thanks Khurram
Posted Last updated
.
Post not yet marked as solved
12 Replies
1.1k Views
Hey, I've been utilizing the v1/salesReports endpoint to retrieve a daily summary sales report. Below is an example of the query I use: Example query https://api.appstoreconnect.apple.com/v1/salesReports?filter[vendorNumber]=***&filter[reportType]=SALES&filter[reportSubType]=SUMMARY&filter[frequency]=DAILY&filter[reportDate]=2024-01-20&filter[version]=1_0 Starting today (23.01.24) I encountered an error stating: : The version parameter you have specified is invalid. The latest version for this report is 1_1. This is confusing because according to the documentation, the SALES report should use version 1_0. I attempted to use version 1_1, but it resulted in a 404 error with the message: There were no sales for the date specified. Interestingly, when I change the frequency to WEEKLY, the request with version 1_0 is processed successfully and contains data. Is this discrepancy a known issue, or has there been a recent change in the API that I might have missed?
Posted Last updated
.
Post not yet marked as solved
0 Replies
423 Views
I found in App Store Connect that on the 18th (Vision Pro pre-sale day), my visionOS App was purchased by a person in the United States, but this day was only pre-sale. No one really got Vision Pro, and this app is only compatible with visionOS. May I ask why?
Posted
by lijiaxu.
Last updated
.
Post not yet marked as solved
0 Replies
288 Views
I'm using the App Store Connect API to fetch sales and trends reports. Fetching the "SUBSCRIPTION" report works well and it does include recent offer code redemptions. The dashboard in App Store Connect also confirms that there was a recent offer code redemption. However, when requesting the Offer Code Redemption Report ("SUBSCRIPTION_OFFER_CODE_REDEMPTION") through the App Store Connenct API using the request shown below I always get a "404 Not Found" error with the message "There were no sales for the date specified." (see below) even though the other sources confirm there were sales for the date specified. So, for some reason the Offer Code Redemption Report API does not seem to work. Did anybody make this work? Any idea to fetch the offer code redemption report through the API? API REQUEST: https://api.appstoreconnect.apple.com/v1/salesReports?filter[frequency]=DAILY&filter[reportDate]={DATE}&filter[reportSubType]=SUMMARY&filter[reportType]=SUBSCRIPTION_OFFER_CODE_REDEMPTION&filter[vendorNumber]={VENDOR_NUMBER}&filter[version]=1_0 API RESPONSE: { "errors" : [ { "id" : "586b3f95-3eb8-4249-8df6-06bd8dea001a", "status" : "404", "code" : "NOT_FOUND", "title" : "The request expected results but none were found", "detail" : "There were no sales for the date specified." } ] }
Posted
by jonastech.
Last updated
.
Post not yet marked as solved
1 Replies
447 Views
On one hand: I download the following report from the Apple Store API: https://api.appstoreconnect.apple.com/v1/salesReports with the following filters: "filter[reportType]": "SUBSCRIPTION_EVENT", "filter[reportSubType]": "SUMMARY", "filter[frequency]": "DAILY", "filter[version]": "1_3" On the other hand: I download the report from the website, generated by: "sales and trends", "Event", and filtering by "event Type=Activations. If I sum the Quantity field of the events corresponding to activations (according to this other website), the daily activation counts differ between the API and the web report. The quantity is higher in the web report and lower in the API, averaging a difference of approximately 50%, if not more I confirmed that the events I should count in the API are: 'Start Introductory Offer,' 'Subscribe,' 'Opt-In,' 'Start Offer Code,' according to the website I copied above, but they do not add up to the total activations shown on the website. The same happens with "Reactivations." What could be happening? Thanks for everything
Posted
by ileites.
Last updated
.
Post not yet marked as solved
1 Replies
431 Views
I just deployed an app in the Appstore. When my app is in the list with other apps, they all show 3 screenshots but mine doesn't. Only when I click on my app it shows the 4 screenshots I uploaded in app store connect. I have a presumption that it is because I entered 6.7" and 5.5" screenshots in app store connect instead of 6.5" and 5.5". The problem is testing it: I have to deploy another version to try it out which is cumbersome. It would be nice to know beforehand whether such an amendment has a chance on success. The app is called Your New Calendar and you find it when you search under "arjen" and scroll down some apps.
Posted Last updated
.
Post not yet marked as solved
0 Replies
273 Views
Hello! I am wondering what the best way is to fetch previous introductory offers from the App Store Connect API. I have tried hitting this endpoint: https://developer.apple.com/documentation/appstoreconnectapi/list_all_introductory_offers_for_a_subscription which seemed to only return the current, active introductory offer. I am looking to gather all introductory offers for my subscription products, including the following attributes: Start date End date Customer price Territory Currency Introductory offer mode Number of periods Thank you.
Posted Last updated
.
Post not yet marked as solved
0 Replies
283 Views
I want to use Appstore connect's api to upload images using php. But when I finished creating the image and received a response containing the image upload link, I didn't know what to do next. I tried searching but to no avail. Document Respone url: "uploadOperations" : [ { "method" : "PUT", "url" : "https://store-030.blobstore.apple.com/itms6-assets-massilia...", "length" : 11097, "offset" : 0, "requestHeaders" : [ { "name" : "Content-Type", "value" : "image/png" } ] } ], I try code: PHP $url = "https://store-030.blobstore.apple.com/itms6-assets-massilia..." $imageData = file_get_contents($filePath); $responseUpload = $client->put($url, [ 'headers' => [ 'Content-Type' => 'image/png', ], 'body' => $imageData ]); echo $responseUpload->getStatusCode() . PHP_EOL; var_dump($responseUpload->getBody()->getContents()); Response: 200, string(2) "{}". I don't know why it's wrong Hope everybody help please.
Posted Last updated
.
Post not yet marked as solved
0 Replies
259 Views
I wrote some scripts in Python to make supporting multiple Localizations much easier, however I run into some weird errors when looping through and updating the App Info for a handful of random languages. Check out this log. These calls are all being made in an identical way, why am I getting 405 METHOD_NOT_ALLOWED on: nl,fr,de,pt,sl,es? ca localization created/updated successfully zh-Hans localization created/updated successfully zh-Hant localization created/updated successfully hr localization created/updated successfully cs localization created/updated successfully da localization created/updated successfully Failed to create/update nl localization: {'errors': [{'status': '405', 'code': 'METHOD_NOT_ALLOWED', 'title': 'The request method is not valid for the resource path.', 'detail': 'The request method used for this request is not valid for the resource path. Please consult the documentation.'}]} fi localization created/updated successfully Failed to create/update fr localization: {'errors': [{'status': '405', 'code': 'METHOD_NOT_ALLOWED', 'title': 'The request method is not valid for the resource path.', 'detail': 'The request method used for this request is not valid for the resource path. Please consult the documentation.'}]} Failed to create/update de localization: {'errors': [{'status': '405', 'code': 'METHOD_NOT_ALLOWED', 'title': 'The request method is not valid for the resource path.', 'detail': 'The request method used for this request is not valid for the resource path. Please consult the documentation.'}]} el localization created/updated successfully he localization created/updated successfully hi localization created/updated successfully hu localization created/updated successfully id localization created/updated successfully it localization created/updated successfully ja localization created/updated successfully ko localization created/updated successfully ms localization created/updated successfully no localization created/updated successfully pl localization created/updated successfully Failed to create/update pt localization: {'errors': [{'status': '405', 'code': 'METHOD_NOT_ALLOWED', 'title': 'The request method is not valid for the resource path.', 'detail': 'The request method used for this request is not valid for the resource path. Please consult the documentation.'}]} pt-PT localization created/updated successfully ro localization created/updated successfully ru localization created/updated successfully sk localization created/updated successfully Failed to create/update sl localization: {'errors': [{'status': '405', 'code': 'METHOD_NOT_ALLOWED', 'title': 'The request method is not valid for the resource path.', 'detail': 'The request method used for this request is not valid for the resource path. Please consult the documentation.'}]} Failed to create/update es localization: {'errors': [{'status': '405', 'code': 'METHOD_NOT_ALLOWED', 'title': 'The request method is not valid for the resource path.', 'detail': 'The request method used for this request is not valid for the resource path. Please consult the documentation.'}]} sv localization created/updated successfully th localization created/updated successfully tr localization created/updated successfully uk localization created/updated successfully vi localization created/updated successfully
Posted Last updated
.