Execute AdCP Governance Protocol operations with governance agents - manage property lists, collection lists, and content standards for brand safety and campaign compliance. Use when users want to create include/exclude lists, set up brand safety rules, or validate content delivery.
This skill enables you to execute the AdCP Governance Protocol with governance agents. Covers three areas: property lists (site-level targeting), collection lists (program-level targeting), and content standards (brand safety rules).
The Governance Protocol provides 17 standardized tasks across three areas:
| Task | Purpose | Response Time |
|---|---|---|
create_property_list | Create include/exclude list | ~1s |
update_property_list | Modify list filters/properties | ~1s |
get_property_list | Retrieve list with optional resolution | ~1-5s |
list_property_lists | List all accessible lists | ~1s |
delete_property_list |
| Delete a list |
| ~1s |
| Task | Purpose | Response Time |
|---|---|---|
create_collection_list | Create program-level list | ~1s |
update_collection_list | Modify list | ~1s |
get_collection_list | Retrieve with optional resolution | ~1-5s |
list_collection_lists | List all accessible lists | ~1s |
delete_collection_list | Delete a list | ~1s |
| Task | Purpose | Response Time |
|---|---|---|
create_content_standards | Create brand safety rules | ~1s |
get_content_standards | Retrieve standards by ID | ~1s |
update_content_standards | Modify rules | ~1s |
list_content_standards | List all accessible standards | ~1s |
calibrate_content | Test content against standards | ~5-30s |
get_media_buy_artifacts | Get creatives for compliance review | ~5s |
validate_content_delivery | Audit delivery compliance | ~10-60s |
create_property_list with base properties and filtersget_property_list with resolve: true to see matched propertiesupdate_property_list to adjust filterslist_id in create_media_buy targetingcreate_collection_list with distribution IDs or genre filtersget_collection_list with resolve: true to see matched programscreate_content_standards with rulescalibrate_content with test samples to validate configurationget_media_buy_artifacts + validate_content_delivery for ongoing complianceCreate a property list for brand safety and inventory targeting.
Request:
{
"name": "Premium News Properties",
"description": "Tier 1 news publishers for brand campaigns",
"base_properties": [
{
"selection_type": "publisher_tags",
"publisher_domain": "publisher.com",
"tags": ["premium", "news"]
}
],
"filters": {
"countries_all": ["US", "GB"],
"channels_any": ["display", "video"]
},
"brand": {
"domain": "acmecorp.com"
}
}
Key fields:
name (string, required): Human-readable namedescription (string, optional): Purpose of the listbase_properties (array, optional): Property sources — publisher_tags, publisher_ids, or identifiersfilters (object, optional): Resolution filters — countries_all, channels_any, property_types, feature_requirements, exclude_identifiersbrand (object, optional): Brand reference for automatic rule inferenceModify an existing property list.
Request:
{
"list_id": "pl_abc123",
"filters": {
"countries_all": ["US", "GB", "DE"],
"channels_any": ["display", "video", "ctv"]
}
}
Key fields:
list_id (string, required): Property list identifiername, description (string, optional): Update metadatabase_properties (array, optional): Replace property sourcesfilters (object, optional): Replace filter configurationRetrieve a property list with optional resolution.
Request:
{
"list_id": "pl_abc123",
"resolve": true,
"max_results": 50
}
Key fields:
list_id (string, required): Property list identifierresolve (boolean, optional): Resolve filters and return property identifiers (default: false)max_results (number, optional): Max properties when resolvedList all property lists accessible to the authenticated principal.
Request:
{
"name_contains": "premium"
}
Key fields:
name_contains (string, optional): Filter by name substringmax_results (number, optional): Max resultsDelete a property list.
Request:
{
"list_id": "pl_abc123"
}
Key fields:
list_id (string, required): Property list identifier to deleteCreate a collection list for program-level brand safety (CTV, podcast, streaming).
Request:
{
"name": "Family-Safe CTV Programs",
"description": "Programs suitable for family brand campaigns",
"base_collections": [
{
"selection_type": "publisher_genres",
"publisher_domain": "ctv-publisher.com",
"genres": ["family", "comedy"],
"genre_taxonomy": "iab_content_taxonomy_3.0"
}
],
"filters": {
"content_ratings_exclude": [
{ "system": "us_tv", "rating": "TV-MA" }
],
"kinds": ["series"]
},
"brand": {
"domain": "familybrand.com"
}
}
Key fields:
name (string, required): Human-readable namebase_collections (array, optional): Collection sources — distribution_ids, publisher_collections, or publisher_genresfilters (object, optional): content_ratings_exclude, content_ratings_include, genres_exclude, genres_include, kinds, production_qualitybrand (object, optional): Brand referenceDistribution identifier types: imdb_id, gracenote_id, eidr_id
Modify an existing collection list.
Request:
{
"list_id": "cl_abc123",
"filters": {
"content_ratings_exclude": [
{ "system": "us_tv", "rating": "TV-MA" },
{ "system": "us_tv", "rating": "TV-14" }
]
}
}
Key fields:
list_id (string, required): Collection list identifierbase_collections, filters (optional): Replace configurationRetrieve a collection list with optional resolution.
Request:
{
"list_id": "cl_abc123",
"resolve": true
}
Key fields:
list_id (string, required): Collection list identifierresolve (boolean, optional): Resolve and return collection entriesmax_results (number, optional): Max collections when resolvedList all collection lists accessible to the authenticated principal.
Request:
{
"name_contains": "family"
}
Delete a collection list.
Request:
{
"list_id": "cl_abc123"
}
Create content standards (brand safety rules) for campaign compliance.
Request:
{
"name": "Automotive Brand Safety",
"description": "Content rules for automotive brand campaigns",
"rules": [
{ "rule_type": "category", "action": "block", "value": "violence", "severity": "critical" },
{ "rule_type": "category", "action": "block", "value": "adult", "severity": "critical" },
{ "rule_type": "keyword", "action": "flag", "value": "accident", "severity": "medium" }
],
"brand": {
"domain": "automaker.com"
}
}
Key fields:
name (string, required): Human-readable namerules (array, optional): Content rules — rule_type, action (allow/block/flag), value, severitybrand (object, optional): Brand reference for automatic rule inferenceRetrieve content standards by ID.
Request:
{
"standards_id": "cs_abc123"
}
Modify existing content standards.
Request:
{
"standards_id": "cs_abc123",
"rules": [
{ "rule_type": "category", "action": "block", "value": "violence", "severity": "critical" }
]
}
List all content standards accessible to the authenticated principal.
Request:
{
"name_contains": "automotive"
}
Test content samples against content standards to validate configuration.
Request:
{
"standards_id": "cs_abc123",
"samples": [
{ "url": "https://example.com/article1", "expected_result": "allow" },
{ "url": "https://example.com/article2", "expected_result": "block" },
{ "text": "Car crash injures three people", "expected_result": "block" }
]
}
Key fields:
standards_id (string, required): Content standards to calibrate againstsamples (array, required): Content samples with url and/or text, and optional expected_resultGet creative artifacts from a media buy for compliance review.
Request:
{
"media_buy_id": "mb_abc123",
"sales_agent_url": "https://sales.publisher.com"
}
Key fields:
media_buy_id (string, required): Media buy identifiersales_agent_url (string, required): Sales agent that owns the media buyValidate delivered content against content standards.
Request:
{
"standards_id": "cs_abc123",
"media_buy_id": "mb_abc123",
"sales_agent_url": "https://sales.publisher.com",
"date_range": {
"start": "2025-01-01",
"end": "2025-01-31"
}
}
Key fields:
standards_id (string, required): Content standards to validate againstmedia_buy_id (string, required): Media buy identifiersales_agent_url (string, required): Sales agent URLdate_range (object, optional): Filter by delivery date rangeProperty and collection lists combine static selections with dynamic filters. Use resolve: true on get operations to see the final resolved set of properties or collections.
Common error codes:
LIST_NOT_FOUND: Invalid list_idSTANDARDS_NOT_FOUND: Invalid standards_idUNAUTHORIZED: Not authorized to access this resourceVALIDATION_ERROR: Invalid filter or rule configuration