Browse the help center

Campaigns API endpoints

Endpoint reference for the Campaigns tag (26 endpoints): Campaign management, bulk operations, and configuration

Reference network manager admin

Campaign management, bulk operations, and configuration. 26 endpoints, generated from the OpenAPI spec. Authentication, the response envelope, pagination and error codes are shared by all endpoints — see REST API overview. Parameters marked form go in an application/x-www-form-urlencoded request body.

GET /rest-api/campaign/{campaignId}.do

Request examples

Get campaign by ID.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign to retrieve
selfServRequestquerybooleannoWhen true, returns a simplified self-serve response format instead of the full campaign details

Responses: 200 — Campaign details · 404 — Campaign not found. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/{operation}/{advertiserId}.do

Request examples

Copy or move campaign.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign to copy or move
operationpathstringyesOperation to perform: COPY or MOVE Values: MOVE, COPY.
advertiserIdpathintegeryesID of the target advertiser to copy/move the campaign to
copyCountformintegernoNumber of copies to create, 1 to 20 (COPY only, defaults to 1)
keepBannersLinkedformbooleannoWhether the copied or moved banners stay linked to the source banners’ placements; when false they end up with no placement links (defaults to false)
dontCopyBannersformbooleannoWhen true, campaign banners are not copied (COPY only, defaults to false)
pauseBannersformbooleannoWhen true, the copied banners are switched off; when false they keep the source banners’ on/off state (COPY only, defaults to false)
preserveActiveformbooleannoWhen true, the copied campaign keeps the source campaign’s on/off state; when false (default) every copy starts switched off (COPY only)
nameformstringnoName for the copy (COPY only, at most 500 characters). With copyCount above 1 the later copies are named ‘<name> 2’, ‘<name> 3’… Omit to keep the source’s name (with ‘_copy’ appended when the target advertiser already has one of that name).

Responses: 200 — Operation completed successfully · 404 — Not found — resource does not exist · 500 — Internal server error during operation. Errors follow the shared conventions.

GET /rest-api/campaign/{campaignId}/banners.do

Request examples

List banners for campaign.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign whose banners to list
selfServRequestquerybooleannoWhen true, returns a simplified self-serve banner format

Responses: 200 — List of banners · 404 — Not found — resource does not exist. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/campaignPricing/actionPricing.do

Request examples

Update campaign action pricing.

ParameterInTypeRequiredDescription
priceformnumberyesCPA price for the action, 0 to 1000000
campaignIdpathintegeryesUnique identifier of the campaign
actionNameformstringnoName of the action to set pricing for (alternative to actionKey)
actionKeyformstringnoUnique key of the action to set pricing for (alternative to actionName)

Responses: 200 — Action pricing updated · 404 — No action the caller can see matches actionKey/actionName. Errors follow the shared conventions.

GET /rest-api/campaign/{campaignId}/competitors.do

Request examples

List campaign competitors.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign

Responses: 200 — Competitors retrieved · 404 — Campaign not found or deleted. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/competitors/add.do

Request examples

Add campaign competitors.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign
competitorIdsformarray<integer>yesIDs of the competitor campaigns — repeat the parameter or separate with commas

Responses: 200 — Competitors linked; competitors lists the campaign’s competitors afterwards · 404 — Campaign not found or deleted. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/competitors/disable.do

Request examples

Disable campaign competitors.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign

Responses: 200 — Competitors disabled; enableCompetitors echoes the new state · 404 — Campaign not found or deleted. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/competitors/enable.do

Request examples

Enable campaign competitors.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign

Responses: 200 — Competitors enabled; enableCompetitors echoes the new state · 404 — Campaign not found or deleted. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/competitors/remove.do

Request examples

Remove campaign competitors.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign
competitorIdsformarray<integer>yesIDs of the competitor campaigns to unlink — repeat the parameter or separate with commas

Responses: 200 — Competitors unlinked; competitors lists the campaign’s competitors afterwards · 404 — Campaign not found or deleted. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/delete.do

Request examples

Delete campaign.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign to delete

Responses: 200 — Campaign deleted successfully · 404 — Not found — resource does not exist. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/disable-actions.do

Request examples

Disable campaign actions.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign to disable actions for

Responses: 200 — Campaign actions disabled · 404 — Not found — resource does not exist. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/enable-actions.do

Request examples

Enable campaign actions.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign to enable actions for

Responses: 200 — Campaign actions enabled · 404 — Not found — resource does not exist. Errors follow the shared conventions.

GET /rest-api/campaign/{campaignId}/pricing.do

Request examples

Get campaign pricing.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign whose pricing to retrieve

Responses: 200 — Campaign pricing details, or {campaignId, pricingSet:false} when none is set · 404 — Campaign not found. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/pricing.do

Request examples

