Skip to content

Axon Campaign Management API

The Axon Campaign Management API is for advertisers who use AppLovin’s AppDiscovery to promote their apps.

You can create and update both campaigns and creative sets, and can upload new assets, by sending requests to the Axon Campaign Management API.

Campaigns

The /campaign/list Endpoint

Make a GET request to this endpoint to retrieve a list of up to 100 campaigns on your account. This list is a JSON array of Campaign Objects.

This endpoint returns an empty array if there are no campaigns on the selected page.

Target URL

https://api.ads.axon.ai/manage/v1/campaign/list?account_id=«account-ID»

Query Parameters

NameDescriptionDefault
idsA comma-separated list of campaign IDs. Use this to filter the results to only those that have the specified IDs. You can specify a maximum of 100 IDs this way. Do not include this alongside hashed_ids.null
hashed_idsA comma-separated list of external campaign IDs. Use this to filter the results to only those with the specified IDs. You can specify a maximum of 100 IDs this way. Do not include this alongside ids.null
pageThe page number of the results to retrieve. The first page is page 1.1
sizeThe number of results to return per page. Maximum 100.100

Examples

Request paginated
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/campaign/list?account_id=«account-ID»&size=50&page=10' \
--header 'Authorization: «campaign-API-key»'
Request filtered
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/campaign/list?account_id=«account-ID»&ids=12345' \
--header 'Authorization: «campaign-API-key»'
Response
[
{
"id": "12345",
"name": "test campaign",
"status": "LIVE",
"platform": "IOS",
"budget": {
"daily_budget_for_all_countries": "5000",
"country_code_to_daily_budget": {}
},
"goal": {
"goal_value_for_all_countries": "10",
"goal_type": "CPI",
"country_code_to_goal_value": {}
},
"tracking": {
"tracking_method": "APPSFLYER",
"impression_url": "https://impression.appsflyer.com/id1234567890?pid=applovin_int&af_siteid={APP_ID}&c={CAMPAIGN_NAME}&af_ad={AD_NAME}&af_ad_type={AD_SIZE}&af_channel={AD_TYPE}&af_c_id={CAMPAIGN_ID}&af_adset=_DEFAULT&af_ad_id={AD_ID}&af_viewthrough_lookback=24h&clickid={DID}&idfa={IDFA}&af_ip={IP}&af_lang={LOCALE}&af_ua={USER_AGENT}",
"click_url": "https://app.appsflyer.com/id1234567890?pid=applovin_int&af_siteid={APP_ID}&c={CAMPAIGN_NAME}&af_ad={AD_NAME}&af_ad_type={AD_SIZE}&af_channel={AD_TYPE}&af_c_id={CAMPAIGN_ID}&af_adset=_DEFAULT&af_ad_id={AD_ID}&af_click_lookback=7d&clickid={DID}&idfa={IDFA}&af_ip={IP}&af_lang={LOCALE}&af_ua={USER_AGENT}"
},
"targeting": [
{
"country_code": "HR"
},
{
"country_code": "MF"
},
{
"country_code": "RW"
},
{
"country_code": "CO"
}
],
"type": "APP",
"created_at": "2025-05-22T21:51:01",
"package_name": "com.package.name",
"itunes_id": "1234567890",
"bidding_strategy": "TARGET_GOAL_WITH_CPI_BILLING",
"start_date": "2025-05-23T00:00:00",
"end_date": "2025-05-30T00:00:00"
}
]

The /campaign/create Endpoint

Make a POST request to this endpoint to create a new campaign. The request body is a Campaign Object. Review the Create column of the Campaign Object table to determine which fields you should include in your request.

This endpoint returns a JSON object that contains the Campaign ID (id) of the campaign this endpoint creates.

Target URL

https://api.ads.axon.ai/manage/v1/campaign/create?account_id=«account-ID»

Examples

