> ## 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.

# 権利ライセンスのウォークスルー

> AdCP 権利ライセンスのウォークスルー: バイヤーがキャンペーンブリーフからタレント探索（get_rights）、取得（acquire_rights）、クリエイティブ承認、延長と取り消しを含むライフサイクル管理まで追う。

Carlos を紹介しよう。アムステルダムの中規模代理店 Pinnacle Media でプログラマティックを担当しています。クライアントの Bistro Oranje — オランダ全土に展開中のステーキハウスチェーン — は次のキャンペーンに有名人アスリートを起用したい。ストック映像でも似た人でもない。AIツールが広告に生成できるリアルな、ライセンスされたオランダ人アスリートの肖像と音声です。

問題は: 利用可能なタレントを見つけ、権利を交渉し、AI ツールの承認を取得し、使用状況を追跡する — これをすべてエージェント経由で、プログラマティックの速度で、どうやって行うか？

このウォークスルーは Carlos をキャンペーンブリーフからライブ配信まで — そして途中で事態が変わったときに何が起こるかまで追う。

**7ステップのワークフロー:**

1. **ブリーフ** — キャンペーンが必要なものを定義します
2. **発見** — `brand.json` を取得して権利エージェントを見つける
3. **検索** — `get_rights` で利用可能なタレントをクエリ
4. **取得** — `acquire_rights` で拘束力のあるリクエストを送信
5. **承認** — 承認、拒否、または保留パスを処理します
6. **生成** — ブランドに沿った広告を作成して配信
7. **管理** — キャンペーンを延長、一時停止、または中止します

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/brand-panel-01-campaign-brief.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=b5bcaacd12d2d1c94ab7199616b6d05e" alt="Carlos at his desk reviewing the Bistro Oranje campaign brief, with restaurant brand imagery on one screen and athlete photos on another" style={{ width: '100%', borderRadius: '12px', marginBottom: '2rem' }} width="1376" height="768" data-path="images/walkthrough/brand-panel-01-campaign-brief.png" />

## ステップ1: ブリーフ

Bistro Oranje はオランダ全土にわたるサマーキャンペーンの顔としてオランダのオリンピックアスリートを求めています。動画広告、ディスプレイバナー、音声スポット。予算: 権利に EUR 5,000、プラスクリエイティブ制作費とメディア費用。キャンペーンは6月から8月まで。

Carlos はメディアバイイングで AdCP を使ったことがあります。権利ライセンスも同じ方法で機能する — バイヤーエージェントは権利エージェントと同じプロトコル、同じツールで話す。

<Accordion title="代理店の言語からプロトコル用語へ">
  | Carlos が言うこと                 | プロトコルがそれを呼ぶもの                                      |
  | ---------------------------- | -------------------------------------------------- |
  | 「フードブランド向けのオランダ人アスリートを見つけて」  | 自然言語 `query` を含む `get_rights`                      |
  | 「肖像と音声でいくら？」                 | `get_rights` レスポンスの `pricing_options`              |
  | 「オランダのみで3ヶ月確定して」             | キャンペーン日程と国を含む `acquire_rights`                     |
  | 「クリエイティブツールが生成できるようにキーを送って」  | `acquire_rights` レスポンスの `generation_credentials`   |
  | 「タレントの事務所がクリエイティブを承認する必要がある」 | `approval_webhook` 経由の `creative-approval-request` |
  | 「9月まで延長が必要」                  | 新しい `end_date` を含む `update_rights`                 |
  | 「タレントが怪我をした — すべて引き上げて」      | `revocation_webhook` への取り消し通知                      |
</Accordion>

***

## ステップ2: ブランドを発見します

Carlos のバイヤーエージェントはすべての AdCP インタラクションが始まる場所から開始する: `brand.json`。エージェントは `https://lotientertainment.com/.well-known/brand.json` を取得し、アスリートのロスターを管理するタレントエージェンシーを見つける。

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/brand-panel-02-brand-discovery.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=35c3c0f77f1c515e0cfc971021b147e5" alt="A buyer agent robot following a glowing trail from a restaurant website to a brand.json file floating in the air, revealing identity data like colors, logos, and tone" style={{ width: '100%', borderRadius: '12px', marginBottom: '2rem' }} width="1376" height="768" data-path="images/walkthrough/brand-panel-02-brand-discovery.png" />

