Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 48 Next »



Creating a Supply Tag

SDK

Use tab completion with SDK to auto-complete function names or show field options!

tag = springserve.supply_tags.new({'name': 'TEST API DOCS', 'rate': 0.02, 'js_vpaid_enabled': false)
print tag.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.

Parameters:

  • name - (required, type: string) Name of the new supply tag.

  • rate - (required, type: float) ID of supply partner to be associated with.

  • js_vpaid_enabled - (required, type: boolean) Response type, JS VPAID or VAST Only

Request:

POST /api/v0/supply_tags

Content-Type: application/json
Authorization: "yourAuthToken"

{
    "name": "MS TEST API DOCS",
    "rate": 0.02,
    "js_vpaid_enabled": false
}


Response:

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

import requests
import json

url = "https://admin-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

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://admin-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!

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>

Parameters:

  • id - (required, type: integer) ID of the supply tag.

Request:

GET /api/v0/supply_tags/730124

Content-Type: application/json
Authorization: "yourAuthToken"


Response:

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

import requests
import json

url = "https://admin-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

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://admin-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

tag = springserve.supply_tags.get(28852)
tag.name = "I want to change the name"

changed = tag.save()

changed.ok
True

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

Method: PATCH

Endpoint URL: /api/v0/supply_tags/<id>

Parameters:

  • id - (required, type: integer) ID of the supply tag.

Request:

PATCH /api/v0/supply_tags/730124

Content-Type: application/json
Authorization: "yourAuthToken"

{
    "name": "I want to change the name"
}


Response:

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

In [1]: import springserve 
In [2]: 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  /api/v0/supply_tags/<id>

Headers

Content-Type application/json

Authorization "yourAuthToken"

Body (example)

{

"demand_tag_priorities":  [{"demand_tag_id": 2345}]

}

Response

Status code 200

{    
"id": 123456, 
"account_id": 1,
	... 
"demand_tag_priorities": {        
	"demand_tag_id": 2345,        
    "priority": 1,
    "tier": 1,
    "locked": false,
    "ratio": null,
    "slot_number": null,
    "slot_order": null
        }
    ...
}  

Duplicate a Supply Tag

Please note that this works for both Managed and Direct Connect tags. 

SDK

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

Content-Type application/json
Authorization "yourAuthToken"

Response

Status code 200

{
	...
  'id': 65034,
  'name': 'I want to change the name',
  'rate': '0.02',
	...
}


Create a Direct Connect Supply Tag

SDK

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

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}]
}


Required parameters: name, demand_tag_priorities, supply_partner_id, direct_connect, rate

Response

Status code 200

{
  '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': False,
  'updated_at': '2017-07-07T15:17:28.315Z',
  'user_agent_devices': [],
  'user_agent_operating_systems': []
}


Enabling a Supply Tag for Open Market

SDK

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

Content-Type application/json
Authorization "yourAuthToken"

Body (example)

{
    "open_market_enabled": "True"
}


Response

Status code 200

