curl --request POST \
--url https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/property-lists \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Q1 Campaign - UK Premium",
"purpose": "include"
}
'import requests
url = "https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/property-lists"
payload = {
"name": "Q1 Campaign - UK Premium",
"purpose": "include"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Q1 Campaign - UK Premium', purpose: 'include'})
};
fetch('https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/property-lists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"propertyList": {
"listId": "42",
"name": "Q1 Campaign - UK Premium",
"purpose": "include",
"identifiers": [
{
"type": "domain",
"value": "<string>"
}
],
"unresolvedIdentifiers": [
{
"type": "domain",
"value": "<string>"
}
],
"registeredIdentifiers": [
{
"type": "domain",
"value": "<string>"
}
],
"domains": [
"<string>"
],
"unresolvedDomains": [
"<string>"
],
"registeredDomains": [
"<string>"
],
"propertyCount": 25,
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-20T14:45:00.000Z",
"resolutionSummary": {
"totalRequested": 500,
"resolvedCount": 432,
"registeredCount": 12,
"unresolvedCount": 56,
"resolutionRate": 0.864
},
"cascadeSummary": {
"totalMediaBuys": 4,
"updatedCount": 3,
"failedCount": 1
},
"filters": {
"channels_any": [
"display",
"olv"
],
"countries_all": [
"US",
"GB"
],
"property_types": [
"website"
],
"feature_requirements": [
{
"feature_id": "<string>",
"min_value": 123,
"max_value": 123,
"allowed_values": [
"<unknown>"
],
"if_not_covered": "exclude"
}
]
},
"status": "ready",
"errorMessage": "<string>"
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Create property list
Create a named include or exclude list of publisher domains for an advertiser. Domains are resolved to internal property records. Unresolvable domains are returned in the response.
curl --request POST \
--url https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/property-lists \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Q1 Campaign - UK Premium",
"purpose": "include"
}
'import requests
url = "https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/property-lists"
payload = {
"name": "Q1 Campaign - UK Premium",
"purpose": "include"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Q1 Campaign - UK Premium', purpose: 'include'})
};
fetch('https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/property-lists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"propertyList": {
"listId": "42",
"name": "Q1 Campaign - UK Premium",
"purpose": "include",
"identifiers": [
{
"type": "domain",
"value": "<string>"
}
],
"unresolvedIdentifiers": [
{
"type": "domain",
"value": "<string>"
}
],
"registeredIdentifiers": [
{
"type": "domain",
"value": "<string>"
}
],
"domains": [
"<string>"
],
"unresolvedDomains": [
"<string>"
],
"registeredDomains": [
"<string>"
],
"propertyCount": 25,
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-20T14:45:00.000Z",
"resolutionSummary": {
"totalRequested": 500,
"resolvedCount": 432,
"registeredCount": 12,
"unresolvedCount": 56,
"resolutionRate": 0.864
},
"cascadeSummary": {
"totalMediaBuys": 4,
"updatedCount": 3,
"failedCount": 1
},
"filters": {
"channels_any": [
"display",
"olv"
],
"countries_all": [
"US",
"GB"
],
"property_types": [
"website"
],
"feature_requirements": [
{
"feature_id": "<string>",
"min_value": 123,
"max_value": 123,
"allowed_values": [
"<unknown>"
],
"if_not_covered": "exclude"
}
]
},
"status": "ready",
"errorMessage": "<string>"
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Authorizations
API key or access token
Path Parameters
Unique identifier for the advertiser
1"12345"
Body
Request body for creating a property list
Human-readable name for the property list
1 - 255"Q1 Campaign - UK Premium"
Whether properties in this list should be included or excluded
include, exclude "include"
Domain identifiers (convenience shorthand for identifiers entries with type: "domain"). Provide domains, identifiers, or both. Large lists are chunked server-side against the AAO registry and local database; the response includes a resolutionSummary with the counts.
1000001["nytimes.com", "cnn.com", "bbc.co.uk"]
Typed property identifiers (AdCP-aligned) — mix of website domains, mobile app bundles/packages, store IDs, and CTV app IDs. Provide domains, identifiers, or both; combined total must be between 1 and 100000.
100000Show child attributes
Show child attributes
[
{ "type": "domain", "value": "nytimes.com" },
{
"type": "ios_bundle",
"value": "com.facebook.katana"
},
{
"type": "android_package",
"value": "com.facebook.katana"
},
{
"type": "apple_app_store_id",
"value": "284882215"
}
]
Filter configuration — controls which SmartPropertyLists this list is linked to
Show child attributes
Show child attributes
Response
Create property list
Response containing a single property list
Property list resource representation
Show child attributes
Show child attributes