Update campaign pricing.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign whose pricing to update
burnUpPeriodformintegernoBurn-up period in hours for eCPM optimization
burnUpSubPeriodformintegernoBurn-up sub-period length in hours
burnUpSubPeriodWeightingformstringnoWeighting type for burn-up sub-periods Values: SINGLET, DECREMENT, HARMONIC.
estimatedConversionRateformnumbernoEstimated impression-to-conversion rate (I2C) as a fraction from 0 to 1, not a percentage — 0.002 means 0.2%. Used to estimate eCPM of CPA campaigns under eCPM optimization; omit to keep the current value (a new pricing record starts from the network default)
estimatedCtrformnumbernoEstimated click-through rate as a fraction from 0 to 1, not a percentage — 0.005 means 0.5% CTR. Used to estimate eCPM of CPC campaigns under eCPM optimization; omit to keep the current value (a new pricing record starts from the network default)
minClicksformintegernoMinimum number of clicks before optimization kicks in
minConversionsformintegernoMinimum number of conversions before optimization kicks in
paymentModelformstringnoPayment model (FIXED_PRICE, REVENUE_SHARE) Values: FIXED_PRICE, REVENUE_SHARE.
priceformnumbernoPrice value in the selected pricing type; null when no global price is set
pricingTypeformstringnoPricing type (CPM, CPC, CPA, COST_PER_DAY, COST_PER_MONTH) Values: CPM, CPC, CPA, COST_PER_DAY, COST_PER_MONTH.
startUpPeriodformintegernoStart-up period in hours for eCPM optimization; must not exceed burnUpPeriod
useGlobalActionPricingformbooleannoWhether to use global action pricing from the action definition

Responses: 200 — Campaign pricing updated · 404 — Not found — resource does not exist. Errors follow the shared conventions.

DELETE /rest-api/campaign/{campaignId}/pricing.do

Request examples

Disable campaign pricing.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign whose pricing to remove

Responses: 200 — {success:true}: campaign pricing removed, or there was none · 404 — Campaign not found. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/pricing/{countryCode}.do

Request examples

Update campaign country pricing.

ParameterInTypeRequiredDescription
priceformnumberyesPrice for the country, 0 to 1000000
campaignIdpathintegeryesUnique identifier of the campaign
countryCodepathstringyesISO 3166 two-letter country code, or ’*’ for global pricing
actionNameformstringnoName of the action for CPA per-action country pricing (optional)
actionKeyformstringnoUnique key of the action for CPA per-action country pricing (optional)

Responses: 200 — Country pricing updated · 404 — No action the caller can see matches actionKey/actionName. Errors follow the shared conventions.

DELETE /rest-api/campaign/{campaignId}/pricing/{countryCode}.do

Request examples

Remove campaign country pricing.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign
countryCodepathstringyesISO 3166 two-letter country code to remove pricing for

Responses: 200 — Country pricing removed · 404 — Campaign not found, or it has no price for the country. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/pricing/batch.do

Request examples

Batch update campaign country pricing.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign whose country pricing to update in batch
countryPricesCsvformstringnoThe CSV’s text, for a client that cannot upload a file; send this or countryPrices

Request body (multipart/form-data): form with field countryPrices — CSV file with the country prices; send this or countryPricesCsv.

Responses: 200 — Batch update result: applied and rejected lines, plus the legacy csvErrors and csvWarnings · 404 — Not found — resource does not exist. Errors follow the shared conventions.

POST /rest-api/campaign/{campaignId}/update.do

Request examples

Update campaign.