Request
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/campaign/create?account_id=«account-ID»' \
--header 'Content-Type: application/json' \
--header 'Authorization: «campaign-API-key»' \
--data '
{
"name": "test",
"type": "APP",
"start_date": "2025-07-20T00:00:00",
"end_date": "2025-07-31T00:00:00",
"targeting": [
{
"country_code": "US"
},
{
"country_code": "CA"
}
],
"budget": {
"daily_budget_for_all_countries": "6000"
},
"goal": {
"goal_value_for_all_countries": "0.3",
"goal_type": "CHK_ROAS",
"roas_day_target": "DAY28"
},
"bidding_strategy": "TARGET_GOAL_WITH_CPI_BILLING",
"platform": "ANDROID",
"package_name": "com.AppLovin.MaxDemoUnity",
"tracking": {
"tracking_method": "ADJUST",
"impression_url": "https://view.adjust.com/impression/123abc?campaign={CAMPAIGN_NAME}%20({CAMPAIGN_ID})&adgroup={APP_ID}&creative={AD_NAME}&idfa={IDFA}&country={CC}&gps_adid={IDFA}&adgroup_id={PLACEMENT_ID}&ip_address={DEVICE_IP}&campaign_id={CAMPAIGN_ID}&device_type={DEVICE_TYPE}&publisher_id={APP_ID}&tracker_limit=100000&applovin_click_id={DID}&applovin_event_id={EVENT_ID}&external_tracker_ids=1&android_id_lower_sha1={HADID}",
"click_url": "https://app.adjust.com/123abc?campaign={CAMPAIGN_NAME}%20({CAMPAIGN_ID})&adgroup={APP_ID}&creative={AD_NAME}&idfa={IDFA}&country={CC}&gps_adid={IDFA}&adgroup_id={PLACEMENT_ID}&ip_address={DEVICE_IP}&campaign_id={CAMPAIGN_ID}&device_type={DEVICE_TYPE}&publisher_id={APP_ID}&tracker_limit=100000&applovin_click_id={DID}&applovin_event_id={EVENT_ID}&external_tracker_ids=1&android_id_lower_sha1={HADID}"
}
}'
Response
{
"id": "12345"
}

The /campaign/update Endpoint

Make a POST request to this endpoint to update an existing campaign. The request body is a Campaign Object. Review the Update column of the Campaign Object table to determine which fields you should include in your request.

This endpoint returns a JSON object that contains the Campaign ID (id) of the campaign this endpoint updates.

Target URL

https://api.ads.axon.ai/manage/v1/campaign/update?account_id=«account-ID»

Examples

Request
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/campaign/update?account_id=«account-ID»' \
--header 'Content-Type: application/json' \
--header 'Authorization: «campaign-API-key»' \
--data '
{
"id": "12345",
"name": "test",
"status": "LIVE",
"type": "APP",
"platform": "ANDROID",
"budget": {
"country_code_to_daily_budget": {
"CA": "5000",
"US": "1000"
}
},
"goal": {
"goal_value_for_all_countries": "0.98"
},
"tracking": {
"tracking_method": "ADJUST",
"impression_url": "https://view.adjust.com/impression/123abc?campaign={CAMPAIGN_NAME}%20({CAMPAIGN_ID})&adgroup={APP_ID}&creative={AD_NAME}&idfa={IDFA}&country={CC}&gps_adid={IDFA}&adgroup_id={PLACEMENT_ID}&ip_address={DEVICE_IP}&campaign_id={CAMPAIGN_ID}&device_type={DEVICE_TYPE}&publisher_id={APP_ID}&tracker_limit=100000&applovin_click_id={DID}&applovin_event_id={EVENT_ID}&external_tracker_ids=1&android_id_lower_sha1={HADID}",
"click_url": "https://app.adjust.com/123abc?campaign={CAMPAIGN_NAME}%20({CAMPAIGN_ID})&adgroup={APP_ID}&creative={AD_NAME}&idfa={IDFA}&country={CC}&gps_adid={IDFA}&adgroup_id={PLACEMENT_ID}&ip_address={DEVICE_IP}&campaign_id={CAMPAIGN_ID}&device_type={DEVICE_TYPE}&publisher_id={APP_ID}&tracker_limit=100000&applovin_click_id={DID}&applovin_event_id={EVENT_ID}&external_tracker_ids=1&android_id_lower_sha1={HADID}"
},
"targeting": [
{
"country_code": "CA"
},
{
"country_code": "US"
}
],
"created_at": "2025-07-18T10:26:32",
"package_name": "com.AppLovin.MaxDemoUnity",
"end_date": "2025-07-31T05:00:00"
}
Response
{
"id": "12345"
}

Campaign Object

