Srikar Chamarthy
05/07/2026, 2:29 PMkapa.ai
05/07/2026, 2:29 PMorganic_in_app_events, retargeting_in_app_events, and in_app_events streams are a known pattern in the AppsFlyer connector. Based on the source code, a 400 response can indicate an API rate limit has been reached.
What the Connector Does with 400 Errors The connector checks for two specific rate-limit messages in 400 responses: [source code]
def is_raw_data_reports_reached_limit(self, response: requests.Response) -> bool:
templates = [
"Your API calls limit has been reached for report type",
"You've reached your maximum number of",
]
is_bad_request = response.status_code == HTTPStatus.BAD_REQUEST
is_template_match = any(t in response.text for t in templates)
return is_bad_request and is_template_match
If either of those messages is present, the connector retries and waits until midnight UTC. However, if the 400 error does not match those templates, it is not retried and the stream fails.
Likely Causes 1. Invalid or expired API token â The URL pattern in your error (rawdata.appsflyer.com/export/token/...) suggests the connector may be using an incorrect or outdated token. As of version 0.2.0, the connector migrated to the AppsFlyer API V2 token. If you're still using a V1 token, you need to replace it with a V2 token. [migration guide]
2. API rate limit reached â If the response body contains one of the rate-limit messages above, the connector should retry automatically. If it doesn't match, the sync fails immediately.
Recommended Steps 1. Upgrade to connector version 0.2.0+ and replace your API token with a V2 token, following the AppsFlyer Migration Guide. [migration guide]
2. Check the full error response body in your logs to see if it contains a rate-limit message or an authentication error.
3. Verify your app_id and api_token are correct in the connector configuration.
The knowledge sources do not contain the exact response body from AppsFlyer in your case, so I cannot confirm the precise root cause beyond these possibilities. đ 0 button đ 0 button âšī¸ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.