/
Supply Routers API
Supply Routers API
Creating a Supply Router
SDK
Use tab completion with SDK to auto-complete function names or show field options.
router = springserve.supply_routers.new({"name": "Test Router", "supply_partner_id":47340}) print router.id, router.name 1764 Test Router
REST API
Method: POST
Endpoint URL: /api/v0/supply_routers
Parameters:
name - (required, type: string) Name of the new supply router.
supply_partner_id
- (required, type: integer) ID of supply partner to be associated with.
Request:
POST /api/v0/supply_routers Content-Type: application/json Authorization: "yourAuthToken" { "name": "Test Router 3", "supply_partner_id":66463 }
Response:
HTTP/1.1 201 Created Content-Type: application/json { "id": 25530, "account_id": 391, "name": "Test Router", "active": true, "supply_partner_id": 66463, "environment": "ctv", "domain_white_list": "", "app_name_white_list": "", "app_bundle_white_list": "", "ip_white_list": "", "advertiser_domain_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": [], "key_ids": [], "note": null, "min_aspect_ratio": null, "max_aspect_ratio": null, "format": "video", "third_party_override": true, "player_sizes": [ "xs", "s", "m", "l", "xl", "u" ], "domain_list_ids": [], "advertiser_domain_list_ids": [], "app_bundle_list_ids": [], "app_name_list_ids": [], "ip_list_ids": [], "user_agent_devices": [], "user_agent_brands": [], "user_agent_operating_systems": [], "user_agent_browsers": [], "segment_targeting_enabled": false, "blocking_unknown_advertiser_domains": false, "country_source": "values", "country_list_ids": [], "dma_source": "values", "dma_list_ids": [], "targeted_iab_category_white_list": "", "targeted_iab_categories": [], "targeted_iab_tier2_categories": [], "targeted_iab_tier2_category_white_list": "", "dnt_values": [], "dnt_param_required": false, "lmt_values": [], "lmt_param_required": false, "us_privacy_supply_white_list": "", "us_privacy_param_required": false, "us_privacy_values": [], "gdpr_supply_values": [], "gdpr_supply_param_required": false, "gdpr_consent_string_values": [], "gdpr_consent_param_required": false, "coppa_values": [], "coppa_param_required": false, "audited_creative_statuses": [], "country_white_list": "", "country_codes": [], "dma_white_list": "", "dma_codes": [], "tag_pixels": [], "segment_groups": [], "supply_router_ratios": [] }
Examples
Python Example
import requests import json url = "https://console.springserve.com/api/v0/supply_routers" payload = json.dumps({ "name": "Test Router", "supply_partner_id": 66463 }) 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://console.springserve.com/api/v0/supply_routers', 'headers': { 'Authorization': 'yourAuthToken', 'Content-Type': 'application/json' }, body: JSON.stringify({ "name": "Test Router", "supply_partner_id": 66463 }) }; request(options, function (error, response) { if (error) throw new Error(error); console.log(response.body); });
Get a Supply Router
SDK
In [1]: per = springserve.supply_routers.get(1234) In [2]: print router.name "Test Router"
REST API
Method: GET
Endpoint URL: /api/v0/supply_routers/<id>
Parameters:
id - (required, type: integer) ID of the supply router.
Request:
GET /api/v0/supply_routers/25528 Content-Type: application/json Authorization: "yourAuthToken"
Response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 25528, "account_id": 391, "name": "Rest API Demo Router", "active": true, "supply_partner_id": 66463, "environment": "desktop", "domain_white_list": "", "app_name_white_list": "", "app_bundle_white_list": "", "ip_white_list": "", "advertiser_domain_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": [], "key_ids": [], "note": "", "min_aspect_ratio": null, "max_aspect_ratio": null, "format": "video", "third_party_override": true, "player_sizes": [ "xs", "s", "m", "l", "xl", "u" ], "domain_list_ids": [], "advertiser_domain_list_ids": [], "app_bundle_list_ids": [], "app_name_list_ids": [], "ip_list_ids": [], "user_agent_devices": [], "user_agent_brands": [], "user_agent_operating_systems": [], "user_agent_browsers": [], "segment_targeting_enabled": false, "blocking_unknown_advertiser_domains": false, "country_source": "values", "country_list_ids": [], "dma_source": "values", "dma_list_ids": [], "targeted_iab_category_white_list": "", "targeted_iab_categories": [], "targeted_iab_tier2_categories": [], "targeted_iab_tier2_category_white_list": "", "dnt_values": [], "dnt_param_required": false, "lmt_values": [], "lmt_param_required": false, "us_privacy_supply_white_list": "", "us_privacy_param_required": false, "us_privacy_values": [], "gdpr_supply_values": [], "gdpr_supply_param_required": false, "gdpr_consent_string_values": [], "gdpr_consent_param_required": false, "coppa_values": [], "coppa_param_required": false, "audited_creative_statuses": [], "country_white_list": "", "country_codes": [], "dma_white_list": "", "dma_codes": [], "tag_pixels": [], "segment_groups": [], "supply_router_ratios": [] }
Examples
Python Example
import requests import json url = "https://console.springserve.com/api/v0/supply_routers/25528" 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://console.springserve.com/api/v0/supply_routers/25528', '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 Router
SDK
In [1]: router = springserve.supply_routers.get(1234) In [2]: router.name = "Test Router with new name" In [3]: changed = router.save() In [4]: changed.ok Out [4]: True In [5]: print changed.name "Test Router with new name"
REST API
Method: PATCH
Endpoint URL: /api/v0/supply_routers/<id>
Notes - See response for all parameters that can be edited.
Parameters:
id - (required, type: integer) ID of the supply router.
Request:
PATCH /api/v0/supply_routers/25528 HTTP/1.1 Host: console.springserve.com Content-Type: application/json Authorization: "yourAuthToken" { "name": "New API Demo Router Name" }
Response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 25530, "account_id": 391, "name": "New API Demo Router Name", "active": true, "supply_partner_id": 66463, "environment": "ctv", "domain_white_list": "", "app_name_white_list": "", "app_bundle_white_list": "", "ip_white_list": "", "advertiser_domain_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": [], "key_ids": [], "note": null, "min_aspect_ratio": null, "max_aspect_ratio": null, "format": "video", "third_party_override": true, "player_sizes": [ "xs", "s", "m", "l", "xl", "u" ], "domain_list_ids": [], "advertiser_domain_list_ids": [], "app_bundle_list_ids": [], "app_name_list_ids": [], "ip_list_ids": [], "user_agent_devices": [], "user_agent_brands": [], "user_agent_operating_systems": [], "user_agent_browsers": [], "segment_targeting_enabled": false, "blocking_unknown_advertiser_domains": false, "country_source": "values", "country_list_ids": [], "dma_source": "values", "dma_list_ids": [], "targeted_iab_category_white_list": "", "targeted_iab_categories": [], "targeted_iab_tier2_categories": [], "targeted_iab_tier2_category_white_list": "", "dnt_values": [], "dnt_param_required": false, "lmt_values": [], "lmt_param_required": false, "us_privacy_supply_white_list": "", "us_privacy_param_required": false, "us_privacy_values": [], "gdpr_supply_values": [], "gdpr_supply_param_required": false, "gdpr_consent_string_values": [], "gdpr_consent_param_required": false, "coppa_values": [], "coppa_param_required": false, "audited_creative_statuses": [], "country_white_list": "", "country_codes": [], "dma_white_list": "", "dma_codes": [], "tag_pixels": [], "segment_groups": [], "supply_router_ratios": [] }
Examples
Python Example
import requests import json url = "https://console.springserve.com/api/v0/supply_routers/25528" payload = { "name": "New API Demo Router Name" } headers = { 'Authorization': 'yourAuthToken', 'Content-Type': 'application/json' } response = requests.request("PATCH", url, headers=headers, data=payload) print(response.text)
NodeJS Example
var request = require('request'); var options = { 'method': 'PATCH', 'url': 'https://console.springserve.com/api/v0/supply_routers/25528', 'headers': { 'Authorization': 'yourAuthToken', 'Content-Type': 'application/json' }, body: JSON.stringify({ "name": "New API Demo Router Name" }) }; request(options, function (error, response) { if (error) throw new Error(error); console.log(response.body); });
Object Descriptions
Object Name | Value Type | Object Description | Example | Notes |
---|---|---|---|---|
Id | integer | supply router ID | 25530 | |
account_id | integer | account ID | 391 | |
name | string | supply router name | "API Example Router" | |
active | boolean | status of router | true / false | |
supply_partner_id | integer | ID of supply partner assigned | 66463 | |
environment | string | supply device environment type | "desktop" / "mobile_web" / "in_app" / "ctv" | |
domain_white_list | boolean | domain targeting active | true (allowlist) / false (blocklist) / null (all domains) | 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_white_list |
app_name_white_list | boolean | app name targeting active | true (allowlist) / false (blocklist) / null (all app names) | 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_white_list |
app_bundle_white_list | boolean | app bundle targeting active | true (allowlist) / false (blocklist) / null (all bundles) | 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_white_list |
ip_white_list | boolean | IP targeting active | true (allowlist) / false (blocklist) / null (all IPs) | 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_white_list |
advertiser_domain_white_list | boolean | advertiser domain active | true (allowlist) / false (blocklist) / null (all advertiser domains) | 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_white_list |
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 |
blocking_unknown_advertiser_domains | boolean | toggle to block unknown advertiser domains | Blocks all SSHB and Open Market demand tags that don't return an Advertiser Domain in the VAST response | |
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 (include) / false (exclude) | true - false - |
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] | |
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"] | |
supply_router_ratios | array object | linked supply tags to current router and ratios | { "supply_tag_id": 703046, "ratio": 1, "fallback_supply_tag_id": null } |
, multiple selections available,
Related content
Demand Tag API
Demand Tag API
More like this
Macros
Read with this
Supply Partners API
Supply Partners API
More like this
Partner Segments
Partner Segments
Read with this
Demand Partners API
Demand Partners API
More like this
Campaigns API
Campaigns API
Read with this