NameTypeDescriptionCreateUpdate
bidding_strategyStringBidding strategy for the campaign. Valid values include: target_goal_with_cpi_billing: We will aim to control the cost per result around your target goal. You will be charged on each app install.
auto_bidding_with_cpm_billing: We will aim to fully utilize your budget while maximizing results at the lowest possible cost per result. You will be charged on every ad impression.
maximize_results_with_cpm_billing: We will aim to fully utilize your budget while maximizing results, ensuring the cost per result stays within a certain range around your target goal. You will be charged on every ad impression.
RequiredForbidden
budgetBudgetBudget settings of the campaign. See Budget.RequiredOptional
created_atStringThe creation time of the campaign, in ISO 8601 format (UTC).IgnoredIgnored
end_dateStringThe end date of the campaign in ISO 8601 format (UTC).RequiredOptional
goalGoalGoal settings of the campaign. See Goal.RequiredOptional
hashed_id.StringThe external ID of the campaign. It is the same value as the campaign_id_external in the Reporting API, the {CAMPAIGN_ID} Tracking URL Macro and the campaign_id in the Campaign Management API.ForbiddenIgnored
idLongThe ID of the campaign.ForbiddenRequired
itunes_idIntegerThe iTunes ID associated with the campaign.Required (iOS only)Optional
nameStringThe name of the campaign.RequiredOptional
package_nameStringThe package name associated with the campaign.RequiredOptional
platformStringThe platform for the campaign.RequiredOptional
start_dateStringThe start date of the campaign in ISO 8601 format (UTC). Cannot be earlier than today’s date.RequiredForbidden
statusStringThe current state of the campaign. Valid values: LIVE, PAUSED.IgnoredOptional
targetingarray<Targeting>The country targets for the campaign. See Targeting.RequiredOptional
trackingTrackingThe tracking settings for the campaign. See Tracking.RequiredOptional
typeStringThe type of the campaign. Valid values: APPRequiredRequired

Targeting Object

NameTypeDescription
country_codeStringThe ISO 3166-1 alpha-2 code represents the target country. For example, US for the United States, FR for France, or JP for Japan. See Table of Country Codes below for the full list.
region_codesarray<String>An array of region codes that specify target regions within the specified country. These are optional and only apply when the country_code is US. This array should contain valid U.S. state abbreviations (e.g. CA for California, NY for New York). See Table of Region Codes below for the full list.
"targeting": [
{
"country_code": "US",
"region_codes": [ "CA", "FL" ]
}
]

Budget Object

You can set either a global budget or country-level budgets. This is required when you create a campaign.

NameTypeDescription
daily_budget_for_all_countriesdecimalSpecifies a uniform daily budget that you want to apply across all targeted countries.
"budget": {
"daily_budget_for_all_countries": "6000"
}

Goal Object

Goal Value

The goal value depends on the goal type. For CPI / CPE / CPP it represents a cost per install / event / purchase; for AD_ROAS, CHK_ROAS, BLD_ROAS it represents the percentage return on the targeted day.

You can set either a global goal or country-level goals.

NameTypeDescription
goal_value_for_all_countriesdecimalSpecifies a uniform goal value that you want to apply across all targeted countries.
"goal": {
"goal_value_for_all_countries": "0.5",
}

Goal Type

The goal type defines the optimization goal for the campaign.

Cost per install.
goal_type value: CPI

NameTypeDescription
goal_typeStringDefines the optimization goal for the campaign.
"goal": {
"goal_type": "CPI"
}

Tracking Object

This endpoint requires this object and all of its values when you create a campaign.

NameTypeDescription
click_urlStringThe URL used for tracking ad clicks.
impression_urlStringThe URL used for tracking ad impressions.
tracking_methodStringThe attribution tracking provider used for this campaign. See Table of Tracking Methods below for a full list.
"tracking": {
"tracking_method": "ADJUST",
"impression_url": "https://view.adjust.com/impression/123abc?campaign={CAMPAIGN_NAME}%20({CAMPAIGN_ID})&adgroup={APP_ID}&creative={AD_NAME}&idfa={IDFA}&country={CC}&gps_adid={IDFA}&adgroup_id={PLACEMENT_ID}&ip_address={DEVICE_IP}&campaign_id={CAMPAIGN_ID}&device_type={DEVICE_TYPE}&publisher_id={APP_ID}&tracker_limit=100000&applovin_click_id={DID}&applovin_event_id={EVENT_ID}&external_tracker_ids=1&android_id_lower_sha1={HADID}",
"click_url": "https://app.adjust.com/123abc?campaign={CAMPAIGN_NAME}%20({CAMPAIGN_ID})&adgroup={APP_ID}&creative={AD_NAME}&idfa={IDFA}&country={CC}&gps_adid={IDFA}&adgroup_id={PLACEMENT_ID}&ip_address={DEVICE_IP}&campaign_id={CAMPAIGN_ID}&device_type={DEVICE_TYPE}&publisher_id={APP_ID}&tracker_limit=100000&applovin_click_id={DID}&applovin_event_id={EVENT_ID}&external_tracker_ids=1&android_id_lower_sha1={HADID}"
}

