Skip to main content

Property Governance タスク

AdCP 3.0 Proposal - These tasks are under development for AdCP 3.0.
Property Governance は ステートフル モデルで、評価はプロパティリスト管理を通じて行います。フィルターと Brand Manifest でリストを作成し、解決して準拠プロパティを取得します。

Discovery

TaskPurposeResponse Time
get_adcp_capabilitiesエージェント機能の取得~200ms
ガバナンスエージェントが評価できる機能はプロトコルレベルの get_adcp_capabilities で取得します。property_features 配列の詳細は governance セクション を参照。

Property List Management

TaskPurposeResponse Time
create_property_listプロパティリスト新規作成~500ms
update_property_list既存リストの更新~500ms
get_property_list解決済みリストの取得~2-5s
list_property_lists全リストの列挙~500ms
delete_property_listリスト削除~200ms
Property List Management で CRUD の詳細を参照してください。

Validation

TaskPurposeResponse Time
validate_property_delivery配信記録をリストに照らして検証~1-5s
validate_property_delivery でポストキャンペーン検証を参照。

Task Selection Guide

プロパティリストを作成

Use create_property_list with filters and brand manifest:
{
  "tool": "create_property_list",
  "arguments": {
    "name": "Q1 Campaign - UK Premium",
    "base_properties": [
      {
        "selection_type": "publisher_tags",
        "publisher_domain": "raptive.com",
        "tags": ["premium_news"]
      }
    ],
    "filters": {
      "countries_all": ["UK"],
      "channels_any": ["display", "video"],
      "feature_requirements": [
        {
          "feature_id": "consent_quality",
          "min_value": 85,
          "max_value": 100
        },
        {
          "feature_id": "coppa_certified",
          "allowed_values": [true]
        }
      ]
    },
    "brand_manifest": {
      "name": "ToyBrand",
      "industry": "toys",
      "target_audience": "children_under_13"
    }
  }
}
Required filters: At least one country in countries_all and one channel in channels_any must be provided. Base properties: An array of property sources to evaluate. Each entry is a discriminated union with selection_type:
  • publisher_tags: { "selection_type": "publisher_tags", "publisher_domain": "...", "tags": [...] }
  • publisher_ids: { "selection_type": "publisher_ids", "publisher_domain": "...", "property_ids": [...] }
  • identifiers: { "selection_type": "identifiers", "identifiers": [...] }
  • Omitted: Query the agent’s entire property database
Filter logic (explicit in field names):
  • countries_all: Property must have feature data for ALL listed countries
  • channels_any: Property must support ANY of the listed channels
  • feature_requirements: Property must pass ALL requirements (AND)
Filters have two built-in fields (countries_all, channels_any) plus feature_requirements which reference features the agent provides (discovered via get_adcp_capabilities). For quantitative features, use min_value/max_value. For binary or categorical features, use allowed_values.

Getting Resolved Properties

Use get_property_list to retrieve the list with resolved identifiers:
{
  "tool": "get_property_list",
  "arguments": {
    "list_id": "pl_abc123",
    "resolve": true
  }
}
Response includes resolved identifiers. Note that raw scores are not returned - only identifiers that pass the filter thresholds are included:
{
  "list_id": "pl_abc123",
  "identifiers": [
    { "type": "domain", "value": "bbc.co.uk" },
    { "type": "domain", "value": "news.sky.com" }
  ],
  "cache_valid_until": "2026-01-04T17:15:00Z"
}
The auth_token for sharing with sellers is returned at creation time (from create_property_list). Store it securely - it’s only returned once.

Multi-Agent Integration

Create the same property list on multiple governance agents, then configure webhooks to aggregate results:
# Create lists on specialized agents
consent_list = consent_agent.create_property_list(
    name="Q1 - Consent",
    base_properties=master_list,
    brand_manifest=brand_manifest
)
consent_agent.update_property_list(
    list_id=consent_list.list_id,
    webhook_url="https://buyer.example.com/webhooks/consent"
)

scope3_list = scope3_agent.create_property_list(
    name="Q1 - Sustainability",
    base_properties=master_list,
    brand_manifest=brand_manifest
)
scope3_agent.update_property_list(
    list_id=scope3_list.list_id,
    webhook_url="https://buyer.example.com/webhooks/scope3"
)

# Buyer agent intersects results when webhooks fire