{
    "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"
        }
    },
    "timeout": null,
    "environment": "desktop",
    "js_vpaid_enabled": false,
    "detected_domain_targeting": false,
    "detected_player_size_targeting": false,
    "targeting_supply_ids": [],
    "targeting_supply_white_list": "",
    "post_imp_detection_enabled": false,
    "post_imp_percentage_whiteops": 0,
    "post_imp_percentage_ias": 0,
    "post_imp_percentage_moat": 0,
    "post_imp_percentage_protected": 0,
    "post_imp_percentage_forensiq": 0,
    "pre_bid_blocking_enabled": false,
    "pre_bid_blocking_components": [],
    "tag_health": null,
    "key_ids": [],
    "vpaid_none_allow_vpaid_demand": true,
    "rpm_floor": "1.2",
    "rpm_floor_openrtb": true,
    "openrtb_floor": "1.2",
    "tier_0_broadfall": true,
    "tier_1_broadfall": true,
    "tier_2_broadfall": true,
    "tier_3_broadfall": true,
    "tier_4_broadfall": true,
    "tier_5_broadfall": true,
    "vast_version": "3.0",
    "min_aspect_ratio": null,
    "max_aspect_ratio": null,
    "bulk_add_enabled": true,
    "format": "video",
    "allow_traffic_exclusions": true,
    "open_market_enabled": true,
    "auto_add_external_bidders": false,
    "evaluation_learn_pct": "50.0",
    "tag_pixels": [],
    "demand_tag_priorities": [
        {
            "demand_tag_id": 21892,
            "priority": 1,
            "tier": 0,
            "locked": false
        }
    ],
    "give_up_percents": [],
    "budgets": [],
    "frequency_caps": [],
    "open_market_external_bidders": [
        {
            "other_account_id": 20,
            "openrtb_floor": null
        },
        {
            "other_account_id": 23,
            "openrtb_floor": null
        },
        {
            "other_account_id": 27,
            "openrtb_floor": null
        },
        {
            "other_account_id": 14,
            "openrtb_floor": null
        },
        {
            "other_account_id": 55,
            "openrtb_floor": null
        },
        {
            "other_account_id": 56,
            "openrtb_floor": null
        },
        {
            "other_account_id": 28,
            "openrtb_floor": null
        },
        {
            "other_account_id": 15,
            "openrtb_floor": null
        },
        {
            "other_account_id": 3,
            "openrtb_floor": null
        },
        {
            "other_account_id": 58,
            "openrtb_floor": null
        },
        {
            "other_account_id": 46,
            "openrtb_floor": null
        },
        {
            "other_account_id": 4,
            "openrtb_floor": null
        },
        {
            "other_account_id": 62,
            "openrtb_floor": null
        },
        {
            "other_account_id": 17,
            "openrtb_floor": null
        },
        {
            "other_account_id": 65,
            "openrtb_floor": null
        },
        {
            "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

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>

Headers

Content-Type application/json
Authorization "yourAuthToken"

Body (example)

{
    "tag_pixels": [{pixel_type":"AdImpression", "pixel_url":"https://springserve.com/", "pixel_format":"image"}]

}


Response

Status code 200

{
    "id": 123456,
    "rate": "1.0",
   	...
    "tag_pixels": [
		{
			"id":311732,"pixel_type":"AdImpression",
			"pixel_url":"https://springserve.com/",
			"pixel_format":"image","created_at":"2021-03-24T15:40:03.935Z"
		}
	],
  	...
}

Adding Open Market Bidders to a Supply Tag

SDK

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>

Headers

Content-Type application/json
Authorization "yourAuthToken"

Body (example)

{
    "open_market_external_bidders": [{"other_account_id": 4}, {"other_account_id": 27, "openrtb_floor" : 12.0}]

}


Response

Status code 200

{
    "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"
        }
    },
    "timeout": null,
    "environment": "desktop",
    "js_vpaid_enabled": false,
    "detected_domain_targeting": false,
    "detected_player_size_targeting": false,
    "targeting_supply_ids": [],
    "targeting_supply_white_list": "",
    "post_imp_detection_enabled": false,
    "post_imp_percentage_whiteops": 0,
    "post_imp_percentage_ias": 0,
    "post_imp_percentage_moat": 0,
    "post_imp_percentage_protected": 0,
    "post_imp_percentage_forensiq": 0,
    "pre_bid_blocking_enabled": false,
    "pre_bid_blocking_components": [],
    "tag_health": null,
    "key_ids": [],
    "vpaid_none_allow_vpaid_demand": true,
    "rpm_floor": "1.2",
    "rpm_floor_openrtb": true,
    "openrtb_floor": "1.2",
    "tier_0_broadfall": true,
    "tier_1_broadfall": true,
    "tier_2_broadfall": true,
    "tier_3_broadfall": true,
    "tier_4_broadfall": true,
    "tier_5_broadfall": true,
    "vast_version": "3.0",
    "min_aspect_ratio": null,
    "max_aspect_ratio": null,
    "bulk_add_enabled": true,
    "format": "video",
    "allow_traffic_exclusions": true,
    "open_market_enabled": true,
    "auto_add_external_bidders": false,
    "evaluation_learn_pct": "50.0",
    "tag_pixels": [],
    "demand_tag_priorities": [
        {
            "demand_tag_id": 21892,
            "priority": 1,
            "tier": 0,
            "locked": false
        }
    ],
    "give_up_percents": [],
    "budgets": [],
    "frequency_caps": [],
    "open_market_external_bidders": [
        {
            "other_account_id": 27,
            "openrtb_floor": 12.0
        },
        {
            "other_account_id": 4,
            "openrtb_floor": null
        }
    ]
}

Adding Pods to a Supply Tag

SDK

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 


Max_unfilled_slots is initially null, you can set it to an integer between 0 and 2

To EDIT a pod you have to add the pod id to the request

REST API

PUT  /api/v0/supply_tags/<id>

Headers

Content-Type application/json

Authorization "yourAuthToken"

Body (example)

{

"pod":{

      "max_duration": 200,

      "custom_ad_slot_duration": true,

      "unfilled_slot_opt_out_enabled": false,

      "max_unfilled_slots":0,

      "ad_slots": [{"position": 3, "min_duration":40, "max_duration":60}, {"position": 2}, {"position": 1}]

}

}

Response

Status code 200

{    
"id": 123456, 
"account_id": 1,
	... 
     
"pod": {        
	"id": 345,        
	"max_duration": 200,        
	"custom_ad_slot_duration": true,        
	"unfilled_slot_opt_out_enabled": false,        
	"max_unfilled_slots": null,        
	"ad_slots": [            
		{                
			"id": 764,                
			"position": 1,                
			"min_duration": null,                
			"max_duration": null            
		},            
		{                
			"id": 763,                
			"position": 2,                
			"min_duration": null,                
			"max_duration": null            
		},            
		{                
			"id": 762,                
			"position": 3,                
			"min_duration": 40,                
			"max_duration": 60            
		}]    
	}
}  


Object Descriptions

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"]

  • X-Small (< 250px)

  • Small (250-349)

  • Med (350-500)

  • Large (501-799)

  • X-Large (≥ 800)

  • Unknown

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"]


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"]


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


  • No labels