Creative Sets

The /creative_set/list Endpoint

Make a GET request to this enpoint to retrieve a list of up to 100 creative sets on your account. This list is a JSON array of Creative Set Objects.

This endpoint returns an empty array if there are no creative sets on the selected page.

Target URL

https://api.ads.axon.ai/manage/v1/creative_set/list?account_id=«account-ID»

Query Parameters

NameDescriptionDefault
idsA comma-separated list of creative set IDs. Use this to filter the results to only those with the specified IDs. You can specify a maximum of 100 IDs this way. Do not include this alongside hashed_ids.null
hashed_idsA comma-separated list of external creative set IDs. Use this to filter the results to only those with the specified IDs. You can specify a maximum of 100 IDs this way. Do not include this alongside ids.null
pageThe page number of the results to retrieve. The first page is page 1.1
sizeThe number of results to return per page. Maximum 100.100

Examples

Request paginated
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/creative_set/list?account_id=«account-ID»&size=50&page=10' \
--header 'Authorization: «campaign-API-key»'
Request filtered
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/creative_set/list?account_id=«account-ID»&ids=56789' \
--header 'Authorization: «campaign-API-key»'
Response
[
{
"id": "56789",
"campaign_id": "12345",
"type": "APP",
"name": "test",
"assets": [
{
"id": "63085821",
"name": "playable.html",
"status": "ACTIVE",
"url": "https://res1.applovin.com/r83948939/playable_raw.html",
"type": "HOSTED_HTML",
"resource_type": "HTML",
},
{
"id": "62453682",
"name": "test1.mp4",
"status": "ACTIVE",
"url": "https://res1.applovin.com/r83948939/test1.mp4",
"asset_type": "VID_LONG_P",
"resource_type": "VIDEO",
}
],
"languages": [
"ENGLISH"
],
"countries": [
"US"
]
}
]

The /creative_set/list_by_campaign_id Endpoint

Make a GET request to this endpoint to retrieve information about creative sets that are included in a set of campaign IDs on your account. This endpoint returns up to 100 results at a time.

Target URL

https://api.ads.axon.ai/manage/v1/creative_set/list_by_campaign_id?account_id=«account-ID»

Query Parameters

NameDescriptionDefault
idsA comma-separated list of campaign IDs. Use this to filter the results to only creative sets within the specified campaign IDs. You can specify a maximum of 100 IDs this way.null
pageThe page number of the results to retrieve. The first page is page 1.1
sizeThe number of results to return per page. Maximum 100.100

Response Body Parameters

NameDescription
campaign_countThe number of campaigns in the campaigns object.
creative_set_countThe total number of creative sets across returned in this response across all campaigns.
campaignsA dictionary containing information about the returned campaigns. The keys are campaign IDs. The values are arrays of Creative Set Objects.

Examples

Request paginated
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/creative_set/list_by_campaign_id?account_id=«account-ID»&ids=56789,1648980&size=50&page=10' \
--header 'Authorization: «campaign-API-key»'
Request filtered
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/creative_set/list_by_campaign_id?account_id=«account-ID»&ids=56789' \
--header 'Authorization: «campaign-API-key»'
Response
{
"campaign_count": 2,
"creative_set_count": 2,
"campaigns": {
"12345": [
{
"id": "56789",
"type": "APP",
"name": "test",
"assets": [
{
"id": "63085821",
"name": "playable.html",
"status": "ACTIVE",
"url": "https://res1.applovin.com/r83948939/playable_raw.html",
"type": "HOSTED_HTML",
"resource_type": "HTML",
},
{
"id": "62453682",
"name": "test1.mp4",
"status": "ACTIVE",
"url": "https://res1.applovin.com/r83948939/test1.mp4",
"asset_type": "VID_LONG_P",
"resource_type": "VIDEO",
}
],
"languages": [
"ENGLISH"
],
"countries": [
"US"
],
"campaign_id": "56789",
"product_page": "",
"created_at": "2025-07-18T10:56:05"
}
],
"1648980": [
{
"id": "27227280",
"type": "APP",
"name": "Test_1",
"assets": [
{
"id": "63085821",
"name": "playable.html",
"status": "ACTIVE",
"url": "https://res1.applovin.com/r83948939/playable_raw.html",
"type": "HOSTED_HTML",
"resource_type": "HTML",
},
{
"id": "62453682",
"name": "test1.mp4",
"status": "ACTIVE",
"url": "https://res1.applovin.com/r83948939/test1.mp4",
"asset_type": "VID_LONG_P",
"resource_type": "VIDEO",
}
],
"status": "PAUSED",
"languages": [
"CHINESE_TRADITIONAL",
"ITALIAN",
"INDONESIAN"
],
"countries": [],
"campaign_id": "1648980",
"product_page": "test.com",
"created_at": "2025-06-03T23:23:12"
}
]
}
}

