Site service
A site (also called a placement group) provides a way of grouping placements for management purposes. Ad quality and inventory categorization can be set at the site level, so it doesn't have to be duplicated across placements. Each site belongs to a publisher, and each placement must belong to a site.
When you create a publisher, a site is automatically created. You can then modify that site however you wish or create more sites.
REST API
HTTP Method | Endpoint | Description |
---|---|---|
POST |
https://api.appnexus.com/site?publisher_id=PUBLISHER_ID (site JSON) |
Add a site. |
PUT |
https://api.appnexus.com/site?id=SITE_ID&publisher_id=PUBLISHER_ID https://api.appnexus.com/site?id=SITE_ID (site JSON) |
Modify an existing site. |
DELETE |
https://api.appnexus.com/site?id=SITE_ID&publisher_id=PUBLISHER_ID https://api.appnexus.com/site?code=SITE_CODE&publisher_code=PUBLISHER_CODE |
Delete a site. |
GET |
https://api.appnexus.com/site |
View all sites for your publishers. |
GET |
https://api.appnexus.com/site?publisher_id=PUBLISHER_ID |
View all of the sites for one of your publishers. |
GET |
https://api.appnexus.com/site?id=SITE_ID&publisher_id=PUBLISHER_ID https://api.appnexus.com/site?id=SITE_ID |
View a specific site for one of your publishers. |
GET |
https://api.appnexus.com/site?id=1,2,3 |
View multiple sites by ID using a comma-separated list. |
Note
publisher_code
and code
can be used interchangeably with publisher_id
and id
, respectively.
JSON fields
Field | Type | Description |
---|---|---|
id |
int | Xandr ID assigned by the API to reference this site. Required On: PUT , in query string |
code |
string (100) | Optional code for this site. |
name |
string (100) | Name associated with the site. Required On: PUT , POST |
state |
enum | State of this site. Possible values: active or inactive .Default: active |
url |
string (255) | URL of this site. |
publisher_id |
int | ID of the publisher that this site belongs to. Required On: POST /PUT , in query string |
primary_content_category_id |
int | Users can optionally specify a primary content category for a placement (see examples below). This category can be used for targeting and will appear in reports. Content categories can be set either at the Site level or the Placement level, but not both. |
last_modified |
timestamp | The timestamp of last activity to this placement. |
placements |
array of objects | The IDs of placements associated with this site. See Placements below for more details. |
content_categories |
array | Users can optionally specify one or more content categories for a placement. These categories can be used for targeting, and can be set at both the Site and Placement level. At most 20 categories can be set on a site. See Content Categories below for more details. |
intended_audience |
enum | The intended audience of the site. Must not be null if 'audited' is true . Possible values: - children - young_adult - general - mature Default: null |
inventory_attributes |
array | The sensitive attributes contained by the site; if set at the site level, inventory_attributes will also influence objects at the placement level. The mapping of IDs to attributes can be found below. The format of the array is also contained below.Default: null |
audited |
boolean | Whether the site has been audited. |
publisher_join |
array | |
publisher_name |
string (100) | Name of the publisher the site is under |
supply_type |
string | Deprecated. While this field will continue to default to "web", its value is ignored as the supply type is detected automatically by Xandr in each auction. Users must rely on Xandr’s automatic detection rather than specifying the supply type manually. Default: web |
creative_format_action |
string | - exclude : Allow all creative formats to serve on this site except those specified in the creative_formats array- include : Only all creatives to serve whose format is included in the list specified in creative_formats Default: exclude . Some mobile application supply sources do not support all creative formats available on Xandr. |
creative_formats |
array of strings | The creative formats to be excluded or included in this site. Default: text |
allowed_click_actions |
array of strings | Tells the buyer what types of click actions on creatives are supported. Mobile web and apps often allow additional click actions beyond click to a website, such as click-to-call, click-to-sms, click-to-email, and click-to-map. Default: click-to-web only |
marketplace_map |
object | Informs the buyer which types of marketplaces are accessible (performance, RTB, deals). See Marketplace Map below for internal field definitions. |
mobile_app_instance |
multi-object | The Mobile App Instance associated with this site. This field can only be set when supply_type is mobile_app . See Mobile App Instance below for the internal field definitions.Required On: POST , for sites with a supply_type of mobile_app . |
mobile_app_instance_id |
int | The ID of the mobile app instance associated with this site. This field is only associated with sites with a supply_type of mobile_app . |
Marketplace map
Parameter | Type | Description |
---|---|---|
an_audit_perf_only |
Boolean | Read-only. Whether the site is only eligible for CPA/CPC demand based on our auditing. If true , then yes.Default: false |
rtb |
Boolean | Designates whether the inventory associated with the site (and all of its placements) is part of the RTB Marketplace (i.e., eligible for CPM demand). - If true , all inventory associated with this site's placements is to be resold within the RTB Marketplace.- The field cannot be set to true if any of the placements within the site support the expandable media type. See the Placement Service for more information about media types and subtypes fields.- If false , expandable placements within the site cannot be moved to a site where the field is true .- If set to false all inventory associated with this site's placements is only available to direct campaigns. No inventory associated with this placement group's placements will be resold.Default: true |
performance |
Boolean | Whether the site is eligible for CPA/CPC demand using the updated performance marketplace. If true , then yes.Default: false |
deals_allowed |
Boolean | Specifies whether deals are allowed to serve on this site. Default: true |
rtb_suspended |
Boolean | Read-only. Indicates that all inventory associated with this site and its placements is blocked from participating in the RTB Marketplace. Default: false |
deals_suspended |
Boolean | Read-only. Indicates that all deals are suspended from serving on this site. Default: false |
Mobile app instance
Parameter | Type | Description |
---|---|---|
id |
int | The unique ID of this app instance. This field is optional on POST ; if sent, it will be used to look up the bundle_id and os_family_id . If this field is not set on a PUT or POST , you must pass in the bundle_id and os_family_id fields, and a new mobile app instance ID will be created. |
bundle_id |
int | If no id field is passed on POST , this field is required. This field represents the bundle ID of the mobile app instance, and it's used to look up the mobile app instance ID. If there is no app instance ID associated with this bundle ID, a new one will be created. |
os_family_id |
int | If no id field is passed in on PUT or POST , this field is required. This field represents the unique ID of the operating system family this app instance is associated with. If there is no app instance ID associated with this OS family ID, a new one will be created. |
Placements
Parameter | Type | Description |
---|---|---|
id |
int | The unique identifier of the placement. You can use the Placement Service to find placement IDs. |
code |
string | The internal code for the placement. |
Content categories
Parameter | Type | Description |
---|---|---|
id |
int | ID of the content category. You can use the Content Category Service to find category IDs. |
is_system |
Boolean | Whether or not the content category is a system ("universal" ) category. |
name |
string (100) | The name of the category. |
site |
array | List of IDs which fall under this content category. |
primary |
Boolean | Whether the category is the primary category for the site. Only one category can be primary. |
Inventory attributes
Parameter | Type | Description |
---|---|---|
inventory_attribute_id |
int | The ID of the inventory attribute. |
name |
string (50) | Read-only. The name of the inventory attribute. |
Inventory attributes ID
Id | Attribute Name |
---|---|
2 |
Political |
4 |
Social Media |
6 |
Photo & video sharing |
8 |
Forums (moderated) |
10 |
Forums (unmoderated) |
12 |
Incentivized clicks |
14 |
Non-English languages |
16 |
Streaming Media |
17 |
Toolbars, plugins, or extensions |
Examples
Adding content categories to a site
$ cat site
{
"site": {
"content_categories": [
{
"id": 2561,
"primary": true
},
{
"id": 2558
}
],
"name": "Site 1"
}
}
$ curl -b cookies -c cookies -X PUT -d @site 'https://api.appnexus.com/site?id=5822'
Viewing all sites for your publishers
$ curl -b cookies -c cookies 'https://api.appnexus.com/site'
{
"response":{
"status":"OK",
"sites":[
{
"id":2411,
"code":null,
"name":"[Default RTB Media Buy] - ROS",
"state":"active",
"url":"",
"primary_content_category_id":null,
"last_modified":"2010-05-12 22:46:42",
"intended_audience":"general",
"inventory_attributes":[
{
"id":2,
"name":"Political"
}
]
"placements":[
],
"content_categories": [
{
"id": 2561,
"primary": true
},
{
"id": 2558
}
],
},
{
"id":2412,
"code":null,
"name":"[Weekdays Only] - ROS",
"state":"active",
"url":"",
"media_buy_id":1559,
"primary_content_category_id": 2561,
"last_modified":"2010-05-12 23:28:40",
"placements":[
],
"content_categories":null
},
{
"id":2413,
"code":null,
"name":"[Weekends Only] - ROS",
"state":"active",
"url":"",
"media_buy_id":1560,
"primary_content_category_id":null,
"last_modified":"2010-05-12 23:28:52",
"placements":[
],
"content_categories":null
},
{
"id":5775,
"code":null,
"name":"[Conversion Test] - ROS",
"state":"active",
"url":"",
"media_buy_id":4732,
"primary_content_category_id":null,
"last_modified":"2010-06-15 20:09:38",
"placements":[
{
"id":"57851"
}
],
"content_categories":null
}
],
"count":4,
"start_element":null,
"num_elements":null
}
}
Create a site with a mobile app supply type
In this example we create a site designed for mobile app supply. We'll use it in our next example as well:
$ cat the-site.json
{"site":{"name":"One site to rule them all", "supply_type":"mobile_app"}}
$ curl -b cookies -X POST -d @the-site.json 'https://api.appnexus.com/site?publisher_id=102306'
{
"response":{,
"site":{
"allowed_click_actions":[
"click-to-web"
],
"creative_formats":[
"text"
],
"inventory_attributes":null,
"content_categories":null,
"placements":null,
"mobile_app_instance":null,
"member_id":1309,
"creative_format_action":"exclude",
"supply_type":"mobile_app",
"publisher_name":"RICH'S CRAZY RESELLER",
"audited":false,
"intended_audience":null,
"last_modified":"2014-02-20 20:56:03",
"primary_content_category_id":null,
"publisher_id":102306,
"url":"",
"state":"active",
"name":"One site to rule them all",
"code":null,
"id":273205
},
"num_elements":100,
"start_element":0,
"id":273205,
"count":1,
"status":"OK"
}
}
Add a mobile app instance to a site
In this example, we have a pre-existing site with the required mobile app supply type. We make a PUT
call to associate our site with an existing mobile app instance, and we can see that it worked by viewing the updated object in the response. For more details on mobile app instances, see the Mobile App Instance Service.
$ cat update.json
{"site":{"supply_type":"mobile_app", "mobile_app_instance":{"id":62}}}
$ curl -b cookies -X PUT -d @update.json
{
"response":{
"site":{
"allowed_click_actions":[
"click-to-web"
],
"creative_formats":[
"text"
],
"inventory_attributes":null,
"content_categories":null,
"placements":null,
"mobile_app_instance":{
"os_family_id":3,
"bundle_id":"2342342345566666",
"id":62
},
"member_id":1309,
"creative_format_action":"exclude",
"supply_type":"mobile_app",
"publisher_name":"RICH'S CRAZY RESELLER",
"audited":false,
"intended_audience":null,
"last_modified":"2014-02-20 21:18:15",
"primary_content_category_id":null,
"publisher_id":102306,
"url":"",
"state":"active",
"name":"One site to rule them all",
"code":null,
"id":273205
},
"num_elements":100,
"start_element":0,
"id":"273205",
"count":1,
"status":"OK"
}
}