`rights_agent` フィールドは MCP 呼び出しをする前に、バイヤーエージェントが知る必要があるすべてを伝える — ライセンス可能なもの、権利のタイプ、どこで。

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/brand.json",
  "version": "1.0",
  "house": {
    "domain": "lotientertainment.com",
    "name": "Loti Entertainment",
    "architecture": "house_of_brands"
  },
  "brands": [
    {
      "id": "daan_janssen",
      "names": [{ "en": "Daan Janssen" }],
      "description": "Dutch Olympic speed skater, 2x gold medalist",
      "industries": ["sports"],
      "rights_agent": {
        "url": "https://rights.lotientertainment.com/mcp",
        "id": "loti_entertainment",
        "available_uses": ["likeness", "voice", "endorsement"],
        "right_types": ["talent"],
        "countries": ["NL", "BE", "DE"]
      }
    }
  ]
}
```

```mermaid theme={null}
sequenceDiagram
    participant Buyer as バイヤーエージェント
    participant Domain as lotientertainment.com
    participant Rights as 権利エージェント (MCP)

    Buyer->>Domain: GET /.well-known/brand.json
    Domain-->>Buyer: rights_agent 付き brand.json
    Note over Buyer: 権利エージェント URL、<br/>利用可能な用途、国を発見
    Buyer->>Rights: get_brand_identity (brand_id: "daan_janssen")
    Rights-->>Buyer: ビジュアルアイデンティティ、写真、トーン