The /creative_set/create Endpoint

Make a POST request to this endpoint to create a new creative set. The request body is a Creative Set Object. Review the Create column of the Creative Set Object table to determine which fields you should include in your request.

This endpoint returns a JSON object that contains the Creative Set ID (id) of the creative set this endpoint creates.

Target URL

https://api.ads.axon.ai/manage/v1/creative_set/create?account_id=«account-ID»

Examples

Request

Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/creative_set/create?account_id=«account-ID»' \
--header 'Content-Type: application/json' \
--header 'Authorization: «campaign-API-key»' \
--data '
{
"campaign_id": "12345",
"type": "APP",
"name": "test",
"assets": [
{
"id": "62453682"
}
],
"languages": [
"ENGLISH"
],
"countries": [
"US"
]
}

Response

{
"id": "56789",
"version": "V2"
}

The /creative_set/update Endpoint

Make a POST request to this endpoint to update an existing creative set. The request body is a Creative Set Object. Review the Update column of the Creative Set Object table to determine which fields you should include in your request.

This endpoint returns a JSON object that contains the Creative Set ID (id) of the creative set this endpoint updates.

Target URL

https://api.ads.axon.ai/manage/v1/creative_set/update?account_id=«account-ID»

Examples

Request
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/creative_set/update?account_id=«account-ID»' \
--header 'Content-Type: application/json' \
--header 'Authorization: «campaign-API-key»' \
--data '
{
"id": "56789",
"campaign_id": "12345",
"type": "APP",
"name": "test",
"assets": [
{
"id": "63085821"
},
{
"id": "62453682"
}
],
"languages": [
"ENGLISH"
],
"countries": [
"US"
]
}
Response
{
"id": "56789",
"version": "V2"
}

Creative Set Versions

We support two different creative set versions:

  • V1: You may upload only a single asset of each asset type.
  • V2: You may upload up to 10 assets for each asset type.

When you create a new creative set, its version is always V2 unless you clone it from a previously-existing creative set that is V1.

Creative Set Object

NameTypeDescriptionCreateUpdate
assetsarray<CreativeSetAsset>Assets to include in the creative set. Please refer to CreativeSetAsset.
May only contain the following: HOSTED_HTML, VID_LONG_P, VID_SHORT_P, IMG_BANNER
Must contain a HOSTED_HTML file.
RequiredOptional
campaign_idStringThe ID of the campaign this creative set belongs to.RequiredRequired
countries array<String>List of the ISO 3166-1 alpha-2 codes in which this creative set will be served. For example, US for the United States, FR for France, or JP for Japan. Defaults to all countries. See Table of Country Codes below for the full list.OptionalOptional
idStringID of the creative set.ForbiddenRequired
hashed_idStringThe external ID of the creative set. It is the same value as the creative_set_id in the Reporting API, the {CREATIVE_SET_ID} Tracking URL Macro and the creative_set_id in the Campaign Management API.ForbiddenIgnored
languagesarray<Language>List of languages. Defaults to all languages. Please refer to Table of Languages below for the full list.OptionalOptional
nameStringThe name of the creative set.RequiredOptional
product_pageStringiOS Custom Product Page or Android Store Listing associated with the creative set.OptionalOptional
statusStringStatus of the creative set: LIVE or PAUSEDOptionalOptional
typeStringThe type of the campaign. Only APP is supported.RequiredRequired
versionStringThe creative set version. V1 for older creative sets that only support a single asset per type, V2 for new creative set that support multiple assets per type.IgnoredIgnored

CreativeSetAsset Object