ParameterInTypeRequiredDescription
campaignIdpathintegeryesUnique identifier of the campaign to update
autolinkCategoriesformarray<integer>noIDs of the publisher categories whose new placements the campaign auto-links to, comma-separated or repeated — with none set, only banners carrying auto-link labels link, by label
activeformbooleannoWhether the campaign is active and serving ads
allowActionPricingUrlOverridingformbooleannoAllow overriding action pricing URLs at the campaign level
allowImpressionAndClicksPricingUrlOverridingformbooleannoAllow overriding impression and click pricing URLs
allowNewPlacementsAutolinkingformbooleannoWhen true, newly created placements matching the campaign’s categories are automatically linked
allowUseForTemplateformbooleannoWhether this campaign can be used as a template
autoTagLandingUrlformbooleannoWhether the click redirect appends the click id to the landing page, so the macro does not have to be pasted into every creative. Off by default - it rewrites a URL the advertiser owns
campaignAliasForActionTrackingformstringnoCustom alias for action tracking attribution, up to 64 characters
cpaOptimizationformbooleannoEnable CPA-based optimization for banner delivery
cpaOptimizationActionsformarray<integer>noSet of actions used for CPA optimization — IDs of the action entities, comma-separated or as repeated parameters
ctrOptimizationformbooleannoEnable CTR-based optimization for banner delivery
descriptionformstringnoCampaign description text
ecpmOptimizationformbooleannoEnable eCPM-based optimization for banner delivery
enableActionsformbooleannoEnable conversion action tracking for this campaign
exchangeRateformnumbernoCurrency conversion multiplier from campaign currency to the network’s base currency (range 0.001–999.999)
labelUpdateTypeformstringnoHow labels are applied. Allowed values: add (append), overwrite (replace all existing), remove (delete specified), clear (remove all) Values: ADD, OVERWRITE, REMOVE, CLEAR.
labelsformarray<string>noLabel names to associate with this campaign
maxActionPriceOverrideformnumbernoUpper bound, in campaign currency, on the conversion payout a tracking URL may set. A higher payout is clamped to this value and the conversion is still counted. Omit to keep the current bound, send it empty to remove it (0 is a bound of 0); 0 to 9999999.9999; only consulted when allowActionPricingUrlOverriding is enabled
nameformstringnoCampaign display name, up to 512 characters, never blank. Left out on create, the campaign is named “Campaign <id>”.
onlyOneBannerPerPageformbooleannoRestrict delivery to one banner per page view
onlyThisCampaignOnPageformbooleannoRestrict page to show only banners from this campaign
priorityformstringnoDelivery priority level for this campaign. Allowed values: STANDARD_HIGH, STANDARD_MEDIUM, STANDARD_LOW, PREMIUM, NON_GUARANTEED, HOUSE_ADS Values: PREMIUM, STANDARD_HIGH, STANDARD_MEDIUM, STANDARD_LOW, NON_GUARANTEED, HOUSE_ADS.
selfServeCampaignTypeformstringnoSelf-serve campaign type classification Values: BANNER_DESKTOP, BANNER_MOBILE, BANNER_APPLICATION, BANNER_NATIVE, POP_UNDER, INTERSTITIAL_MOBILE, INTERSTITIAL_APPLICATION.
showBannersOfOneCampaignAtTheSamePageAliasformstringnoAlias used for one-campaign-per-page restriction, up to 64 characters
targetTemplateNameformstringnoName of the targeting template to apply, up to 50 characters
weightformintegernoRelative delivery weight (0-32767) for weighted rotation

Responses: 200 — Campaign updated successfully · 404 — Campaign not found. Errors follow the shared conventions.

GET /rest-api/campaign/banners/batch.do

Request examples

List banners for multiple campaigns.

ParameterInTypeRequiredDescription
campaignIdsqueryarray<integer>noArray of campaign IDs to retrieve banners for

Responses: 200 — List of banners. Errors follow the shared conventions.

POST /rest-api/campaign/create.do

Request examples

Create campaign.

ParameterInTypeRequiredDescription
advertiserIdformintegeryesID of the advertiser under which to create the campaign
autolinkCategoriesformarray<integer>noIDs of the publisher categories whose new placements the campaign auto-links to, comma-separated or repeated — with none set, only banners carrying auto-link labels link, by label
activeformbooleannoWhether the campaign is active and serving ads
allowActionPricingUrlOverridingformbooleannoAllow overriding action pricing URLs at the campaign level
allowImpressionAndClicksPricingUrlOverridingformbooleannoAllow overriding impression and click pricing URLs
allowNewPlacementsAutolinkingformbooleannoWhen true, newly created placements matching the campaign’s categories are automatically linked
allowUseForTemplateformbooleannoWhether this campaign can be used as a template
autoTagLandingUrlformbooleannoWhether the click redirect appends the click id to the landing page, so the macro does not have to be pasted into every creative. Off by default - it rewrites a URL the advertiser owns
campaignAliasForActionTrackingformstringnoCustom alias for action tracking attribution, up to 64 characters
cpaOptimizationformbooleannoEnable CPA-based optimization for banner delivery
cpaOptimizationActionsformarray<integer>noSet of actions used for CPA optimization — IDs of the action entities, comma-separated or as repeated parameters
ctrOptimizationformbooleannoEnable CTR-based optimization for banner delivery
descriptionformstringnoCampaign description text
ecpmOptimizationformbooleannoEnable eCPM-based optimization for banner delivery
enableActionsformbooleannoEnable conversion action tracking for this campaign
exchangeRateformnumbernoCurrency conversion multiplier from campaign currency to the network’s base currency (range 0.001–999.999)
labelUpdateTypeformstringnoHow labels are applied. Allowed values: add (append), overwrite (replace all existing), remove (delete specified), clear (remove all) Values: ADD, OVERWRITE, REMOVE, CLEAR.
labelsformarray<string>noLabel names to associate with this campaign
maxActionPriceOverrideformnumbernoUpper bound, in campaign currency, on the conversion payout a tracking URL may set. A higher payout is clamped to this value and the conversion is still counted. Omit to keep the current bound, send it empty to remove it (0 is a bound of 0); 0 to 9999999.9999; only consulted when allowActionPricingUrlOverriding is enabled
nameformstringnoCampaign display name, up to 512 characters, never blank. Left out on create, the campaign is named “Campaign <id>”.
onlyOneBannerPerPageformbooleannoRestrict delivery to one banner per page view
onlyThisCampaignOnPageformbooleannoRestrict page to show only banners from this campaign
priorityformstringnoDelivery priority level for this campaign. Allowed values: STANDARD_HIGH, STANDARD_MEDIUM, STANDARD_LOW, PREMIUM, NON_GUARANTEED, HOUSE_ADS Values: PREMIUM, STANDARD_HIGH, STANDARD_MEDIUM, STANDARD_LOW, NON_GUARANTEED, HOUSE_ADS.
selfServeCampaignTypeformstringnoSelf-serve campaign type classification Values: BANNER_DESKTOP, BANNER_MOBILE, BANNER_APPLICATION, BANNER_NATIVE, POP_UNDER, INTERSTITIAL_MOBILE, INTERSTITIAL_APPLICATION.
showBannersOfOneCampaignAtTheSamePageAliasformstringnoAlias used for one-campaign-per-page restriction, up to 64 characters
targetTemplateNameformstringnoName of the targeting template to apply, up to 50 characters
weightformintegernoRelative delivery weight (0-32767) for weighted rotation

