Table of Contents |
---|
...
Creating a Supply Tag
SDK
Use tab completion with SDK to auto-complete function names or show field options!
Code Block | ||||
---|---|---|---|---|
| ||||
tag = springserve.supply_tags.new({'name': 'TEST API DOCS', 'rate': 0.02, 'demandjs_tagvpaid_prioritiesenabled':[{'demand_tag_id':30424, 'priority':1}]} false) print In [3]: print tag.ok, tag.idtag.ok, tag.id True, 28852 |
...
REST API
Method: POST
Endpoint URL: /api/v0/supply_tags
Notes: Note that for flat waterfalls, the tier parameter defaults to 1. Same goes for any demand tag included in demand_tag_priorities that does not specify the tier parameter.
REST API
POST /api/v0/supply_tags
Headers
Code Block |
---|
Content-Type application/json
Authorization "yourAuthToken" |
Body (example)
...
Required parameters: name, rate
Response
Status code 200
Code Block |
---|
{
'account_id': 1,
'active': True,
'allowed_player_sizes': [
's',
'm',
'l',
'u'
],
'country_codes': [],
'country_targeting': 'All',
'demand_tag_priorities': [
{
'demand_tag_id': 30424,
'locked': False,
'priority': 1,
'tier': 1
}
],
'detected_domain_targeting': False,
'detected_player_size_targeting': False,
'direct_connect': False,
'dma_codes': [],
'dma_targeting': 'All',
'domain_list_ids': [],
'domain_targeting': 'All',
'environment': 'desktop',
'flash_vpaid_enabled': False,
'id': 28852,
'js_vpaid_enabled': True,
'js_vpaid_flash_enabled': True,
'key_ids': [],
'name': 'TEST API DOCS',
'optimization': {
'active': True,
'learn_pct': '1.0',
'settings': {
'lookback_minutes': '60',
'metric': 'fill_speed',
'minimum_requests': '250'
},
'version': ''
},
'payment_terms': 'CPM',
'player_size_targeting': 'All',
'post_imp_detection_enabled': True,
'pre_bid_blocking_enabled': True,
'pre_bid_blocking_components': ['whiteops', 'springserve'],
'rate': '0.02',
'segment_user_as': [],
'supply_group_id': None,
'supply_partner_id': None,
'supply_type': None,
'tag_health': None,
'targeting_supply_ids': [],
'targeting_supply_white_list': '',
'timeout': None,
'tracking_player_cost': False,
'updated_at': '2017-07-07T15:17:28.315Z',
'user_agent_devices': [],
'user_agent_operating_systems': []
}
|
Get a Supply Tag
SDK
Code Block |
---|
In [1]: tag = springserve.supply_tags.get(28852)
In [2]: print tag.name
"TEST API DOCS" |
REST API
GET /api/v0/supply_tags/<id>
Headers
Code Block |
---|
Content-Type application/json
Authorization "yourAuthToken" |
Response
Status code 200
Code Block |
---|
{
...
'name': 'TEST API DOCS',
'rate': '0.02',
...
}
|
Edit a Supply Tag
SDK
...
name - (required, type: string) Name of the new supply tag.
rate
- (required, type: float) CPM rate of the new supply tag.
supply_partner_id - (required, type: int) ID of supply partner to be associated with.
js_vpaid_enabled - (required, type: boolean) Response type, JS VPAID or VAST Only
Request:
Code Block | ||||
---|---|---|---|---|
| ||||
POST /api/v0/supply_tags
Content-Type: application/json
Authorization: "yourAuthToken"
{
"name": "MS TEST API DOCS",
"rate": 0.02,
"js_vpaid_enabled": false
} |
Response:
Code Block | ||||
---|---|---|---|---|
| ||||
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": 730124,
"account_id": 391,
"name": "TEST API DOCS",
"active": true,
"rate": "0.02",
"js_vpaid_enabled": false,
.......
} |
...
Examples
Python Example
Code Block | ||||
---|---|---|---|---|
| ||||
import requests
import json
url = "https://console.springserve.com/api/v0/supply_tags/"
payload = json.dumps({
"name": "TEST API DOCS",
"rate": 10.25,
"js_vpaid_enabled": False
})
headers = {
'Authorization': 'yourAuthToken',
'Content-Type': 'application/json',
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text) |
NodeJS Example
Code Block | ||||
---|---|---|---|---|
| ||||
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://console.springserve.com/api/v0/supply_tags/',
'headers': {
'Authorization': 'yourAuthToken',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"name": "TEST API DOCS",
"rate": 10.25,
"js_vpaid_enabled": false
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
}); |
Get a Supply Tag
SDK
Use tab completion with SDK to auto-complete function names or show field options!
Code Block | ||||
---|---|---|---|---|
| ||||
tag = springserve.supply_tags.get(730124)
print tag.id, tag.name
730124, "TEST API DOCS" |
REST API
Method: GET
Endpoint URL: /api/v0/supply_tags/<id>
- id - (required, type: integer) ID of the supply tag.
Request:
Code Block | ||||
---|---|---|---|---|
| ||||
GET /api/v0/supply_tags/730124
Content-Type: application/json
Authorization: "yourAuthToken" |
Response:
Code Block | ||||
---|---|---|---|---|
| ||||
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 730124,
"account_id": 391,
"name": "TEST API DOCS",
"active": true,
"rate": "0.02",
.......
} |
...
Examples:
Python Example
Code Block | ||||
---|---|---|---|---|
| ||||
import requests
import json
url = "https://console.springserve.com/api/v0/supply_tags/730124"
payload = ""
headers = {
'Authorization': 'yourAuthToken',
'Content-Type': 'application/json'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text) |
NodeJS Example
Code Block | ||||
---|---|---|---|---|
| ||||
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://console.springserve.com/api/v0/supply_tags/730124',
'headers': {
'Authorization': 'yourAuthToken',
'Content-Type': 'application/json'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
}); |
Edit a Supply Tag
SDK
Code Block | ||||
---|---|---|---|---|
| ||||
tag = springserve.supply_tags.get(28852) In [2]: tag.name = "I want to change the name" In [3]: changed = tag.save() In [4]: changed.ok Out [4]: True In [5]: print changed.name "I want to change the name" |
Note that when enabling post_imp_detection, you must also set at least one of post_imp_percentage_whiteops, post_imp_percentage_moat, post_imp_percentage_ias to >0 before saving your changes.
REST API
...
PUT
Method: PATCH
Endpoint URL: /api/v0/supply_tags/<id>
Headers
...
- id - (required, type: integer) ID of the supply tag.
Request:
Code Block | ||||
---|---|---|---|---|
| ||||
PATCH /api/v0/supply_tags/730124 Content-Type: application/json Authorization: "yourAuthToken" |
Body (example)
{
...
{ "name": "I want to change the name" |
...
} |
Response:
Status code 200
Code Block | ||||
---|---|---|---|---|
Code Block | ||||
| ||||
HTTP/1.1 200 OK Content-Type: application/json { "id": 730124, "account_id": 391, "name": "I want to change the name',", "active": true, '"rate'": '"0.02'", ....... } |
...
Add Demand to a Supply Tag
SDK
Code Block | ||||
---|---|---|---|---|
| ||||
tag = springserve.supply_tags.get(123456) In [3]: tag.demand_tag_priorities = [{'demand_tag_id':2345}] In [4]: saved_tag = tag.save() In [5]: print saved_tag.ok, saved_tag.demand_tag_priorities True, [{'demand_tag_id':2345}] |
REST API
PUT Method: PATCH
Endpoint URL: /api/v0/supply_tags/<id>
Headers
Content-Type application/json
Authorization "yourAuthToken"
Body (example)
{
...
Notes - You will need to pass back other demand_tag_priorities
...
}
Response
Status code 200
...
objects in order to not delete them
- id - (required, type: integer) ID of the supply tag.
Request:
Code Block | ||||
---|---|---|---|---|
| ||||
PATCH /api/v0/supply_tags/730124 Content-Type: application/json Authorization: "yourAuthToken" { "demand_tag_idpriorities": 2345, [ "priority": 1, { "tier": 1, "locked": false, "ratio": null, "slot_number": null, "slot_orderdemand_tag_id": null1110673 } ...] } |
Duplicate a Supply Tag
Please note that this works for both Managed and Direct Connect tags.
SDK
Code Block |
---|
In [1]: tag = springserve.supply_tags.get(28852)
In [2]: dupe = tag.duplicate()
In [4]: dupe.ok
Out [4]: True
In [5]: print dupe.id
65034 |
REST API
GET /api/v0/supply_tags/<id>/duplicate
Headers
Code Block |
---|
Content-Type application/json
Authorization "yourAuthToken" |
Response
Status code 200
Code Block |
---|
{
...
'id': 65034,
'name': 'I want to change the name',
'rate': '0.02',
...
} |
Create a Direct Connect Supply Tag
SDK
Code Block |
---|
In [1]: import springserve
In [2]: tag = springserve.connected_supply.new({'direct_connect':'true', 'supply_partner_id':10000, 'name': 'TEST API DC', 'rate': 0.02, 'demand_tag_priorities':[{'demand_tag_id':30420, 'priority':1}]})
In [3]: print tag.ok, tag.id
True, 28852 |
Note that for flat waterfalls, the tier parameter defaults to 1. Same goes for any demand tag included in demand_tag_priorities that does not specify the tier parameter.
REST API
POST /api/v0/connected_supply
Headers
Code Block |
---|
Content-Type application/json
Authorization "yourAuthToken" |
Body (example)
...
{
"name": "TEST API DC",
"direct_connect":true,
"supply_partner_id":10000,
"rate": 0,
"demand_tag_priorities":[{"demand_tag_id":30424, "priority":1}]
}
...
Response
Status code 200
Code Block |
---|
{
'account_id': 1,
'active': True,
'allowed_player_sizes': [
's',
'm',
'l',
'u'
],
'country_codes': [],
'country_targeting': 'All',
'demand_tag_priorities': [
{
'demand_tag_id': 30424,
'locked': False,
'priority': 1,
'tier': 1
}
],
'detected_domain_targeting': False,
'detected_player_size_targeting': False,
'direct_connect': False,
'dma_codes': [],
'dma_targeting': 'All',
'domain_list_ids': [],
'domain_targeting': 'All',
'environment': 'desktop',
'flash_vpaid_enabled': False,
'id': 65034,
'js_vpaid_enabled': True,
'js_vpaid_flash_enabled': True,
'key_ids': [],
'name': 'I want to change the name',
'optimization': {
'active': True,
'learn_pct': '1.0',
'settings': {
'lookback_minutes': '60',
'metric': 'fill_speed',
'minimum_requests': '250'
},
'version': ''
},
'payment_terms': 'CPM',
'player_size_targeting': 'All',
'post_imp_detection_enabled': True,
'pre_bid_blocking_enabled': True,
'pre_bid_blocking_components': ['whiteops', 'springserve'],
'rate': '0',
'segment_user_as': [],
'supply_group_id': None,
'supply_partner_id': None,
'supply_type': None,
'tag_health': None,
'targeting_supply_ids': [],
'targeting_supply_white_list': '',
'timeout': None,
'tracking_player_cost |
Response:
Code Block | ||||
---|---|---|---|---|
| ||||
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 730124,
"account_id": 391,
"name": "I want to change the name",
.......
"demand_tag_priorities": [
{
"demand_tag_id": 1110673,
"priority": 1,
"tier": 1,
"locked": false,
"ratio": null,
"slot_number": 0,
"slot_order": "n/a"
}
}
.......
} |
Duplicate a Supply Tag
Please note that this works for both Managed and Direct Connect tags.
SDK
Code Block |
---|
In [1]: tag = springserve.supply_tags.get(28852)
In [2]: dupe = tag.duplicate()
In [4]: dupe.ok
Out [4]: True
In [5]: print dupe.id
65034 |
REST API
GET /api/v0/supply_tags/<id>/duplicate
Headers
Code Block |
---|
Content-Type application/json
Authorization "yourAuthToken" |
Response
Status code 200
Code Block |
---|
{
...
'id': 65034,
'name': 'I want to change the name',
'rate': '0.02',
...
} |
Create a Direct Connect Supply Tag
SDK
Code Block |
---|
In [1]: import springserve
In [2]: tag = springserve.connected_supply.new({'direct_connect':'true', 'supply_partner_id':10000, 'name': 'TEST API DC', 'rate': 0.02, 'demand_tag_priorities':[{'demand_tag_id':30420, 'priority':1}]})
In [3]: print tag.ok, tag.id
True, 28852 |
Note that for flat waterfalls, the tier parameter defaults to 1. Same goes for any demand tag included in demand_tag_priorities that does not specify the tier parameter.
REST API
POST /api/v0/connected_supply
Headers
Code Block |
---|
Content-Type application/json
Authorization "yourAuthToken" |
Body (example)
{ |
Required parameters: name, demand_tag_priorities, supply_partner_id, direct_connect, rate
Response
Status code 200
Code Block |
---|
{ 'account_id': 1, 'active': True, 'allowed_player_sizes': [ 's', 'm', 'l', 'u' ], 'country_codes': [], 'country_targeting': 'All', 'demand_tag_priorities': [ { 'demand_tag_id': 30424, 'locked': False, 'priority': 1, 'tier': 1 } ], 'detected_domain_targeting': False, 'detected_player_size_targeting': False, 'updateddirect_atconnect': '2017-07-07T15:17:28.315Z'False, 'userdma_agent_devicescodes': [], 'user_agent_operating_systemsdma_targeting': 'All', 'domain_list_ids': [] } |
Enabling a Supply Tag for Open Market
SDK
Code Block |
---|
In [1]: import springserve
In [2]: tag = springserve.supply_tags.get(123456)
In [3]: tag.open_market_enabled = True
In [4]: saved_tag = tag.save()
In [5]: print saved_tag.ok, saved_tag.id
True, 123456 |
REST API
PATCH /api/v0/supply_tags/<id>
Headers
Code Block |
---|
Content-Type application/json
Authorization "yourAuthToken" |
Body (example)
...
{
"open_market_enabled": "True"
}
Response
Status code 200
Code Block |
---|
{ "id": 123456, "account_id": 1, "name": "Supply Tag with Open Market", "active": true, "rate": "1.0", "domain_targeting": "All", "app_name_targeting": "All", "app_bundle_targeting": "All", "ip_targeting": "All", "country_targeting": "All", "player_size_targeting": "All", "dma_targeting": "All", "allowed_player_sizes": [ "xs", "s", "m", "l", "xl", "u" ], "country_codes": [], "domain_list_ids": [], "app_name_list_ids": [], "app_bundle_list_ids": [], "ip_list_ids": [], "dma_codes": [], "user_agent_devices": [], "user_agent_operating_systems": [], "user_agent_browsers": [], "updated_at": "2019-09-27T21:02:53.466Z", "created_at": "2019-05-14T20:25:01.156Z", "direct_connect": false, "supply_label_ids": [], "supply_partner_id": 244, "supply_type": null, "payment_terms": "CPM", "tracking_player_cost": false, "optimization": { "active": true, "version": null, "learn_pct": "1.0", "mode": "white_box", "settings": { "metric": "opportunity_fill", "lookback_minutes": "60", 'domain_targeting': 'All', 'environment': 'desktop', 'flash_vpaid_enabled': False, 'id': 65034, 'js_vpaid_enabled': True, 'js_vpaid_flash_enabled': True, 'key_ids': [], 'name': 'I want to change the name', 'optimization': { 'active': True, 'learn_pct': '1.0', 'settings': { 'lookback_minutes': '60', 'metric': 'fill_speed', 'minimum_requests': '250' }, 'version': '' }, 'payment_terms': 'CPM', 'player_size_targeting': 'All', 'post_imp_detection_enabled': True, 'pre_bid_blocking_enabled': True, 'pre_bid_blocking_components': ['whiteops', 'springserve'], 'rate': '0', 'segment_user_as': [], 'supply_group_id': None, 'supply_partner_id': None, 'supply_type': None, 'tag_health': None, 'targeting_supply_ids': [], 'targeting_supply_white_list': '', 'timeout': None, 'tracking_player_cost': False, 'updated_at': '2017-07-07T15:17:28.315Z', 'user_agent_devices': [], 'user_agent_operating_systems': [] } |
Enabling a Supply Tag for Open Market
SDK
Code Block |
---|
In [1]: import springserve
In [2]: tag = springserve.supply_tags.get(123456)
In [3]: tag.open_market_enabled = True
In [4]: saved_tag = tag.save()
In [5]: print saved_tag.ok, saved_tag.id
True, 123456 |
REST API
PATCH /api/v0/supply_tags/<id>
Headers
Code Block |
---|
Content-Type application/json
Authorization "yourAuthToken" |
Body (example)
|
Response
Status code 200
Code Block |
---|
{ "id": 123456, "account_id": 1, "name": "Supply Tag with Open Market", "active": true, "rate": "1.0", "domain_targeting": "All", "app_name_targeting": "All", "app_bundle_targeting": "All", "ip_targeting": "All", "country_targeting": "All", "player_size_targeting": "All", "dma_targeting": "All", "allowed_player_sizes": [ "xs", "s", "m", "l", }"xl", }, "timeout": nullu" ], "environmentcountry_codes": "desktop"[], "jsdomain_vpaidlist_enabledids": false[], "detectedapp_name_domainlist_targetingids": false[], "detectedapp_playerbundle_sizelist_targetingids": false[], "targetingip_supplylist_ids": [], "targeting_supply_white_listdma_codes": ""[], "postuser_impagent_detection_enableddevices": false[], "postuser_impagent_percentageoperating_whiteopssystems": 0[], "postuser_impagent_percentage_iasbrowsers": 0[], "post_imp_percentage_moatupdated_at": 0"2019-09-27T21:02:53.466Z", "post_imp_percentage_protectedcreated_at": 0"2019-05-14T20:25:01.156Z", "post_imp_percentage_forensiqdirect_connect": 0false, "presupply_bidlabel_blocking_enabledids": false[], "presupply_bidpartner_blocking_componentsid": []244, "tagsupply_healthtype": null, "keypayment_idsterms": []"CPM", "vpaidtracking_none_allow_vpaid_demandplayer_cost": truefalse, "rpm_flooroptimization": { "1.2"active": true, "rpm_floor_openrtb "version": truenull, "openrtblearn_floorpct": "1.20", "tier_0_broadfallmode": true,"white_box", "tier_1_broadfallsettings": true,{ "tier_2_broadfall": true, "tier_3_broadfallmetric": true"opportunity_fill", "tier_4_broadfall": true, "tierlookback_5_broadfallminutes": true,"60" } }, "vast_versiontimeout": "3.0"null, "min_aspect_ratioenvironment": null"desktop", "maxjs_aspectvpaid_ratioenabled": nullfalse, "bulkdetected_adddomain_enabledtargeting": truefalse, "formatdetected_player_size_targeting": "video"false, "allowtargeting_trafficsupply_exclusionsids": true[], "opentargeting_supply_marketwhite_enabledlist": true"", "autopost_addimp_externaldetection_biddersenabled": false, "evaluationpost_imp_learnpercentage_pctwhiteops": "50.0", "tag_pixelspost_imp_percentage_ias": []0, "demandpost_imp_tagpercentage_prioritiesmoat": [0, "post_imp_percentage_protected": 0, { "post_imp_percentage_forensiq": 0, "demand_tag_id"pre_bid_blocking_enabled": 21892false, "pre_bid_blocking_components": [], "prioritytag_health": 1null, "key_ids": [], "tiervpaid_none_allow_vpaid_demand": 0true, "rpm_floor": "1.2", "lockedrpm_floor_openrtb": falsetrue, "openrtb_floor": "1.2", } ]"tier_0_broadfall": true, "givetier_up1_percentsbroadfall": []true, "budgetstier_2_broadfall": []true, "frequencytier_3_capsbroadfall": []true, "opentier_market4_external_biddersbroadfall": [true, "tier_5_broadfall": true, { "vast_version": "3.0", "othermin_accountaspect_idratio": 20null, "max_aspect_ratio": null, "openrtbbulk_add_floorenabled": nulltrue, }"format": "video", "allow_traffic_exclusions": true, { "open_market_enabled": true, "otherauto_add_accountexternal_idbidders": 23false, "evaluation_learn_pct": "50.0", "openrtbtag_floorpixels": null[], },"demand_tag_priorities": [ { "otherdemand_accounttag_id": 2721892, "openrtb_floorpriority": null1, }, "tier": 0, { "other_account_id"locked": 14,false } ], "openrtbgive_up_floorpercents": null[], "budgets": [], }, "frequency_caps": [], "open_market_external_bidders": [ { "other_account_id": 5520, "openrtb_floor": null }, { "other_account_id": 5623, "openrtb_floor": null }, { "other_account_id": 2827, "openrtb_floor": null }, { "other_account_id": 1514, "openrtb_floor": null }, { "other_account_id": 355, "openrtb_floor": null }, { "other_account_id": 5856, "openrtb_floor": null }, { "other_account_id": 4628, "openrtb_floor": null }, { "other_account_id": 415, "openrtb_floor": null }, { "other_account_id": 623, "openrtb_floor": null }, { "other_account_id": 1758, "openrtb_floor": null }, { "other_account_id": 6546, "openrtb_floor": null }, { "other_account_id": 644, "openrtb_floor": null }, { "other_account_id": 8062, "openrtb_floor": null }, { "other_account_id": 7917, "openrtb_floor": null }, { "other_account_id": 8165, "openrtb_floor": null }, ] } |
NOTE: Enabling Open Market in the API without specifying bidders will add all eligible bidders.
Adding Event Pixels to a Supply Tag
SDK
Code Block |
---|
In [1]: import springserve In [2]: tag = springserve.supply_tags.get(123456) In [3]: tag.tag_pixels = [{'pixel_type':'AdImpression', 'pixel_url':'https://springserve.com/', 'pixel_format':'image'}] In [4]: saved_tag = tag.save() In [5]: print saved_tag.ok, saved_tag.tag_pixels True, [{'id': 244, 'pixel_type': 'AdImpression', 'pixel_url': 'https://springserve.com/', 'pixel_format': 'image', 'created_at': '2021 { "other_account_id": 64, "openrtb_floor": null }, { "other_account_id": 80, "openrtb_floor": null }, { "other_account_id": 79, "openrtb_floor": null }, { "other_account_id": 81, "openrtb_floor": null } ] } |
NOTE: Enabling Open Market in the API without specifying bidders will add all eligible bidders.
Adding Event Pixels to a Supply Tag
SDK
Code Block |
---|
In [1]: import springserve
In [2]: tag = springserve.supply_tags.get(123456)
In [3]: tag.tag_pixels = [{'pixel_type':'AdImpression', 'pixel_url':'https://springserve.com/',
'pixel_format':'image'}]
In [4]: saved_tag = tag.save()
In [5]: print saved_tag.ok, saved_tag.tag_pixels
True, [{'id': 244, 'pixel_type': 'AdImpression', 'pixel_url': 'https://springserve.com/',
'pixel_format': 'image', 'created_at': '2021-03-19T14:30:06.675Z'}] |
The fields for 'pixel_type' are the following:
Impression: 'AdImpression'
Start: 'AdVideoStart'
1st Quartile: 'AdVideoFirstQuartile'
Midpoint: 'AdVideoMidpoint'
3rd Quartile: 'AdVideoThirdQuartile'
Complete: 'AdVideoComplete'
Click: 'AdClickThru'
...
Fields for 'pixel_format':
Image URL: 'image'
Javascript URL: 'js'
REST API
PATCH /api/v0/supply_tags/<id>
...
Adding Open Market Bidders to a Supply Tag
SDK
Code Block |
---|
In [1]: import springserve In [2]: tag = springserve.supply_tags.get(123456) In [3]: tag.open_market_external_bidders = [{'other_account_id':58},{'openrtb_floor': 2.2, 'other_account_id':4},{'other_account_id':28}] In [4]: saved_tag = tag.save() In [5]: print saved_tag.ok, saved_tag.id True, 123456 |
The 'other_account_id' represents the bidder account id to add to the open market for this supply tag. There's an optional 'openrtb_floor' field that allows you to set a specific floor for a bidder (otherwise, the default Open Market floor is used).
REST API
PATCH /api/v0/supply_tags/<id>
...
Adding Pods to a Supply Tag
SDK
Code Block |
---|
In [1]: import springserve In [2]: tag = springserve.supply_tags.get(123456) In [3]: tag.pod = {'max_duration': 300, 'custom_ad_slot_duration': True,'unfilled_slot_opt_out_enabled': False, 'ad_slots': [{ 'position': 3 }, { 'position': 2 }, { 'position': 1 }] } In [4]: saved_tag = tag.save() In [5]: print saved_tag.ok, saved_tag.id True, 123456 |
...
To EDIT a pod you have to add the pod id to the request
REST API
PUT /api/v0/supply_tags/<id>
...
Object Name | Value Type | Object Description | Example | Notes | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | integer | supply tag ID | 25530 | ||||||||||||||||||||||||||||
account_id | integer | account ID | 391 | ||||||||||||||||||||||||||||
name | string | supply tag name | "API Example Router" | ||||||||||||||||||||||||||||
active | boolean | status of supply tag | true / false | ||||||||||||||||||||||||||||
rate | integer | rate | 70 / 10.2 | See "payment_terms" CPM - CPM rate paid for inventory. CPM Rev Share - rate at which you pay revenue share for inventory. % Dynamic - margin added to demand. % | |||||||||||||||||||||||||||
payment_terms | string | payment terms | "Rev-Share" / "CPM" / "Dynamic" | Dynamic - Pricing will be passed via the {{PRICE_PAID}} macro. Please make sure this macro is implemented in your exported tag. Price must be a CPM value. | |||||||||||||||||||||||||||
rpm_floor | integer | RPM floor rate | 12.24 | ||||||||||||||||||||||||||||
rpm_floor_openrtb | boolean | DC OM floor active | true / false | DC only | |||||||||||||||||||||||||||
rpm_floor_hb | boolean | apply floor to header bidder demand | true / false | ||||||||||||||||||||||||||||
openrtb_floor | integer | DC OM floor rate | 13.24 | DC only | |||||||||||||||||||||||||||
environment | string | supply device environment type | "desktop" / "mobile_web" / "in_app" / "ctv" | ||||||||||||||||||||||||||||
domain_targeting | string | domain targeting type | "All" / "Allowlist" / "Blocklist" | use for environment "desktop" or "mobile_web". use in conjunction with domain_list_ids | |||||||||||||||||||||||||||
domain_list_ids | array integer | ID of domain lists | [211852, 123456] | created under targeting tab in UI. use in conjunction with domain_targeting | |||||||||||||||||||||||||||
app_name__targeting | string | app name targeting type | "All" / "Allowlist" / "Blocklist" | use for environment "in_app" or "ctv". use in conjunction with app_name_list_ids | |||||||||||||||||||||||||||
app_name_list_ids | array | ID of app name lists | [527, 5352] | created under targeting tab in UI. use in conjunction with app_name_targeting | |||||||||||||||||||||||||||
app_bundle_targeting | string | app bundle targeting active | "All" / "Allowlist" / "Blocklist" | use for environment "in_app" or "ctv". use in conjunction with app_bundle_list_ids | |||||||||||||||||||||||||||
app_bundle_list_ids | array integer | ID of app bundle lists | [250761, 247375] | created under targeting tab in UI. use in conjunction with app_bundle_targeting | |||||||||||||||||||||||||||
ip_targeting | string | IP targeting active | "All" / "Allowlist" / "Blocklist" | use in conjunction with ip_list_ids | |||||||||||||||||||||||||||
ip_list_ids | array integer | ID of IP lists | [164, 907] | created under targeting tab in UI. use in conjunction with ip_targeting | |||||||||||||||||||||||||||
advertiser_domain_targeting | string | advertiser domain targeting type | "All" / "Allowlist" / "Blocklist" | use in conjunction with advertiser_domain_list_ids | |||||||||||||||||||||||||||
advertiser_domain_list_ids | array integer | ID of advertiser domain lists | [433, 484] | created under targeting tab in UI. use in conjunction with advertiser_domain_targeting | |||||||||||||||||||||||||||
blocking_unknown_advertiser_domains | boolean | toggle to block unknown advertiser domains | true / false | Blocks all SSHB and Open Market demand tags that don't return an Advertiser Domain in the VAST response | |||||||||||||||||||||||||||
ignore_advertiser_domain_targeting | boolean | advertiser domain target override | true / false | pod settings removes all advertiser domain targeting, allowing all to serve. sets duplicate creatives to allowed. | |||||||||||||||||||||||||||
pod | object | pod settings | { "id": 67830, "max_duration": 300, "custom_ad_slot_duration": false, "unfilled_slot_opt_out_enabled": true, "max_unfilled_slots": 2, "duplicate_creatives": true, "duplicate_adomains": true, "ad_slots": [ { "id": 36713, "position": 3, "min_duration": 10, "max_duration": 30 }, { "id": 36712, "position": 2, "min_duration": 10, "max_duration": 30 }, { "id": 36711, "position": 1, "min_duration": 10, "max_duration": 30 } ] } | default - null "custom_ad_slot_duration" - defines dynamic pod or predefined pod settings true - custom ad slot duration false - dynamic ad slot duration | |||||||||||||||||||||||||||
waterfall_slot_build | boolean | waterfall build | true / false | build waterfall as slot or tag true - slot false - tag | |||||||||||||||||||||||||||
allow_duplicate_creatives | boolean | allow duplicate creatives | true / false | pod settings | |||||||||||||||||||||||||||
allow_duplicate_adomains | boolean | allow duplicate advertiser domains | true / false | pod settings | |||||||||||||||||||||||||||
ignore_iab_targeting | boolean | IAB category targeting override | true / false | pod settings allows all categories to serve | |||||||||||||||||||||||||||
creative_brandsafe_override | boolean | allow non brand safe creatives to serve | true / false | brand safe blocks by default - gambling, nicotine replacement, lingerie, weapons/warfare, contraception | |||||||||||||||||||||||||||
creative_allow_objectionable | boolean | allow restricted audience ads | true / false | restricted blocks by default - violence, sexual content, weightloss, political | |||||||||||||||||||||||||||
post_imp_detection_enabled | boolean | post impression detection active | true / false | specify the portion of impressions on which to run verification. sampling rates are independant per verification provider. use in conjunction with below post_imp_percentage fields | |||||||||||||||||||||||||||
post_imp_percentage_whiteops | integer | post impression percentage Whiteops (HUMAN) | 0 - 100 | use in conjunction with below post_imp_detection_enabled | |||||||||||||||||||||||||||
post_imp_percentage_ias | integer | post impression percentage IAS | 0 - 100 | use in conjunction with below post_imp_detection_enabled | |||||||||||||||||||||||||||
post_imp_percentage_moat | integer | post impression percentage MOAT | 0 - 100 | use in conjunction with below post_imp_detection_enabled | |||||||||||||||||||||||||||
post_imp_percentage_protected | integer | post impression percentage Protected | 0 - 100 | use in conjunction with below post_imp_detection_enabled | |||||||||||||||||||||||||||
post_imp_percentage_forensiq | integer | post impression percentage ForensIQ | 0 - 100 | use in conjunction with below post_imp_detection_enabled | pre_bid_blocking_enabled | boolean | pre-bid filtering active | true / false | |||||||||||||||||||||||
pre_bid_blocking_components | array string | pre-bid filtering providers | ["springserve", "whiteops", "protected"] | specify percentages using post_imp_percentage for providers | |||||||||||||||||||||||||||
key_ids | array integer | KVPs included in reporting | [2102, 3124] | max 15 reporting keys per router | note | string | notes | "notes about router" | |||||||||||||||||||||||
min_aspect_ratio | string | min aspect ratio as float | "0.563" | 9:16 (0.56) | |||||||||||||||||||||||||||
max_aspect_ratio | string | max aspect ratio as float | "1.777" | 16:9 (1.78) | format | string | ad format type | "video" / "tile" / "audio" | third_party_overrides | boolean | n/a | ||||||||||||||||||||
player_sizes | array integer | player size targeting | ["xs", "s", "m", "l", "xl", "u"] | ||||||||||||||||||||||||||||
user_agent_devices | array string | allowed device targeting | ["Computer", "Mobile Web", "Mobile In-app", "Tablet Web", "Tablet In-app", "Games Console", "CTV", "Set-top Box", "Other"] | [] - empty array targets all devices | |||||||||||||||||||||||||||
user_agent_brands | array string | allowed device brand targeting | ["Samsung", "Philips", "Panasonic", "Hisense", "Vizio", "Sanyo", "Magnavox", "Android TV", "LG", "Comcast", "Other Connected TV", "Apple TV", "Roku", "Fire TV", "Chromecast", "Smartcast by Vizio"] | [] - empty array targets all brands | |||||||||||||||||||||||||||
user_agent_operating_systems | array string | allowed OS targeting | ["Android", "iOS", "Linux", "Windows", "Mac OS X", "Chrome OS", "Fire OS", "Xbox OS", "VIZIO SmartCast", "Tizen", "Roku OS", "webOS TV", "Other"] | [] - empty array targets all operating systems | |||||||||||||||||||||||||||
user_agent_browsers | array string | allow browser targeting | ["Chrome", "Edge", "Firefox", "Safari", "IE", "Chromium", "Chrome Mobile", "WebView", "Android", "Samsung Browser", "Facebook on Android", "Facebook on iOS", "Mobile Safari", "Roku App"] | [] - empty array targets all browsers | |||||||||||||||||||||||||||
segment_targeting_enabled | boolean | audience segment targeting active | true / false | use in conjunction with segment_groups | |||||||||||||||||||||||||||
segment_groups | array object | audience segment targeting groups and types | [ { "id": 28839, "group": "1", "white_list": true, "segment_group_type": "segments", "segment_ids": [ 10869, 10004 ], "partner_segment_ids": [] } ] | use multiple groups for OR targeting and same group for AND targeting. "whitelist": true/false, for allow or block user segments | media_file_mime_type_targeting | boolean | mime type targeting | true / false | media_file_mime_types | array string | allowed mime types | ["application/dash+xml", "application/javascript", "application/json", "application/octet-stream", "application/vnd.apple.mpegurl", "application/x-mpegURL", "application/x-shockwave-flash", "video/3gpp", "video/hls", "video/m3u8", "video/mov", "video/mp4", "video/mpeg", "video/ogg", "video/quicktime", "video/webm", "video/wmv", "video/x-flv", "video/x-m4v", "video/x-ms-wmv"] | blocking_unknown_media_file_mime_type | boolean | block unknown mime types | true / false | |||||||||||||||
media_file_duration_targeting | boolean | media file targeting active | true / false | set media_file_min_duration and media_file_max_duration to null for all durations when false. specify min and max durations for true | |||||||||||||||||||||||||||
media_file_min_duration | integer | media file targeting min duration | 10 / null | unit:seconds | |||||||||||||||||||||||||||
media_file_max_duration | integer | media file targeting max duration | 30 / null | unit:seconds | blocking_unknown_media_file_duration | boolean | block unknown durations toggle | true / false | |||||||||||||||||||||||
media_file_bit_rate_targeting | boolean | media file bitrate targeting active | true / false | set media_file_min_bit_rate and media_file_max_bit_rate to null for all bitrates when false. specify min and max bitrates for true | |||||||||||||||||||||||||||
media_file_min_bit_rate | integer | media file bitrate targeting min bitrate | 1000 / null | unit:kbps | |||||||||||||||||||||||||||
media_file_max_bit_rate | integer | media file bitrate targeting max bitrate | 5000 / null | unit:kbps | blocking_unknown_media_file_bit_rate | boolean | block unknown bitrates toggle | true / false | targeted_macros_enabled | boolean | content attribute targeting active | true / false | |||||||||||||||||||
targeted_macros | array object | content attribute targeting | [ { "id": 20135, "macro_param": "{{CHANNEL_NAME}}", "list_type": "white_list", "source_type": "values", "targeted_values": [ "12345" ], "parameter_list_ids": [], "param_required": false, "created_at": "2023-07-18T11:41:40.835Z" } ] | "source_type": "values" / "lists" for lists use "parameter_list_ids" to specify id's | blocking_unknown_media_containers | boolean | block unknown media containers | true / false | media_file_media_container_targeting | boolean | allowed media containers targeting active | true / false | media_file_media_containers | array string | allowed media containers | [ "MPEG-41", "MPEG-42" ] | media_file_audio_volume_targeting | boolean | media file audio volume targeting active | true / false | |||||||||||
media_file_audio_volume_mean | integer | media file audio volume targeting mean volume | -17 | unit: dBs | blocking_unknown_media_file_audio_volume | boolean | block unknown media file audio volume | true / false | blocking_vast_containing_companion_ads | boolean | block vast containing companion ads | true / false | |||||||||||||||||||
removing_companion_ads_from_vast | boolean | remove companion ads from vast containing companion ads | true / false | blocking_vast_containing_companion_ads supersedes removing_companion_ads_from_vast | |||||||||||||||||||||||||||
country_source | string | country targeting source | "list" / "values" | use in conjunction with either country_list_ids if value is "lists" or country_codes if value is "values" | |||||||||||||||||||||||||||
country_list_ids | array integer | ID of country lists | [184] | use in conjunction with country_source with value "lists". | |||||||||||||||||||||||||||
country_white_list | boolean | country targeting include / exclude | true / false | true - include false - exclude | |||||||||||||||||||||||||||
country_codes | array string | country code | ["UK", "US", "IT"] | ISO 3166 Alpha-2 codes | |||||||||||||||||||||||||||
dma_source | string | DMA targeting source | "list" / "values" | use in conjunction with either country_list_ids if value is "lists" or country_codes if value is "values" | |||||||||||||||||||||||||||
dma_list_ids | array integer | ID of DMA lists | [199] | use in conjunction with country_source with value "lists". | |||||||||||||||||||||||||||
dma_white_list | boolean | DMA targeting include / exclude | true / false | true - include false - exclude | dma_codes | array integer | DMA ID | [525] | postal_code_targeting | string | postal code targeting type | "All" / "Include" / "Exclude" | postal_codes | array string | postal code values | "10001", "GB:SW1A", "FR:75001", "AR:B1228" | |||||||||||||||
postal_code_source | string | postal code source | "values" / "lists" | use "values" for "postal_codes" or "lists" with "postal_code_list_ids" | postal_code_list_ids | array integer | postal code list | [1235] | |||||||||||||||||||||||
creative_language_allow_list | boolean | creative language targeting type | " " / true / false | " " - all true - allowlist false - blocklist | creative_language_codes | array string | creative language targeting list | ["en-GB", "en-US", "fr-FR"] | creative_language_block_unknown | boolean | block unknown creative language | true / false | supply_partner_id | integer | ID of supply partner assigned | 66463 | |||||||||||||||
supply_label_ids | array integer | supply label ID's | [1051] | Found on settings tab → More Info → Labels: | |||||||||||||||||||||||||||
supply_type | string | supply type | "null" / "Outstream" | "null" - instream "outstream" - outstream | |||||||||||||||||||||||||||
tracking_player_cost | boolean | track player costs based on player loads and not impressions | true / false | see "supply_type" for outstream specific setting | |||||||||||||||||||||||||||
direct_connect | boolean | direct connect status | true / false | see "supply_class" object | supply_class | integer | supply class | 1 / 2 / 3 | targeted_iab_category_white_list | boolean | IAB tier 1 targeting active | true (allowlist) / false (blocklist) / null (all categories) | |||||||||||||||||||
targeted_iab_categories | array string | IAB tier 1 category name | ["Automotive"] | IAB content taxonomy download | targeted_iab_tier2_categories_white_list | boolean | IAB tier 2 targeting active | true (allowlist) / false (blocklist) / null (all categories) | |||||||||||||||||||||||
targeted_iab_tier2_category | array string | IAB tier 2 category name | ["Auto Body Styles", "Automotive"] | IAB content taxonomy download | |||||||||||||||||||||||||||
dnt_values | array string | DNT (do not track) targeting , "min_duration": 10, "max_duration": 30 } ] } | default - null "custom_ad_slot_duration" - defines dynamic pod or predefined pod settings true - custom ad slot duration false - dynamic ad slot duration | ||||||||||||||||||||||||||||
waterfall_slot_build | boolean | waterfall build | true / false | build waterfall as slot or tag true - slot false - tag | |||||||||||||||||||||||||||
allow_duplicate_creatives | boolean | allow duplicate creatives | true / false | pod settings | |||||||||||||||||||||||||||
allow_duplicate_adomains | boolean | allow duplicate advertiser domains | true / false | pod settings | |||||||||||||||||||||||||||
ignore_iab_targeting | boolean | IAB category targeting override | true / false | pod settings allows all categories to serve | |||||||||||||||||||||||||||
creative_brandsafe_override | boolean | allow non brand safe creatives to serve | true / false | brand safe blocks by default - gambling, nicotine replacement, lingerie, weapons/warfare, contraception | |||||||||||||||||||||||||||
creative_allow_objectionable | boolean | allow restricted audience ads | true / false | restricted blocks by default - violence, sexual content, weightloss, political | |||||||||||||||||||||||||||
post_imp_detection_enabled | boolean | post impression detection active | true / false | specify the portion of impressions on which to run verification. sampling rates are independant per verification provider. use in conjunction with below post_imp_percentage fields | |||||||||||||||||||||||||||
post_imp_percentage_whiteops | integer | post impression percentage Whiteops (HUMAN) | 0 - 100 | use in conjunction with below post_imp_detection_enabled | |||||||||||||||||||||||||||
post_imp_percentage_ias | integer | post impression percentage IAS | 0 - 100 | use in conjunction with below post_imp_detection_enabled | |||||||||||||||||||||||||||
post_imp_percentage_moat | integer | post impression percentage MOAT | 0 - 100 | use in conjunction with below post_imp_detection_enabled | |||||||||||||||||||||||||||
post_imp_percentage_protected | integer | post impression percentage Protected | 0 - 100 | use in conjunction with below post_imp_detection_enabled | |||||||||||||||||||||||||||
post_imp_percentage_forensiq | integer | post impression percentage ForensIQ | 0 - 100 | use in conjunction with below post_imp_detection_enabled | |||||||||||||||||||||||||||
pre_bid_blocking_enabled | boolean | pre-bid filtering active | true / false | ||||||||||||||||||||||||||||
pre_bid_blocking_components | array string | pre-bid filtering providers | ["springserve", "whiteops", "protected"] | specify percentages using post_imp_percentage for providers | |||||||||||||||||||||||||||
key_ids | array integer | KVPs included in reporting | [2102, 3124] | max 15 reporting keys per router | |||||||||||||||||||||||||||
note | string | notes | "notes about router" | ||||||||||||||||||||||||||||
min_aspect_ratio | string | min aspect ratio as float | "0.563" | 9:16 (0.56) | |||||||||||||||||||||||||||
max_aspect_ratio | string | max aspect ratio as float | "1.777" | 16:9 (1.78) | |||||||||||||||||||||||||||
format | string | ad format type | "video" / "tile" / "audio" | ||||||||||||||||||||||||||||
third_party_overrides | boolean | n/a | |||||||||||||||||||||||||||||
player_sizes | array integer | player size targeting | ["xs", "s", "m", "l", "xl", "u"] | ||||||||||||||||||||||||||||
user_agent_devices | array string | allowed device targeting | ["Computer", "Mobile Web", "Mobile In-app", "Tablet Web", "Tablet In-app", "Games Console", "CTV", "Set-top Box", "Other"] | [] - empty array targets all devices | |||||||||||||||||||||||||||
user_agent_brands | array string | allowed device brand targeting | ["Samsung", "Philips", "Panasonic", "Hisense", "Vizio", "Sanyo", "Magnavox", "Android TV", "LG", "Comcast", "Other Connected TV", "Apple TV", "Roku", "Fire TV", "Chromecast", "Smartcast by Vizio"] | [] - empty array targets all brands | |||||||||||||||||||||||||||
user_agent_operating_systems | array string | allowed OS targeting | ["Android", "iOS", "Linux", "Windows", "Mac OS X", "Chrome OS", "Fire OS", "Xbox OS", "VIZIO SmartCast", "Tizen", "Roku OS", "webOS TV", "Other"] | [] - empty array targets all operating systems | |||||||||||||||||||||||||||
user_agent_browsers | array string | allow browser targeting | ["Chrome", "Edge", "Firefox", "Safari", "IE", "Chromium", "Chrome Mobile", "WebView", "Android", "Samsung Browser", "Facebook on Android", "Facebook on iOS", "Mobile Safari", "Roku App"] | [] - empty array targets all browsers | |||||||||||||||||||||||||||
segment_targeting_enabled | boolean | audience segment targeting active | true / false | use in conjunction with segment_groups | |||||||||||||||||||||||||||
segment_groups | array object | audience segment targeting groups and types | [ { "id": 28839, "group": "1", "white_list": true, "segment_group_type": "segments", "segment_ids": [ 10869, 10004 ], "partner_segment_ids": [] } ] | use multiple groups for OR targeting and same group for AND targeting. "whitelist": true/false, for allow or block user segments | |||||||||||||||||||||||||||
media_file_mime_type_targeting | boolean | mime type targeting | true / false | ||||||||||||||||||||||||||||
media_file_mime_types | array string | allowed mime types | ["application/dash+xml", "application/javascript", "application/json", "application/octet-stream", "application/vnd.apple.mpegurl", "application/x-mpegURL", "application/x-shockwave-flash", "video/3gpp", "video/hls", "video/m3u8", "video/mov", "video/mp4", "video/mpeg", "video/ogg", "video/quicktime", "video/webm", "video/wmv", "video/x-flv", "video/x-m4v", "video/x-ms-wmv"] | ||||||||||||||||||||||||||||
blocking_unknown_media_file_mime_type | boolean | block unknown mime types | true / false | ||||||||||||||||||||||||||||
media_file_duration_targeting | boolean | media file targeting active | true / false | set media_file_min_duration and media_file_max_duration to null for all durations when false. specify min and max durations for true | |||||||||||||||||||||||||||
media_file_min_duration | integer | media file targeting min duration | 10 / null | unit:seconds | |||||||||||||||||||||||||||
media_file_max_duration | integer | media file targeting max duration | 30 / null | unit:seconds | |||||||||||||||||||||||||||
blocking_unknown_media_file_duration | boolean | block unknown durations toggle | true / false | ||||||||||||||||||||||||||||
media_file_bit_rate_targeting | boolean | media file bitrate targeting active | true / false | set media_file_min_bit_rate and media_file_max_bit_rate to null for all bitrates when false. specify min and max bitrates for true | |||||||||||||||||||||||||||
media_file_min_bit_rate | integer | media file bitrate targeting min bitrate | 1000 / null | unit:kbps | |||||||||||||||||||||||||||
media_file_max_bit_rate | integer | media file bitrate targeting max bitrate | 5000 / null | unit:kbps | |||||||||||||||||||||||||||
blocking_unknown_media_file_bit_rate | boolean | block unknown bitrates toggle | true / false | ||||||||||||||||||||||||||||
targeted_macros_enabled | boolean | content attribute targeting active | true / false | ||||||||||||||||||||||||||||
targeted_macros | array object | content attribute targeting | [ { "id": 20135, "macro_param": "{{CHANNEL_NAME}}", "list_type": "white_list", "source_type": "values", "targeted_values": [ "12345" ], "parameter_list_ids": [], "param_required": false, "created_at": "2023-07-18T11:41:40.835Z" } ] | "source_type": "values" / "lists" for lists use "parameter_list_ids" to specify id's | |||||||||||||||||||||||||||
blocking_unknown_media_containers | boolean | block unknown media containers | true / false | ||||||||||||||||||||||||||||
media_file_media_container_targeting | boolean | allowed media containers targeting active | true / false | ||||||||||||||||||||||||||||
media_file_media_containers | array string | allowed media containers | [ "MPEG-41", "MPEG-42" ] | ||||||||||||||||||||||||||||
media_file_audio_volume_targeting | boolean | media file audio volume targeting active | true / false | ||||||||||||||||||||||||||||
media_file_audio_volume_mean | integer | media file audio volume targeting mean volume | -17 | unit: dBs | |||||||||||||||||||||||||||
blocking_unknown_media_file_audio_volume | boolean | block unknown media file audio volume | true / false | ||||||||||||||||||||||||||||
blocking_vast_containing_companion_ads | boolean | block vast containing companion ads | true / false | ||||||||||||||||||||||||||||
removing_companion_ads_from_vast | boolean | remove companion ads from vast containing companion ads | true / false | blocking_vast_containing_companion_ads supersedes removing_companion_ads_from_vast | |||||||||||||||||||||||||||
country_source | string | country targeting source | "list" / "values" | use in conjunction with either country_list_ids if value is "lists" or country_codes if value is "values" | |||||||||||||||||||||||||||
country_list_ids | array integer | ID of country lists | [184] | use in conjunction with country_source with value "lists". | |||||||||||||||||||||||||||
country_white_list | boolean | country targeting include / exclude | true / false | true - include false - exclude | |||||||||||||||||||||||||||
country_codes | array string | country code | ["UK", "US", "IT"] | ISO 3166 Alpha-2 codes | |||||||||||||||||||||||||||
dma_source | string | DMA targeting source | "list" / "values" | use in conjunction with either country_list_ids if value is "lists" or country_codes if value is "values" | |||||||||||||||||||||||||||
dma_list_ids | array integer | ID of DMA lists | [199] | use in conjunction with country_source with value "lists". | |||||||||||||||||||||||||||
dma_white_list | boolean | DMA targeting include / exclude | true / false | true - include false - exclude | |||||||||||||||||||||||||||
dma_codes | array integer | DMA ID | [525] | ||||||||||||||||||||||||||||
postal_code_targeting | string | postal code targeting type | "All" / "Include" / "Exclude" | ||||||||||||||||||||||||||||
postal_codes | array string | postal code values | "10001", "GB:SW1A", "FR:75001", "AR:B1228" | ||||||||||||||||||||||||||||
postal_code_source | string | postal code source | "values" / "lists" | use "values" for "postal_codes" or "lists" with "postal_code_list_ids" | |||||||||||||||||||||||||||
postal_code_list_ids | array integer | postal code list | [1235] | ||||||||||||||||||||||||||||
creative_language_allow_list | boolean | creative language targeting type | " " / true / false | " " - all true - allowlist false - blocklist | |||||||||||||||||||||||||||
creative_language_codes | array string | creative language targeting list | ["en-GB", "en-US", "fr-FR"] | ||||||||||||||||||||||||||||
creative_language_block_unknown | boolean | block unknown creative language | true / false | ||||||||||||||||||||||||||||
supply_partner_id | integer | ID of supply partner assigned | 66463 | ||||||||||||||||||||||||||||
supply_label_ids | array integer | supply label ID's | [1051] | Found on settings tab → More Info → Labels: | |||||||||||||||||||||||||||
supply_type | string | supply type | "null" / "Outstream" | "null" - instream "outstream" - outstream | |||||||||||||||||||||||||||
tracking_player_cost | boolean | track player costs based on player loads and not impressions | true / false | see "supply_type" for outstream specific setting | |||||||||||||||||||||||||||
direct_connect | boolean | direct connect status | true / false | see "supply_class" object | |||||||||||||||||||||||||||
supply_class | integer | supply class | 1 / 2 / 3 | 1 - tag 2 - direct connect 3 - bidlink for 2 see "direct_connect" object | |||||||||||||||||||||||||||
targeted_iab_category_white_list | boolean | IAB tier 1 targeting active | true (allowlist) / false (blocklist) / null (all categories) | ||||||||||||||||||||||||||||
targeted_iab_categories | array string | IAB tier 1 category name | ["Automotive"] | IAB content taxonomy download | |||||||||||||||||||||||||||
targeted_iab_tier2_categories_white_list | boolean | IAB tier 2 targeting active | true (allowlist) / false (blocklist) / null (all categories) | ||||||||||||||||||||||||||||
targeted_iab_tier2_category | array string | IAB tier 2 category name | ["Auto Body Styles", "Automotive"] | IAB content taxonomy download | |||||||||||||||||||||||||||
dnt_values | array string | DNT (do not track) targeting | ["true", "false", "empty"] | ||||||||||||||||||||||||||||
dnt_param_required | boolean | DNT (do not track) parameter required | true / false | ||||||||||||||||||||||||||||
lmt_values | array string | LMT (limit tracking) targeting | ["true", "false", "empty"] | ||||||||||||||||||||||||||||
lmt_param_required | boolean | LMT (limit tracking) parameter required | ["true", "false", "empty"] | ||||||||||||||||||||||||||||
us_privacy_supply_white_list | boolean | US privacy targeting active | true / false | ||||||||||||||||||||||||||||
us_privacy_param_required | boolean | US privacy parameter required | true / false | ||||||||||||||||||||||||||||
us_privacy_values | array string | US privacy values | ["1yyy"] | ||||||||||||||||||||||||||||
gdpr_supply_param_required | boolean | supply from GDPR country flag required | true / false | ||||||||||||||||||||||||||||
gdpr_supply_values | array string | supply from GDPR country flag targeting values | ["true", "false", "empty"] | ||||||||||||||||||||||||||||
gdpr_consent_param_required | boolean | GDPR consent string parameter required | true / false | ||||||||||||||||||||||||||||
gdpr_consent_string_values | array string | GDPR consent string targeting | ["valid", "invalid", "empty"] | valid - valid consent string invalid - invalid consent string | |||||||||||||||||||||||||||
coppa_values | array string | allowed COPPA values | ["true", "false", "empty"] | ||||||||||||||||||||||||||||
dntcoppa_param_required | boolean | DNT (do not track) COPPA parameter required | true / false | ||||||||||||||||||||||||||||
lmt audited_creative_ statuses | array string | LMT (limit tracking) targeting | ["true", "false", "empty"] | lmt_param_required | boolean | LMT (limit tracking) parameter required | ["true", "false", "empty"] | us_privacy_supply_white_list | boolean | US privacy targeting active | true / false | us_privacy_param_required | boolean | US privacy parameter required | true / false | us_privacy_values | array string | US privacy values | ["1yyy"] | gdpr_supply_param_required | boolean | supply from GDPR country flag required | true / false | gdpr_supply_values | array string | supply from GDPR country flag targeting values | ["true", "false", "empty"] | gdpr_consent_param_required | boolean | GDPR consent string parameter required | true / false |
gdpr_consent_string_values | array string | GDPR consent string targeting | ["valid", "invalid", "empty"] | valid - valid consent string invalid - invalid consent string | coppa_values | array string | allowed COPPA values | ["true", "false", "empty"] | coppa_param_required | boolean | COPPA parameter required | true / false | audited_creative_statuses | array string | allowed audited creative statuses | ["pending", "approved", "rejected"] | |||||||||||||||
optimization | object | optimisation | { "active": true, "version": "", "learn_pct": "1.0", "mode": "black_box", "settings": { "metric": "rpm", "lookback_minutes": "60" } } | Recommended optimisation methods are RPM for singles ad requests and revenue per second for pods. | |||||||||||||||||||||||||||
timeout | integer | timeout of supply tag | null / 3000 | unit: ms null for default set this lower than player or supply partner timeout | js_vpaid_enabled | boolean | response type supported | true / false | |||||||||||||||||||||||
vpaid_none_allow_vpaid_demand | boolean | allow vpaid demand | true / false | if js_vpaid_enabled is true | vast_version | string | max VAST version supported | "3.0" / "2.0" | |||||||||||||||||||||||
obfuscate_ip_address_enabled | boolean | obfuscate IP | true / false | see obf_ip_flags | |||||||||||||||||||||||||||
obf_ip_flags | array string | obfuscate IP on opt out | ["coppa", "gdpr", "dnt"]allowed audited creative statuses | ["pending", "approved", "rejected"] | |||||||||||||||||||||||||||
optimization | object | optimisation | { "active": true, "version": "", "learn_pct": "1.0", "mode": "black_box", "settings": { "metric": "rpm", "lookback_minutes": "60" } } | Recommended optimisation methods are RPM for singles ad requests and revenue per second for pods. | |||||||||||||||||||||||||||
timeout | integer | timeout of supply tag | null / 3000 | unit: ms null for default set this lower than player or supply partner timeout | |||||||||||||||||||||||||||
js_vpaid_enabled | boolean | response type supported | true / false | ||||||||||||||||||||||||||||
vpaid_none_allow_vpaid_demand | boolean | allow vpaid demand | true / false | if js_vpaid_enabled is true | |||||||||||||||||||||||||||
vast_version | string | max VAST version supported | "3.0" / "2.0" | ||||||||||||||||||||||||||||
obfuscate_ip_address_enabled | boolean | obfuscate IP | true / false | see obf_ip_flags | |||||||||||||||||||||||||||
obf_ip_flags | array string | obfuscate IP on opt out | ["coppa", "gdpr", "dnt"] | ||||||||||||||||||||||||||||
budget_timezone | string | timezone of budget | "America/New_York" / "Europe/London" | tz database time zones | |||||||||||||||||||||||||||
budgets | |||||||||||||||||||||||||||||||
day_parting | array boolean | day parting schedule | truncated example for Sunday hours 00 to 07 day parting. [true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], ........... | when active day parting is broken into 7 arrays of 24 fields of true / false to indicate the day parting window. week starts Sunday true - active false - inactive day_parting_users_timezone is not in API |