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
App Store Connect API
RSS for tagThe App Store Connect API helps you automate tasks usually done on the Apple Developer website and App Store Connect.
Post
Replies
Boosts
Views
Activity
Is there a way to promote a version from testflight to production using the Apple Store API?
https://api.appstoreconnect.apple.com/v1/users
return a role GENERATE_INDIVIDUAL_KEYS
which is not in
https://developer.apple.com/documentation/appstoreconnectapi/userrole
Is there any API to get the data regarding the app installs data shown in the app store connect?
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.
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
when calling APPConnectAPI, It says to me that "This request requires an in-effect agreement that has not been signed or has expired." But when I go to https://appstoreconnect.apple.com/agreements/#/, There is no agreements I can agree.
{"status": 403, "msg": "", "data": {"errors": [{"id": "6V4Q4XMVTZIH2URMLCQ5BPD4FU", "status": "403", "code": "FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED", "title": "A required agreement is missing or has expired.", "detail": "This request requires an in-effect agreement that has not been signed or has expired.", "links": {"see": "/agreements"}}]}}
API address:
https://api.appstoreconnect.apple.com/v1/certificates
Hi Team,
We are receiving below error message while retrieving data form appstore connect API (https://api.appstoreconnect.apple.com)
ERROR - {
"errors" : [ {
"id" : "4TODNPAPCW332EEZC54U4SQZJI",
"status" : "403",
"code" : "FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED",
"title" : "A required agreement is missing or has expired.",
"detail" : "This request requires an in-effect agreement that has not been signed or has expired.",
"links" : {
"see" : "/agreements"
}
} ]
}
Hi Team,
WE are receiving the below error message while connecting to https://api.appstoreconnect.apple.com . Any help greatly appreciated
ERROR - {
"errors" : [ {
"id" : "4TODNPAPCW332EEZC54U4SQZJI",
"status" : "403",
"code" : "FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED",
"title" : "A required agreement is missing or has expired.",
"detail" : "This request requires an in-effect agreement that has not been signed or has expired.",
"links" : {
"see" : "/agreements"
}
} ]
}
I've created a bundle using
POST https://api.appstoreconnect.apple.com/v1/bundleIds
but unable to figure out how can i create a new app using the api.
Recently I've started receiving a "FORBIDDEN_ERROR" error when submitting a PATCH to "/v1/apps/xxxx". The data below is what is being sent:
{
"data": {
"type": "apps",
"id": "xxxx",
"attributes": {
"contentRightsDeclaration": "DOES_NOT_USE_THIRD_PARTY_CONTENT"
}
}
}
This used to work (for over a year) fine. We also update several other things (Category, Age Rating, Available Territories etc) and they still work as expected; this is the only type that has started (about a month or so ago) to behave this way. I also generated a new API key with full Admin privileges but the issue still occurs.
The specific error returned is:
{
"errors" : [ {
"id" : "1cfb7772-940c-46d5-bfe5-a97bbe314",
"status" : "403",
"code" : "FORBIDDEN_ERROR",
"title" : "This request is forbidden for security reasons",
"detail" : "The API key in use does not allow this request"
} ]
}
Any ideas how to fix this or what's going on?
Thanks in advance.
Hello,
I am using the Get Transaction History endpoint in our application back end and I've noticed that "price" and "currency" are no longer in the response payload.
I did not see this change in the Apple App Store Server API Changelog and was wondering if this is due to a pending change or an error on Apple's server-side?
I've added handling into my application to not utilize those items in the payload but it would be nice to have them if they are going to return.
At present, when calling the app store connect api, Apple's external distribution interface has 403 errors. Previously, it could be called. What is the reason
This started last night for us - we are getting Internal Server Error 500 when making the request (appropriately authenticated):
https://api.appstoreconnect.apple.com/v1/appPricePoints?limit=200&include=priceTier,territory&filter[territory]=USA&filter[priceTier]=12
We are getting error:
{
"errors": [{
"status": "500",
"code": "UNEXPECTED_ERROR",
"title": "An unexpected error occurred.",
"detail": "An unexpected error occurred on the server side. If this issue continues, contact us at https://developer.apple.com/contact/."
}]
}
Anyone else experiences this?
Over the last 48 hours (Since Dec 4th) for me, the List All In-App Purchases route is timing out for several different apps. Either the initial request times-out or the paging next token request times out.
https://api.appstoreconnect.apple.com/v1/apps/{id}/inAppPurchasesV2
https://developer.apple.com/documentation/appstoreconnectapi/list_all_in-app_purchases_for_an_app
Other routes like listing apps seem to work.
https://api.appstoreconnect.apple.com/v1/apps
The developer status page does not list any outages.
https://developer.apple.com/system-status/
Where is the correct place to report issues with AppStore Connect API services?
interface response is below
"attributes" : {
"fileSize" : 11097,
"fileName" : "my_screenshot.png",
"sourceFileChecksum" : null,
"imageAsset" : null,
"assetToken" : "PurpleSource62/v4/c4/c6/5f/c4c65fe0-b616-0454-d71b-7771b95f74f1/4d62262c-4ec1-4d89-b82c-c7b7a402e866_null_54594240-5c4c-4a0f-add1-b4cb7e52d166_my_screenshot.png",
"assetType" : "SCREENSHOT",
"uploadOperations" : [ {
"method" : "PUT",
"url" : "https://store-030.blobstore.apple.com/itms6-assets-massilia-030001/PurpleSource62%2Fv4%2Fc4%2Fc6%2F5f%2Fc4c65fe0-b616-0454-d71b-7771b95f74f1%2FgzsRhfc7iZIvrJoG3mdTlRGfH-Hu1JJBY_Y82m_QlKU_U003d-1587670858469?uploadId=5ae7a610-859a-11ea-adb0-d8c497b45469&Signature=nL9SQyAh4l1tEwoWQhiflX270Zs%3D&AWSAccessKeyId=MKIA4IEXBU1OGIOUHE96&partNumber=1&Expires=1588275658",
"length" : 11097,
"offset" : 0,
"requestHeaders" : [ {
"name" : "Content-Type",
"value" : "image/png"
} ]
}
problem is how to upload
request url :ttps://appstoreconnect.apple.com/iris/v1/apps/xxxxxx?include=appStoreVersions&limit[appStoreVersions]=7
response:
{
"errors": [{
"status": "401",
"code": "NOT_AUTHORIZED",
"title": "Authentication credentials are missing or invalid.",
"detail": "No valid credentials found in the request."
}]
}
request URL:https://api.appstoreconnect.apple.com/v1/appScreenshots
request body: {
"data": {
"type": "appScreenshots",
"attributes": {
"fileSize": 11097,
"fileName": "my_screenshot.png"
},
"relationships": {
"appScreenshotSet": {
"data": {
"type": "appScreenshotSets",
"id": "54594240-5c4c-4a0f-add1-b4cb7e52d166"
}
}
}
}
}
response:
{
"errors": [
{
"id": "9523fce2-5ca3-407e-8829-fd57f2011caa",
"status": "409",
"code": "ENTITY_ERROR.RELATIONSHIP.INVALID",
"title": "The provided entity includes a relationship with an invalid value",
"detail": "appScreenshotSets doesn't exist!!",
"source": {
"pointer": "/data/relationships/appScreenshotSet"
}
}
]
}
Hi Apple team,
I am using the appstore connect API for adding and deleting Beta testers.
The Add tester API to Beta Group is creating a new resource ID - All good
The Delete tester API to Beta Group - All good
ISSUE:
The List Beta Testers filter by email returns multiple testers entries and not just single resource.
This list will keep increasing and having resources created with empty apps and groups.
Ask:
How can we remove the multiple entries from the list beta testers API as if i try using Delete Beta Testers API its returning 204 (No contents) and not (202 Accepted). Due to this the list goes huge for each add and remove in list user for single email.
Any solution how to remove multiple resource entries.
Hi, I'm downloading finance report from the Apple iTunes API (this one: https://developer.apple.com/documentation/appstoreconnectapi/download_finance_reports).
I have two questions.
Is there any way to choose between single file and multiple files download? I'm always getting one file, but in the documentation, there is a mention about the multiple files option. Therefore I would like to know if I can opt for the multiple files download and how?
In the end of the downloaded file, there is some additional information like total rows count and totals for each of the currencies in that report. That is, however, not the case for e. g. the Sales reports. Why is the finance report different than the sales reports in this? Is there some option to skip the additional information?