Browse the help center

Placements API endpoints

Endpoint reference for the Placements tag (52 endpoints): Placement management and banner linking

Reference network manager admin

Placement management and banner linking. 52 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/ad-units.do

Request examples

List ad units.

ParameterInTypeRequiredDescription
placementTypequerystringnoKeep only the ad units of this placement type Values: SITE_PLACEMENT, NON_STANDARD_SITE_PLACEMENT, MOBILE_SITE_PLACEMENT, VIDEO_PLACEMENT, APPLICATION_PLACEMENT, EMAIL_PLACEMENT, CLICK_THROUGH_PLACEMENT, NATIVE_PLACEMENT.
widthqueryintegernoWith height and placementType: the width of the size to find the unit of, in pixels
heightqueryintegernoWith width and placementType: the height of the size to find the unit of, in pixels

Responses: 200 — [{id, name, width, height, custom, anySize, inventorySide, campaignsSide, placementTypes}]. Errors follow the shared conventions.

GET /rest-api/placement-code/{key}.do

Request examples

Get placement code by key (deprecated) (deprecated)

ParameterInTypeRequiredDescription
keypathstringyesUnique placement key string (MD5 hash)

Responses: 200 — Placement code returned · 404 — No live placement has this key. Errors follow the shared conventions.

GET /rest-api/placement/{key}/code.do

Request examples

Get placement invocation code.

ParameterInTypeRequiredDescription
keypathstringyesUnique placement key string (MD5 hash)
tquerystringyesInvocation code type: IFRAME_SIMPLE, VIDEO_PLAYER, API, DIRECT_URL, EMAIL, AJAX or JS_MOUNT Values: IFRAME_SIMPLE, VIDEO_PLAYER, API, DIRECT_URL, EMAIL, AJAX, JS_MOUNT.
tpIdqueryintegernoTest page ID for generating test page specific code (internal use)

Responses: 200 — Invocation code returned · 404 — No live placement has this key. Errors follow the shared conventions.

GET /rest-api/placement/{key}/vast-tag.do

Request examples

Get placement VAST tag.

ParameterInTypeRequiredDescription
keypathstringyesUnique placement key string (MD5 hash)
vquerystringnoVAST protocol version: 2.0, 3.0, or 4.0 (default: 3.0)

Responses: 200 — VAST tag returned · 404 — No live placement has this key. Errors follow the shared conventions.

GET /rest-api/placement/{key}/vmap-tag.do

Request examples

Get placement VMAP tag.

ParameterInTypeRequiredDescription
keypathstringyesUnique placement key string (MD5 hash)

Responses: 200 — VMAP tag returned · 404 — No live placement has this key. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}.do

Request examples

Get placement.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement ID

Responses: 200 — The placement · 404 — Placement not found, deleted, or of a type the placement API does not manage. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/banner-probability.do

Request examples

Get banner delivery probability.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement ID
browserquerystringnoBrowser of the simulated visitor Values: CHROME_MOBILE, CHROME, MOBILE_SAFARI, SAFARI, EDGE, FIREFOX, OPERA, SAMSUNG_BROWSER, UC_BROWSER, YANDEX, OPERA_MINI, EDGE_MOBILE, QQ_BROWSER, FIREFOX_MOBILE, MIUI_BROWSER, WHALE, HUAWEI_BROWSER, OPERA_MOBILE, BRAVE, BAIDU_BROWSER, YANDEX_BROWSER_IOS, AMAZON_SILK, DUCKDUCKGO, VIVO_BROWSER, ARC … (+44 more, 69 total).
countryCodequerystringnoISO 3166 country code of the simulated visitor
dirquerystringnoASC or DESC
groupquerystringnoBANNER, CAMPAIGN or ADVERTISER; the latter two sum the probabilities per campaign or advertiser
ignorequeryarray<string>noTargeting to leave out of the match Values: COUNTRY, BROWSER, OPERATING_SYSTEM, MOBILE_CARRIER.
limitqueryintegernoRows per page, 1 to 1000
mobileCarrierquerystringnoMobile carrier of the simulated visitor
operatingSystemquerystringnoOperating system of the simulated visitor Values: UNSPECIFIED, WINDOWS, LINUX, MAC_OS_X, IOS, IPADOS, ANDROID, SYMBIAN, J2ME, BLACKBERRY, XMB, BADA, PALM_OS, SOLARIS, MEEGO, CHROME_OS, FREE_BSD, WINDOWS_PHONE, SAMSUNG_TIZEN, HISENSE_VIDAA, LG_WEB_OS, ROKU_TV_OS, AMAZON_FIRE_TV, APPLE_TV, ANDROID_TV.
priorityquerystringnoCount only campaigns of this delivery priority; IGNORE counts all Values: IGNORE, PREMIUM, STANDARD_HIGH, STANDARD_MEDIUM, STANDARD_LOW, NON_GUARANTEED, HOUSE_ADS.
queryquerystringnoKeep only rows whose banner, campaign or advertiser name contains this text
sortquerystringnobannerName, campaignName, advertiserName or probability
startqueryintegernoOffset of the first row returned

Responses: 200 — {success, total, data:[{bannerId, bannerName, campaignId, campaignName, advertiserId, advertiserName, probability}]} · 404 — Placement not found or deleted. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/banners.do

Request examples

Get placement banners.

ParameterInTypeRequiredDescription
placementIdpathintegeryesUnique identifier of the placement whose linked banners should be retrieved

Responses: 200 — List of linked banners · 404 — Placement not found or deleted. Errors follow the shared conventions.

PUT /rest-api/placements/{placementId}/banners.do

Request examples

Update placement banners.

ParameterInTypeRequiredDescription
idsformarray<integer>yesArray of banner IDs to link to the placement. An id of no banner or of a deleted one is skipped and listed in ‘skipped’ with the reason
placementIdpathintegeryesUnique identifier of the placement to update banner links for
appendformbooleannoWhen true, the provided banner IDs are added to the existing linked banners. When false (default), the provided IDs replace all existing links

Responses: 200 — {success, linked, skipped, kept} · 404 — Not found — resource does not exist · 500 — Internal server error. Errors follow the shared conventions.

DELETE /rest-api/placements/{placementId}/banners.do

Request examples

Remove placement banners.

ParameterInTypeRequiredDescription
placementIdpathintegeryesUnique identifier of the placement to remove banner links from
removeIdsformarray<integer>noArray of banner IDs to unlink from the placement. All IDs must currently be linked to the placement

Responses: 200 — Operation result with success status · 404 — Not found — resource does not exist · 500 — Internal server error. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/chaining.do

Request examples

Get placement daisy chaining.

ParameterInTypeRequiredDescription
placementIdpathintegeryesUnique numeric ID of the placement

Responses: 200 — Daisy chaining info returned successfully (daisyChains is empty when the placement has no chaining) · 404 — No placement with this id, or it is deleted. Errors follow the shared conventions.

POST /rest-api/placements/{placementId}/chaining.do

Request examples

Set up placement daisy chaining.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement id
enabledformbooleannotrue switches daisy chaining on, false switches it off and drops the chain
groupByDeliveryPriorityformbooleannoOrder the chain within each delivery priority
lookupDepthformintegernoHow many entries of the chain are tried for one ad request, 1 to 100
rotatingCountformintegernoRotation count when rotatingEnabled, 1 to 10000000
rotatingEnabledformbooleannoRotate the chain’s entries
typeformstringnoWhat the chain orders: BANNER or CAMPAIGN; switches daisy chaining on Values: BANNER, CAMPAIGN.
viewPerEntityCountformintegernoViews per entry when viewPerEntityEnabled, 1 to 10000000
viewPerEntityEnabledformbooleannoCap how many times each entry is shown before the next one

Responses: 200 — {placementId, enabled, type, lookupDepth, viewPerEntityEnabled, viewPerEntityCount, rotatingEnabled, rotatingCount, groupByDeliveryPriority} · 404 — The placement does not exist or is deleted. Errors follow the shared conventions.

POST /rest-api/placements/{placementId}/chaining/delivery-priority-filter.do

Request examples

Filter a delivery priority of placement daisy chaining by country.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement id
deliveryPriorityformstringyesThe delivery priority the filter is for Values: PREMIUM, STANDARD_HIGH, STANDARD_MEDIUM, STANDARD_LOW, NON_GUARANTEED, HOUSE_ADS.
enabledformbooleanyestrue keeps the priority in the chain for the countries sent, false leaves it out
countriesformarray<string>noISO alpha-2 country codes, or ’*’ for every country; none sent means every country

Responses: 200 — The chain’s settings, as the setup endpoint answers, with deliveryPriorityFilters · 404 — The placement does not exist or is deleted. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/content-replacement.do

Request examples

List a placement’s content replacement rules.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement id

Responses: 200 — {success, placementId, contentReplacementEnabled, total, rules:[{id, target, replacement}]} · 404 — The placement does not exist or is deleted. Errors follow the shared conventions.

POST /rest-api/placements/{placementId}/content-replacement/{ruleId}/delete.do

Request examples

Delete a placement’s content replacement rule.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement id
ruleIdpathintegeryesRule id, as the list returns it

Responses: 200 — Rule deleted: {success, placementId, ruleId} · 404 — The placement does not exist or is deleted, or it has no rule with this id. Errors follow the shared conventions.

POST /rest-api/placements/{placementId}/content-replacement/{ruleId}/update.do

Request examples

Update a placement’s content replacement rule.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement id
ruleIdpathintegeryesRule id, as the list returns it
replacementformstringnoWhat every occurrence of the target becomes; may contain macros such as $$RANDOM$$. Empty or omitted on create removes the target from the markup.
targetformstringnoThe exact text to find in every ad markup the placement serves — literal, no wildcards or regex; up to 255 characters, unique within the placement. Required on create.

Responses: 200 — Rule updated: {success, placementId, rule:{id, target, replacement}} · 404 — The placement does not exist or is deleted, or it has no rule with this id. Errors follow the shared conventions.

POST /rest-api/placements/{placementId}/content-replacement/create.do

Request examples

Add a content replacement rule to a placement.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement id
replacementformstringnoWhat every occurrence of the target becomes; may contain macros such as $$RANDOM$$. Empty or omitted on create removes the target from the markup.
targetformstringnoThe exact text to find in every ad markup the placement serves — literal, no wildcards or regex; up to 255 characters, unique within the placement. Required on create.