NameTypeDescriptionCreate Creative Set
idStringID of the asset. You use this ID when you create or update a creative set.Required
nameStringAsset name.Ignored
statusStringAsset status. Possible values are: IN_REVIEW, REJECTED, ACTIVE, PAUSED, UNKNOWN.Ignored
typeStringCreative asset type. Possible values are: VID_LONG_P, VID_SHORT_P, HOSTED_HTML, IMG_BANNER.Ignored
urlStringThe URL of the asset, for example: https://res1.applovin.com/r83948939/test1.mp4Ignored

The /creative_set/clone Endpoint

Make a POST request to this endpoint to clone an existing creative set to a different campaign.

This endpoint returns a JSON object that contains the Creative Set ID (id) of the resulting cloned creative set.

Target URL

https://api.ads.axon.ai/manage/v1/creative_set/clone?account_id=«account-ID»

Request Body Parameters

NameTypeDescription
campaign_idIntegerThe ID of the campaign into which you want to clone the creative set.
creative_set_idIntegerID of the creative set you want to clone.
statusStringStatus of the cloned creative set: LIVE or PAUSED.

Examples

Request
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/creative_set/clone?account_id=«account-ID»' \
--header 'Content-Type: application/json' \
--header 'Authorization: «campaign-API-key»' \
--data '
{
"campaign_id": "12345",
"creative_set_id": "39823",
"status":"live"
}
Response
{
"id": "56795",
"version": "V1"
}

Assets

The /asset/list Endpoint

Make a GET request to this enpoint to retrieve a list of up to 100 campaigns on your account. This list is a JSON array of Asset Objects.

This endpoint returns an empty array if there are no campaigns on the selected page.

Target URL

https://api.ads.axon.ai/manage/v1/asset/list?account_id=«account-ID»

Query Parameters

NameDescriptionDefault
idsA comma-separated list of asset IDs. Use this to filter the results to only those with the specified IDs. You can specify a maximum of 100 IDs this way.null
pageThe page number of the results to retrieve. The first page is page 1.1
resource_typeAn asset resource type variety. Use this to filter the results to only those with that resource type. Possible values are image, html, videonull
sizeThe number of results to return per page. Maximum 100.100

Asset Object

NameTypeDescription
asset_typeStringCreative asset type. Possible values are VID_LONG_P, VID_SHORT_P, HOSTED_HTML, or IMG_BANNER.
idStringID of the asset. Use this when you create or update a creative set.
nameStringAsset name.
resource_typeStringThe resource type of the asset. Possible values are IMAGE, VIDEO, or HTML.
statusStringAsset status. Possible values are IN_REVIEW, REJECTED, ACTIVE, or PAUSED.
upload_timeStringThe uploaded time of the asset, for example: 2025-04-27T23:34:06
urlStringThe URL of the uploaded asset, for example: https://res1.applovin.com/r83948939/test1.mp4

Examples

Request paginated
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/asset/list?account_id=«account-ID»&size=50&page=10' \
--header 'Authorization: «campaign-API-key»'
Request filtered
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/asset/list?account_id=«account-ID»&ids=12345' \
--header 'Authorization: «campaign-API-key»'
Response
[
{
"id": "65061535",
"name": "playable.html",
"status": "ACTIVE",
"url": "https://res1.applovin.com/r83948939/playable_raw.html",
"asset_type": "HOSTED_HTML",
"resource_type": "HTML",
"upload_time": "2025-07-04T07:25:30"
},
{
"id": "65061052",
"name": "test1.mp4",
"status": "ACTIVE",
"url": "https://res1.applovin.com/r83948939/test1.mp4",
"asset_type": "VID_LONG_P",
"resource_type": "VIDEO",
"upload_time": "2025-07-04T07:24:57"
}
]

The /asset/upload Endpoint

Make a POST request to this endpoint to upload new asset files. You can upload up to 40 files at once. The total size must not exceed 10GB and the size of a single file should not exceed 1GB. After the upload, AppLovin processes, optimizes, and reviews the assets.

This endpoint returns a JSON object with an upload_id. You can use this ID to query the status of the uploaded assets. See The /asset/upload_result Endpoint below.

Target URL

https://api.ads.axon.ai/manage/v1/asset/upload?account_id=«account-ID»

Request Form Fields

NameTypeDescription
filesarray<File>Each file name must be unique in the batch and each file must have a Content-Type. Supported Content-Type values are text/html, image/gif, image/jpeg, image/png, video/mp4, and video/quicktime.

Examples