Responses: 200 — Campaign created successfully · 404 — Advertiser not found. Errors follow the shared conventions.

GET /rest-api/campaigns.do

Request examples

List all campaigns.

ParameterInTypeRequiredDescription
selfServRequestquerybooleannoWhen true, returns a simplified self-serve response format instead of the full campaign details
activequerybooleannoWhen set, returns only active (true) or only inactive (false) campaigns; omit to return both
labelsqueryarray<string>noLabel names to filter by; a campaign carrying any of them is returned
advertiserIdqueryintegernoAdvertiser ID to restrict results to a single advertiser
offsetqueryintegernoPagination offset over campaigns ordered by id (zero-based)
limitqueryintegernoMaximum number of campaigns to return; omit for all
fieldsqueryarray<string>noReturn only these fields of each entity, comma-separated; id is always kept. A requested field no returned row carries is named in the X-Ignored-Fields response header
filterqueryobjectnoKeep only entities matching every key, e.g. filter[cpaOptimization]=true&filter[hasLimit]=true. Keys are the entity’s on/off settings (active, enableTargeting, cpaOptimization, alwaysRedirect, …) and a has<Relation> flag for each setting kept in rows of its own (hasLimit, hasPricing, hasFrequencyCapping, hasTrackingCode, hasPriceAdjustmentRules, hasLabels, hasBanners, …), true when the relation holds a row; hasCapping, hasLimits and hasTargetingRules group the relations of their kind. An unknown key is a 400 that lists every valid key for the list.

Responses: 200 — List of campaigns. Errors follow the shared conventions.

POST /rest-api/campaigns/copy/bulk/{advertiserId}.do

Request examples

Bulk copy campaigns.

ParameterInTypeRequiredDescription
advertiserIdpathintegeryesUnique identifier of the target advertiser that will own the copied campaigns. Must reference an existing, non-deleted advertiser
numberOfCopiesformintegernoNumber of copies to create for each campaign in the bulk request, 1 to 20. Defaults to 1 if not specified

Request body (application/json, required): JSON array; each element a JSON object with fields banners, companyId, companyName.

Responses: 200 — Bulk copy operation result with new campaign IDs · 404 — Advertiser or campaign not found. Errors follow the shared conventions.

POST /rest-api/campaigns/labels.do

Request examples

Change labels of many campaigns.

ParameterInTypeRequiredDescription
idsformarray<integer>yesCampaign IDs to change, 1 to 500
labelsformarray<string>noLabel names, comma-separated or repeated
labelUpdateTypeformstringnoADD (default), OVERWRITE, REMOVE or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR.

Responses: 200 — Batch applied · 404 — None of the ids names an existing campaign. Errors follow the shared conventions.

GET /rest-api/campaigns/priorities.do

Request examples

List campaign priority types.

No parameters beyond authentication.

Responses: 200 — List of priority types. Errors follow the shared conventions.

POST /rest-api/campaigns/status.do

Request examples

Switch campaigns on or off.

ParameterInTypeRequiredDescription
idsformarray<integer>yesCampaign IDs to switch, 1 to 500
activeformbooleanyestrue to switch the campaigns on, false to switch them off

Responses: 200 — Batch applied · 404 — None of the ids names an existing campaign. Errors follow the shared conventions.

Related pages

Please disable Adblock
Are you using adblock? Disable it and reload the page to proceed to the destination page.

A registration has already been submitted from this page. Please try again in 10 minutes.