Responses: 200 — Rule added: {success, placementId, rule:{id, target, replacement}} · 404 — The placement does not exist or is deleted. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/default-invocation-params.do

Request examples

List a placement’s default invocation-code parameters.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement ID

Responses: 200 — {success, data:[{type, value}]} · 404 — Placement, its zone or its site not found or deleted. Errors follow the shared conventions.

POST /rest-api/placements/{placementId}/default-invocation-params.do

Request examples

Add a default invocation-code parameter.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement ID
typeformstringyesParameter type, from GET /rest-api/placements/default-invocation-param-types Values: CHANNEL, CUSTOM_PARAMETER, SUB_VALUE, CLICK, GDPR, GDPR_CONSENT_IAB, BUNDLE, IFA, USER_ID, TRANSACTION_ID, AD_LOADED.
valueformstringnoParameter value; name=value for CUSTOM_PARAMETER

Responses: 200 — {success, data:[{type, value}]} — the placement’s parameters after the change · 404 — Placement, its zone or its site not found or deleted. Errors follow the shared conventions.

DELETE /rest-api/placements/{placementId}/default-invocation-params.do

Request examples

Delete a default invocation-code parameter.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement ID
typeformstringyesParameter type Values: CHANNEL, CUSTOM_PARAMETER, SUB_VALUE, CLICK, GDPR, GDPR_CONSENT_IAB, BUNDLE, IFA, USER_ID, TRANSACTION_ID, AD_LOADED.
valueformstringnoThe value to remove; required for CUSTOM_PARAMETER

Responses: 200 — {success, data:[{type, value}]} — the placement’s parameters after the change · 404 — Placement not found or deleted, or it has no such parameter. Errors follow the shared conventions.

POST /rest-api/placements/{placementId}/delete.do

Request examples

Delete placement.

ParameterInTypeRequiredDescription
placementIdpathintegeryesUnique numeric ID of the placement to delete

Responses: 200 — Placement deleted successfully · 404 — No placement with this id, or it is already deleted. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/invocation-code-types.do

Request examples

List the invocation code types a placement offers.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement ID

Responses: 200 — {success, placementType, types:[..]}; types is empty when the role may generate none · 404 — Placement, its zone or its site not found or deleted. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/invocation-code.do

Request examples

Get a placement’s invocation code.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement ID
typequerystringyesInvocation code type: IFRAME_SIMPLE, VIDEO_PLAYER, API, DIRECT_URL, EMAIL, AJAX or JS_MOUNT Values: IFRAME_SIMPLE, VIDEO_PLAYER, API, DIRECT_URL, EMAIL, AJAX, JS_MOUNT.

Responses: 200 — {success, type, code} · 404 — Placement, its zone or its site not found or deleted. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/invocation-code/export.do

Request examples

Download a placement’s invocation code.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement ID
typequerystringyesInvocation code type: IFRAME_SIMPLE, VIDEO_PLAYER, API, DIRECT_URL, EMAIL, AJAX or JS_MOUNT Values: IFRAME_SIMPLE, VIDEO_PLAYER, API, DIRECT_URL, EMAIL, AJAX, JS_MOUNT.

Responses: 200 — text/plain attachment named {placement}_invocation_code({type}).txt · 404 — Placement, its zone or its site not found or deleted. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/matchedAds.do

Request examples

Get placement matched ads.

ParameterInTypeRequiredDescription
placementIdpathintegeryesUnique numeric ID of the placement

Responses: 200 — Matched ads returned successfully · 404 — No placement with this id, or it is deleted. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/preview-link.do

Request examples

Get a shareable placement preview link.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement ID
codeTypequerystringnoInvocation code type: IFRAME_SIMPLE, VIDEO_PLAYER, API, DIRECT_URL, EMAIL, AJAX or JS_MOUNT — the tag the preview renders Values: IFRAME_SIMPLE, VIDEO_PLAYER, API, DIRECT_URL, EMAIL, AJAX, JS_MOUNT.

Responses: 200 — {success, placementId, path, url, codeType, servesOnlyWhileActive} · 404 — Placement, its zone or its site not found or deleted. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/pricing.do

Request examples

Get placement pricing.

ParameterInTypeRequiredDescription
placementIdpathintegeryesUnique numeric ID of the placement

Responses: 200 — Pricing returned successfully · 404 — Placement not found or deleted. Errors follow the shared conventions.

POST /rest-api/placements/{placementId}/pricing.do

Request examples

Set placement pricing.

ParameterInTypeRequiredDescription
placementIdpathintegeryesUnique numeric ID of the placement

Request body (application/json, required): JSON object with fields advertiserPricing, countryPricing, enablePricingOverride, minMarginType, minMarginValue, paymentModel, price, pricingType, revenueShare.

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

POST /rest-api/placements/{placementId}/pricing/{countryCode}.do

Request examples

Update placement country pricing.

ParameterInTypeRequiredDescription
priceformnumberyesPrice value for the specified country as a decimal number
placementIdpathintegeryesUnique numeric ID of the placement
countryCodepathstringyesISO 3166 two-letter country code (e.g., US, GB, DE)
actionIdformintegernoOptional action ID for CPA pricing; null for CPM/CPC

Responses: 200 — Country pricing updated successfully · 404 — actionId names no action the caller can see. Errors follow the shared conventions.

DELETE /rest-api/placements/{placementId}/pricing/{countryCode}.do

Request examples

Delete placement country pricing.

ParameterInTypeRequiredDescription
placementIdpathintegeryesUnique numeric ID of the placement
countryCodepathstringyesISO 3166 two-letter country code (e.g., US, GB, DE)
actionIdformintegernoOptional action ID for CPA pricing; null for CPM/CPC

Responses: 200 — Country pricing deleted successfully · 404 — actionId names no action the caller can see, or there is no price for that country (and action) to remove. Errors follow the shared conventions.

POST /rest-api/placements/{placementId}/pricing/{paymentModel}/remove.do

Request examples

Remove placement pricing model.

ParameterInTypeRequiredDescription
placementIdpathintegeryesUnique numeric ID of the placement
paymentModelpathstringyesPayment model to remove: FIXED_PRICE or REVENUE_SHARE Values: FIXED_PRICE, REVENUE_SHARE.

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

POST /rest-api/placements/{placementId}/pricing/batch.do

Request examples

Upload placement country pricing CSV.

ParameterInTypeRequiredDescription
placementIdpathintegeryesUnique numeric ID of the placement
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 — CSV applied; applied and rejected list the stored prices and the refused lines · 404 — Placement not found or deleted. Errors follow the shared conventions.

POST /rest-api/placements/{placementId}/pricing/use-global-action-pricing.do

Request examples

Set placement use general action pricing.

ParameterInTypeRequiredDescription
placementIdpathintegeryesUnique numeric ID of the placement
useGlobalActionPricingformbooleanyestrue to fall back to the network’s general action pricing, false to use only the placement’s own prices

Responses: 200 — Setting saved; the answer repeats the stored value · 404 — Placement not found or deleted. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/serving-domains.do

Request examples

List placement ad-serving domains.

ParameterInTypeRequiredDescription
placementIdpathintegeryesPlacement ID

Responses: 200 — {domains: [..], servingDomain, editable} · 404 — Placement not found, deleted, or of a type the placement API does not manage. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/tracking-urls.do

Request examples

Get a click-through placement’s tracking URLs.

ParameterInTypeRequiredDescription
placementIdpathintegeryesClick-through placement id

Responses: 200 — ‘urls’ lists {id, advertiserId, campaignId, name, type, link, imageUrl or videoUrl, landingPage, clickThroughUrl, clickThroughUrlHiddenLandingPage, clickUrl, impressionUrl} · 404 — The placement does not exist or is deleted. Errors follow the shared conventions.

GET /rest-api/placements/{placementId}/video-compliance.do

Request examples

Get video creatives not served on a placement.

ParameterInTypeRequiredDescription
placementIdpathintegeryesUnique identifier of the video placement

Responses: 200 — {placementId, siteId, notServed, banners} · 404 — Placement not found or deleted. Errors follow the shared conventions.

GET /rest-api/placements/all.do

Request examples

List all placements.

No parameters beyond authentication.

Responses: 200 — Placements listed successfully. Errors follow the shared conventions.

POST /rest-api/placements/chaining/update-priority.do

Request examples

Update daisy chaining priority.

ParameterInTypeRequiredDescription
idformintegeryesID of the placement whose daisy chain is reordered
priorityformintegeryesNew priority value (1-based, must be >= 1)
bannerIdformintegernoBanner ID to update priority for (for banner-level daisy chaining)
campaignIdformintegernoCampaign ID to update priority for (for campaign-level daisy chaining)

Responses: 200 — {success, priority}: the priority stored · 404 — No such placement, or the banner or campaign is not in its chain. Errors follow the shared conventions.

POST /rest-api/placements/copy-placement.do

Request examples

Copy placement.

ParameterInTypeRequiredDescription
placementIdformintegeryesSource placement ID to copy from (must exist and not be deleted)
zoneIdformintegeryesTarget zone ID to copy the placement into (must exist and not be deleted)
keepBannersLinkedformbooleannoWhether to keep banners linked to the new placement copy
countformintegernoNumber of placement copies to create, 1 to 20
nameformstringnoName for the copy (at most 500 characters). With count above 1 the later copies are named ‘<name> 2’, ‘<name> 3’… Omit to keep the source’s name (with ‘_copy’ appended when the target zone already has one of that name).

Responses: 200 — Placement copied successfully · 404 — No placement or zone with the id sent. Errors follow the shared conventions.

GET /rest-api/placements/default-invocation-param-types.do

Request examples

List default invocation-code parameter types.

No parameters beyond authentication.

Responses: 200 — {success, data:[{key, value, multiValued, advanced, placeholder, urlParameter}]}. Errors follow the shared conventions.

POST /rest-api/placements/labels.do

Request examples

Change labels of many placements.

ParameterInTypeRequiredDescription
idsformarray<integer>yesPlacement 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 placement. Errors follow the shared conventions.

POST /rest-api/placements/labels/add.do

Request examples

Add labels to placement.

ParameterInTypeRequiredDescription
placementIdformintegeryesUnique numeric ID of the placement to add labels to
labelsformarray<string>yesList of label names to add to the placement