Request
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/asset/upload?account_id=«account-ID»' \
--header 'Authorization: «campaign-API-key»' \
--form 'files=@"/path/to/playable.html"' \
--form 'files=@"/path/to/video.mp4"'
Response
{
"upload_id": "c7a3db4226b24bd8bb0b38c46654aa54"
}

The /asset/upload_result Endpoint

Make a GET request to this endpoint to check the status of an upload request.

This endpoint returns a JSON object containing information about the given upload_id.

Target URL

https://api.ads.axon.ai/manage/v1/asset/upload_result?account_id=«account-ID»&upload_id=«upload-ID»

Request Query Parameters

NameTypeDescription
upload_idStringThe upload_id returned by the /asset/upload endpoint.

Response Body Parameters

NameTypeDescription
detailsarray<AssetUploadDetail>Details about each of the uploaded files. See AssetUploadDetail.
summaryAssetUploadSummaryOverview of the status of the uploaded files. See AssetUploadSummary.
upload_statusStringThe overall status of upload asset request: PENDING if any files are still processing, otherwise FINISHED.

AssetUploadSummary Object

NameTypeDescription
failedIntegerCount of failed assets.
pendingIntegerCount of pending assets.
successIntegerCount of successfully processed assets.
totalIntegerCount of all assets in upload request.

AssetUploadDetail Object

NameTypeDescription
error_messageStringIf the upload fails, this contains the reason for the failure.
file_statusStringThe upload status of the asset. Possible values are PENDING, FAILURE, or SUCCESS.
idStringThe ID of the asset.
nameStringThe name of the asset.
resource_typeStringThe resource type of the asset. Possible values are IMAGE, VIDEO, or HTML.
uploadTimeStringThe upload time of the asset, for example: 2025-04-27T23:34:06
urlStringThe URL of the uploaded asset, for example: https://res1.applovin.com/r83948939/test1.mp4

Examples

Request
Terminal window
curl --location 'https://api.ads.axon.ai/manage/v1/asset/upload_result?account_id=«account-ID»&upload_id=«upload-ID»' \
--header 'Authorization: «campaign-API-key»' \
Response
{
"summary": {
"total": 2,
"success": 2,
"failed": 0,
"pending": 0
},
"details": [
{
"id": "66218554",
"name": "playable.html",
"uploadTime": "2025-07-19T08:24:29",
"url": "https://res1.applovin.com/r0186867/b30361c076022e02ea3cc1b80a6855f5491a6d70_raw.raw",
"resource_type": "HTML",
"file_status": "SUCCESS"
},
{
"id": "65061052",
"name": "test1.mp4",
"uploadTime": "2025-07-19T08:24:29",
"url": "https://res1.applovin.com/r83948939/test1.mp4",
"resource_type": "VIDEO",
"file_status": "SUCCESS",
}
],
"upload_status": "FINISHED"
}

Table of Tracking Methods

API NameMMP Name
adjustAdjust
appsflyerAppsFlyer
apsalarSingular
branchBranch
kochavaKochava
tenjinTenjin

Table of Languages

  • ALBANIAN
  • ARABIC
  • BASQUE
  • BENGALI
  • BOSNIAN
  • BULGARIAN
  • CATALAN
  • CHINESE_SIMPLIFIED
  • CHINESE_TRADITIONAL
  • CROATIAN
  • CZECH
  • DANISH
  • DUTCH
  • ENGLISH
  • ESTONIAN
  • FARSI
  • FINNISH
  • FRENCH
  • GEORGIAN
  • GERMAN
  • GREEK
  • HEBREW
  • HINDI
  • HUNGARIAN
  • ICELANDIC
  • INDONESIAN
  • ITALIAN
  • JAPANESE
  • JAVANESE
  • KOREAN
  • LATVIAN
  • LITHUANIAN
  • MACEDONIAN
  • MALAY
  • MARATHI
  • NORWEGIAN
  • POLISH
  • PORTUGESE
  • ROMANIAN
  • RUSSIAN
  • SERBIAN
  • SLOVAK
  • SLOVENIAN
  • SPANISH
  • SUNDANESE
  • SWEDISH
  • THAI
  • TURKISH
  • UIGHUR
  • UKRAINIAN
  • URDU
  • VIETNAMESE

