Partner credentials

The credentials object of POST /integrations is a flat map of string keys to string values. The keys you must send depend on the partner.

For the list of supported partners and the integration types each one supports, see List of ad revenue integrated partners.

Rules

  • Send credentials for aggregate_s2s, device_s2s, and impression_sdk_and_device_s2s. Do not send it for impression_sdk.
  • Send every required key listed for the network, whichever of those three integration types you use. A missing key fails the whole request.
  • Key names are case-sensitive, lowercase, with underscores. Values are strings.
  • Keys that are not listed for the network are ignored. A misspelled key is reported as a missing key.

Required credential keys

PartnernetworkRequired credentials keys
Admostadmostnetwork_app_id, token
AppLovin (network)applovinfilter_package_name, api_key
AppLovin MAXapplovinmaxpackage_name, report_key
Appodealappodealapi_key, user_id, app_key, network_app_id
Bytedance Ads (China traffic)bytedancenetwork_app_id, secure_key, account_id
Chartboostchartboostnetwork_app_id, user_id, user_signature
Fyberfybernetwork_app_id, client_id, client_secret
IronSource (Unity LevelPlay)ironsourceusername, secret_key, network_app_id, refresh_token
Mintegralmintegralskey, secret, network_app_id
Odeeoodeeoapi_key
Pangle (TikTok for Business)bytedanceglobalnetwork_app_id, secure_key, account_id
Tapjoytapjoynetwork_app_id, api_key
Topontoponpublisher_key, network_app_id
Tradplustradplusapi_key, network_app_id
Unity Adsunityadsapi_key, source_ids. Optional: organization_id
Vunglevungleapi_key, application_id

Aggregate level (aggregate_s2s) integrations for Meta ads, Google AdMob, and Google Ad Manager use OAuth, so you can set them up only in the AppsFlyer platform.

Example

{
  "integrations": [
    {
      "app_id": "com.example.myapp",
      "network": "ironsource",
      "integration_type": "device_s2s",
      "credentials": {
        "username": "YOUR_USERNAME",
        "secret_key": "YOUR_SECRET_KEY",
        "network_app_id": "YOUR_NETWORK_APP_ID",
        "refresh_token": "YOUR_REFRESH_TOKEN"
      }
    }
  ]
}

If a key is missing, the request returns 400 with a message such as:

integration 0, appID='com.example.myapp', network='ironsource': invalid credentials - missing field: refresh_token