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

Post

Replies

Boosts

Views

Activity

Access to Server Notifications and Sandbox Server URLs via App Store Connect API
I'm currently trying to automate the process of retrieving app-specific information such as the Server Notifications URL and the Sandbox Server URL via the App Store Connect API. From what I could gather from the official API documentation, there doesn't seem to be a way to fetch these URLs programmatically. Can anyone confirm if these pieces of information are accessible via the API currently or if there are plans to expose this in the future?
0
0
268
Jul ’23
Obtaining the Overall Rating of an App from the API
I'm currently trying to get app ratings using the App Store Connect API. What I want is not the individual ratings for each review but the overall rating for the app. I would like to retrieve the country-specific ratings that can be seen in the AppStoreConnect web console. It seems that the API reference does not have information on the overall rating. Is it possible to obtain this information via the API?
0
0
248
Jul ’23
Invalid Fileds Error
I got a lot of errors(400 PARAMETER_ERROR.INVALID) from a bunches of requests since yesterday, which were work well before. Just like this: The request failed with response code 400 PARAMETER_ERROR.INVALID A parameter has an invalid value. 'diagnosticSignatures' is not a valid field name The request failed with response code 400 PARAMETER_ERROR.INVALID A parameter has an invalid value. 'perfPowerMetrics' is not a valid field name). Are there any API change or validation strategies changes ?
1
1
371
Jul ’23
App Store Connect API: why do I only have to provide a checksum when uploading app screenshots and not for app event screenshots?
When uploading app screenshots, I have to provide a sourceFileChecksum and uploaded flag: https://developer.apple.com/documentation/appstoreconnectapi/appscreenshotupdaterequest/data/attributes But that's not the case for app event screenshots, I only have to provide the uploadedflag: https://developer.apple.com/documentation/appstoreconnectapi/appeventscreenshotupdaterequest/data/attributes The same is true for app previews and app event video clips. Why is this different?
1
0
332
Jul ’23
App Store - App Analytics Product Page Views
Is it possible to get app analytics data such as product page views from an Apple Api? See below image showing the data we're looking to get from an API. I've seen code like below. Is this the way to get app analytics data? The below code isn't quite complete. Is there documentation somewhere of how to get this data properly? Is this URL an internal URL that shouldn't be used? https://appstoreconnect.apple.com/analytics/api/v1/data/time-series import requests import json url = "https://appstoreconnect.apple.com/analytics/api/v1/data/time-series" adamId = "0000000000" # App ID measures = "installs" # or "impressionsTotalUnique" cookie_dqsid = "dqsid=ey...." # ????? payload = json.dumps({ "adamId": [adamId], "measures": [measures], "frequency": "day", "startTime": "2021-10-16T00:00:00Z", "endTime": "2021-11-14T00:00:00Z", "group": { "metric": measures, "dimension": "source", "rank": "DESCENDING", "limit": 100 } }) headers = { 'Host': 'appstoreconnect.apple.com', 'X-Requested-By': 'dev.apple.com', 'Cookie': cookie_dqsid, 'Content-Type': 'application/json' } response = requests.request("POST", url, headers=headers, data=payload, allow_redirects=False) print(response.text)
0
0
620
Aug ’23
appstoreconnect visibleApps randomly response wrong data
https://api.appstoreconnect.apple.com/v1/users/2a449234-15b3-4056-bd87-3cfe65711a52/visibleApps when calling this api, it's response change randomly calling 100 times, somtime I got { "data" : [ ], "links" : { "self" : "https://api.appstoreconnect.apple.com/v1/users/2a449234-15b3-4056-bd87-3cfe65711a52/visibleApps" }, "meta" : { "paging" : { "total" : 0, "limit" : 50 } } } somtime I got { "data" : [ { "type" : "apps", "id" : "***", "attributes" : { "name" : "***", "bundleId" : "***", ... and the data count also random (no one edit the user role and visibleapps) this occurred after 2023/08/17 08:40 (GMT+8) I wonder if it's caused by api met error and return the incomplete data array back? for example, user A has 3 visible apps and app1 <-- fail here then return "data" : [ ] app1 app2 app3 <-- fail here then return "data" : [ {app1 detail}, {app2 detail}]
0
0
340
Aug ’23
api 401 Unauthorized when in product env
I test the api in sandbox env. It works fine. curl --location 'https://api.storekit-sandbox.itunes.apple.com/inApps/v1/notifications/history' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJFUzI1NiIsImtpZCI6Ij......' \ --data '{ "startDate":1693324766487, "endDate" :1693324766587 }' But in production env , it return 401 Unauthorized error. My app is not publish to the apple store. How could i confirm [errorCode 4040005] like follow steps: If you don’t have environment information, follow these steps: Call the endpoint using the production URL. If the call succeeds, the original transaction identifier belongs to the production environment. If you receive an [errorCode 4040005] with errorMessage as OriginalTransactionIdNotFoundError, (or HTTP response code 404 from the Send Consumption Information endpoint), call the endpoint using the sandbox environment. If the call succeeds, the original transaction identifier belongs to the sandbox environment. If the call fails with the same error code, the original transaction identifier isn’t present in either environment.
0
0
534
Aug ’23
JWT token for API not working in Python
Hi, I'm writing a Python script to automate the extraction of reports from the Apple App Store Connect API, more specifically the SALES and the SUBSCRIBER reports, using Airflow. The code passed the tests but when implemented in production, the Airflow task calling the Apple App Store Connect API fails, due to a 401 unauthorized error. This suggests there is some issue with the authentication (JWT / bearer token) part. I tried various solutions but none of them worked. Here is part of the code, at this point I don't really understand what is wrong. Any help in identifying the issue is appreciated: class AppStore(ReadApi): def __init__( self, api_secret_conf: dict, vendor_number: int, **kwargs, ): ReadApi.__init__(self, **kwargs) self.kid = api_secret_conf["kid"] # Key ID self.iss = api_secret_conf["iss"] # Issuer ID self.private_key = api_secret_conf["private_key"] # Private key self.vendor_number = int(vendor_number) def generate_jwt_token(self): # Generate jwt token required by App Store Connect API # Each token is valid for 20 minutes (max time allowed) jwt_headers = {"alg": "ES256", "kid": self.kid, "typ": "JWT"} jwt_payload = { "iss": self.iss, "iat": int(time.time()), "exp": int(time.time()) + 60 * 20, "aud": "appstoreconnect-v1", } private_key = self.private_key.encode("utf8") token = jwt.encode( jwt_payload, private_key, algorithm="ES256", headers=jwt_headers ) decoded_token = token.decode("utf-8") return decoded_token
0
0
416
Sep ’23
App Store Connect API - create certificate from CSR
Hi, i am trying to upload certificate signing request (CSR) for Pass Type ID via API, using this endpoint https://api.appstoreconnect.apple.com/v1/certificates. Request body looks like this, with POST method and content type application/json: { "data": { "attributes": { "certificateType": "PASS_TYPE_ID", "csrContent": "LS0tL...S0tLS0K" }, "type": "certificates" } } csrContent is base64 encoded. The response from API is: { "errors" : [ { "id" : "71a...4c9", "status" : "404", "code" : "NOT_FOUND", "title" : "The specified resource does not exist", "detail" : "There is no identifier with ID 'null' on this team." } ] } CSR was created with KeyChain on Mac (as described here: https://developer.apple.com/help/account/create-certificates/create-a-certificate-signing-request), but i can also do it with OpenSSL. First of all, there is no pairing information between Pass Type Identifier and certificate in request. Status 404? I would expect 400. And given detail is totally useless... The documentation is poor for this topic: https://developer.apple.com/documentation/appstoreconnectapi/create_a_certificate. So that brings me to the idea of adding it (Pass Type Identifier) to the CSR content, but where? I am able to read all certificates stored via Developer Account and put them together with private keys... but storing it is pain... Does anyone have an idea?
2
1
724
Sep ’23
Appstore Connect API Current Price
Is there an API that returns the current price info? (example snippet below). I am looking to return via API the data is downloadable from the Appstore Connect UI from Download Current Price for an Inapp Product or Subscription. Countries or Regions Currency Code Price Proceeds May Adjust Automatically United States USD 1.99 1.69 N Afghanistan USD 1.99 1.69 Y Albania USD 1.99 1.41 Y
0
0
272
Oct ’23
Patching Xcode Cloud Workflows no longer working
Hello. I use the App Store Connect API with my XCode Cloud setup to update a Workflow description. Specifically PATCH https://api.appstoreconnect.apple.com/v1/ciWorkflows/{id}. A few days ago this API call stopped working, the API gives a 409 error and reports "You must provide a value for the attribute 'startConditions' with this request". I can't find anything about this attribute in the documentation if there has been a change. I tried adding it, but the API reports that this attribute doesn't exist. Has anyone else found this or has any suggestions? Thanks, David.
0
0
271
Oct ’23