Responses: 200 — Labels added successfully. Errors follow the shared conventions.

GET /rest-api/placements/summary.do

Request examples

List placements with details and filters.

ParameterInTypeRequiredDescription
publishingCategoriesqueryarray<integer>noIDs of publishing categories to filter placements by
placementIdsqueryarray<integer>noSpecific placement IDs to retrieve
zoneIdqueryintegernoZone ID to filter placements by
labelsqueryarray<string>noLabel names to filter placements by
offsetqueryintegernoPagination offset (zero-based index of the first result)
limitqueryintegernoMaximum number of placements to return
typesqueryarray<string>noPlacement types to filter by; a placement matching any of them is returned Values: SITE_PLACEMENT, NON_STANDARD_SITE_PLACEMENT, MOBILE_SITE_PLACEMENT, VIDEO_PLACEMENT, APPLICATION_PLACEMENT, EMAIL_PLACEMENT, CLICK_THROUGH_PLACEMENT, NATIVE_PLACEMENT.
siteIdqueryintegernoSite ID to filter placements by
activequerybooleannoWhen set, returns only active (true) or only inactive (false) placements; omit to return both
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 — Placements summary returned successfully. Errors follow the shared conventions.

POST /rest-api/placements/update/app.do

Request examples

Create or update application placement.

ParameterInTypeRequiredDescription
idformintegernoID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE)
zoneIdformintegernoID of the zone to create the placement in — required when id is omitted; on update, a zoneId other than the placement’s own moves it to that zone and keeps its key (published ad tags keep working)
typeformstringnoPlacement type — required when creating and must match the endpoint: SITE_PLACEMENT for update/standard, NON_STANDARD_SITE_PLACEMENT for update/non-standard, MOBILE_SITE_PLACEMENT for update/mobile, VIDEO_PLACEMENT for update/video, APPLICATION_PLACEMENT for update/app, NATIVE_PLACEMENT for update/native, CLICK_THROUGH_PLACEMENT for update/click_through, EMAIL_PLACEMENT for update/email. On update it may be omitted; a value that differs from the stored type is rejected Values: SITE_PLACEMENT, NON_STANDARD_SITE_PLACEMENT, MOBILE_SITE_PLACEMENT, VIDEO_PLACEMENT, APPLICATION_PLACEMENT, EMAIL_PLACEMENT, CLICK_THROUGH_PLACEMENT, NATIVE_PLACEMENT.
adUnitIdformintegernoID of the ad unit that sets the placement size — the preferred way to size a placement (size.adUnit is deprecated). It must be one of the ad units of the placement’s type (GET /rest-api/ad-units.do); any other id is refused with 400 and nothing is changed
adCategoryformstringnoAd category of an APPLICATION_PLACEMENT (a new placement starts with BANNER; omitted on update keeps the current one). applicationAdCategory sets the same value and wins when both are sent Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
operatingSystemformstringnoOperating system of an APPLICATION_PLACEMENT (a new placement starts with IOS; omitted on update keeps the current one). applicationOperatingSystem sets the same value and wins when both are sent Values: IOS, ANDROID.
actionLimitsEnabledformbooleannoEnable per-action conversion limits
activeformbooleannoWhether the placement is active
adPositionformstringnoAd position on page per OpenRTB spec (ABOVE_THE_FOLD, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULL_SCREEN) Values: UNKNOWN, ABOVE_THE_FOLD, DEPENDING, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULLSCREEN.
ajaxCodeAdWrapperformstringnoAd wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME.
ajaxCodeProtocolformstringnoProtocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP.
allowVariableBannerSizesformbooleannoAllow banners of different sizes to serve in this placement
alwaysRedirectformbooleannoAlways use redirect-based ad serving instead of iframe/JavaScript
applicationAdCategoryformstringnoApplication ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
applicationOperatingSystemformstringnoTarget operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID.
contentReplacementEnabledformbooleannoEnable content replacement mode (ad replaces page content)
customOpenRtbTagIdformstringnoCustom OpenRTB tag ID sent in bid requests instead of the default placement key
defaultCodeformstringnoDefault HTML code to display when no ad is available (passback)
descriptionformstringnoPlacement description
disableAutoLinkingformbooleannoDisable automatic banner-to-placement linking
displayTypeformstringnoDisplay type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY.
domainAsDefaultChannelformbooleannoUse the site domain as the default channel parameter
enableLinkingformbooleannoEnable banner-to-placement linking
enablePricingOverrideformbooleannoAllow placement-level pricing to override campaign pricing
enableRulesformbooleannoEnable advanced rules engine for this placement
enableTargetingformbooleannoEnable targeting rules for this placement
fitContainerformbooleannoResize the ad creative to fit the placement container
nameformstringnoPlacement name
nativePreferences.contextSubTypeformstringnoValues: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS.
nativePreferences.contextTypeformstringnoValues: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT.
nativePreferences.iconSize.heightformintegernoHeight in pixels
nativePreferences.iconSize.widthformintegernoWidth in pixels
nativePreferences.imageSize.heightformintegernoHeight in pixels
nativePreferences.imageSize.widthformintegernoWidth in pixels
nativePreferences.placementTypeformstringnoValues: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET.
nativePreferences.requiredFieldsformarray<string>noValues: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL.
nativePreferences.videoSize.heightformintegernoHeight in pixels
nativePreferences.videoSize.widthformintegernoWidth in pixels
operationBetweenRuleTypesformstringnoLogical operator between different targeting rule types (AND, OR) Values: AND, OR.
piggybackStatusformstringnoPiggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED.
refreshIntervalformintegernoAd refresh interval in seconds (0 = no refresh)
rotateIntervalformintegernoBanner rotation interval in seconds (0 = no rotation)
serverSideTrackersEnabledformbooleannoWhether server-side trackers fire for this placement
servingDomainformstringnoAd-serving domain this placement’s tags and URLs are generated on — one of the domains GET /rest-api/placements/{placementId}/serving-domains.do lists; any other value is refused with 400. Needs the INVOCATION_CODE_DOMAIN permission (Set Ad-Serving Domain (Placement)), without which it is not applied
showBrandedOverlayformbooleannoShow branded overlay on ads served in this placement
size.adUnitformstringnoDeprecated — prefer adUnitId. Name of a predefined site ad unit; the placement gets the ad unit of that width and height Values: MEDIUM_RECTANGLE, RECTANGLE, LEADERBOARD, FULL_BANNER, SKYSCRAPER, WIDE_SKYSCRAPER, HALF_PAGE_AD, BUTTON_2, MICRO_BAR, XXL_BOX, CUSTOM_SITE_BANNER_SIZE, SMALL_IMAGE_BANNER, MEDIUM_IMAGE_BANNER, LARGE_IMAGE_BANNER, X_LARGE_IMAGE_BANNER, XX_LARGE_IMAGE_BANNER, CUSTOM_MOBILE_BANNER_SIZE, VIDEO_OVERLAY_BANNER, CUSTOM_VIDEO_OVERLAY_BANNER_SIZE, THIRD_PARTY_INTEGRATION_CODE, CUSTOM_APPLICATION_BANNER_SIZE, TEMPLATE, _300X250, _180X150, _728X90 … (+8 more, 33 total).
size.heightformintegernoHeight in pixels
size.widthformintegernoWidth in pixels
thirdPartyNetworkLookupLimitformintegernoMaximum number of third-party network lookups for daisy chaining (0-10)
videoAdMaxDurationformintegernoMaximum video ad duration in seconds
videoAdMinDurationformintegernoMinimum video ad duration in seconds
videoAdSkipMinformintegernoMinimum duration in seconds before skip button appears
labelsformarray<string>noLabel names to assign to this placement, comma-separated or repeated
labelUpdateTypeformstringnoHow to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR.
nativeAdapterTemplateIdformstringnoNative adapter template to render this placement through; an empty value detaches the one it carries. The template must be active, of the placement content adapter type, and built for this placement’s type. Its properties are set in the same request, one parameter per property named by its key; a FILE property takes a multipart upload under its key or, without multipart, fileUrl[<property key>] (bare fileUrl when the template has one FILE property): the file is downloaded once (http/https to a public host only) and stored exactly as the upload would be. A URL that is unreachable, not public, too large or of the wrong type is a 400 naming the parameter.

Responses: 200 — Placement created or updated successfully. Errors follow the shared conventions.

POST /rest-api/placements/update/click_through.do

Request examples

Create or update click-through placement.

