Placements API endpoints
Endpoint reference for the Placements tag (52 endpoints): Placement management and banner linking
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
List ad units.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementType | query | string | no | Keep 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. |
width | query | integer | no | With height and placementType: the width of the size to find the unit of, in pixels |
height | query | integer | no | With 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
Get placement code by key (deprecated) (deprecated)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
key | path | string | yes | Unique 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
Get placement invocation code.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
key | path | string | yes | Unique placement key string (MD5 hash) |
t | query | string | yes | Invocation 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. |
tpId | query | integer | no | Test 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
Get placement VAST tag.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
key | path | string | yes | Unique placement key string (MD5 hash) |
v | query | string | no | VAST 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
Get placement VMAP tag.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
key | path | string | yes | Unique 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
Get placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement 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
Get banner delivery probability.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement ID |
browser | query | string | no | Browser 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). |
countryCode | query | string | no | ISO 3166 country code of the simulated visitor |
dir | query | string | no | ASC or DESC |
group | query | string | no | BANNER, CAMPAIGN or ADVERTISER; the latter two sum the probabilities per campaign or advertiser |
ignore | query | array<string> | no | Targeting to leave out of the match Values: COUNTRY, BROWSER, OPERATING_SYSTEM, MOBILE_CARRIER. |
limit | query | integer | no | Rows per page, 1 to 1000 |
mobileCarrier | query | string | no | Mobile carrier of the simulated visitor |
operatingSystem | query | string | no | Operating 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. |
priority | query | string | no | Count only campaigns of this delivery priority; IGNORE counts all Values: IGNORE, PREMIUM, STANDARD_HIGH, STANDARD_MEDIUM, STANDARD_LOW, NON_GUARANTEED, HOUSE_ADS. |
query | query | string | no | Keep only rows whose banner, campaign or advertiser name contains this text |
sort | query | string | no | bannerName, campaignName, advertiserName or probability |
start | query | integer | no | Offset 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
Get placement banners.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Unique 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
Update placement banners.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
ids | form | array<integer> | yes | Array 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 |
placementId | path | integer | yes | Unique identifier of the placement to update banner links for |
append | form | boolean | no | When 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
Remove placement banners.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Unique identifier of the placement to remove banner links from |
removeIds | form | array<integer> | no | Array 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
Get placement daisy chaining.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Unique 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
Set up placement daisy chaining.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement id |
enabled | form | boolean | no | true switches daisy chaining on, false switches it off and drops the chain |
groupByDeliveryPriority | form | boolean | no | Order the chain within each delivery priority |
lookupDepth | form | integer | no | How many entries of the chain are tried for one ad request, 1 to 100 |
rotatingCount | form | integer | no | Rotation count when rotatingEnabled, 1 to 10000000 |
rotatingEnabled | form | boolean | no | Rotate the chain’s entries |
type | form | string | no | What the chain orders: BANNER or CAMPAIGN; switches daisy chaining on Values: BANNER, CAMPAIGN. |
viewPerEntityCount | form | integer | no | Views per entry when viewPerEntityEnabled, 1 to 10000000 |
viewPerEntityEnabled | form | boolean | no | Cap 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
Filter a delivery priority of placement daisy chaining by country.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement id |
deliveryPriority | form | string | yes | The delivery priority the filter is for Values: PREMIUM, STANDARD_HIGH, STANDARD_MEDIUM, STANDARD_LOW, NON_GUARANTEED, HOUSE_ADS. |
enabled | form | boolean | yes | true keeps the priority in the chain for the countries sent, false leaves it out |
countries | form | array<string> | no | ISO 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
List a placement’s content replacement rules.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement 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
Delete a placement’s content replacement rule.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement id |
ruleId | path | integer | yes | Rule 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
Update a placement’s content replacement rule.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement id |
ruleId | path | integer | yes | Rule id, as the list returns it |
replacement | form | string | no | What every occurrence of the target becomes; may contain macros such as $$RANDOM$$. Empty or omitted on create removes the target from the markup. |
target | form | string | no | The 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
Add a content replacement rule to a placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement id |
replacement | form | string | no | What every occurrence of the target becomes; may contain macros such as $$RANDOM$$. Empty or omitted on create removes the target from the markup. |
target | form | string | no | The 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
List a placement’s default invocation-code parameters.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement 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
Add a default invocation-code parameter.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement ID |
type | form | string | yes | Parameter 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. |
value | form | string | no | Parameter 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
Delete a default invocation-code parameter.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement ID |
type | form | string | yes | Parameter type Values: CHANNEL, CUSTOM_PARAMETER, SUB_VALUE, CLICK, GDPR, GDPR_CONSENT_IAB, BUNDLE, IFA, USER_ID, TRANSACTION_ID, AD_LOADED. |
value | form | string | no | The 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
Delete placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Unique 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
List the invocation code types a placement offers.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement 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
Get a placement’s invocation code.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement ID |
type | query | string | yes | Invocation 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
Download a placement’s invocation code.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement ID |
type | query | string | yes | Invocation 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
Get placement matched ads.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Unique 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
Get a shareable placement preview link.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement ID |
codeType | query | string | no | Invocation 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
Get placement pricing.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Unique 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
Set placement pricing.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Unique 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
Update placement country pricing.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
price | form | number | yes | Price value for the specified country as a decimal number |
placementId | path | integer | yes | Unique numeric ID of the placement |
countryCode | path | string | yes | ISO 3166 two-letter country code (e.g., US, GB, DE) |
actionId | form | integer | no | Optional 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
Delete placement country pricing.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Unique numeric ID of the placement |
countryCode | path | string | yes | ISO 3166 two-letter country code (e.g., US, GB, DE) |
actionId | form | integer | no | Optional 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
Remove placement pricing model.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Unique numeric ID of the placement |
paymentModel | path | string | yes | Payment 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
Upload placement country pricing CSV.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Unique numeric ID of the placement |
countryPricesCsv | form | string | no | The 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
Set placement use general action pricing.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Unique numeric ID of the placement |
useGlobalActionPricing | form | boolean | yes | true 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
List placement ad-serving domains.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Placement 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
Get a click-through placement’s tracking URLs.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Click-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
Get video creatives not served on a placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | path | integer | yes | Unique 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
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
Update daisy chaining priority.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | form | integer | yes | ID of the placement whose daisy chain is reordered |
priority | form | integer | yes | New priority value (1-based, must be >= 1) |
bannerId | form | integer | no | Banner ID to update priority for (for banner-level daisy chaining) |
campaignId | form | integer | no | Campaign 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
Copy placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | form | integer | yes | Source placement ID to copy from (must exist and not be deleted) |
zoneId | form | integer | yes | Target zone ID to copy the placement into (must exist and not be deleted) |
keepBannersLinked | form | boolean | no | Whether to keep banners linked to the new placement copy |
count | form | integer | no | Number of placement copies to create, 1 to 20 |
name | form | string | no | Name 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
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
Change labels of many placements.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
ids | form | array<integer> | yes | Placement IDs to change, 1 to 500 |
labels | form | array<string> | no | Label names, comma-separated or repeated |
labelUpdateType | form | string | no | ADD (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
Add labels to placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
placementId | form | integer | yes | Unique numeric ID of the placement to add labels to |
labels | form | array<string> | yes | List of label names to add to the placement |
Responses: 200 — Labels added successfully. Errors follow the shared conventions.
GET /rest-api/placements/summary.do
List placements with details and filters.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
publishingCategories | query | array<integer> | no | IDs of publishing categories to filter placements by |
placementIds | query | array<integer> | no | Specific placement IDs to retrieve |
zoneId | query | integer | no | Zone ID to filter placements by |
labels | query | array<string> | no | Label names to filter placements by |
offset | query | integer | no | Pagination offset (zero-based index of the first result) |
limit | query | integer | no | Maximum number of placements to return |
types | query | array<string> | no | Placement 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. |
siteId | query | integer | no | Site ID to filter placements by |
active | query | boolean | no | When set, returns only active (true) or only inactive (false) placements; omit to return both |
fields | query | array<string> | no | Return 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 |
filter | query | object | no | Keep 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
Create or update application placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | form | integer | no | ID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE) |
zoneId | form | integer | no | ID 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) |
type | form | string | no | Placement 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. |
adUnitId | form | integer | no | ID 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 |
adCategory | form | string | no | Ad 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. |
operatingSystem | form | string | no | Operating 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. |
actionLimitsEnabled | form | boolean | no | Enable per-action conversion limits |
active | form | boolean | no | Whether the placement is active |
adPosition | form | string | no | Ad 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. |
ajaxCodeAdWrapper | form | string | no | Ad wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME. |
ajaxCodeProtocol | form | string | no | Protocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP. |
allowVariableBannerSizes | form | boolean | no | Allow banners of different sizes to serve in this placement |
alwaysRedirect | form | boolean | no | Always use redirect-based ad serving instead of iframe/JavaScript |
applicationAdCategory | form | string | no | Application ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO. |
applicationOperatingSystem | form | string | no | Target operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID. |
contentReplacementEnabled | form | boolean | no | Enable content replacement mode (ad replaces page content) |
customOpenRtbTagId | form | string | no | Custom OpenRTB tag ID sent in bid requests instead of the default placement key |
defaultCode | form | string | no | Default HTML code to display when no ad is available (passback) |
description | form | string | no | Placement description |
disableAutoLinking | form | boolean | no | Disable automatic banner-to-placement linking |
displayType | form | string | no | Display type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY. |
domainAsDefaultChannel | form | boolean | no | Use the site domain as the default channel parameter |
enableLinking | form | boolean | no | Enable banner-to-placement linking |
enablePricingOverride | form | boolean | no | Allow placement-level pricing to override campaign pricing |
enableRules | form | boolean | no | Enable advanced rules engine for this placement |
enableTargeting | form | boolean | no | Enable targeting rules for this placement |
fitContainer | form | boolean | no | Resize the ad creative to fit the placement container |
name | form | string | no | Placement name |
nativePreferences.contextSubType | form | string | no | Values: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS. |
nativePreferences.contextType | form | string | no | Values: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT. |
nativePreferences.iconSize.height | form | integer | no | Height in pixels |
nativePreferences.iconSize.width | form | integer | no | Width in pixels |
nativePreferences.imageSize.height | form | integer | no | Height in pixels |
nativePreferences.imageSize.width | form | integer | no | Width in pixels |
nativePreferences.placementType | form | string | no | Values: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET. |
nativePreferences.requiredFields | form | array<string> | no | Values: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL. |
nativePreferences.videoSize.height | form | integer | no | Height in pixels |
nativePreferences.videoSize.width | form | integer | no | Width in pixels |
operationBetweenRuleTypes | form | string | no | Logical operator between different targeting rule types (AND, OR) Values: AND, OR. |
piggybackStatus | form | string | no | Piggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED. |
refreshInterval | form | integer | no | Ad refresh interval in seconds (0 = no refresh) |
rotateInterval | form | integer | no | Banner rotation interval in seconds (0 = no rotation) |
serverSideTrackersEnabled | form | boolean | no | Whether server-side trackers fire for this placement |
servingDomain | form | string | no | Ad-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 |
showBrandedOverlay | form | boolean | no | Show branded overlay on ads served in this placement |
size.adUnit | form | string | no | Deprecated — 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.height | form | integer | no | Height in pixels |
size.width | form | integer | no | Width in pixels |
thirdPartyNetworkLookupLimit | form | integer | no | Maximum number of third-party network lookups for daisy chaining (0-10) |
videoAdMaxDuration | form | integer | no | Maximum video ad duration in seconds |
videoAdMinDuration | form | integer | no | Minimum video ad duration in seconds |
videoAdSkipMin | form | integer | no | Minimum duration in seconds before skip button appears |
labels | form | array<string> | no | Label names to assign to this placement, comma-separated or repeated |
labelUpdateType | form | string | no | How to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR. |
nativeAdapterTemplateId | form | string | no | Native 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
Create or update click-through placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | form | integer | no | ID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE) |
zoneId | form | integer | no | ID 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) |
type | form | string | no | Placement 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. |
adUnitId | form | integer | no | ID 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 |
adCategory | form | string | no | Ad 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. |
operatingSystem | form | string | no | Operating 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. |
actionLimitsEnabled | form | boolean | no | Enable per-action conversion limits |
active | form | boolean | no | Whether the placement is active |
adPosition | form | string | no | Ad 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. |
ajaxCodeAdWrapper | form | string | no | Ad wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME. |
ajaxCodeProtocol | form | string | no | Protocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP. |
allowVariableBannerSizes | form | boolean | no | Allow banners of different sizes to serve in this placement |
alwaysRedirect | form | boolean | no | Always use redirect-based ad serving instead of iframe/JavaScript |
applicationAdCategory | form | string | no | Application ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO. |
applicationOperatingSystem | form | string | no | Target operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID. |
contentReplacementEnabled | form | boolean | no | Enable content replacement mode (ad replaces page content) |
customOpenRtbTagId | form | string | no | Custom OpenRTB tag ID sent in bid requests instead of the default placement key |
defaultCode | form | string | no | Default HTML code to display when no ad is available (passback) |
description | form | string | no | Placement description |
disableAutoLinking | form | boolean | no | Disable automatic banner-to-placement linking |
displayType | form | string | no | Display type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY. |
domainAsDefaultChannel | form | boolean | no | Use the site domain as the default channel parameter |
enableLinking | form | boolean | no | Enable banner-to-placement linking |
enablePricingOverride | form | boolean | no | Allow placement-level pricing to override campaign pricing |
enableRules | form | boolean | no | Enable advanced rules engine for this placement |
enableTargeting | form | boolean | no | Enable targeting rules for this placement |
fitContainer | form | boolean | no | Resize the ad creative to fit the placement container |
name | form | string | no | Placement name |
nativePreferences.contextSubType | form | string | no | Values: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS. |
nativePreferences.contextType | form | string | no | Values: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT. |
nativePreferences.iconSize.height | form | integer | no | Height in pixels |
nativePreferences.iconSize.width | form | integer | no | Width in pixels |
nativePreferences.imageSize.height | form | integer | no | Height in pixels |
nativePreferences.imageSize.width | form | integer | no | Width in pixels |
nativePreferences.placementType | form | string | no | Values: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET. |
nativePreferences.requiredFields | form | array<string> | no | Values: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL. |
nativePreferences.videoSize.height | form | integer | no | Height in pixels |
nativePreferences.videoSize.width | form | integer | no | Width in pixels |
operationBetweenRuleTypes | form | string | no | Logical operator between different targeting rule types (AND, OR) Values: AND, OR. |
piggybackStatus | form | string | no | Piggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED. |
refreshInterval | form | integer | no | Ad refresh interval in seconds (0 = no refresh) |
rotateInterval | form | integer | no | Banner rotation interval in seconds (0 = no rotation) |
serverSideTrackersEnabled | form | boolean | no | Whether server-side trackers fire for this placement |
servingDomain | form | string | no | Ad-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 |
showBrandedOverlay | form | boolean | no | Show branded overlay on ads served in this placement |
size.adUnit | form | string | no | Deprecated — 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.height | form | integer | no | Height in pixels |
size.width | form | integer | no | Width in pixels |
thirdPartyNetworkLookupLimit | form | integer | no | Maximum number of third-party network lookups for daisy chaining (0-10) |
videoAdMaxDuration | form | integer | no | Maximum video ad duration in seconds |
videoAdMinDuration | form | integer | no | Minimum video ad duration in seconds |
videoAdSkipMin | form | integer | no | Minimum duration in seconds before skip button appears |
labels | form | array<string> | no | Label names to assign to this placement, comma-separated or repeated |
labelUpdateType | form | string | no | How to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR. |
nativeAdapterTemplateId | form | string | no | Native 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
Create or update e-mail placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | form | integer | no | ID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE) |
zoneId | form | integer | no | ID 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) |
type | form | string | no | Placement 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. |
adUnitId | form | integer | no | ID 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 |
adCategory | form | string | no | Ad 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. |
operatingSystem | form | string | no | Operating 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. |
actionLimitsEnabled | form | boolean | no | Enable per-action conversion limits |
active | form | boolean | no | Whether the placement is active |
adPosition | form | string | no | Ad 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. |
ajaxCodeAdWrapper | form | string | no | Ad wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME. |
ajaxCodeProtocol | form | string | no | Protocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP. |
allowVariableBannerSizes | form | boolean | no | Allow banners of different sizes to serve in this placement |
alwaysRedirect | form | boolean | no | Always use redirect-based ad serving instead of iframe/JavaScript |
applicationAdCategory | form | string | no | Application ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO. |
applicationOperatingSystem | form | string | no | Target operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID. |
contentReplacementEnabled | form | boolean | no | Enable content replacement mode (ad replaces page content) |
customOpenRtbTagId | form | string | no | Custom OpenRTB tag ID sent in bid requests instead of the default placement key |
defaultCode | form | string | no | Default HTML code to display when no ad is available (passback) |
description | form | string | no | Placement description |
disableAutoLinking | form | boolean | no | Disable automatic banner-to-placement linking |
displayType | form | string | no | Display type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY. |
domainAsDefaultChannel | form | boolean | no | Use the site domain as the default channel parameter |
enableLinking | form | boolean | no | Enable banner-to-placement linking |
enablePricingOverride | form | boolean | no | Allow placement-level pricing to override campaign pricing |
enableRules | form | boolean | no | Enable advanced rules engine for this placement |
enableTargeting | form | boolean | no | Enable targeting rules for this placement |
fitContainer | form | boolean | no | Resize the ad creative to fit the placement container |
name | form | string | no | Placement name |
nativePreferences.contextSubType | form | string | no | Values: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS. |
nativePreferences.contextType | form | string | no | Values: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT. |
nativePreferences.iconSize.height | form | integer | no | Height in pixels |
nativePreferences.iconSize.width | form | integer | no | Width in pixels |
nativePreferences.imageSize.height | form | integer | no | Height in pixels |
nativePreferences.imageSize.width | form | integer | no | Width in pixels |
nativePreferences.placementType | form | string | no | Values: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET. |
nativePreferences.requiredFields | form | array<string> | no | Values: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL. |
nativePreferences.videoSize.height | form | integer | no | Height in pixels |
nativePreferences.videoSize.width | form | integer | no | Width in pixels |
operationBetweenRuleTypes | form | string | no | Logical operator between different targeting rule types (AND, OR) Values: AND, OR. |
piggybackStatus | form | string | no | Piggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED. |
refreshInterval | form | integer | no | Ad refresh interval in seconds (0 = no refresh) |
rotateInterval | form | integer | no | Banner rotation interval in seconds (0 = no rotation) |
serverSideTrackersEnabled | form | boolean | no | Whether server-side trackers fire for this placement |
servingDomain | form | string | no | Ad-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 |
showBrandedOverlay | form | boolean | no | Show branded overlay on ads served in this placement |
size.adUnit | form | string | no | Deprecated — 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.height | form | integer | no | Height in pixels |
size.width | form | integer | no | Width in pixels |
thirdPartyNetworkLookupLimit | form | integer | no | Maximum number of third-party network lookups for daisy chaining (0-10) |
videoAdMaxDuration | form | integer | no | Maximum video ad duration in seconds |
videoAdMinDuration | form | integer | no | Minimum video ad duration in seconds |
videoAdSkipMin | form | integer | no | Minimum duration in seconds before skip button appears |
labels | form | array<string> | no | Label names to assign to this placement, comma-separated or repeated |
labelUpdateType | form | string | no | How 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
Create or update mobile placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | form | integer | no | ID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE) |
zoneId | form | integer | no | ID 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) |
type | form | string | no | Placement 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. |
adUnitId | form | integer | no | ID 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 |
adCategory | form | string | no | Ad 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. |
operatingSystem | form | string | no | Operating 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. |
actionLimitsEnabled | form | boolean | no | Enable per-action conversion limits |
active | form | boolean | no | Whether the placement is active |
adPosition | form | string | no | Ad 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. |
ajaxCodeAdWrapper | form | string | no | Ad wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME. |
ajaxCodeProtocol | form | string | no | Protocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP. |
allowVariableBannerSizes | form | boolean | no | Allow banners of different sizes to serve in this placement |
alwaysRedirect | form | boolean | no | Always use redirect-based ad serving instead of iframe/JavaScript |
applicationAdCategory | form | string | no | Application ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO. |
applicationOperatingSystem | form | string | no | Target operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID. |
contentReplacementEnabled | form | boolean | no | Enable content replacement mode (ad replaces page content) |
customOpenRtbTagId | form | string | no | Custom OpenRTB tag ID sent in bid requests instead of the default placement key |
defaultCode | form | string | no | Default HTML code to display when no ad is available (passback) |
description | form | string | no | Placement description |
disableAutoLinking | form | boolean | no | Disable automatic banner-to-placement linking |
displayType | form | string | no | Display type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY. |
domainAsDefaultChannel | form | boolean | no | Use the site domain as the default channel parameter |
enableLinking | form | boolean | no | Enable banner-to-placement linking |
enablePricingOverride | form | boolean | no | Allow placement-level pricing to override campaign pricing |
enableRules | form | boolean | no | Enable advanced rules engine for this placement |
enableTargeting | form | boolean | no | Enable targeting rules for this placement |
fitContainer | form | boolean | no | Resize the ad creative to fit the placement container |
name | form | string | no | Placement name |
nativePreferences.contextSubType | form | string | no | Values: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS. |
nativePreferences.contextType | form | string | no | Values: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT. |
nativePreferences.iconSize.height | form | integer | no | Height in pixels |
nativePreferences.iconSize.width | form | integer | no | Width in pixels |
nativePreferences.imageSize.height | form | integer | no | Height in pixels |
nativePreferences.imageSize.width | form | integer | no | Width in pixels |
nativePreferences.placementType | form | string | no | Values: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET. |
nativePreferences.requiredFields | form | array<string> | no | Values: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL. |
nativePreferences.videoSize.height | form | integer | no | Height in pixels |
nativePreferences.videoSize.width | form | integer | no | Width in pixels |
operationBetweenRuleTypes | form | string | no | Logical operator between different targeting rule types (AND, OR) Values: AND, OR. |
piggybackStatus | form | string | no | Piggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED. |
refreshInterval | form | integer | no | Ad refresh interval in seconds (0 = no refresh) |
rotateInterval | form | integer | no | Banner rotation interval in seconds (0 = no rotation) |
serverSideTrackersEnabled | form | boolean | no | Whether server-side trackers fire for this placement |
servingDomain | form | string | no | Ad-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 |
showBrandedOverlay | form | boolean | no | Show branded overlay on ads served in this placement |
size.adUnit | form | string | no | Deprecated — 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.height | form | integer | no | Height in pixels |
size.width | form | integer | no | Width in pixels |
thirdPartyNetworkLookupLimit | form | integer | no | Maximum number of third-party network lookups for daisy chaining (0-10) |
videoAdMaxDuration | form | integer | no | Maximum video ad duration in seconds |
videoAdMinDuration | form | integer | no | Minimum video ad duration in seconds |
videoAdSkipMin | form | integer | no | Minimum duration in seconds before skip button appears |
labels | form | array<string> | no | Label names to assign to this placement, comma-separated or repeated |
labelUpdateType | form | string | no | How to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR. |
nativeAdapterTemplateId | form | string | no | Native 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
Create or update native placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | form | integer | no | ID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE) |
zoneId | form | integer | no | ID 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) |
type | form | string | no | Placement 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. |
adUnitId | form | integer | no | ID 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 |
adCategory | form | string | no | Ad 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. |
operatingSystem | form | string | no | Operating 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. |
actionLimitsEnabled | form | boolean | no | Enable per-action conversion limits |
active | form | boolean | no | Whether the placement is active |
adPosition | form | string | no | Ad 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. |
ajaxCodeAdWrapper | form | string | no | Ad wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME. |
ajaxCodeProtocol | form | string | no | Protocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP. |
allowVariableBannerSizes | form | boolean | no | Allow banners of different sizes to serve in this placement |
alwaysRedirect | form | boolean | no | Always use redirect-based ad serving instead of iframe/JavaScript |
applicationAdCategory | form | string | no | Application ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO. |
applicationOperatingSystem | form | string | no | Target operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID. |
contentReplacementEnabled | form | boolean | no | Enable content replacement mode (ad replaces page content) |
customOpenRtbTagId | form | string | no | Custom OpenRTB tag ID sent in bid requests instead of the default placement key |
defaultCode | form | string | no | Default HTML code to display when no ad is available (passback) |
description | form | string | no | Placement description |
disableAutoLinking | form | boolean | no | Disable automatic banner-to-placement linking |
displayType | form | string | no | Display type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY. |
domainAsDefaultChannel | form | boolean | no | Use the site domain as the default channel parameter |
enableLinking | form | boolean | no | Enable banner-to-placement linking |
enablePricingOverride | form | boolean | no | Allow placement-level pricing to override campaign pricing |
enableRules | form | boolean | no | Enable advanced rules engine for this placement |
enableTargeting | form | boolean | no | Enable targeting rules for this placement |
fitContainer | form | boolean | no | Resize the ad creative to fit the placement container |
name | form | string | no | Placement name |
nativePreferences.contextSubType | form | string | no | Values: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS. |
nativePreferences.contextType | form | string | no | Values: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT. |
nativePreferences.iconSize.height | form | integer | no | Height in pixels |
nativePreferences.iconSize.width | form | integer | no | Width in pixels |
nativePreferences.imageSize.height | form | integer | no | Height in pixels |
nativePreferences.imageSize.width | form | integer | no | Width in pixels |
nativePreferences.placementType | form | string | no | Values: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET. |
nativePreferences.requiredFields | form | array<string> | no | Values: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL. |
nativePreferences.videoSize.height | form | integer | no | Height in pixels |
nativePreferences.videoSize.width | form | integer | no | Width in pixels |
operationBetweenRuleTypes | form | string | no | Logical operator between different targeting rule types (AND, OR) Values: AND, OR. |
piggybackStatus | form | string | no | Piggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED. |
refreshInterval | form | integer | no | Ad refresh interval in seconds (0 = no refresh) |
rotateInterval | form | integer | no | Banner rotation interval in seconds (0 = no rotation) |
serverSideTrackersEnabled | form | boolean | no | Whether server-side trackers fire for this placement |
servingDomain | form | string | no | Ad-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 |
showBrandedOverlay | form | boolean | no | Show branded overlay on ads served in this placement |
size.adUnit | form | string | no | Deprecated — 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.height | form | integer | no | Height in pixels |
size.width | form | integer | no | Width in pixels |
thirdPartyNetworkLookupLimit | form | integer | no | Maximum number of third-party network lookups for daisy chaining (0-10) |
videoAdMaxDuration | form | integer | no | Maximum video ad duration in seconds |
videoAdMinDuration | form | integer | no | Minimum video ad duration in seconds |
videoAdSkipMin | form | integer | no | Minimum duration in seconds before skip button appears |
labels | form | array<string> | no | Label names to assign to this placement, comma-separated or repeated |
labelUpdateType | form | string | no | How to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR. |
nativeAdapterTemplateId | form | string | no | Native 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
Create or update non-standard placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | form | integer | no | ID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE) |
zoneId | form | integer | no | ID 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) |
type | form | string | no | Placement 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. |
adUnitId | form | integer | no | ID 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 |
adCategory | form | string | no | Ad 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. |
operatingSystem | form | string | no | Operating 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. |
actionLimitsEnabled | form | boolean | no | Enable per-action conversion limits |
active | form | boolean | no | Whether the placement is active |
adPosition | form | string | no | Ad 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. |
ajaxCodeAdWrapper | form | string | no | Ad wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME. |
ajaxCodeProtocol | form | string | no | Protocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP. |
allowVariableBannerSizes | form | boolean | no | Allow banners of different sizes to serve in this placement |
alwaysRedirect | form | boolean | no | Always use redirect-based ad serving instead of iframe/JavaScript |
applicationAdCategory | form | string | no | Application ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO. |
applicationOperatingSystem | form | string | no | Target operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID. |
contentReplacementEnabled | form | boolean | no | Enable content replacement mode (ad replaces page content) |
customOpenRtbTagId | form | string | no | Custom OpenRTB tag ID sent in bid requests instead of the default placement key |
defaultCode | form | string | no | Default HTML code to display when no ad is available (passback) |
description | form | string | no | Placement description |
disableAutoLinking | form | boolean | no | Disable automatic banner-to-placement linking |
displayType | form | string | no | Display type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY. |
domainAsDefaultChannel | form | boolean | no | Use the site domain as the default channel parameter |
enableLinking | form | boolean | no | Enable banner-to-placement linking |
enablePricingOverride | form | boolean | no | Allow placement-level pricing to override campaign pricing |
enableRules | form | boolean | no | Enable advanced rules engine for this placement |
enableTargeting | form | boolean | no | Enable targeting rules for this placement |
fitContainer | form | boolean | no | Resize the ad creative to fit the placement container |
name | form | string | no | Placement name |
nativePreferences.contextSubType | form | string | no | Values: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS. |
nativePreferences.contextType | form | string | no | Values: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT. |
nativePreferences.iconSize.height | form | integer | no | Height in pixels |
nativePreferences.iconSize.width | form | integer | no | Width in pixels |
nativePreferences.imageSize.height | form | integer | no | Height in pixels |
nativePreferences.imageSize.width | form | integer | no | Width in pixels |
nativePreferences.placementType | form | string | no | Values: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET. |
nativePreferences.requiredFields | form | array<string> | no | Values: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL. |
nativePreferences.videoSize.height | form | integer | no | Height in pixels |
nativePreferences.videoSize.width | form | integer | no | Width in pixels |
operationBetweenRuleTypes | form | string | no | Logical operator between different targeting rule types (AND, OR) Values: AND, OR. |
piggybackStatus | form | string | no | Piggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED. |
refreshInterval | form | integer | no | Ad refresh interval in seconds (0 = no refresh) |
rotateInterval | form | integer | no | Banner rotation interval in seconds (0 = no rotation) |
serverSideTrackersEnabled | form | boolean | no | Whether server-side trackers fire for this placement |
servingDomain | form | string | no | Ad-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 |
showBrandedOverlay | form | boolean | no | Show branded overlay on ads served in this placement |
size.adUnit | form | string | no | Deprecated — 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.height | form | integer | no | Height in pixels |
size.width | form | integer | no | Width in pixels |
thirdPartyNetworkLookupLimit | form | integer | no | Maximum number of third-party network lookups for daisy chaining (0-10) |
videoAdMaxDuration | form | integer | no | Maximum video ad duration in seconds |
videoAdMinDuration | form | integer | no | Minimum video ad duration in seconds |
videoAdSkipMin | form | integer | no | Minimum duration in seconds before skip button appears |
labels | form | array<string> | no | Label names to assign to this placement, comma-separated or repeated |
labelUpdateType | form | string | no | How to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR. |
nativeAdapterTemplateId | form | string | no | Native 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
Create or update standard placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | form | integer | no | ID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE) |
zoneId | form | integer | no | ID 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) |
type | form | string | no | Placement 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. |
adUnitId | form | integer | no | ID 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 |
adCategory | form | string | no | Ad 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. |
operatingSystem | form | string | no | Operating 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. |
actionLimitsEnabled | form | boolean | no | Enable per-action conversion limits |
active | form | boolean | no | Whether the placement is active |
adPosition | form | string | no | Ad 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. |
ajaxCodeAdWrapper | form | string | no | Ad wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME. |
ajaxCodeProtocol | form | string | no | Protocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP. |
allowVariableBannerSizes | form | boolean | no | Allow banners of different sizes to serve in this placement |
alwaysRedirect | form | boolean | no | Always use redirect-based ad serving instead of iframe/JavaScript |
applicationAdCategory | form | string | no | Application ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO. |
applicationOperatingSystem | form | string | no | Target operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID. |
contentReplacementEnabled | form | boolean | no | Enable content replacement mode (ad replaces page content) |
customOpenRtbTagId | form | string | no | Custom OpenRTB tag ID sent in bid requests instead of the default placement key |
defaultCode | form | string | no | Default HTML code to display when no ad is available (passback) |
description | form | string | no | Placement description |
disableAutoLinking | form | boolean | no | Disable automatic banner-to-placement linking |
displayType | form | string | no | Display type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY. |
domainAsDefaultChannel | form | boolean | no | Use the site domain as the default channel parameter |
enableLinking | form | boolean | no | Enable banner-to-placement linking |
enablePricingOverride | form | boolean | no | Allow placement-level pricing to override campaign pricing |
enableRules | form | boolean | no | Enable advanced rules engine for this placement |
enableTargeting | form | boolean | no | Enable targeting rules for this placement |
fitContainer | form | boolean | no | Resize the ad creative to fit the placement container |
name | form | string | no | Placement name |
nativePreferences.contextSubType | form | string | no | Values: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS. |
nativePreferences.contextType | form | string | no | Values: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT. |
nativePreferences.iconSize.height | form | integer | no | Height in pixels |
nativePreferences.iconSize.width | form | integer | no | Width in pixels |
nativePreferences.imageSize.height | form | integer | no | Height in pixels |
nativePreferences.imageSize.width | form | integer | no | Width in pixels |
nativePreferences.placementType | form | string | no | Values: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET. |
nativePreferences.requiredFields | form | array<string> | no | Values: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL. |
nativePreferences.videoSize.height | form | integer | no | Height in pixels |
nativePreferences.videoSize.width | form | integer | no | Width in pixels |
operationBetweenRuleTypes | form | string | no | Logical operator between different targeting rule types (AND, OR) Values: AND, OR. |
piggybackStatus | form | string | no | Piggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED. |
refreshInterval | form | integer | no | Ad refresh interval in seconds (0 = no refresh) |
rotateInterval | form | integer | no | Banner rotation interval in seconds (0 = no rotation) |
serverSideTrackersEnabled | form | boolean | no | Whether server-side trackers fire for this placement |
servingDomain | form | string | no | Ad-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 |
showBrandedOverlay | form | boolean | no | Show branded overlay on ads served in this placement |
size.adUnit | form | string | no | Deprecated — 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.height | form | integer | no | Height in pixels |
size.width | form | integer | no | Width in pixels |
thirdPartyNetworkLookupLimit | form | integer | no | Maximum number of third-party network lookups for daisy chaining (0-10) |
videoAdMaxDuration | form | integer | no | Maximum video ad duration in seconds |
videoAdMinDuration | form | integer | no | Minimum video ad duration in seconds |
videoAdSkipMin | form | integer | no | Minimum duration in seconds before skip button appears |
labels | form | array<string> | no | Label names to assign to this placement, comma-separated or repeated |
labelUpdateType | form | string | no | How to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR. |
nativeAdapterTemplateId | form | string | no | Native 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
Create or update video placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
videoFormats | form | array<string> | no | Video ad formats. Accepts enum names or integer IDs for backward compatibility Values: PRE_ROLL, MID_ROLL, POST_ROLL, OVERLAY. |
id | form | integer | no | ID of the placement to update — omit to create a new placement (then zoneId and type are required, and the caller needs INVENTORY CREATE) |
zoneId | form | integer | no | ID 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) |
type | form | string | no | Placement 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. |
adUnitId | form | integer | no | ID 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 |
adCategory | form | string | no | Ad 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. |
operatingSystem | form | string | no | Operating 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. |
actionLimitsEnabled | form | boolean | no | Enable per-action conversion limits |
active | form | boolean | no | Whether the placement is active |
adPosition | form | string | no | Ad 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. |
ajaxCodeAdWrapper | form | string | no | Ad wrapper type for invocation code (WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME) Values: WITHOUT_WRAPPER, FRIENDLY_FRAME, SANDBOXED_FRAME, NO_REDIRECT_FRAME. |
ajaxCodeProtocol | form | string | no | Protocol for invocation code (RELATIVE, HTTPS, HTTP) Values: RELATIVE, HTTPS, HTTP. |
allowVariableBannerSizes | form | boolean | no | Allow banners of different sizes to serve in this placement |
alwaysRedirect | form | boolean | no | Always use redirect-based ad serving instead of iframe/JavaScript |
applicationAdCategory | form | string | no | Application ad category (BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO) Values: BANNER, INTERSTITIAL, NATIVE_AD, REWARDED_VIDEO. |
applicationOperatingSystem | form | string | no | Target operating system for application placements (IOS, ANDROID) Values: IOS, ANDROID. |
contentReplacementEnabled | form | boolean | no | Enable content replacement mode (ad replaces page content) |
customOpenRtbTagId | form | string | no | Custom OpenRTB tag ID sent in bid requests instead of the default placement key |
defaultCode | form | string | no | Default HTML code to display when no ad is available (passback) |
description | form | string | no | Placement description |
disableAutoLinking | form | boolean | no | Disable automatic banner-to-placement linking |
displayType | form | string | no | Display type for application placements (VIEW, ACTIVITY) Values: VIEW, ACTIVITY. |
domainAsDefaultChannel | form | boolean | no | Use the site domain as the default channel parameter |
enableLinking | form | boolean | no | Enable banner-to-placement linking |
enablePricingOverride | form | boolean | no | Allow placement-level pricing to override campaign pricing |
enableRules | form | boolean | no | Enable advanced rules engine for this placement |
enableTargeting | form | boolean | no | Enable targeting rules for this placement |
fitContainer | form | boolean | no | Resize the ad creative to fit the placement container |
name | form | string | no | Placement name |
nativePreferences.contextSubType | form | string | no | Values: GENERAL, ARTICLE, VIDEO, AUDIO, IMAGE, UGC, SOCIAL, EMAIL, CHAT, SELLING, MARKETPLACE, REVIEWS. |
nativePreferences.contextType | form | string | no | Values: CONTENT_CENTRIC, SOCIAL_CENTRIC, PRODUCT. |
nativePreferences.iconSize.height | form | integer | no | Height in pixels |
nativePreferences.iconSize.width | form | integer | no | Width in pixels |
nativePreferences.imageSize.height | form | integer | no | Height in pixels |
nativePreferences.imageSize.width | form | integer | no | Width in pixels |
nativePreferences.placementType | form | string | no | Values: IN_THE_FEED_OF_CONTENT, IN_THE_ATOMIC_UNIT_OF_THE_CONTENT, OUTSIDE_THE_CORE_CONTENT, RECOMMENDATION_WIDGET. |
nativePreferences.requiredFields | form | array<string> | no | Values: ICON, IMAGE, VIDEO, TITLE, SUB_TITLE, DESCRIPTION, CALL_TO_ACTION, RATING, URL. |
nativePreferences.videoSize.height | form | integer | no | Height in pixels |
nativePreferences.videoSize.width | form | integer | no | Width in pixels |
operationBetweenRuleTypes | form | string | no | Logical operator between different targeting rule types (AND, OR) Values: AND, OR. |
piggybackStatus | form | string | no | Piggyback tracking status (ENABLED, DISABLED) Values: ENABLED, DISABLED. |
refreshInterval | form | integer | no | Ad refresh interval in seconds (0 = no refresh) |
rotateInterval | form | integer | no | Banner rotation interval in seconds (0 = no rotation) |
serverSideTrackersEnabled | form | boolean | no | Whether server-side trackers fire for this placement |
servingDomain | form | string | no | Ad-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 |
showBrandedOverlay | form | boolean | no | Show branded overlay on ads served in this placement |
size.adUnit | form | string | no | Deprecated — 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.height | form | integer | no | Height in pixels |
size.width | form | integer | no | Width in pixels |
thirdPartyNetworkLookupLimit | form | integer | no | Maximum number of third-party network lookups for daisy chaining (0-10) |
videoAdMaxDuration | form | integer | no | Maximum video ad duration in seconds |
videoAdMinDuration | form | integer | no | Minimum video ad duration in seconds |
videoAdSkipMin | form | integer | no | Minimum duration in seconds before skip button appears |
height | form | integer | no | Video player height in pixels |
maxPodDuration | form | integer | no | Maximum ad pod duration in seconds (0-1800) |
playbackControlsEnabled | form | boolean | no | Whether video player controls are visible |
playbackMute | form | boolean | no | Whether video playback starts muted |
playbackSkipAdButtonText | form | string | no | Text displayed on the skip-ad button |
playbackSkipAdCountdown | form | integer | no | Number of seconds before skip button appears (0-100) |
playbackSkipAdCountdownText | form | string | no | Text displayed during skip-ad countdown (%d is replaced with seconds) |
playbackSkipAdEnabled | form | boolean | no | Whether the skip-ad button is enabled |
playbackSkipAdExtraStyle | form | string | no | Extra CSS style for the skip-ad button |
playbackVolume | form | integer | no | Default playback volume percentage (0-100) |
waterfallExecuteRequestsToPlacementAmount | form | integer | no | Number of waterfall ad requests to execute per placement (0-10) |
waterfallIterateTimesThroughCreativesList | form | integer | no | Number of times to iterate through the creatives list (0-10) |
waterfallLinearAdBreakMaxShowAmount | form | integer | no | Maximum number of linear ads to show in one ad break (0-20) |
waterfallMaximalTimeout | form | integer | no | Maximum timeout in seconds for waterfall ad loading (0-300) |
waterfallMinimalTimeout | form | integer | no | Minimum timeout in seconds for waterfall ad loading (0-300) |
waterfallReturnCreativesInTheResponseAmount | form | integer | no | Number of creatives to return in the VAST response (0-20) |
width | form | integer | no | Video player width in pixels |
labels | form | array<string> | no | Label names to assign to this placement, comma-separated or repeated |
labelUpdateType | form | string | no | How to handle labels: ADD (default), OVERWRITE, REMOVE, or CLEAR Values: ADD, OVERWRITE, REMOVE, CLEAR. |
nativeAdapterTemplateId | form | string | no | Native 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. |
skipButtonEnabled | form | boolean | no | Whether to show the skip ad button on the video player. Omitted keeps the current value; a new placement starts with false |
skipButtonShowAfterSeconds | form | integer | no | Seconds before the skip button appears. Omitted keeps the current value; a new placement starts with 5 |
vmapMaxNumberOfPreRolls | form | integer | no | Maximum number of pre-roll ads in VMAP response. Omitted keeps the current value; a new placement starts with 2 |
vastDefaultAdTitle | form | string | no | Default VAST AdTitle value used when the banner has no title |
ssaiStitcher | form | string | no | Server-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. |
podSeparation | form | string | no | How 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. |
videoPlaybackMethod | form | array<string> | no | Playback 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. |
videoApiFramework | form | array<string> | no | API 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
Check why a banner does not serve on a placement.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
bannerId | query | integer | yes | The banner (creative) |
placementId | query | integer | yes | The placement it should serve on |
country | query | string | no | The 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
- REST API overview — authentication and conventions
- API endpoint reference by tag
- Entities — create, read, update, delete via API