```

バイヤーエージェントは `get_brand_identity` も呼び出してビジュアルアセットとトーンガイドラインを取得します。これらはクリエイティブツールがアスリートを起用したブランドに沿った広告を生成する際に後で必要になります。

```json theme={null}
{
  "brand_id": "daan_janssen",
  "fields": ["logos", "colors", "tone", "visual_guidelines"]
}
```

これにより高解像度の写真、ブランドカラー、外見ガイドラインが返される — クリエイティブエージェントが正しく見える広告を生成するために必要なすべて。

***

## ステップ3: タレントを検索します

Carlos のエージェントが権利エージェントで `get_rights` を呼び出す。Carlos は平易な言語で必要なものを説明します。ドロップダウンメニューなし、カテゴリーコードなし — エージェントが意図を理解します。

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/brand-panel-03-rights-search.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=389c99da6fe2097ff89ef84257a82204" alt="A catalog display showing talent cards with availability indicators, pricing tags, and geographic coverage maps, like a talent agency's digital showcase" style={{ width: '100%', borderRadius: '12px', marginBottom: '2rem' }} width="1376" height="768" data-path="images/walkthrough/brand-panel-03-rights-search.png" />

**リクエスト:**

```json theme={null}
{
  "query": "Dutch athlete available for food and restaurant brands in the Netherlands, budget around EUR 5000 for 3 months",
  "uses": ["likeness", "voice"],
  "buyer_brand": {
    "domain": "bistrooranje.nl"
  },
  "countries": ["NL"],
  "right_type": "talent",
  "include_excluded": true
}
```

`include_excluded: true` フラグは権利エージェントに、そのままではライセンスできないタレントも理由と代替案とともに返すよう求める。このフラグなしでは、レスポンスには利用可能なタレントのみが含まれます。

レスポンスは Daan Janssen を92%マッチとして返す — オランダ国籍、フードカテゴリーに競合なし、予算に合致。2つの価格オプション: インプレッションあたり EUR 3.50 の CPM、または10万インプレッション上限付き EUR 1,500/月の定額制。レスポンスはまた、オランダのフードカテゴリーで独占権があるため Emma van Dijk が除外されており、代替マーケットの代替案が提示されていることを示します。

<Accordion title="get_rights レスポンス全文">
  ```json theme={null}
  {
    "rights": [
      {
        "rights_id": "loti_dj_talent_2026",
        "brand_id": "daan_janssen",
        "name": "Daan Janssen",
        "description": "Dutch Olympic speed skater, 2x gold medalist. Available for food, lifestyle, and fitness brands.",
        "right_type": "talent",
        "match_score": 0.92,
        "match_reasons": [
          "Dutch nationality matches geographic request",
          "No food category exclusivity conflicts",
          "Budget aligns with available pricing options"
        ],
        "available_uses": ["likeness", "voice", "endorsement"],
        "countries": ["NL", "BE", "DE"],
        "exclusivity_status": {
          "available": true,
          "existing_exclusives": [
            "Exclusive commitment in sportswear category (NL, BE, DE)"
          ]
        },
        "pricing_options": [
          {
            "pricing_option_id": "dj_cpm_likeness_voice",
            "model": "cpm",
            "price": 3.50,
            "currency": "EUR",
            "uses": ["likeness", "voice"],
            "description": "Likeness and voice, per-impression pricing"
          },
          {
            "pricing_option_id": "dj_flat_monthly",
            "model": "flat_rate",
            "price": 1500,
            "currency": "EUR",
            "uses": ["likeness", "voice"],
            "period": "monthly",
            "impression_cap": 100000,
            "overage_cpm": 4.00,
            "description": "Monthly flat rate with 100K impression cap"
          }
        ],
        "content_restrictions": [
          "No depiction in competitive sports contexts",
          "Alcohol adjacency prohibited",
          "Creative approval required for video formats"
        ]
      }
    ],
    "excluded": [
      {
        "brand_id": "emma_van_dijk",
        "name": "Emma van Dijk",
        "reason": "Exclusive commitment in food and beverage category (NL)",
        "suggestions": [
          "Available for food brands in BE and DE markets",
          "Exclusivity expires 2026-12-31 — available in NL from January 2027"
        ]
      }
    ]
  }
  ```
</Accordion>

Carlos のエージェントは Daan Janssen の2つの価格オプションを確認します。インプレッションごとのモデルはボリュームが予測できない場合に機能します。定額月額制は計画されたキャンペーンに適している — EUR 1,500/月・10万インプレッション上限は3ヶ月のキャンペーン全体で EUR 4,500、予算内。

`excluded` 配列は Emma van Dijk がオランダのフードブランドで利用できないことを示しているが、代替案は彼女がベルギーとドイツで利用可能、または2027年1月からオランダでも利用可能であることを Carlos のエージェントに伝える。代替案がある拒否は実行可能 — エージェントは調整して再試行できます。

```mermaid theme={null}
sequenceDiagram
    participant Buyer as バイヤーエージェント
    participant Rights as 権利エージェント

    Buyer->>Rights: get_rights (query, uses, buyer_brand, countries)
    Rights-->>Buyer: 価格オプション付きのマッチする権利
    Note over Buyer: 価格オプションを評価、<br/>コンテンツ制限を確認、<br/>除外理由をレビュー