ParameterInTypeRequiredDescription
idformintegernoID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE)
zoneIdformintegernoID of the zone to create the placement in — required when id is omitted; on update, a zoneId other than the placement’s own moves it to that zone and keeps its key (published ad tags keep working)
typeformstringnoPlacement type — required when creating and must match the endpoint: SITE_PLACEMENT for update/standard, NON_STANDARD_SITE_PLACEMENT for update/non-standard, MOBILE_SITE_PLACEMENT for update/mobile, VIDEO_PLACEMENT for update/video, APPLICATION_PLACEMENT for update/app, NATIVE_PLACEMENT for update/native, CLICK_THROUGH_PLACEMENT for update/click_through, EMAIL_PLACEMENT for update/email. On update it may be omitted; a value that differs from the stored type is rejected Values: SITE_PLACEMENT, NON_STANDARD_SITE_PLACEMENT, MOBILE_SITE_PLACEMENT, VIDEO_PLACEMENT, APPLICATION_PLACEMENT, EMAIL_PLACEMENT, CLICK_THROUGH_PLACEMENT, NATIVE_PLACEMENT.
adUnitIdformintegernoID of the ad unit that sets the placement size — the preferred way to size a placement (size.adUnit is deprecated). It must be one of the ad units of the placement’s type (GET /rest-api/ad-units.do); any other id is refused with 400 and nothing is changed
adCategoryformstringnoAd category of an APPLICATION_PLACEMENT (a new placement starts with BANNER; omitted on update keeps the current one). applicationAdCategory sets the same value and wins when both are sent Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
operatingSystemformstringnoOperating system of an APPLICATION_PLACEMENT (a new placement starts with IOS; omitted on update keeps the current one). applicationOperatingSystem sets the same value and wins when both are sent Values: IOS, ANDROID.
actionLimitsEnabledformbooleannoEnable per-action conversion limits
activeformbooleannoWhether the placement is active
adPositionformstringnoAd position on page per OpenRTB spec (ABOVE_THE_FOLD, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULL_SCREEN) Values: UNKNOWN, ABOVE_THE_FOLD, DEPENDING, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULLSCREEN.
ajaxCodeAdWrapperformstringnoAd wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME.
ajaxCodeProtocolformstringnoProtocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP.
allowVariableBannerSizesformbooleannoAllow banners of different sizes to serve in this placement
alwaysRedirectformbooleannoAlways use redirect-based ad serving instead of iframe/JavaScript
applicationAdCategoryformstringnoApplication ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
applicationOperatingSystemformstringnoTarget operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID.
contentReplacementEnabledformbooleannoEnable content replacement mode (ad replaces page content)
customOpenRtbTagIdformstringnoCustom OpenRTB tag ID sent in bid requests instead of the default placement key
defaultCodeformstringnoDefault HTML code to display when no ad is available (passback)
descriptionformstringnoPlacement description
disableAutoLinkingformbooleannoDisable automatic banner-to-placement linking
displayTypeformstringnoDisplay type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY.
domainAsDefaultChannelformbooleannoUse the site domain as the default channel parameter
enableLinkingformbooleannoEnable banner-to-placement linking
enablePricingOverrideformbooleannoAllow placement-level pricing to override campaign pricing
enableRulesformbooleannoEnable advanced rules engine for this placement
enableTargetingformbooleannoEnable targeting rules for this placement
fitContainerformbooleannoResize the ad creative to fit the placement container
nameformstringnoPlacement name
nativePreferences.contextSubTypeformstringnoValues: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS.
nativePreferences.contextTypeformstringnoValues: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT.
nativePreferences.iconSize.heightformintegernoHeight in pixels
nativePreferences.iconSize.widthformintegernoWidth in pixels
nativePreferences.imageSize.heightformintegernoHeight in pixels
nativePreferences.imageSize.widthformintegernoWidth in pixels
nativePreferences.placementTypeformstringnoValues: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET.
nativePreferences.requiredFieldsformarray<string>noValues: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL.
nativePreferences.videoSize.heightformintegernoHeight in pixels
nativePreferences.videoSize.widthformintegernoWidth in pixels
operationBetweenRuleTypesformstringnoLogical operator between different targeting rule types (AND, OR) Values: AND, OR.
piggybackStatusformstringnoPiggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED.
refreshIntervalformintegernoAd refresh interval in seconds (0 = no refresh)
rotateIntervalformintegernoBanner rotation interval in seconds (0 = no rotation)
serverSideTrackersEnabledformbooleannoWhether server-side trackers fire for this placement
servingDomainformstringnoAd-serving domain this placement’s tags and URLs are generated on — one of the domains GET /rest-api/placements/{placementId}/serving-domains.do lists; any other value is refused with 400. Needs the INVOCATION_CODE_DOMAIN permission (Set Ad-Serving Domain (Placement)), without which it is not applied
showBrandedOverlayformbooleannoShow branded overlay on ads served in this placement
size.adUnitformstringnoDeprecated — prefer adUnitId. Name of a predefined site ad unit; the placement gets the ad unit of that width and height Values: MEDIUM_RECTANGLE, RECTANGLE, LEADERBOARD, FULL_BANNER, SKYSCRAPER, WIDE_SKYSCRAPER, HALF_PAGE_AD, BUTTON_2, MICRO_BAR, XXL_BOX, CUSTOM_SITE_BANNER_SIZE, SMALL_IMAGE_BANNER, MEDIUM_IMAGE_BANNER, LARGE_IMAGE_BANNER, X_LARGE_IMAGE_BANNER, XX_LARGE_IMAGE_BANNER, CUSTOM_MOBILE_BANNER_SIZE, VIDEO_OVERLAY_BANNER, CUSTOM_VIDEO_OVERLAY_BANNER_SIZE, THIRD_PARTY_INTEGRATION_CODE, CUSTOM_APPLICATION_BANNER_SIZE, TEMPLATE, _300X250, _180X150, _728X90 … (+8 more, 33 total).
size.heightformintegernoHeight in pixels
size.widthformintegernoWidth in pixels
thirdPartyNetworkLookupLimitformintegernoMaximum number of third-party network lookups for daisy chaining (0-10)
videoAdMaxDurationformintegernoMaximum video ad duration in seconds
videoAdMinDurationformintegernoMinimum video ad duration in seconds
videoAdSkipMinformintegernoMinimum duration in seconds before skip button appears
labelsformarray<string>noLabel names to assign to this placement, comma-separated or repeated
labelUpdateTypeformstringnoHow to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR.
nativeAdapterTemplateIdformstringnoNative adapter template to render this placement through; an empty value detaches the one it carries. The template must be active, of the placement content adapter type, and built for this placement’s type. Its properties are set in the same request, one parameter per property named by its key; a FILE property takes a multipart upload under its key or, without multipart, fileUrl[<property key>] (bare fileUrl when the template has one FILE property): the file is downloaded once (http/https to a public host only) and stored exactly as the upload would be. A URL that is unreachable, not public, too large or of the wrong type is a 400 naming the parameter.

Responses: 200 — Placement created or updated successfully. Errors follow the shared conventions.

POST /rest-api/placements/update/email.do

Request examples

Create or update e-mail placement.

ParameterInTypeRequiredDescription
idformintegernoID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE)
zoneIdformintegernoID of the zone to create the placement in — required when id is omitted; on update, a zoneId other than the placement’s own moves it to that zone and keeps its key (published ad tags keep working)
typeformstringnoPlacement type — required when creating and must match the endpoint: SITE_PLACEMENT for update/standard, NON_STANDARD_SITE_PLACEMENT for update/non-standard, MOBILE_SITE_PLACEMENT for update/mobile, VIDEO_PLACEMENT for update/video, APPLICATION_PLACEMENT for update/app, NATIVE_PLACEMENT for update/native, CLICK_THROUGH_PLACEMENT for update/click_through, EMAIL_PLACEMENT for update/email. On update it may be omitted; a value that differs from the stored type is rejected Values: SITE_PLACEMENT, NON_STANDARD_SITE_PLACEMENT, MOBILE_SITE_PLACEMENT, VIDEO_PLACEMENT, APPLICATION_PLACEMENT, EMAIL_PLACEMENT, CLICK_THROUGH_PLACEMENT, NATIVE_PLACEMENT.
adUnitIdformintegernoID of the ad unit that sets the placement size — the preferred way to size a placement (size.adUnit is deprecated). It must be one of the ad units of the placement’s type (GET /rest-api/ad-units.do); any other id is refused with 400 and nothing is changed
adCategoryformstringnoAd category of an APPLICATION_PLACEMENT (a new placement starts with BANNER; omitted on update keeps the current one). applicationAdCategory sets the same value and wins when both are sent Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
operatingSystemformstringnoOperating system of an APPLICATION_PLACEMENT (a new placement starts with IOS; omitted on update keeps the current one). applicationOperatingSystem sets the same value and wins when both are sent Values: IOS, ANDROID.
actionLimitsEnabledformbooleannoEnable per-action conversion limits
activeformbooleannoWhether the placement is active
adPositionformstringnoAd position on page per OpenRTB spec (ABOVE_THE_FOLD, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULL_SCREEN) Values: UNKNOWN, ABOVE_THE_FOLD, DEPENDING, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULLSCREEN.
ajaxCodeAdWrapperformstringnoAd wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME.
ajaxCodeProtocolformstringnoProtocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP.
allowVariableBannerSizesformbooleannoAllow banners of different sizes to serve in this placement
alwaysRedirectformbooleannoAlways use redirect-based ad serving instead of iframe/JavaScript
applicationAdCategoryformstringnoApplication ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
applicationOperatingSystemformstringnoTarget operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID.
contentReplacementEnabledformbooleannoEnable content replacement mode (ad replaces page content)
customOpenRtbTagIdformstringnoCustom OpenRTB tag ID sent in bid requests instead of the default placement key
defaultCodeformstringnoDefault HTML code to display when no ad is available (passback)
descriptionformstringnoPlacement description
disableAutoLinkingformbooleannoDisable automatic banner-to-placement linking
displayTypeformstringnoDisplay type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY.
domainAsDefaultChannelformbooleannoUse the site domain as the default channel parameter
enableLinkingformbooleannoEnable banner-to-placement linking
enablePricingOverrideformbooleannoAllow placement-level pricing to override campaign pricing
enableRulesformbooleannoEnable advanced rules engine for this placement
enableTargetingformbooleannoEnable targeting rules for this placement
fitContainerformbooleannoResize the ad creative to fit the placement container
nameformstringnoPlacement name
nativePreferences.contextSubTypeformstringnoValues: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS.
nativePreferences.contextTypeformstringnoValues: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT.
nativePreferences.iconSize.heightformintegernoHeight in pixels
nativePreferences.iconSize.widthformintegernoWidth in pixels
nativePreferences.imageSize.heightformintegernoHeight in pixels
nativePreferences.imageSize.widthformintegernoWidth in pixels
nativePreferences.placementTypeformstringnoValues: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET.
nativePreferences.requiredFieldsformarray<string>noValues: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL.
nativePreferences.videoSize.heightformintegernoHeight in pixels
nativePreferences.videoSize.widthformintegernoWidth in pixels
operationBetweenRuleTypesformstringnoLogical operator between different targeting rule types (AND, OR) Values: AND, OR.
piggybackStatusformstringnoPiggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED.
refreshIntervalformintegernoAd refresh interval in seconds (0 = no refresh)
rotateIntervalformintegernoBanner rotation interval in seconds (0 = no rotation)
serverSideTrackersEnabledformbooleannoWhether server-side trackers fire for this placement
servingDomainformstringnoAd-serving domain this placement’s tags and URLs are generated on — one of the domains GET /rest-api/placements/{placementId}/serving-domains.do lists; any other value is refused with 400. Needs the INVOCATION_CODE_DOMAIN permission (Set Ad-Serving Domain (Placement)), without which it is not applied
showBrandedOverlayformbooleannoShow branded overlay on ads served in this placement
size.adUnitformstringnoDeprecated — prefer adUnitId. Name of a predefined site ad unit; the placement gets the ad unit of that width and height Values: MEDIUM_RECTANGLE, RECTANGLE, LEADERBOARD, FULL_BANNER, SKYSCRAPER, WIDE_SKYSCRAPER, HALF_PAGE_AD, BUTTON_2, MICRO_BAR, XXL_BOX, CUSTOM_SITE_BANNER_SIZE, SMALL_IMAGE_BANNER, MEDIUM_IMAGE_BANNER, LARGE_IMAGE_BANNER, X_LARGE_IMAGE_BANNER, XX_LARGE_IMAGE_BANNER, CUSTOM_MOBILE_BANNER_SIZE, VIDEO_OVERLAY_BANNER, CUSTOM_VIDEO_OVERLAY_BANNER_SIZE, THIRD_PARTY_INTEGRATION_CODE, CUSTOM_APPLICATION_BANNER_SIZE, TEMPLATE, _300X250, _180X150, _728X90 … (+8 more, 33 total).
size.heightformintegernoHeight in pixels
size.widthformintegernoWidth in pixels
thirdPartyNetworkLookupLimitformintegernoMaximum number of third-party network lookups for daisy chaining (0-10)
videoAdMaxDurationformintegernoMaximum video ad duration in seconds
videoAdMinDurationformintegernoMinimum video ad duration in seconds
videoAdSkipMinformintegernoMinimum duration in seconds before skip button appears
labelsformarray<string>noLabel names to assign to this placement, comma-separated or repeated
labelUpdateTypeformstringnoHow to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR.

