> ## Documentation Index
> Fetch the complete documentation index at: https://adcp-docs-ja.pier1.co.jp/llms.txt
> Use this file to discover all available pages before exploring further.

# Property Governance Tasks

> AdCP プロパティガバナンスのタスクリファレンス — プロパティリスト管理、フィーチャー評価、配信検証タスク。

# Property Governance タスク

<Info>
  **AdCP 3.0 Proposal** - These tasks are under development for AdCP 3.0.
</Info>

Property Governance は **ステートフル** モデルで、評価はプロパティリスト管理を通じて行います。フィルターとブランド参照でリストを作成し、解決して準拠プロパティを取得します。

## Discovery

| Task                                                            | Purpose     | Response Time |
| --------------------------------------------------------------- | ----------- | ------------- |
| [get\_adcp\_capabilities](/docs/protocol/get_adcp_capabilities) | エージェント機能の取得 | \~200ms       |

ガバナンスエージェントが評価できる機能はプロトコルレベルの `get_adcp_capabilities` で取得します。`property_features` 配列の詳細は [governance セクション](/docs/protocol/get_adcp_capabilities#governance-protocol) を参照。

## Property List Management

| Task                                                            | Purpose      | Response Time |
| --------------------------------------------------------------- | ------------ | ------------- |
| [create\_property\_list](./property_lists#create_property_list) | プロパティリスト新規作成 | \~500ms       |
| [update\_property\_list](./property_lists#update_property_list) | 既存リストの更新     | \~500ms       |
| [get\_property\_list](./property_lists#get_property_list)       | 解決済みリストの取得   | \~2-5s        |
| [list\_property\_lists](./property_lists#list_property_lists)   | 全リストの列挙      | \~500ms       |
| [delete\_property\_list](./property_lists#delete_property_list) | リスト削除        | \~200ms       |

[Property List Management](./property_lists) で CRUD の詳細を参照してください。

## Validation

| Task                                                         | Purpose         | Response Time |
| ------------------------------------------------------------ | --------------- | ------------- |
| [validate\_property\_delivery](./validate_property_delivery) | 配信記録をリストに照らして検証 | \~1-5s        |

[validate\_property\_delivery](./validate_property_delivery) でポストキャンペーン検証を参照。

## Task Selection Guide

### プロパティリストを作成

`create_property_list` をフィルターとブランド参照で使います:

```json theme={null}
{
  "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": "mfa_score",
          "min_value": 85,
          "max_value": 100
        },
        {
          "feature_id": "coppa_certified",
          "allowed_values": [true]
        }
      ]
    },
    "brand": {
      "domain": "toybrand.com"
    }
  }
}
```

**フィルター**（すべて任意）: `countries_all` は列挙したすべての国でデータを持つプロパティに絞り込み、`channels_any` は列挙したいずれかのチャネルをサポートするプロパティに絞り込みます。フィルターを省略するとその次元での絞り込みは行いません。

**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`](/docs/protocol/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:

```json theme={null}
{
  "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:

```json theme={null}
{
  "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:

```python theme={null}
# 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
```
