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

How to get First-Time Download and Deletion count of app with apple connect api.
I have a query regarding the following data from the Apple Connect API: Analytics >> Downloads >> First-Time Download Analytics >> Usage >> Deletion I would like to know the API endpoints for accessing this information programmatically from any codebase. Additionally, it would be very helpful if you could provide sample code in C#. While I am able to view this information on the portal here, I am having difficulty locating the appropriate API for accessing the same data. Could you also please provide details on the user roles required to access or call these endpoints?
0
0
75
1d
App Disk Space Usage API
I'm reading this documentation for this API and does anyone know what the units are for the Data Size and Binary Size fields in the Report? I've looked at this data as Megabytes and Gigabytes but it doesn't seem to make any sense compared to the build size data in Test Flight for my apps. https://developer.apple.com/documentation/analytics-reports/app-disk-space-usage Thanks!
0
0
153
6d
App Store Analytics API returns segments but not media links
I have been sending requests to the Appstore Connect API for 3 types of reports; download data, discovery data, and install data. The documentation notes that data is available as far back as Jan 1, 2024. I have found this to be true with install data reports. But the other two go back only about 5 weeks. The process of getting these reports involves two HTTP requests, one to get segment instances with the report ID and one to get media links with the segment IDs. I am using the 'granularity' and 'WEEKLY' param but I get the same results with other options. I don't think it's an error with my code because I'm receiving data for earlier dates but not dates before 5 weeks ago. I need some ideas to move forward because I need to backfill the data to at least April, 2024.
0
0
107
6d
How to Upload Achievement Icon Image? (App Store Connect API)
Hi! I'm using the App Store Connect API to automate the setup of Game Center achievements. However, I'm facing an issue when it comes to uploading the achievement icon. I referred to the following link and tried to use the Create an Achievement Image API: https://developer.apple.com/documentation/appstoreconnectapi/create_an_achievement_image This API includes a GameCenterAchievementImageCreateRequest.Data.Attributes object, which has properties like fileName and fileSize. However, there is no property for the file path, only the file name. I also checked the page about uploading assets to App Store Connect: https://developer.apple.com/documentation/appstoreconnectapi/uploading_assets_to_app_store_connect Unfortunately, there is no specific mention of how to upload an achievement image. When I use the GameCenterAchievementImageCreateRequest.Data.Attributes and set fileName to "XXXX" (for example), the request completes successfully, but the achievement page only displays the file name XXXX, and the image is not loaded as expected. Any advice or guidance would be greatly appreciated. Thank you in advance!
1
0
85
6d
Subscription Storekit - sandbox API Response lastTransactions status issue
API : https://api.storekit-sandbox.itunes.apple.com/inApps/v1/subscriptions/{transaction_id} When i call above API it will give me status : 2 in lastTransactions data After buy new subscription in my app. After auto-renewable subscription is expired then give status : 2 that's good but when i buy new subscription with sanbox user and immediate call above API with new transaction_id it'll give me a status : 2. So can you please explain what's the issue.
0
0
143
2w
Subscription Storekit - sandbox API Response lastTransactions status issue
API : https://api.storekit-sandbox.itunes.apple.com/inApps/v1/subscriptions/{transaction_id} When i call above API it will give me status : 2 in lastTransactions data After buy new subscription in my app. After auto-renewable subscription is expired then give status : 2 that's good but when i buy new subscription with sanbox user and immediate call above API with new transaction_id it'll give me a status : 2. So can you please explain what's the issue.
0
0
130
2w
AppStoreConnect API 503 Error
I've been getting errors from the salesReports endpoint (https://api.appstoreconnect.apple.com/v1/salesReports) in appstoreconnect for the last few hours. It was working intermittently for a bit but now I keep getting the following error: "errors" : [ { "id" : "fb276203-0995-4a6c-a567-d17e7358dd7c", "status" : "503", "code" : "SERVICE_UNAVAILABLE_ERROR", "title" : "This request can not be processed right now", "detail" : "Reporter is currently unavailable." } ] I've also tried directly using the Reporter CLI tool and am receiving the following error: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Error> <Code>111</Code> <Message>Network is available but cannot connect to application. Check your proxy and firewall settings and try again.</Message> </Error>
1
0
179
4w
Account Holder of Apple Developer Enterprise Program Account Unable to Request Access To or See App Store Connect API
We are referring to the following Apple documentation online- specifically the instructions underneath the header "Request access to the App Store Connect API": https://developer.apple.com/help/app-store-connect/get-started/app-store-connect-api/ The first problem is that the Account Holder cannot see the "Integrations" tab in the "Users and Access" view (https://appstoreconnect.apple.com/access/users). However, they are able to reach "Integrations" by direct URL (https://appstoreconnect.apple.com/access/integrations/). Note that they still cannot see an "Integrations" tab in the UI when at this link. At this point, the documentation indicates that the Account Holder should be able to see an "App Store Connect API" option underneath the "Keys" options on the left, but they are only able to see a "Shared Secret" option underneath the "Keys" options on the left. Please assist- this is blocking Production releases for us. Additional info: we use Edge browser on Windows machines to access the web portal- I don't see how this should impact what a website displays though the Developer Account has existed for some years now. At a certain point the Account Owner role was transferred over to the current Account Owner I have confirmed that the Program type is Apple Developer Enterprise Program
1
0
239
Aug ’24
Promotional Offer ID column is empty in Subscriber report for redeemed offer code
When redeeming a custom offer code, I'm not able to see the actual offer code ID in the Subscriber report - only the subscription offer name is present. I'm going off of the documentation for the Promotional Offer ID column: A code that you create for customers to enter and redeem the subscription offer. https://developer.apple.com/help/app-store-connect/reference/subscriber-report Is the documentation wrong? How are we supposed to measure the performance of our offer codes beyond the initial redemption? For example, with the offer name I can see how my "Holiday Promos" offer is doing but can't see the actual performance of "BLACKFRIDAY30" vs "MOTHERSDAY30".
0
0
177
Aug ’24
Did Not Receive Callback for Subscription Item (In-App Purchase)
My team recently implemented In-App Purchases for Non-Renewing Subscriptions and is currently testing in production. We successfully made a purchase from our app but did not receive any callback from the App Store server. Additionally, the transaction is not visible on the App Store Connect dashboard. I understand it might take a day for transactions to appear there. When we checked the transaction status via API, the "inAppOwnershipType" is "PURCHASED" and the values for other fields are as expected, except for "price." The price should be 599000, and the charged payment on the credit card is also 599000, but it appears as 599000000 in the transaction data. Any idea what could be causing this discrepancy, and is it the reason for the unsent callback? How can we fix it? Thank you.
2
1
291
Aug ’24
App Ratings missing from Connect API
Hello, We are trying to extract our lifetime app star ratings data from the App Store Connect API but we couldn't find the resource anywhere. We were able to successfully get all app reviews data from this endpoint GET https://api.appstoreconnect.apple.com/v1/apps/{id}/customerReviews based on the official documentation. We validated that we received all reviews, these reviews also include the star ratings. However, the number of star ratings that we see on the App Store console is way less than the one we got from reviews API since star ratings can be submitted without a text review. Any idea where can we get the data of lifetime star ratings using the Connect API ? Thanks !
0
0
173
Jul ’24
DMCC compliance: cancel a subscription from App Store Connect
The Digital Markets, Competition and Consumers Act 2024 (DMCC) was given Royal Assent in May 2024 in the United Kingdom and it's expected to occur in Autumn 2024. It states that in addition to making it easy to cancel via the app, businesses need to accept any clear statement from a user on their decision to bring the subscription to an end. Currently, it's not possible to comply with this law given that App Store Connect does not offer the ability to cancel a subscription on behalf of a user. The ability to refund a user is also required. Is there any plan to comply with this policy?
1
0
231
Jul ’24
Jws tranaction receipt verified pass but storekit API reponse 404
We receive a JWS receipt and successfully verify the x5c pass. However, when we use the transaction_id from the receipt to query the endpoint https://api.storekit.itunes.apple.com/inApps/v1/transactions/, we encounter the following error: {"errorCode":4040010,"errorMessage":"Transaction id not found."}. Why does this happen? Thanks for your answer. The jws receipt is: eyJhbGciOiJFUzI1NiIsIng1YyI6WyJNSUlFTURDQ0E3YWdBd0lCQWdJUWZUbGZkMGZOdkZXdnpDMVlJQU5zWGpBS0JnZ3Foa2pPUFFRREF6QjFNVVF3UWdZRFZRUURERHRCY0hCc1pTQlhiM0pzWkhkcFpHVWdSR1YyWld4dmNHVnlJRkpsYkdGMGFXOXVjeUJEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURUxNQWtHQTFVRUN3d0NSell4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRNQjRYRFRJek1Ea3hNakU1TlRFMU0xb1hEVEkxTVRBeE1URTVOVEUxTWxvd2daSXhRREErQmdOVkJBTU1OMUJ5YjJRZ1JVTkRJRTFoWXlCQmNIQWdVM1J2Y21VZ1lXNWtJR2xVZFc1bGN5QlRkRzl5WlNCU1pXTmxhWEIwSUZOcFoyNXBibWN4TERBcUJnTlZCQXNNSTBGd2NHeGxJRmR2Y214a2QybGtaU0JFWlhabGJHOXdaWElnVW1Wc1lYUnBiMjV6TVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCRUZFWWUvSnFUcXlRdi9kdFhrYXVESENTY1YxMjlGWVJWLzB4aUIyNG5DUWt6UWYzYXNISk9OUjVyMFJBMGFMdko0MzJoeTFTWk1vdXZ5ZnBtMjZqWFNqZ2dJSU1JSUNCREFNQmdOVkhSTUJBZjhFQWpBQU1COEdBMVVkSXdRWU1CYUFGRDh2bENOUjAxREptaWc5N2JCODVjK2xrR0taTUhBR0NDc0dBUVVGQndFQkJHUXdZakF0QmdnckJnRUZCUWN3QW9ZaGFIUjBjRG92TDJObGNuUnpMbUZ3Y0d4bExtTnZiUzkzZDJSeVp6WXVaR1Z5TURFR0NDc0dBUVVGQnpBQmhpVm9kSFJ3T2k4dmIyTnpjQzVoY0hCc1pTNWpiMjB2YjJOemNEQXpMWGQzWkhKbk5qQXlNSUlCSGdZRFZSMGdCSUlCRlRDQ0FSRXdnZ0VOQmdvcWhraUc5Mk5rQlFZQk1JSCtNSUhEQmdnckJnRUZCUWNDQWpDQnRneUJzMUpsYkdsaGJtTmxJRzl1SUhSb2FYTWdZMlZ5ZEdsbWFXTmhkR1VnWW5rZ1lXNTVJSEJoY25SNUlHRnpjM1Z0WlhNZ1lXTmpaWEIwWVc1alpTQnZaaUIwYUdVZ2RHaGxiaUJoY0hCc2FXTmhZbXhsSUhOMFlXNWtZWEprSUhSbGNtMXpJR0Z1WkNCamIyNWthWFJwYjI1eklHOW1JSFZ6WlN3Z1kyVnlkR2xtYVdOaGRHVWdjRzlzYVdONUlHRnVaQ0JqWlhKMGFXWnBZMkYwYVc5dUlIQnlZV04wYVdObElITjBZWFJsYldWdWRITXVNRFlHQ0NzR0FRVUZCd0lCRmlwb2RIUndPaTh2ZDNkM0xtRndjR3hsTG1OdmJTOWpaWEowYVdacFkyRjBaV0YxZEdodmNtbDBlUzh3SFFZRFZSME9CQllFRkFNczhQanM2VmhXR1FsekUyWk9FK0dYNE9vL01BNEdBMVVkRHdFQi93UUVBd0lIZ0RBUUJnb3Foa2lHOTJOa0Jnc0JCQUlGQURBS0JnZ3Foa2pPUFFRREF3Tm9BREJsQWpFQTh5Uk5kc2twNTA2REZkUExnaExMSndBdjVKOGhCR0xhSThERXhkY1BYK2FCS2pqTzhlVW85S3BmcGNOWVVZNVlBakFQWG1NWEVaTCtRMDJhZHJtbXNoTnh6M05uS20rb3VRd1U3dkJUbjBMdmxNN3ZwczJZc2xWVGFtUllMNGFTczVrPSIsIk1JSURGakNDQXB5Z0F3SUJBZ0lVSXNHaFJ3cDBjMm52VTRZU3ljYWZQVGp6Yk5jd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NakV3TXpFM01qQXpOekV3V2hjTk16WXdNekU1TURBd01EQXdXakIxTVVRd1FnWURWUVFERER0QmNIQnNaU0JYYjNKc1pIZHBaR1VnUkdWMlpXeHZjR1Z5SUZKbGJHRjBhVzl1Y3lCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlVEVMTUFrR0ExVUVDd3dDUnpZeEV6QVJCZ05WQkFvTUNrRndjR3hsSUVsdVl5NHhDekFKQmdOVkJBWVRBbFZUTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUVic1FLQzk0UHJsV21aWG5YZ3R4emRWSkw4VDBTR1luZ0RSR3BuZ24zTjZQVDhKTUViN0ZEaTRiQm1QaENuWjMvc3E2UEYvY0djS1hXc0w1dk90ZVJoeUo0NXgzQVNQN2NPQithYW85MGZjcHhTdi9FWkZibmlBYk5nWkdoSWhwSW80SDZNSUgzTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0h3WURWUjBqQkJnd0ZvQVV1N0Rlb1ZnemlKcWtpcG5ldnIzcnI5ckxKS3N3UmdZSUt3WUJCUVVIQVFFRU9qQTRNRFlHQ0NzR0FRVUZCekFCaGlwb2RIUndPaTh2YjJOemNDNWhjSEJzWlM1amIyMHZiMk56Y0RBekxXRndjR3hsY205dmRHTmhaek13TndZRFZSMGZCREF3TGpBc29DcWdLSVltYUhSMGNEb3ZMMk55YkM1aGNIQnNaUzVqYjIwdllYQndiR1Z5YjI5MFkyRm5NeTVqY213d0hRWURWUjBPQkJZRUZEOHZsQ05SMDFESm1pZzk3YkI4NWMrbGtHS1pNQTRHQTFVZER3RUIvd1FFQXdJQkJqQVFCZ29xaGtpRzkyTmtCZ0lCQkFJRkFEQUtCZ2dxaGtqT1BRUURBd05vQURCbEFqQkFYaFNxNUl5S29nTUNQdHc0OTBCYUI2NzdDYUVHSlh1ZlFCL0VxWkdkNkNTamlDdE9udU1UYlhWWG14eGN4ZmtDTVFEVFNQeGFyWlh2TnJreFUzVGtVTUkzM3l6dkZWVlJUNHd4V0pDOTk0T3NkY1o0K1JHTnNZRHlSNWdtZHIwbkRHZz0iLCJNSUlDUXpDQ0FjbWdBd0lCQWdJSUxjWDhpTkxGUzVVd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NVFF3TkRNd01UZ3hPVEEyV2hjTk16a3dORE13TVRneE9UQTJXakJuTVJzd0dRWURWUVFEREJKQmNIQnNaU0JTYjI5MElFTkJJQzBnUnpNeEpqQWtCZ05WQkFzTUhVRndjR3hsSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVFzd0NRWURWUVFHRXdKVlV6QjJNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQkpqcEx6MUFjcVR0a3lKeWdSTWMzUkNWOGNXalRuSGNGQmJaRHVXbUJTcDNaSHRmVGpqVHV4eEV0WC8xSDdZeVlsM0o2WVJiVHpCUEVWb0EvVmhZREtYMUR5eE5CMGNUZGRxWGw1ZHZNVnp0SzUxN0lEdll1VlRaWHBta09sRUtNYU5DTUVBd0hRWURWUjBPQkJZRUZMdXczcUZZTTRpYXBJcVozcjY5NjYvYXl5U3JNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTURBMmdBTUdVQ01RQ0Q2Y0hFRmw0YVhUUVkyZTN2OUd3T0FFWkx1***5UmhIRkQvM21lb3locG12T3dnUFVuUFdUeG5TNGF0K3FJeFVDTUcxbWloREsxQTNVVDgyTlF6NjBpbU9sTTI3amJkb1h0MlFmeUZNbStZaGlkRGtMRjF2TFVhZ002QmdENTZLeUtBPT0iXX0.eyJ0cmFuc2FjdGlvbklkIjoiMzAwMDAxODE3NTk4MjgwIiwib3JpZ2luYWxUcmFuc2FjdGlvbklkIjoiMzAwMDAxODE3NTk4MjgwIiwiYnVuZGxlSWQiOiJjb20ud2Vqb3kud2VwbGF5LmFyIiwicHJvZHVjdElkIjoiY29pbjYwMF9hciIsInB1cmNoYXNlRGF0ZSI6MTcxNDAwMDE4MjAwMCwib3JpZ2luYWxQdXJjaGFzZURhdGUiOjE3MTQwMDAxODIwMDAsInF1YW50aXR5IjoxLCJ0eXBlIjoiQ29uc3VtYWJsZSIsImRldmljZVZlcmlmaWNhdGlvbiI6Im00SFVMaUxKemVyMzZNK3pkZVNnYzY4MXRlQUZQY3FhUVJ3dEFxU25xdFU2emI0U29haUtmYnM5Mm1QU1FhcjUiLCJkZXZpY2VWZXJpZmljYXRpb25Ob25jZSI6IjMzODU5YzIzLTY5NDQtNDQ1Yi1iYmU3LTliNDY5YjhmZjBlZSIsImFwcEFjY291bnRUb2tlbiI6IjZkNjU4MjZmLTdkZDAtNDIwMi1iZmQ2LTEzMjJhOWQyZTY5NCIsImluQXBwT3duZXJzaGlwVHlwZSI6IlBVUkNIQVNFRCIsInNpZ25lZERhdGUiOjE3MTQwMDAxODA2MDcsImVudmlyb25tZW50IjoiUHJvZHVjdGlvbiIsInRyYW5zYWN0aW9uUmVhc29uIjoiUFVSQ0hBU0UiLCJzdG9yZWZyb250IjoiU0FVIiwic3RvcmVmcm9udElkIjoiMTQzNDc5IiwicHJpY2UiOjM5OTAsImN1cnJlbmN5IjoiU0FSIn0.WNfzeCcChz--9tasyrejhgHw4cCrehptucQKVDF_FU46vHqIIlWvQY_jNUDSDhuT2fVYbL10yVx6uA6q5XfCbw
1
0
275
Jul ’24