Responses: 200 — {success:true, id} when saved; success:false with ‘errors’ or ‘error’:‘invalid_placement_type’ otherwise. Errors follow the shared conventions.

POST /rest-api/placements/update/mobile.do

Request examples

Create or update mobile placement.

ParameterInTypeRequiredDescription
idformintegernoID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE)
zoneIdformintegernoID of the zone to create the placement in — required when id is omitted; on update, a zoneId other than the placement’s own moves it to that zone and keeps its key (published ad tags keep working)
typeformstringnoPlacement type — required when creating and must match the endpoint: SITE_PLACEMENT for update/standard, NON_STANDARD_SITE_PLACEMENT for update/non-standard, MOBILE_SITE_PLACEMENT for update/mobile, VIDEO_PLACEMENT for update/video, APPLICATION_PLACEMENT for update/app, NATIVE_PLACEMENT for update/native, CLICK_THROUGH_PLACEMENT for update/click_through, EMAIL_PLACEMENT for update/email. On update it may be omitted; a value that differs from the stored type is rejected Values: SITE_PLACEMENT, NON_STANDARD_SITE_PLACEMENT, MOBILE_SITE_PLACEMENT, VIDEO_PLACEMENT, APPLICATION_PLACEMENT, EMAIL_PLACEMENT, CLICK_THROUGH_PLACEMENT, NATIVE_PLACEMENT.
adUnitIdformintegernoID of the ad unit that sets the placement size — the preferred way to size a placement (size.adUnit is deprecated). It must be one of the ad units of the placement’s type (GET /rest-api/ad-units.do); any other id is refused with 400 and nothing is changed
adCategoryformstringnoAd category of an APPLICATION_PLACEMENT (a new placement starts with BANNER; omitted on update keeps the current one). applicationAdCategory sets the same value and wins when both are sent Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
operatingSystemformstringnoOperating system of an APPLICATION_PLACEMENT (a new placement starts with IOS; omitted on update keeps the current one). applicationOperatingSystem sets the same value and wins when both are sent Values: IOS, ANDROID.
actionLimitsEnabledformbooleannoEnable per-action conversion limits
activeformbooleannoWhether the placement is active
adPositionformstringnoAd position on page per OpenRTB spec (ABOVE_THE_FOLD, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULL_SCREEN) Values: UNKNOWN, ABOVE_THE_FOLD, DEPENDING, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULLSCREEN.
ajaxCodeAdWrapperformstringnoAd wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME.
ajaxCodeProtocolformstringnoProtocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP.
allowVariableBannerSizesformbooleannoAllow banners of different sizes to serve in this placement
alwaysRedirectformbooleannoAlways use redirect-based ad serving instead of iframe/JavaScript
applicationAdCategoryformstringnoApplication ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
applicationOperatingSystemformstringnoTarget operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID.
contentReplacementEnabledformbooleannoEnable content replacement mode (ad replaces page content)
customOpenRtbTagIdformstringnoCustom OpenRTB tag ID sent in bid requests instead of the default placement key
defaultCodeformstringnoDefault HTML code to display when no ad is available (passback)
descriptionformstringnoPlacement description
disableAutoLinkingformbooleannoDisable automatic banner-to-placement linking
displayTypeformstringnoDisplay type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY.
domainAsDefaultChannelformbooleannoUse the site domain as the default channel parameter
enableLinkingformbooleannoEnable banner-to-placement linking
enablePricingOverrideformbooleannoAllow placement-level pricing to override campaign pricing
enableRulesformbooleannoEnable advanced rules engine for this placement
enableTargetingformbooleannoEnable targeting rules for this placement
fitContainerformbooleannoResize the ad creative to fit the placement container
nameformstringnoPlacement name
nativePreferences.contextSubTypeformstringnoValues: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS.
nativePreferences.contextTypeformstringnoValues: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT.
nativePreferences.iconSize.heightformintegernoHeight in pixels
nativePreferences.iconSize.widthformintegernoWidth in pixels
nativePreferences.imageSize.heightformintegernoHeight in pixels
nativePreferences.imageSize.widthformintegernoWidth in pixels
nativePreferences.placementTypeformstringnoValues: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET.
nativePreferences.requiredFieldsformarray<string>noValues: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL.
nativePreferences.videoSize.heightformintegernoHeight in pixels
nativePreferences.videoSize.widthformintegernoWidth in pixels
operationBetweenRuleTypesformstringnoLogical operator between different targeting rule types (AND, OR) Values: AND, OR.
piggybackStatusformstringnoPiggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED.
refreshIntervalformintegernoAd refresh interval in seconds (0 = no refresh)
rotateIntervalformintegernoBanner rotation interval in seconds (0 = no rotation)
serverSideTrackersEnabledformbooleannoWhether server-side trackers fire for this placement
servingDomainformstringnoAd-serving domain this placement’s tags and URLs are generated on — one of the domains GET /rest-api/placements/{placementId}/serving-domains.do lists; any other value is refused with 400. Needs the INVOCATION_CODE_DOMAIN permission (Set Ad-Serving Domain (Placement)), without which it is not applied
showBrandedOverlayformbooleannoShow branded overlay on ads served in this placement
size.adUnitformstringnoDeprecated — prefer adUnitId. Name of a predefined site ad unit; the placement gets the ad unit of that width and height Values: MEDIUM_RECTANGLE, RECTANGLE, LEADERBOARD, FULL_BANNER, SKYSCRAPER, WIDE_SKYSCRAPER, HALF_PAGE_AD, BUTTON_2, MICRO_BAR, XXL_BOX, CUSTOM_SITE_BANNER_SIZE, SMALL_IMAGE_BANNER, MEDIUM_IMAGE_BANNER, LARGE_IMAGE_BANNER, X_LARGE_IMAGE_BANNER, XX_LARGE_IMAGE_BANNER, CUSTOM_MOBILE_BANNER_SIZE, VIDEO_OVERLAY_BANNER, CUSTOM_VIDEO_OVERLAY_BANNER_SIZE, THIRD_PARTY_INTEGRATION_CODE, CUSTOM_APPLICATION_BANNER_SIZE, TEMPLATE, _300X250, _180X150, _728X90 … (+8 more, 33 total).
size.heightformintegernoHeight in pixels
size.widthformintegernoWidth in pixels
thirdPartyNetworkLookupLimitformintegernoMaximum number of third-party network lookups for daisy chaining (0-10)
videoAdMaxDurationformintegernoMaximum video ad duration in seconds
videoAdMinDurationformintegernoMinimum video ad duration in seconds
videoAdSkipMinformintegernoMinimum duration in seconds before skip button appears
labelsformarray<string>noLabel names to assign to this placement, comma-separated or repeated
labelUpdateTypeformstringnoHow to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR.
nativeAdapterTemplateIdformstringnoNative adapter template to render this placement through; an empty value detaches the one it carries. The template must be active, of the placement content adapter type, and built for this placement’s type. Its properties are set in the same request, one parameter per property named by its key; a FILE property takes a multipart upload under its key or, without multipart, fileUrl[<property key>] (bare fileUrl when the template has one FILE property): the file is downloaded once (http/https to a public host only) and stored exactly as the upload would be. A URL that is unreachable, not public, too large or of the wrong type is a 400 naming the parameter.

Responses: 200 — Placement created or updated successfully. Errors follow the shared conventions.

POST /rest-api/placements/update/native.do

Request examples

Create or update native placement.