```

***

## ステップ4: 権利を取得します

Carlos はオプションを確認して定額月額制を選ぶ。バイヤーエージェントが `acquire_rights` を送信する — 拘束力のある契約上のリクエスト。

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/brand-panel-04-handshake.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=5fa76f73576239b604cf82b21e6492ba" alt="Two robots, a buyer agent and a brand agent, shaking hands over a glowing contract document with terms floating above it — dates, geography, and pricing" style={{ width: '100%', borderRadius: '12px', marginBottom: '2rem' }} width="1376" height="768" data-path="images/walkthrough/brand-panel-04-handshake.png" />

Carlos のエージェントは定額月額制の価格オプション、キャンペーン日程（6月から8月）、取り消しとプッシュ通知のウェブフック、安全な再試行のための冪等性キーを含む `acquire_rights` を送信します。

<Accordion title="acquire_rights リクエスト全文">
  ```json theme={null}
  {
    "rights_id": "loti_dj_talent_2026",
    "pricing_option_id": "dj_flat_monthly",
    "buyer": {
      "domain": "bistrooranje.nl"
    },
    "campaign": {
      "description": "Summer steakhouse campaign featuring Daan Janssen in video, display, and audio ads promoting Bistro Oranje locations across the Netherlands",
      "uses": ["likeness", "voice"],
      "countries": ["NL"],
      "format_ids": [
        { "agent_url": "https://creatives.pinnaclemedia.com", "id": "video_16x9_30s" },
        { "agent_url": "https://creatives.pinnaclemedia.com", "id": "display_300x250" }
      ],
      "estimated_impressions": 250000,
      "start_date": "2026-06-01",
      "end_date": "2026-08-31"
    },
    "revocation_webhook": {
      "url": "https://api.pinnaclemedia.com/webhooks/revocation",
      "auth": {
        "type": "bearer",
        "token": "whk_pinnacle_abc123"
      }
    },
    "push_notification_config": {
      "url": "https://api.pinnaclemedia.com/webhooks/rights-updates",
      "auth": {
        "type": "bearer",
        "token": "whk_pinnacle_def456"
      }
    },
    "idempotency_key": "bistro-dj-summer-2026-v1"
  }
  ```
</Accordion>

3つの結果が考えられます。

```mermaid theme={null}
flowchart TD
    A[acquire_rights リクエスト] --> B{権利エージェント<br/>が評価}
    B -->|クリア済み| C["acquired
    条件 + 資格情報 + 権利制約"]
    B -->|レビューが必要| D["pending_approval
    推定応答時間"]
    B -->|対応不可| E["rejected
    理由 + オプションの代替案"]

    C --> F[クリエイティブ生成開始]
    D --> G[解決時にウェブフック通知]
    E --> H{代替案<br/>あり？}
    H -->|Yes| I[調整して再送信]
    H -->|No| J[他のタレントに進む]

    style C fill:#047857,color:#fff
    style D fill:#d97706,color:#fff
    style E fill:#dc2626,color:#fff
```

Carlos のエージェントはクリエイティブの制作を開始するために必要なすべてを取得します: Midjourney（肖像）と ElevenLabs（音声）のキー、すべての広告の法的開示テキスト、タレントの承認のためにクリエイティブを送信するリンク。月間上限の10万インプレッションは3ヶ月の条件にわたる合計キャンペーン上限の30万に変換されます。

<Accordion title="acquired レスポンス全文">
  ```json theme={null}
  {
    "rights_id": "loti_dj_talent_2026",
    "status": "acquired",
    "brand_id": "daan_janssen",
    "terms": {
      "pricing_option_id": "dj_flat_monthly",
      "amount": 1500,
      "currency": "EUR",
      "period": "monthly",
      "uses": ["likeness", "voice"],
      "impression_cap": 100000,
      "overage_cpm": 4.00,
      "start_date": "2026-06-01",
      "end_date": "2026-08-31"
    },
    "generation_credentials": [
      {
        "provider": "midjourney",
        "rights_key": "rk_mj_dj_2026_bistro_7f3a9b",
        "uses": ["likeness"],
        "expires_at": "2026-09-01T00:00:00Z"
      },
      {
        "provider": "elevenlabs",
        "rights_key": "rk_el_dj_2026_bistro_4e8c1d",
        "uses": ["voice"],
        "expires_at": "2026-09-01T00:00:00Z"
      }
    ],
    "restrictions": [
      "No depiction in competitive sports contexts",
      "Alcohol adjacency prohibited",
      "Creative approval required for video formats"
    ],
    "disclosure": {
      "required": true,
      "text": "Features AI-generated likeness of Daan Janssen, used under license from Loti Entertainment."
    },
    "approval_webhook": {
      "url": "https://rights.lotientertainment.com/api/creative-approval",
      "auth": {
        "type": "bearer",
        "token": "appr_loti_dj_2026_9x4k"
      }
    },
    "usage_reporting_url": "https://rights.lotientertainment.com/api/usage",
    "rights_constraint": {
      "rights_id": "loti_dj_talent_2026",
      "rights_agent": {
        "url": "https://rights.lotientertainment.com/mcp",
        "id": "loti_entertainment"
      },
      "valid_from": "2026-06-01T00:00:00Z",
      "valid_until": "2026-09-01T00:00:00Z",
      "uses": ["likeness", "voice"],
      "countries": ["NL"],
      "impression_cap": 300000,
      "right_type": "talent",
      "verification_url": "https://rights.lotientertainment.com/verify/loti_dj_talent_2026"
    }
  }
  ```
</Accordion>

***

## ステップ5: 承認と拒否

すべてのリクエストがすぐに承認されるわけではありません。プロトコルは他の2つのパスを処理します。

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/brand-panel-05-approval-paths.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=b30a26b92ca68adb64f3cc07aabe03ae" alt="Split panel showing two paths: left side has a golden key credential being handed over for an approved request; right side shows a rejected stamp with two branches — one looping back with a lightbulb for suggestions, another with a final X" style={{ width: '100%', borderRadius: '12px', marginBottom: '2rem' }} width="1376" height="768" data-path="images/walkthrough/brand-panel-05-approval-paths.png" />

### 承認待ち

一部のリクエストは人間のレビューが必要 — タレントのマネジメント、法務チーム、またはアスリート本人。権利エージェントは推定タイムラインとともに `pending_approval` を返します。

```json theme={null}
{
  "rights_id": "loti_dj_talent_2026",
  "status": "pending_approval",
  "brand_id": "daan_janssen",
  "detail": "Video format requests require creative concept review by talent management",
  "estimated_response_time": "48h"
}
```

決定が下されると、権利エージェントが `push_notification_config` URL にウェブフックを送信します。バイヤーエージェントはポーリングしません。

### 代替案付きの拒否（実行可能）

リクエストがそのままでは対応できないが、バイヤーが調整できる場合、拒否に `suggestions` が含まれます。その存在がシグナル — 代替案がある場合、拒否は修正可能です。

```json theme={null}
{
  "rights_id": "loti_dj_talent_2026",
  "status": "rejected",
  "brand_id": "daan_janssen",
  "reason": "Requested dates conflict with an existing exclusivity commitment in the food category for this market",
  "suggestions": [
    "Available in NL from 2026-09-01 onward",
    "Available immediately in BE and DE markets",
    "Consider likeness-only (without voice) — available at reduced rate"
  ]
}
```

Carlos のエージェントは修正できる — 日程をずらす、地域を変える、または音声権利を外す — そして再送信します。

### 代替案なしの拒否（最終）

代替案がない場合、そのタレントとキャンペーンの組み合わせに対して拒否は最終的です。

```json theme={null}
{
  "rights_id": "loti_dj_talent_2026",
  "status": "rejected",
  "brand_id": "daan_janssen",
  "reason": "This request does not meet the talent's current licensing criteria"
}
```

`suggestions` フィールドなし。バイヤーエージェントは次に進む。理由が意図的に曖昧な場合がある — 事務所はプライベートなビジネスロジックを公開することなくバイヤーエージェントが結果を理解するのに十分なサニタイズされた理由を提供します。

***

この時点で Carlos はタレントをライセンスしてクリエイティブを生成する準備ができています。次のセクションは取得後の生成、配信、ライフサイクル管理について説明します。

<CardGroup cols={2}>
  <Card title="自分で試す" icon="graduation-cap" href="/docs/learning/tracks/buyer">
    バイヤー認定プログラムを通じてプロトコルをハンズオンで学ぶ。
  </Card>

  <Card title="広告主向け" icon="bullhorn" href="/docs/brand-protocol/for-advertisers">
    バイヤーの視点から権利ライセンスがどのように機能するか。
  </Card>
</CardGroup>

***

## ステップ6: 生成と配信

資格情報を手に入れた Carlos のクリエイティブツールが動き始める。Midjourney の資格情報が肖像を生成します。ElevenLabs の資格情報が音声を生成します。各プロバイダーは生成時に `rights_key` を検証する — 資格情報自体が認可です。

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/brand-panel-06-creative-generation.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=c6306fc68facedbd40ba5744f14d5b01" alt="Carlos reviewing AI-generated ads on his screen — a display banner and video still featuring the licensed athlete, with a verification badge and shield icon" style={{ width: '100%', borderRadius: '12px', marginBottom: '2rem' }} width="1376" height="768" data-path="images/walkthrough/brand-panel-06-creative-generation.png" />

### クリエイティブ承認

動画フォーマットでは、コンテンツ制限により配信前の承認が必要です。クリエイティブエージェントが完成した広告を `approval_webhook` に送信します。

```json theme={null}
{
  "rights_id": "loti_dj_talent_2026",
  "creative_id": "bistro_summer_video_01",
  "creative_url": "https://cdn.pinnaclemedia.com/creatives/bistro_summer_video_01.mp4",
  "creative_format": {
    "agent_url": "https://creatives.pinnaclemedia.com",
    "id": "video_16x9_30s"
  },
  "description": "30-second video spot featuring Daan Janssen recommending Bistro Oranje summer menu"
}
```

### クリエイティブマニフェストの権利制約

ライセンスされたタレントを使用するすべてのクリエイティブは、マニフェスト内に `acquire_rights` レスポンスの `rights_constraint` を含む — バイヤーは手動で構築しません。単一の広告は異なる権利保有者からのタレント肖像と音楽を組み合わせることができ、それぞれ異なる有効期間と地理的制限を持ちます。ダウンストリームの参加者（SSP、検証ベンダー）は配信前に付与がまだアクティブであることを確認するために `verification_url` にアクセスします。

### 使用状況報告

インプレッションは請求と上限管理のために権利エージェントに報告されます。

条件のインプレッション上限（月間10万）はデフォルトではソフト上限です。キャンペーンがそれを超えた場合、追加インプレッションは `overage_cpm` レート（EUR 4.00）で請求されます。権利エージェントは累積使用状況を追跡し、上限に近づいたらバイヤーに通知できます。

***

## ステップ7: ライフサイクルは続く

権利は静的ではありません。キャンペーンは変化し、契約は延長され、時には問題が起こる。

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/brand-panel-07-lifecycle.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=941b736a69ec4b97458c71a4d74622bc" alt="Timeline view showing the full rights lifecycle: an active campaign with an impression counter ticking, a pause and update midstream, and a revocation alert notification appearing on Carlos's screen" style={{ width: '100%', borderRadius: '12px', marginBottom: '2rem' }} width="1376" height="768" data-path="images/walkthrough/brand-panel-07-lifecycle.png" />

### 権利の更新

キャンペーン途中で Bistro Oranje は9月まで延長したい。Carlos のエージェントが `update_rights` を呼び出す。

```json theme={null}
{
  "rights_id": "loti_dj_talent_2026",
  "end_date": "2026-09-30",
  "impression_cap": 150000,
  "idempotency_key": "bistro-dj-extend-sept-v1"
}
```

レスポンスには更新された条件と新しい有効期限で再発行された生成資格情報が含まれます。古い資格情報は重複期間中も機能し続ける — クリエイティブ配信に隙間はない。

キャンペーンを一時停止する必要がある場合（タレントの怪我、ブランドの問題、季節的な休止）、エージェントは `paused: true` を設定できます。資格情報は停止されます。再開するには `paused: false` を設定します。

### 自然な有効期限切れ

キャンペーンが終了して `valid_until` に達すると、資格情報は自動的に期限切れとなります。生成リクエストは機能しなくなります。どちらの側のアクションも不要。

### 取り消し

タレントの事務所が権利を取り消す必要がある場合 — スキャンダル、契約違反、法的問題 — バイヤーの `revocation_webhook` に取り消し通知を POST します。

```json theme={null}
{
  "notification_id": "rev_loti_dj_2026_001",
  "rights_id": "loti_dj_talent_2026",
  "brand_id": "daan_janssen",
  "reason": "Rights revoked due to updated talent representation terms",
  "effective_at": "2026-07-15T18:00:00Z"
}
```

バイヤーは受領を確認します。通知の配信に失敗した場合、権利エージェントは自動的に再試行します。

`effective_at` が将来の時刻の場合、バイヤーはクリエイティブ配信を終了するための猶予期間を持ちます。現在の時刻の場合、取り消しは即時 — 今すぐ配信を停止します。

部分的な取り消しもサポートされています。通知に `revoked_uses` が含まれている場合、それらの使用のみ取り消されます。付与の残りはアクティブのままです。

```mermaid theme={null}
stateDiagram-v2
    [*] --> Active: acquire_rights (acquired)
    Active --> Active: update_rights (延長、上限調整)
    Active --> Paused: update_rights (paused: true)
    Paused --> Active: update_rights (paused: false)
    Active --> PartialRevocation: 取り消し (revoked_uses あり)
    PartialRevocation --> Active: 残りの使用が継続
    Active --> Revoked: 取り消し (全体)
    Paused --> Revoked: 取り消し (全体)
    Active --> Expired: valid_until に達した
    Revoked --> [*]
    Expired --> [*]
```

***

## 確認できたこと

ブランドプロトコルは探索（`brand.json`）からライセンス（`get_rights`、`acquire_rights`）、ライフサイクル管理（`update_rights`、取り消しウェブフック）まで権利を処理します。すべてのステップでバイヤーエージェントがすでに使用している同じ MCP トランスポートを使用します。権利制約はクリエイティブと一緒に伝わる — サプライチェーンのすべての参加者が配信前に検証できます。

<Accordion title="理解度チェック">
  Bistro Oranje のキャンペーンが7月の途中で、Daan Janssen がベルギーのフードブランドを含む新しいスポーツウェアの独占契約に署名したことがわかった。Carlos のキャンペーンはオランダのみで実施されています。Carlos は何かする必要があるか？なぜか？

  *考えるべきこと: 権利付与における地理的スコーピング、既存の独占権と新しい独占権の違い、Carlos の `acquire_rights` 条件の `countries` フィールドが実際にカバーするもの。*
</Accordion>

***

## さらに深く

<CardGroup cols={2}>
  <Card title="brand.json 仕様" icon="code" href="/docs/brand-protocol/brand-json">
    brand.json ファイル形式の完全な技術仕様。
  </Card>

  <Card title="広告主向け" icon="bullhorn" href="/docs/brand-protocol/for-advertisers">
    バイヤーの視点から権利ライセンスがどのように機能するか。
  </Card>

  <Card title="権利保有者向け" icon="shield-halved" href="/docs/brand-protocol/for-rights-holders">
    AdCP がタレント権利を保護してマネタイズする方法。
  </Card>

  <Card title="ブランドエージェントの構築" icon="robot" href="/docs/brand-protocol/building-a-brand-agent">
    アイデンティティと権利を提供するブランドエージェントを実装します。
  </Card>

  <Card title="get_rights" icon="magnifying-glass" href="/docs/brand-protocol/tasks/get_rights">
    価格と空き状況付きでライセンス可能なタレントを検索します。
  </Card>

  <Card title="acquire_rights" icon="file-signature" href="/docs/brand-protocol/tasks/acquire_rights">
    拘束力のあるリクエストを送信して生成資格情報を受け取ります。
  </Card>

  <Card title="update_rights" icon="arrows-rotate" href="/docs/brand-protocol/tasks/update_rights">
    既存の権利付与を変更する — 延長、一時停止、調整。
  </Card>

  <Card title="認定" icon="graduation-cap" href="/docs/learning/tracks/buyer">
    バイヤー認定を取得してプロトコルをハンズオンで学ぶ。
  </Card>
</CardGroup>
