During the sync, the following streams did not syn...
# replication-ask-ai
s
During the sync, the following streams did not sync successfully: organic_in_app_events: AirbyteTracedException('400 Client Error: Bad Request for url: https://rawdata.appsflyer.com/export/token/MRYKKYQDJCH), retargeting_in_app_events: AirbyteTracedException('400 Client Error: Bad Request for url: https://rawdata.appsflyer.com/export/token/SVMJRXGLIW), in_app_events: AirbyteTracedException('400 Client Error: Bad Request for url: https://rawdata.appsflyer.com/export/token/RHPPCORQH) 2026-05-07 032251 source ERROR None
k
The 400 Bad Request errors you're seeing for
organic_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]
Copy 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.