ParameterInTypeRequiredDescription
idformintegernoID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE)
zoneIdformintegernoID of the zone to create the placement in — required when id is omitted; on update, a zoneId other than the placement’s own moves it to that zone and keeps its key (published ad tags keep working)
typeformstringnoPlacement type — required when creating and must match the endpoint: SITE_PLACEMENT for update/standard, NON_STANDARD_SITE_PLACEMENT for update/non-standard, MOBILE_SITE_PLACEMENT for update/mobile, VIDEO_PLACEMENT for update/video, APPLICATION_PLACEMENT for update/app, NATIVE_PLACEMENT for update/native, CLICK_THROUGH_PLACEMENT for update/click_through, EMAIL_PLACEMENT for update/email. On update it may be omitted; a value that differs from the stored type is rejected Values: SITE_PLACEMENT, NON_STANDARD_SITE_PLACEMENT, MOBILE_SITE_PLACEMENT, VIDEO_PLACEMENT, APPLICATION_PLACEMENT, EMAIL_PLACEMENT, CLICK_THROUGH_PLACEMENT, NATIVE_PLACEMENT.
adUnitIdformintegernoID of the ad unit that sets the placement size — the preferred way to size a placement (size.adUnit is deprecated). It must be one of the ad units of the placement’s type (GET /rest-api/ad-units.do); any other id is refused with 400 and nothing is changed
adCategoryformstringnoAd category of an APPLICATION_PLACEMENT (a new placement starts with BANNER; omitted on update keeps the current one). applicationAdCategory sets the same value and wins when both are sent Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
operatingSystemformstringnoOperating system of an APPLICATION_PLACEMENT (a new placement starts with IOS; omitted on update keeps the current one). applicationOperatingSystem sets the same value and wins when both are sent Values: IOS, ANDROID.
actionLimitsEnabledformbooleannoEnable per-action conversion limits
activeformbooleannoWhether the placement is active
adPositionformstringnoAd position on page per OpenRTB spec (ABOVE_THE_FOLD, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULL_SCREEN) Values: UNKNOWN, ABOVE_THE_FOLD, DEPENDING, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULLSCREEN.
ajaxCodeAdWrapperformstringnoAd wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME.
ajaxCodeProtocolformstringnoProtocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP.
allowVariableBannerSizesformbooleannoAllow banners of different sizes to serve in this placement
alwaysRedirectformbooleannoAlways use redirect-based ad serving instead of iframe/JavaScript
applicationAdCategoryformstringnoApplication ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
applicationOperatingSystemformstringnoTarget operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID.
contentReplacementEnabledformbooleannoEnable content replacement mode (ad replaces page content)
customOpenRtbTagIdformstringnoCustom OpenRTB tag ID sent in bid requests instead of the default placement key
defaultCodeformstringnoDefault HTML code to display when no ad is available (passback)
descriptionformstringnoPlacement description
disableAutoLinkingformbooleannoDisable automatic banner-to-placement linking
displayTypeformstringnoDisplay type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY.
domainAsDefaultChannelformbooleannoUse the site domain as the default channel parameter
enableLinkingformbooleannoEnable banner-to-placement linking
enablePricingOverrideformbooleannoAllow placement-level pricing to override campaign pricing
enableRulesformbooleannoEnable advanced rules engine for this placement
enableTargetingformbooleannoEnable targeting rules for this placement
fitContainerformbooleannoResize the ad creative to fit the placement container
nameformstringnoPlacement name
nativePreferences.contextSubTypeformstringnoValues: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS.
nativePreferences.contextTypeformstringnoValues: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT.
nativePreferences.iconSize.heightformintegernoHeight in pixels
nativePreferences.iconSize.widthformintegernoWidth in pixels
nativePreferences.imageSize.heightformintegernoHeight in pixels
nativePreferences.imageSize.widthformintegernoWidth in pixels
nativePreferences.placementTypeformstringnoValues: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET.
nativePreferences.requiredFieldsformarray<string>noValues: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL.
nativePreferences.videoSize.heightformintegernoHeight in pixels
nativePreferences.videoSize.widthformintegernoWidth in pixels
operationBetweenRuleTypesformstringnoLogical operator between different targeting rule types (AND, OR) Values: AND, OR.
piggybackStatusformstringnoPiggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED.
refreshIntervalformintegernoAd refresh interval in seconds (0 = no refresh)
rotateIntervalformintegernoBanner rotation interval in seconds (0 = no rotation)
serverSideTrackersEnabledformbooleannoWhether server-side trackers fire for this placement
servingDomainformstringnoAd-serving domain this placement’s tags and URLs are generated on — one of the domains GET /rest-api/placements/{placementId}/serving-domains.do lists; any other value is refused with 400. Needs the INVOCATION_CODE_DOMAIN permission (Set Ad-Serving Domain (Placement)), without which it is not applied
showBrandedOverlayformbooleannoShow branded overlay on ads served in this placement
size.adUnitformstringnoDeprecated — prefer adUnitId. Name of a predefined site ad unit; the placement gets the ad unit of that width and height Values: MEDIUM_RECTANGLE, RECTANGLE, LEADERBOARD, FULL_BANNER, SKYSCRAPER, WIDE_SKYSCRAPER, HALF_PAGE_AD, BUTTON_2, MICRO_BAR, XXL_BOX, CUSTOM_SITE_BANNER_SIZE, SMALL_IMAGE_BANNER, MEDIUM_IMAGE_BANNER, LARGE_IMAGE_BANNER, X_LARGE_IMAGE_BANNER, XX_LARGE_IMAGE_BANNER, CUSTOM_MOBILE_BANNER_SIZE, VIDEO_OVERLAY_BANNER, CUSTOM_VIDEO_OVERLAY_BANNER_SIZE, THIRD_PARTY_INTEGRATION_CODE, CUSTOM_APPLICATION_BANNER_SIZE, TEMPLATE, _300X250, _180X150, _728X90 … (+8 more, 33 total).
size.heightformintegernoHeight in pixels
size.widthformintegernoWidth in pixels
thirdPartyNetworkLookupLimitformintegernoMaximum number of third-party network lookups for daisy chaining (0-10)
videoAdMaxDurationformintegernoMaximum video ad duration in seconds
videoAdMinDurationformintegernoMinimum video ad duration in seconds
videoAdSkipMinformintegernoMinimum duration in seconds before skip button appears
labelsformarray<string>noLabel names to assign to this placement, comma-separated or repeated
labelUpdateTypeformstringnoHow to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR.
nativeAdapterTemplateIdformstringnoNative adapter template to render this placement through; an empty value detaches the one it carries. The template must be active, of the placement content adapter type, and built for this placement’s type. Its properties are set in the same request, one parameter per property named by its key; a FILE property takes a multipart upload under its key or, without multipart, fileUrl[<property key>] (bare fileUrl when the template has one FILE property): the file is downloaded once (http/https to a public host only) and stored exactly as the upload would be. A URL that is unreachable, not public, too large or of the wrong type is a 400 naming the parameter.

Responses: 200 — Placement created or updated successfully. Errors follow the shared conventions.

POST /rest-api/placements/update/non-standard.do

Request examples

Create or update non-standard placement.

ParameterInTypeRequiredDescription
idformintegernoID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE)
zoneIdformintegernoID of the zone to create the placement in — required when id is omitted; on update, a zoneId other than the placement’s own moves it to that zone and keeps its key (published ad tags keep working)
typeformstringnoPlacement type — required when creating and must match the endpoint: SITE_PLACEMENT for update/standard, NON_STANDARD_SITE_PLACEMENT for update/non-standard, MOBILE_SITE_PLACEMENT for update/mobile, VIDEO_PLACEMENT for update/video, APPLICATION_PLACEMENT for update/app, NATIVE_PLACEMENT for update/native, CLICK_THROUGH_PLACEMENT for update/click_through, EMAIL_PLACEMENT for update/email. On update it may be omitted; a value that differs from the stored type is rejected Values: SITE_PLACEMENT, NON_STANDARD_SITE_PLACEMENT, MOBILE_SITE_PLACEMENT, VIDEO_PLACEMENT, APPLICATION_PLACEMENT, EMAIL_PLACEMENT, CLICK_THROUGH_PLACEMENT, NATIVE_PLACEMENT.
adUnitIdformintegernoID of the ad unit that sets the placement size — the preferred way to size a placement (size.adUnit is deprecated). It must be one of the ad units of the placement’s type (GET /rest-api/ad-units.do); any other id is refused with 400 and nothing is changed
adCategoryformstringnoAd category of an APPLICATION_PLACEMENT (a new placement starts with BANNER; omitted on update keeps the current one). applicationAdCategory sets the same value and wins when both are sent Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
operatingSystemformstringnoOperating system of an APPLICATION_PLACEMENT (a new placement starts with IOS; omitted on update keeps the current one). applicationOperatingSystem sets the same value and wins when both are sent Values: IOS, ANDROID.
actionLimitsEnabledformbooleannoEnable per-action conversion limits
activeformbooleannoWhether the placement is active
adPositionformstringnoAd position on page per OpenRTB spec (ABOVE_THE_FOLD, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULL_SCREEN) Values: UNKNOWN, ABOVE_THE_FOLD, DEPENDING, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULLSCREEN.
ajaxCodeAdWrapperformstringnoAd wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME.
ajaxCodeProtocolformstringnoProtocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP.
allowVariableBannerSizesformbooleannoAllow banners of different sizes to serve in this placement
alwaysRedirectformbooleannoAlways use redirect-based ad serving instead of iframe/JavaScript
applicationAdCategoryformstringnoApplication ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
applicationOperatingSystemformstringnoTarget operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID.
contentReplacementEnabledformbooleannoEnable content replacement mode (ad replaces page content)
customOpenRtbTagIdformstringnoCustom OpenRTB tag ID sent in bid requests instead of the default placement key
defaultCodeformstringnoDefault HTML code to display when no ad is available (passback)
descriptionformstringnoPlacement description
disableAutoLinkingformbooleannoDisable automatic banner-to-placement linking
displayTypeformstringnoDisplay type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY.
domainAsDefaultChannelformbooleannoUse the site domain as the default channel parameter
enableLinkingformbooleannoEnable banner-to-placement linking
enablePricingOverrideformbooleannoAllow placement-level pricing to override campaign pricing
enableRulesformbooleannoEnable advanced rules engine for this placement
enableTargetingformbooleannoEnable targeting rules for this placement
fitContainerformbooleannoResize the ad creative to fit the placement container
nameformstringnoPlacement name
nativePreferences.contextSubTypeformstringnoValues: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS.
nativePreferences.contextTypeformstringnoValues: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT.
nativePreferences.iconSize.heightformintegernoHeight in pixels
nativePreferences.iconSize.widthformintegernoWidth in pixels
nativePreferences.imageSize.heightformintegernoHeight in pixels
nativePreferences.imageSize.widthformintegernoWidth in pixels
nativePreferences.placementTypeformstringnoValues: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET.
nativePreferences.requiredFieldsformarray<string>noValues: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL.
nativePreferences.videoSize.heightformintegernoHeight in pixels
nativePreferences.videoSize.widthformintegernoWidth in pixels
operationBetweenRuleTypesformstringnoLogical operator between different targeting rule types (AND, OR) Values: AND, OR.
piggybackStatusformstringnoPiggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED.
refreshIntervalformintegernoAd refresh interval in seconds (0 = no refresh)
rotateIntervalformintegernoBanner rotation interval in seconds (0 = no rotation)
serverSideTrackersEnabledformbooleannoWhether server-side trackers fire for this placement
servingDomainformstringnoAd-serving domain this placement’s tags and URLs are generated on — one of the domains GET /rest-api/placements/{placementId}/serving-domains.do lists; any other value is refused with 400. Needs the INVOCATION_CODE_DOMAIN permission (Set Ad-Serving Domain (Placement)), without which it is not applied
showBrandedOverlayformbooleannoShow branded overlay on ads served in this placement
size.adUnitformstringnoDeprecated — prefer adUnitId. Name of a predefined site ad unit; the placement gets the ad unit of that width and height Values: MEDIUM_RECTANGLE, RECTANGLE, LEADERBOARD, FULL_BANNER, SKYSCRAPER, WIDE_SKYSCRAPER, HALF_PAGE_AD, BUTTON_2, MICRO_BAR, XXL_BOX, CUSTOM_SITE_BANNER_SIZE, SMALL_IMAGE_BANNER, MEDIUM_IMAGE_BANNER, LARGE_IMAGE_BANNER, X_LARGE_IMAGE_BANNER, XX_LARGE_IMAGE_BANNER, CUSTOM_MOBILE_BANNER_SIZE, VIDEO_OVERLAY_BANNER, CUSTOM_VIDEO_OVERLAY_BANNER_SIZE, THIRD_PARTY_INTEGRATION_CODE, CUSTOM_APPLICATION_BANNER_SIZE, TEMPLATE, _300X250, _180X150, _728X90 … (+8 more, 33 total).
size.heightformintegernoHeight in pixels
size.widthformintegernoWidth in pixels
thirdPartyNetworkLookupLimitformintegernoMaximum number of third-party network lookups for daisy chaining (0-10)
videoAdMaxDurationformintegernoMaximum video ad duration in seconds
videoAdMinDurationformintegernoMinimum video ad duration in seconds
videoAdSkipMinformintegernoMinimum duration in seconds before skip button appears
labelsformarray<string>noLabel names to assign to this placement, comma-separated or repeated
labelUpdateTypeformstringnoHow to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR.
nativeAdapterTemplateIdformstringnoNative adapter template to render this placement through; an empty value detaches the one it carries. The template must be active, of the placement content adapter type, and built for this placement’s type. Its properties are set in the same request, one parameter per property named by its key; a FILE property takes a multipart upload under its key or, without multipart, fileUrl[<property key>] (bare fileUrl when the template has one FILE property): the file is downloaded once (http/https to a public host only) and stored exactly as the upload would be. A URL that is unreachable, not public, too large or of the wrong type is a 400 naming the parameter.