Table of Country Codes

  • AD
  • AE
  • AF
  • AG
  • AI
  • AL
  • AM
  • AO
  • AR
  • AS
  • AT
  • AU
  • AW
  • AX
  • AZ
  • BA
  • BB
  • BD
  • BE
  • BF
  • BG
  • BH
  • BI
  • BJ
  • BL
  • BM
  • BN
  • BO
  • BQ
  • BR
  • BS
  • BT
  • BW
  • BY
  • BZ
  • CA
  • CD
  • CF
  • CG
  • CH
  • CI
  • CK
  • CL
  • CM
  • CN
  • CO
  • CR
  • CV
  • CW
  • CY
  • CZ
  • DE
  • DJ
  • DK
  • DM
  • DO
  • DZ
  • EC
  • EE
  • EG
  • EH
  • ER
  • ES
  • ET
  • FI
  • FJ
  • FK
  • FM
  • FO
  • FR
  • GA
  • GB
  • GD
  • GE
  • GF
  • GG
  • GH
  • GI
  • GL
  • GM
  • GN
  • GP
  • GQ
  • GR
  • GT
  • GU
  • GW
  • GY
  • HK
  • HN
  • HR
  • HT
  • HU
  • ID
  • IE
  • IL
  • IM
  • IN
  • IQ
  • IS
  • IT
  • JE
  • JM
  • JO
  • JP
  • KE
  • KG
  • KH
  • KI
  • KM
  • KN
  • KR
  • KW
  • KY
  • KZ
  • LA
  • LB
  • LC
  • LI
  • LK
  • LR
  • LS
  • LT
  • LU
  • LV
  • LY
  • MA
  • MC
  • MD
  • ME
  • MF
  • MG
  • MH
  • MK
  • ML
  • MM
  • MN
  • MO
  • MP
  • MQ
  • MR
  • MS
  • MT
  • MU
  • MV
  • MW
  • MX
  • MY
  • MZ
  • NA
  • NC
  • NE
  • NF
  • NG
  • NI
  • NL
  • NO
  • NP
  • NQ
  • NR
  • NU
  • NZ
  • OM
  • PA
  • PE
  • PF
  • PG
  • PH
  • PK
  • PL
  • PM
  • PN
  • PR
  • PS
  • PT
  • PW
  • PY
  • QA
  • RE
  • RO
  • RS
  • RU
  • RW
  • SA
  • SB
  • SC
  • SD
  • SE
  • SG
  • SH
  • SI
  • SJ
  • SK
  • SL
  • SM
  • SN
  • SO
  • SR
  • SS
  • ST
  • SV
  • SX
  • SZ
  • TC
  • TD
  • TG
  • TH
  • TJ
  • TK
  • TL
  • TM
  • TN
  • TO
  • TR
  • TT
  • TV
  • TW
  • TZ
  • UA
  • UG
  • US
  • UY
  • UZ
  • VA
  • VC
  • VE
  • VG
  • VI
  • VN
  • VU
  • WF
  • WS
  • XK
  • YE
  • YT
  • ZA
  • ZM
  • ZW

Table of Region Codes

  • AK (Alaska)
  • AL (Alabama)
  • AR (Arkansas)
  • AZ (Arizona)
  • CA (California)
  • CO (Colorado)
  • CT (Connecticut)
  • DC (District of Columbia)
  • DE (Delaware)
  • FL (Florida)
  • GA (Georgia)
  • HI (Hawaii)
  • IA (Iowa)
  • ID (Idaho)
  • IL (Illinois)
  • IN (Indiana)
  • KS (Kansas)
  • KY (Kentucky)
  • LA (Louisiana)
  • MA (Massachusetts)
  • MD (Maryland)
  • ME (Maine)
  • MI (Michigan)
  • MN (Minnesota)
  • MO (Missouri)
  • MS (Mississippi)
  • MT (Montana)
  • NC (North Carolina)
  • ND (North Dakota)
  • NE (Nebraska)
  • NH (New Hampshire)
  • NJ (New Jersey)
  • NM (New Mexico)
  • NV (Nevada)
  • NY (New York)
  • OH (Ohio)
  • OK (Oklahoma)
  • OR (Oregon)
  • PA (Pennsylvania)
  • PR (Puerto Rico)
  • RI (Rhode Island)
  • SC (South Carolina)
  • SD (South Dakota)
  • TN (Tennessee)
  • TX (Texas)
  • UT (Utah)
  • VA (Virginia)
  • VT (Vermont)
  • WA (Washington)
  • WI (Wisconsin)
  • WV (West Virginia)
  • WY (Wyoming)