Responses: 200 — Placement created or updated successfully. Errors follow the shared conventions.

POST /rest-api/placements/update/standard.do

Request examples

Create or update standard placement.

ParameterInTypeRequiredDescription
idformintegernoID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE)
zoneIdformintegernoID of the zone to create the placement in — required when id is omitted; on update, a zoneId other than the placement’s own moves it to that zone and keeps its key (published ad tags keep working)
typeformstringnoPlacement type — required when creating and must match the endpoint: SITE_PLACEMENT for update/standard, NON_STANDARD_SITE_PLACEMENT for update/non-standard, MOBILE_SITE_PLACEMENT for update/mobile, VIDEO_PLACEMENT for update/video, APPLICATION_PLACEMENT for update/app, NATIVE_PLACEMENT for update/native, CLICK_THROUGH_PLACEMENT for update/click_through, EMAIL_PLACEMENT for update/email. On update it may be omitted; a value that differs from the stored type is rejected Values: SITE_PLACEMENT, NON_STANDARD_SITE_PLACEMENT, MOBILE_SITE_PLACEMENT, VIDEO_PLACEMENT, APPLICATION_PLACEMENT, EMAIL_PLACEMENT, CLICK_THROUGH_PLACEMENT, NATIVE_PLACEMENT.
adUnitIdformintegernoID of the ad unit that sets the placement size — the preferred way to size a placement (size.adUnit is deprecated). It must be one of the ad units of the placement’s type (GET /rest-api/ad-units.do); any other id is refused with 400 and nothing is changed
adCategoryformstringnoAd category of an APPLICATION_PLACEMENT (a new placement starts with BANNER; omitted on update keeps the current one). applicationAdCategory sets the same value and wins when both are sent Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
operatingSystemformstringnoOperating system of an APPLICATION_PLACEMENT (a new placement starts with IOS; omitted on update keeps the current one). applicationOperatingSystem sets the same value and wins when both are sent Values: IOS, ANDROID.
actionLimitsEnabledformbooleannoEnable per-action conversion limits
activeformbooleannoWhether the placement is active
adPositionformstringnoAd position on page per OpenRTB spec (ABOVE_THE_FOLD, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULL_SCREEN) Values: UNKNOWN, ABOVE_THE_FOLD, DEPENDING, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULLSCREEN.
ajaxCodeAdWrapperformstringnoAd wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME.
ajaxCodeProtocolformstringnoProtocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP.
allowVariableBannerSizesformbooleannoAllow banners of different sizes to serve in this placement
alwaysRedirectformbooleannoAlways use redirect-based ad serving instead of iframe/JavaScript
applicationAdCategoryformstringnoApplication ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
applicationOperatingSystemformstringnoTarget operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID.
contentReplacementEnabledformbooleannoEnable content replacement mode (ad replaces page content)
customOpenRtbTagIdformstringnoCustom OpenRTB tag ID sent in bid requests instead of the default placement key
defaultCodeformstringnoDefault HTML code to display when no ad is available (passback)
descriptionformstringnoPlacement description
disableAutoLinkingformbooleannoDisable automatic banner-to-placement linking
displayTypeformstringnoDisplay type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY.
domainAsDefaultChannelformbooleannoUse the site domain as the default channel parameter
enableLinkingformbooleannoEnable banner-to-placement linking
enablePricingOverrideformbooleannoAllow placement-level pricing to override campaign pricing
enableRulesformbooleannoEnable advanced rules engine for this placement
enableTargetingformbooleannoEnable targeting rules for this placement
fitContainerformbooleannoResize the ad creative to fit the placement container
nameformstringnoPlacement name
nativePreferences.contextSubTypeformstringnoValues: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS.
nativePreferences.contextTypeformstringnoValues: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT.
nativePreferences.iconSize.heightformintegernoHeight in pixels
nativePreferences.iconSize.widthformintegernoWidth in pixels
nativePreferences.imageSize.heightformintegernoHeight in pixels
nativePreferences.imageSize.widthformintegernoWidth in pixels
nativePreferences.placementTypeformstringnoValues: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET.
nativePreferences.requiredFieldsformarray<string>noValues: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL.
nativePreferences.videoSize.heightformintegernoHeight in pixels
nativePreferences.videoSize.widthformintegernoWidth in pixels
operationBetweenRuleTypesformstringnoLogical operator between different targeting rule types (AND, OR) Values: AND, OR.
piggybackStatusformstringnoPiggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED.
refreshIntervalformintegernoAd refresh interval in seconds (0 = no refresh)
rotateIntervalformintegernoBanner rotation interval in seconds (0 = no rotation)
serverSideTrackersEnabledformbooleannoWhether server-side trackers fire for this placement
servingDomainformstringnoAd-serving domain this placement’s tags and URLs are generated on — one of the domains GET /rest-api/placements/{placementId}/serving-domains.do lists; any other value is refused with 400. Needs the INVOCATION_CODE_DOMAIN permission (Set Ad-Serving Domain (Placement)), without which it is not applied
showBrandedOverlayformbooleannoShow branded overlay on ads served in this placement
size.adUnitformstringnoDeprecated — prefer adUnitId. Name of a predefined site ad unit; the placement gets the ad unit of that width and height Values: MEDIUM_RECTANGLE, RECTANGLE, LEADERBOARD, FULL_BANNER, SKYSCRAPER, WIDE_SKYSCRAPER, HALF_PAGE_AD, BUTTON_2, MICRO_BAR, XXL_BOX, CUSTOM_SITE_BANNER_SIZE, SMALL_IMAGE_BANNER, MEDIUM_IMAGE_BANNER, LARGE_IMAGE_BANNER, X_LARGE_IMAGE_BANNER, XX_LARGE_IMAGE_BANNER, CUSTOM_MOBILE_BANNER_SIZE, VIDEO_OVERLAY_BANNER, CUSTOM_VIDEO_OVERLAY_BANNER_SIZE, THIRD_PARTY_INTEGRATION_CODE, CUSTOM_APPLICATION_BANNER_SIZE, TEMPLATE, _300X250, _180X150, _728X90 … (+8 more, 33 total).
size.heightformintegernoHeight in pixels
size.widthformintegernoWidth in pixels
thirdPartyNetworkLookupLimitformintegernoMaximum number of third-party network lookups for daisy chaining (0-10)
videoAdMaxDurationformintegernoMaximum video ad duration in seconds
videoAdMinDurationformintegernoMinimum video ad duration in seconds
videoAdSkipMinformintegernoMinimum duration in seconds before skip button appears
labelsformarray<string>noLabel names to assign to this placement, comma-separated or repeated
labelUpdateTypeformstringnoHow to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR.
nativeAdapterTemplateIdformstringnoNative adapter template to render this placement through; an empty value detaches the one it carries. The template must be active, of the placement content adapter type, and built for this placement’s type. Its properties are set in the same request, one parameter per property named by its key; a FILE property takes a multipart upload under its key or, without multipart, fileUrl[<property key>] (bare fileUrl when the template has one FILE property): the file is downloaded once (http/https to a public host only) and stored exactly as the upload would be. A URL that is unreachable, not public, too large or of the wrong type is a 400 naming the parameter.

Responses: 200 — Placement created or updated successfully. Errors follow the shared conventions.

POST /rest-api/placements/update/video.do

Request examples

Create or update video placement.

ParameterInTypeRequiredDescription
videoFormatsformarray<string>noVideo ad formats. Accepts enum names or integer IDs for backward compatibility Values: PRE_ROLL, MID_ROLL, POST_ROLL, OVERLAY.
idformintegernoID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE)
zoneIdformintegernoID of the zone to create the placement in — required when id is omitted; on update, a zoneId other than the placement’s own moves it to that zone and keeps its key (published ad tags keep working)
typeformstringnoPlacement type — required when creating and must match the endpoint: SITE_PLACEMENT for update/standard, NON_STANDARD_SITE_PLACEMENT for update/non-standard, MOBILE_SITE_PLACEMENT for update/mobile, VIDEO_PLACEMENT for update/video, APPLICATION_PLACEMENT for update/app, NATIVE_PLACEMENT for update/native, CLICK_THROUGH_PLACEMENT for update/click_through, EMAIL_PLACEMENT for update/email. On update it may be omitted; a value that differs from the stored type is rejected Values: SITE_PLACEMENT, NON_STANDARD_SITE_PLACEMENT, MOBILE_SITE_PLACEMENT, VIDEO_PLACEMENT, APPLICATION_PLACEMENT, EMAIL_PLACEMENT, CLICK_THROUGH_PLACEMENT, NATIVE_PLACEMENT.
adUnitIdformintegernoID of the ad unit that sets the placement size — the preferred way to size a placement (size.adUnit is deprecated). It must be one of the ad units of the placement’s type (GET /rest-api/ad-units.do); any other id is refused with 400 and nothing is changed
adCategoryformstringnoAd category of an APPLICATION_PLACEMENT (a new placement starts with BANNER; omitted on update keeps the current one). applicationAdCategory sets the same value and wins when both are sent Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
operatingSystemformstringnoOperating system of an APPLICATION_PLACEMENT (a new placement starts with IOS; omitted on update keeps the current one). applicationOperatingSystem sets the same value and wins when both are sent Values: IOS, ANDROID.
actionLimitsEnabledformbooleannoEnable per-action conversion limits
activeformbooleannoWhether the placement is active
adPositionformstringnoAd position on page per OpenRTB spec (ABOVE_THE_FOLD, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULL_SCREEN) Values: UNKNOWN, ABOVE_THE_FOLD, DEPENDING, BELOW_THE_FOLD, HEADER, FOOTER, SIDEBAR, FULLSCREEN.
ajaxCodeAdWrapperformstringnoAd wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME.
ajaxCodeProtocolformstringnoProtocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP.
allowVariableBannerSizesformbooleannoAllow banners of different sizes to serve in this placement
alwaysRedirectformbooleannoAlways use redirect-based ad serving instead of iframe/JavaScript
applicationAdCategoryformstringnoApplication ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO.
applicationOperatingSystemformstringnoTarget operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID.
contentReplacementEnabledformbooleannoEnable content replacement mode (ad replaces page content)
customOpenRtbTagIdformstringnoCustom OpenRTB tag ID sent in bid requests instead of the default placement key
defaultCodeformstringnoDefault HTML code to display when no ad is available (passback)
descriptionformstringnoPlacement description
disableAutoLinkingformbooleannoDisable automatic banner-to-placement linking
displayTypeformstringnoDisplay type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY.
domainAsDefaultChannelformbooleannoUse the site domain as the default channel parameter
enableLinkingformbooleannoEnable banner-to-placement linking
enablePricingOverrideformbooleannoAllow placement-level pricing to override campaign pricing
enableRulesformbooleannoEnable advanced rules engine for this placement
enableTargetingformbooleannoEnable targeting rules for this placement
fitContainerformbooleannoResize the ad creative to fit the placement container
nameformstringnoPlacement name
nativePreferences.contextSubTypeformstringnoValues: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS.
nativePreferences.contextTypeformstringnoValues: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT.
nativePreferences.iconSize.heightformintegernoHeight in pixels
nativePreferences.iconSize.widthformintegernoWidth in pixels
nativePreferences.imageSize.heightformintegernoHeight in pixels
nativePreferences.imageSize.widthformintegernoWidth in pixels
nativePreferences.placementTypeformstringnoValues: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET.
nativePreferences.requiredFieldsformarray<string>noValues: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL.
nativePreferences.videoSize.heightformintegernoHeight in pixels
nativePreferences.videoSize.widthformintegernoWidth in pixels
operationBetweenRuleTypesformstringnoLogical operator between different targeting rule types (AND, OR) Values: AND, OR.
piggybackStatusformstringnoPiggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED.
refreshIntervalformintegernoAd refresh interval in seconds (0 = no refresh)
rotateIntervalformintegernoBanner rotation interval in seconds (0 = no rotation)
serverSideTrackersEnabledformbooleannoWhether server-side trackers fire for this placement
servingDomainformstringnoAd-serving domain this placement’s tags and URLs are generated on — one of the domains GET /rest-api/placements/{placementId}/serving-domains.do lists; any other value is refused with 400. Needs the INVOCATION_CODE_DOMAIN permission (Set Ad-Serving Domain (Placement)), without which it is not applied
showBrandedOverlayformbooleannoShow branded overlay on ads served in this placement
size.adUnitformstringnoDeprecated — prefer adUnitId. Name of a predefined site ad unit; the placement gets the ad unit of that width and height Values: MEDIUM_RECTANGLE, RECTANGLE, LEADERBOARD, FULL_BANNER, SKYSCRAPER, WIDE_SKYSCRAPER, HALF_PAGE_AD, BUTTON_2, MICRO_BAR, XXL_BOX, CUSTOM_SITE_BANNER_SIZE, SMALL_IMAGE_BANNER, MEDIUM_IMAGE_BANNER, LARGE_IMAGE_BANNER, X_LARGE_IMAGE_BANNER, XX_LARGE_IMAGE_BANNER, CUSTOM_MOBILE_BANNER_SIZE, VIDEO_OVERLAY_BANNER, CUSTOM_VIDEO_OVERLAY_BANNER_SIZE, THIRD_PARTY_INTEGRATION_CODE, CUSTOM_APPLICATION_BANNER_SIZE, TEMPLATE, _300X250, _180X150, _728X90 … (+8 more, 33 total).
size.heightformintegernoHeight in pixels
size.widthformintegernoWidth in pixels
thirdPartyNetworkLookupLimitformintegernoMaximum number of third-party network lookups for daisy chaining (0-10)
videoAdMaxDurationformintegernoMaximum video ad duration in seconds
videoAdMinDurationformintegernoMinimum video ad duration in seconds
videoAdSkipMinformintegernoMinimum duration in seconds before skip button appears
heightformintegernoVideo player height in pixels
maxPodDurationformintegernoMaximum ad pod duration in seconds (0-1800)
playbackControlsEnabledformbooleannoWhether video player controls are visible
playbackMuteformbooleannoWhether video playback starts muted
playbackSkipAdButtonTextformstringnoText displayed on the skip-ad button
playbackSkipAdCountdownformintegernoNumber of seconds before skip button appears (0-100)
playbackSkipAdCountdownTextformstringnoText displayed during skip-ad countdown (%d is replaced with seconds)
playbackSkipAdEnabledformbooleannoWhether the skip-ad button is enabled
playbackSkipAdExtraStyleformstringnoExtra CSS style for the skip-ad button
playbackVolumeformintegernoDefault playback volume percentage (0-100)
waterfallExecuteRequestsToPlacementAmountformintegernoNumber of waterfall ad requests to execute per placement (0-10)
waterfallIterateTimesThroughCreativesListformintegernoNumber of times to iterate through the creatives list (0-10)
waterfallLinearAdBreakMaxShowAmountformintegernoMaximum number of linear ads to show in one ad break (0-20)
waterfallMaximalTimeoutformintegernoMaximum timeout in seconds for waterfall ad loading (0-300)
waterfallMinimalTimeoutformintegernoMinimum timeout in seconds for waterfall ad loading (0-300)
waterfallReturnCreativesInTheResponseAmountformintegernoNumber of creatives to return in the VAST response (0-20)
widthformintegernoVideo player width in pixels
labelsformarray<string>noLabel names to assign to this placement, comma-separated or repeated
labelUpdateTypeformstringnoHow to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR.
nativeAdapterTemplateIdformstringnoNative adapter template to render this placement through; an empty value detaches the one it carries. The template must be active, of the placement content adapter type, and built for this placement’s type. Its properties are set in the same request, one parameter per property named by its key; a FILE property takes a multipart upload under its key or, without multipart, fileUrl[<property key>] (bare fileUrl when the template has one FILE property): the file is downloaded once (http/https to a public host only) and stored exactly as the upload would be. A URL that is unreachable, not public, too large or of the wrong type is a 400 naming the parameter.
skipButtonEnabledformbooleannoWhether to show the skip ad button on the video player. Omitted keeps the current value; a new placement starts with false
skipButtonShowAfterSecondsformintegernoSeconds before the skip button appears. Omitted keeps the current value; a new placement starts with 5
vmapMaxNumberOfPreRollsformintegernoMaximum number of pre-roll ads in VMAP response. Omitted keeps the current value; a new placement starts with 2
vastDefaultAdTitleformstringnoDefault VAST AdTitle value used when the banner has no title
ssaiStitcherformstringnoServer-side ad insertion service that calls the VAST tag; its macros for the viewer’s IP, user-agent, device id and app are added to the tag. An empty value turns it off; omitted keeps the current one.
podSeparationformstringnoHow competing advertisers are kept apart within one ad pod: ADVERTISER_DOMAIN allows one spot per advertiser domain, ADVERTISER_DOMAIN_AND_CATEGORY also one per advertiser category. The same spot (ISCI / Ad-ID code) never repeats in a pod regardless. An empty value turns separation off; omitted keeps the current one.
videoPlaybackMethodformarray<string>noPlayback methods the video player supports, sent to programmatic demand as OpenRTB video.playbackmethod: AUTO_PLAY_SOUND_ON (1), AUTO_PLAY_SOUND_OFF (2), CLICK_TO_PLAY (3), MOUSE_OVER (4), by name or id, comma-separated or repeated. An empty value clears them; omitted keeps the current ones. Needs the Video RTB Configuration permission.
videoApiFrameworkformarray<string>noAPI frameworks the video player supports, sent to programmatic demand as OpenRTB video.api: VPAID_1_0 (1), VPAID_2_0 (2), MRAID_1 (3), ORMMA (4), MRAID_2 (5), MRAID_3 (6), by name or id, comma-separated or repeated. An empty value clears them; omitted keeps the current ones. Needs the Video RTB Configuration permission.

Responses: 200 — Placement created or updated successfully. Errors follow the shared conventions.

GET /rest-api/serving-check.do

Request examples

Check why a banner does not serve on a placement.

ParameterInTypeRequiredDescription
bannerIdqueryintegeryesThe banner (creative)
placementIdqueryintegeryesThe placement it should serve on
countryquerystringnoThe visitor’s country, two-letter code (US, DE): its country targeting is then evaluated

Responses: 200 — {success, bannerId, placementId, blockers:[..], warnings:[..], targeting:{level:{combine, rules:[..]}}} · 404 — Banner or placement not found; a deleted one is answered with a blocker. 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.