{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/index.json",
  "title": "AdCP Schema Registry",
  "version": "1.0.0",
  "description": "Registry of all AdCP JSON schemas for validation and discovery",
  "adcp_version": "3.2.0-beta.0",
  "versioning": {
    "note": "AdCP uses build-time versioning. This directory contains schemas for AdCP 3.2.0-beta.0. Full semantic versions are available at /schemas/{version}/ (e.g., /schemas/2.5.0/). Major version aliases point to the latest stable release in that major line; use /schemas/index.json or /schemas/latest.json for the canonical file-based pointer."
  },
  "lastUpdated": "2026-08-17",
  "baseUrl": "/schemas/3.2.0-beta.0",
  "stability": "beta",
  "prerelease": true,
  "deprecated": false,
  "protocol_layers": [
    {
      "id": "negotiation",
      "title": "Negotiation layer",
      "description": "Planning-time protocols for discovery, buying, creative, signals, accounts, governance, brand identity, and sponsored intelligence.",
      "schema_groups": [
        "media-buy",
        "creative",
        "signals",
        "account",
        "governance",
        "brand",
        "sponsored-intelligence"
      ]
    },
    {
      "id": "decisioning-serving",
      "title": "Decisioning and serving layer",
      "description": "Trusted Match Protocol schemas for serve-time Context Match and Identity Match decisions.",
      "schema_groups": [
        "trusted-match"
      ]
    }
  ],
  "schemas": {
    "core": {
      "description": "Core data models used throughout AdCP",
      "schemas": {
        "product": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/product.json",
          "description": "Represents available advertising inventory"
        },
        "canonical-product": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/canonical-product.json",
          "description": "Canonical-only product view for the AdCP 3.2 split product and proposal tools"
        },
        "canonical-format-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/canonical-format-option.json",
          "description": "Compact canonical format declaration without legacy named-format links"
        },
        "canonical-placement": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/canonical-placement.json",
          "description": "Compact canonical product placement"
        },
        "canonical-product-action": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/canonical-product-action.json",
          "description": "Fine-grained action template for compact products"
        },
        "canonical-proposal": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/canonical-proposal.json",
          "description": "Compact immutable proposal with a typed commercial envelope"
        },
        "canonical-account-ref": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/canonical-account-ref.json",
          "description": "Compact account identity without inline brand documents"
        },
        "canonical-budget-allocation": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/canonical-budget-allocation.json",
          "description": "Compact budget allocation for canonical MediaBuy tools"
        },
        "canonical-optimization-goal": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/canonical-optimization-goal.json",
          "description": "Compact optimization goal without legacy targets or inline vendor brands"
        },
        "canonical-metric-qualifier": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/canonical-metric-qualifier.json",
          "description": "Compact reporting metric qualifier"
        },
        "canonical-reporting-commitment": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/canonical-reporting-commitment.json",
          "description": "Compact standard or vendor reporting commitment"
        },
        "canonical-media-buy-action": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/canonical-media-buy-action.json",
          "description": "Available MediaBuy action routed to its compact-lifecycle task"
        },
        "keyword-target": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/keyword-target.json",
          "description": "Compact keyword targeting mutation"
        },
        "compact-task-submitted": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/compact-task-submitted.json",
          "description": "Shared submitted envelope for compact lifecycle tools"
        },
        "compact-task-working": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/compact-task-working.json",
          "description": "Shared progress payload for compact lifecycle tools"
        },
        "compact-task-input-required": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/compact-task-input-required.json",
          "description": "Shared input-required payload for compact lifecycle tools"
        },
        "media-buy": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/media-buy.json",
          "description": "Represents a purchased advertising campaign"
        },
        "package": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/package.json",
          "description": "A specific product within a media buy (line item)"
        },
        "committed-metric": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/committed-metric.json",
          "description": "One metric in a package's binding reporting contract"
        },
        "creative-asset": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-asset.json",
          "description": "Creative asset for upload to library - supports static assets, generative formats, and third-party ad serving (VAST, DAAST, HTML, JavaScript)"
        },
        "locale-tag": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/locale-tag.json",
          "description": "BCP 47 language-identity tag using the AdCP canonical wire profile — required shared primitive for new language-bearing fields"
        },
        "creative-localization": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-localization.json",
          "description": "Explicit source and target locale variants requested on a creative"
        },
        "localized-creative-asset": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/localized-creative-asset.json",
          "description": "Creative variant asset with contextual language-tag conformance"
        },
        "creative-localization-readback": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-localization-readback.json",
          "description": "Exact materialized locale assets, buyer-assigned identities, and matching policy"
        },
        "account": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/account.json",
          "description": "Billing account representing who pays for advertising. Accounts have rate cards, payment terms, and platform mappings."
        },
        "operator-identity": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/operator-identity.json",
          "description": "Complete buyer-desired operator domain and optional operator-owned unit for an advertiser account"
        },
        "account-identity-change": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/account-identity-change.json",
          "description": "Pending or rejected operator-identity transition on an existing account"
        },
        "account-identity-change-preview": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/account-identity-change-preview.json",
          "description": "Non-persisted impact and disposition preview for a dry-run account identity transition"
        },
        "account-with-authorization": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/account-with-authorization.json",
          "description": "List-accounts response item combining Account with caller-specific authorization metadata"
        },
        "targeting": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/targeting.json",
          "description": "Audience targeting criteria"
        },
        "targeting-overlay-support": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/targeting-overlay-support.json",
          "description": "Product-scoped targeting dimensions whose values may be supplied on packages later"
        },
        "targeting-overlay-requirements": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/targeting-overlay-requirements.json",
          "description": "Buyer requirements for product-scoped targeting dimensions that must remain selectable on packages"
        },
        "geo-region-requirement": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/geo-region-requirement.json",
          "description": "Buyer country/value requirements for ISO subdivision targeting selected later"
        },
        "geo-region-support": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/geo-region-support.json",
          "description": "Country- and value-aware selectable ISO subdivision targeting support"
        },
        "product-targeting-resolution": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/product-targeting-resolution.json",
          "description": "Discovery-time targeting modifications bound to a configured product"
        },
        "package-targeting-resolution": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/package-targeting-resolution.json",
          "description": "Execution details for targeting accepted on a booked package"
        },
        "targeting-modification": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/targeting-modification.json",
          "description": "One buyer-reviewable targeting modification on a configured product"
        },
        "placement-selection": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/placement-selection.json",
          "description": "Purchased placement inventory selection within a product"
        },
        "demographic-age-range": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/demographic-age-range.json",
          "description": "Canonical inclusive age interval with explicit unknown-age membership"
        },
        "demographic-predicate": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/demographic-predicate.json",
          "description": "Portable demographic audience intent, beginning with age in AdCP 3.2"
        },
        "demographic-targeting-capability": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/demographic-targeting-capability.json",
          "description": "Product-scoped demographic execution modes and exact interval capabilities"
        },
        "demographic-reporting-capability": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/demographic-reporting-capability.json",
          "description": "Product-scoped demographic reporting ranges, systems, and suppression posture"
        },
        "demographic-targeting-resolution": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/demographic-targeting-resolution.json",
          "description": "Requested, applied, execution, and exact-equivalence demographic readback"
        },
        "audience-characteristic": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/audience-characteristic.json",
          "description": "Machine-comparable audience dimension and value or range"
        },
        "audience-evidence": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/audience-evidence.json",
          "description": "Immutable population-level audience composition, affinity, or reach evidence"
        },
        "audience-evidence-requirements": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/audience-evidence-requirements.json",
          "description": "Buyer-authored audience-evidence admissibility and ranking policy"
        },
        "audience-evidence-pin": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/audience-evidence-pin.json",
          "description": "Buyer commitment pin for an exact immutable audience-evidence snapshot"
        },
        "audience-evidence-selection": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/audience-evidence-selection.json",
          "description": "Digest-pinned package readback for evidence used in a decision"
        },
        "duration": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/duration.json",
          "description": "A time duration with value and unit (hours or days)"
        },
        "feature-requirement": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/feature-requirement.json",
          "description": "A feature-based requirement — reusable predicate over a feature value. Used by property list filters, designed for reuse across governance surfaces."
        },
        "frequency-cap": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/frequency-cap.json",
          "description": "Frequency capping settings"
        },
        "planned-delivery": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/planned-delivery.json",
          "description": "The seller's interpreted delivery parameters for a media buy"
        },
        "geo-breakdown-support": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/geo-breakdown-support.json",
          "description": "Geographic breakdown capability declaration for reporting"
        },
        "spot-reporting-capability": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/spot-reporting-capability.json",
          "description": "Spot-level as-run reporting support and available spot-grain metrics"
        },
        "format": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/format.json",
          "description": "Deprecated 3.x named-format compatibility definition; use ProductFormatDeclaration canonical contracts for new integrations.",
          "deprecated": true
        },
        "overlay": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/overlay.json",
          "description": "A publisher-controlled element that renders on top of buyer creative content within an ad placement"
        },
        "outcome-measurement": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/outcome-measurement.json",
          "description": "Business outcome measurement capabilities included with a product"
        },
        "delivery-metrics": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/delivery-metrics.json",
          "description": "Standard delivery metrics for reporting"
        },
        "delivery-metric-aggregate": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/delivery-metric-aggregate.json",
          "description": "Cross-buy delivery aggregate partitioned by metric scope and qualifier"
        },
        "missing-metric": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/missing-metric.json",
          "description": "Metric from the binding reporting contract that is absent from a delivery report"
        },
        "catalog-item-delivery-metrics": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/catalog-item-delivery-metrics.json",
          "description": "Delivery metrics row for one catalog item"
        },
        "creative-delivery-metrics": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-delivery-metrics.json",
          "description": "Delivery metrics row for one creative"
        },
        "keyword-delivery-metrics": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/keyword-delivery-metrics.json",
          "description": "Delivery metrics row for one keyword and match type"
        },
        "geo-delivery-metrics": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/geo-delivery-metrics.json",
          "description": "Delivery metrics row for one geographic area"
        },
        "creative-policy": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-policy.json",
          "description": "Creative requirements and restrictions for a product"
        },
        "deadline-policy": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/deadline-policy.json",
          "description": "Default deadline rules for installments based on lead times from scheduled_at"
        },
        "installment-deadlines": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/installment-deadlines.json",
          "description": "Booking, cancellation, and material submission deadlines for an installment"
        },
        "material-deadline": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/material-deadline.json",
          "description": "A deadline for creative material submission at a specific stage"
        },
        "response": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/response.json",
          "description": "Standard response structure (MCP)"
        },
        "error": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/error.json",
          "description": "Standard error structure"
        },
        "generation-credential": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/generation-credential.json",
          "description": "Scoped credential for generating rights-cleared content via LLM providers"
        },
        "attestation-issuer": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/attestation-issuer.json",
          "description": "Typed canonical identity of an attestation credential issuer"
        },
        "attestation-subject": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/attestation-subject.json",
          "description": "Typed identity of the entity or object an attestation concerns"
        },
        "attestation-reference": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/attestation-reference.json",
          "description": "Reference-first presentation of an independently issued claim"
        },
        "attestation-capabilities": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/attestation-capabilities.json",
          "description": "Evaluator allowlist and supported attestation delivery and proof formats"
        },
        "attestation-evaluation": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/attestation-evaluation.json",
          "description": "Evaluator-of-record result bound to an exact attestation presentation"
        },
        "rights-attestation-evaluation": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/rights-attestation-evaluation.json",
          "description": "Seller-produced rights-grant presentation and evaluation readback"
        },
        "rights-constraint": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/rights-constraint.json",
          "description": "Digest-pinned rights metadata and portable issuer-attestation references attached to creatives"
        },
        "pagination-request": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/pagination-request.json",
          "description": "Standard cursor-based pagination parameters for list request schemas"
        },
        "pagination-response": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/pagination-response.json",
          "description": "Standard cursor-based pagination metadata for list response schemas"
        },
        "date-range": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/date-range.json",
          "description": "Date range with inclusive start and end calendar dates"
        },
        "opportunity-context": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/opportunity-context.json",
          "description": "Buyer planning-cycle context shared across proposal request, decline, and purchase"
        },
        "datetime-range": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/datetime-range.json",
          "description": "Datetime range with inclusive start and end timestamps"
        },
        "creative-item": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-item.json",
          "description": "Item within a multi-asset creative format"
        },
        "creative-assignment": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-assignment.json",
          "description": "Assignment of a creative asset to a package"
        },
        "creative-manifest": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-manifest.json",
          "description": "Complete specification of a creative with all assets needed for rendering"
        },
        "performance-feedback": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/performance-feedback.json",
          "description": "Stored processing record for performance feedback"
        },
        "performance-feedback-assertion": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/performance-feedback-assertion.json",
          "description": "One compact optimizer-ready assertion about a media buy, package, or creative"
        },
        "creative-variant": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-variant.json",
          "description": "A specific execution variant of a creative with performance metrics"
        },
        "property": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/property.json",
          "description": "An advertising property that can be validated via adagents.json"
        },
        "creative-brief": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-brief.json",
          "description": "Campaign-level creative context for AI-powered creative generation"
        },
        "creative-variable": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-variable.json",
          "description": "A dynamic content variable (DCO slot) on a creative"
        },
        "reference-asset": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/reference-asset.json",
          "description": "A reference asset with semantic role for creative context"
        },
        "registry-event": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/registry-event.json",
          "description": "A cursor-ordered registry change-feed event from /api/registry/feed"
        },
        "registry-feed-response": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/registry-feed-response.json",
          "description": "Response wrapper for GET /api/registry/feed"
        },
        "proposal": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/proposal.json",
          "description": "A proposed media plan with budget allocations across products - actionable via create_media_buy"
        },
        "budget-allocation": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/budget-allocation.json",
          "description": "Fixed or seller-optimized allocation of a media-buy total budget across packages"
        },
        "bidding-policy": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/bidding-policy.json",
          "description": "Buyer-authored bidding, average-cost, or return policy at media-buy or package scope"
        },
        "insertion-order": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/insertion-order.json",
          "description": "A formal insertion order attached to a committed proposal for agreement signing"
        },
        "product-allocation": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/product-allocation.json",
          "description": "A budget allocation for a specific product within a proposal"
        },
        "delivery-forecast": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/delivery-forecast.json",
          "description": "Forecasted delivery metrics for a proposal or product allocation"
        },
        "signal-coverage-forecast": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-coverage-forecast.json",
          "description": "Forecast-shaped availability guidance for a signal, without requiring monetary currency"
        },
        "forecast-range": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/forecast-range.json",
          "description": "A forecast value with optional low/high bounds"
        },
        "forecast-point": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/forecast-point.json",
          "description": "A single point on a budget-to-outcome curve"
        },
        "forecast-point-dimensions": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/forecast-point-dimensions.json",
          "description": "Dimensional slice represented by a forecast point"
        },
        "forecast-dimension-geo": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/forecast-dimension-geo.json",
          "description": "Geographic forecast dimension variant"
        },
        "forecast-dimension-placement": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/forecast-dimension-placement.json",
          "description": "Placement forecast dimension variant"
        },
        "forecast-dimension-device-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/forecast-dimension-device-type.json",
          "description": "Device form-factor forecast dimension variant"
        },
        "forecast-dimension-device-platform": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/forecast-dimension-device-platform.json",
          "description": "Device platform forecast dimension variant"
        },
        "forecast-dimension-audience": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/forecast-dimension-audience.json",
          "description": "Audience forecast dimension variant"
        },
        "forecast-dimension-signal": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/forecast-dimension-signal.json",
          "description": "Signal forecast dimension variant"
        },
        "forecast-vendor-metric-value": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/forecast-vendor-metric-value.json",
          "description": "Forecasted vendor-defined measurement value with low/mid/high bounds"
        },
        "catalog": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/catalog.json",
          "description": "A typed data feed — structural (offering, product, inventory, store, promotion) or vertical (hotel, flight, job, vehicle, real_estate, education, destination). Can be synced, inline, or fetched from a URL."
        },
        "wholesale-feed-event": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/wholesale-feed-event.json",
          "description": "A wholesale product feed or wholesale signals feed event carried by wholesale feed webhooks"
        },
        "offering": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/offering.json",
          "description": "A promotable offering from a brand with structured asset groups and optional conversational SI experiences"
        },
        "offering-asset-group": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/offering-asset-group.json",
          "description": "A structured group of creative assets within an offering, identified by group ID and asset type"
        },
        "postal-area": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/postal-area.json",
          "description": "Reusable postal area value for targeting, product filtering, and catalog scope"
        },
        "postal-country-system": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/postal-country-system.json",
          "description": "Valid country and local postal system pairings"
        },
        "postal-area-support": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/postal-area-support.json",
          "description": "Reusable postal area support map for capabilities and reporting"
        },
        "geo-place-area": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/geo-place-area.json",
          "description": "Catalog-backed named place target using stable identifiers in a declared system"
        },
        "geo-place-requirement": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/geo-place-requirement.json",
          "description": "Collision-safe identifier systems, countries, place types, and catalog versions required for later package selection"
        },
        "geo-place-support": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/geo-place-support.json",
          "description": "Countries and place types supported for one place identifier system"
        },
        "geo-place-system": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/geo-place-system.json",
          "description": "Registered geographic place identifier namespaces with HTTPS URI extensions"
        },
        "geo-place-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/geo-place-type.json",
          "description": "Registered geographic place classifications with HTTPS URI extensions"
        },
        "geo-place-resolver": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/geo-place-resolver.json",
          "description": "Machine-readable endpoint declaration for resolving place names to seller-accepted IDs"
        },
        "get-geo-place-resolution-request": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/get-geo-place-resolution-request.json",
          "description": "Standard query parameters for geographic place resolution"
        },
        "get-geo-place-resolution-response": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/get-geo-place-resolution-response.json",
          "description": "Paginated geographic place resolver results"
        },
        "geo-place-catalog-entry": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/geo-place-catalog-entry.json",
          "description": "One place identifier with lifecycle and replacement metadata"
        },
        "geo-place-catalog-capability": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/geo-place-catalog-capability.json",
          "description": "Supported versions and resolver for one place identifier system"
        },
        "asset-group-vocabulary": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/asset-group-vocabulary.json",
          "description": "Canonical registry of asset_group_id values with descriptions and v1 alias mapping (e.g., landing_page_url replaces 6 v1 alias names)"
        },
        "product-format-declaration": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/product-format-declaration.json",
          "description": "v2 inline format declaration on products. Keyed by canonical format name; product narrows exactly one canonical with platform-specific parameters."
        },
        "downstream-connection-requirement": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/downstream-connection-requirement.json",
          "description": "Seller/platform-side connection or grant required by a product, format, or request, distinct from the AdCP caller credential."
        },
        "canonical-projection-slot-override": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/canonical-projection-slot-override.json",
          "description": "Slot override used when projecting a legacy named format to a canonical format declaration"
        },
        "platform-extension-ref": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/platform-extension-ref.json",
          "description": "Reference to a platform extension definition (URI + content digest)."
        },
        "store-item": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/store-item.json",
          "description": "A physical store or location with coordinates, address, and catchment areas for proximity targeting"
        },
        "catchment": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/catchment.json",
          "description": "A catchment area definition using travel time (isochrone), simple radius, or pre-computed GeoJSON geometry"
        },
        "price": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/price.json",
          "description": "A monetary amount with currency and optional billing period for catalog item pricing"
        },
        "hotel-item": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/hotel-item.json",
          "description": "A hotel or lodging property for hotel-type catalogs"
        },
        "flight-item": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/flight-item.json",
          "description": "A flight route for flight-type catalogs"
        },
        "job-item": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/job-item.json",
          "description": "A job posting for job-type catalogs"
        },
        "vehicle-item": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/vehicle-item.json",
          "description": "A vehicle listing for vehicle-type catalogs"
        },
        "real-estate-item": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/real-estate-item.json",
          "description": "A property listing for real-estate-type catalogs"
        },
        "education-item": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/education-item.json",
          "description": "An educational program or course for education-type catalogs"
        },
        "destination-item": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/destination-item.json",
          "description": "A travel destination for destination-type catalogs"
        },
        "start-timing": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/start-timing.json",
          "description": "Campaign start timing: 'asap' or ISO 8601 date-time"
        },
        "pricing-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/pricing-option.json",
          "description": "A pricing model option offered by a publisher for a product"
        },
        "protocol-envelope": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/protocol-envelope.json",
          "description": "Standard envelope structure added by protocol layer (MCP, A2A, REST) that wraps task response payloads with protocol-level fields like status, context_id, task_id, and message"
        },
        "agent-signing-key": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/agent-signing-key.json",
          "description": "Publisher-attested public key material for an authorized agent"
        },
        "response-payload-jws-envelope": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/response-payload-jws-envelope.json",
          "description": "Decoded-payload JWS envelope used by the closed designated-task response-signing profile"
        },
        "placement": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/placement.json",
          "description": "Represents a specific ad placement within a product's inventory"
        },
        "placement-ref": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/placement-ref.json",
          "description": "Reference to a publisher-scoped placement"
        },
        "format-option-ref": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/format-option-ref.json",
          "description": "Reference to a publisher-scoped format option"
        },
        "placement-definition": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/placement-definition.json",
          "description": "Canonical placement definition published in a publisher's adagents.json"
        },
        "mcp-webhook-payload": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/mcp-webhook-payload.json",
          "description": "MCP-specific webhook payload structure for HTTP-based push notifications. Protocol-level fields at top-level (task_id, status, etc.) and AdCP data layer nested under 'result'. NOT used in A2A (uses native statusUpdate)."
        },
        "agent-notification-config": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/agent-notification-config.json",
          "description": "Agent-level webhook subscriber configuration for notifications such as capabilities.changed"
        },
        "agent-webhook-challenge": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/agent-webhook-challenge.json",
          "description": "Proof-of-control challenge payload for agent-level notification endpoint activation"
        },
        "capabilities-changed-webhook": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/capabilities-changed-webhook.json",
          "description": "Agent-level webhook payload that invalidates cached get_adcp_capabilities responses"
        },
        "account-status-changed-webhook": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/account-status-changed-webhook.json",
          "description": "Account-level webhook payload that invalidates a list_accounts account status snapshot"
        },
        "indicator": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/indicator.json",
          "description": "Compact durable seller interpretation attached to an authoritative resource snapshot"
        },
        "creative-approval-scope": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-approval-scope.json",
          "description": "Publisher- or placement-scoped creative approval outcome within an assignment"
        },
        "indicator-bearing": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/indicator-bearing.json",
          "description": "Reusable indicator snapshot fields, exact evaluated-type coverage, freshness, and optional scope coverage"
        },
        "indicator-scope": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/indicator-scope.json",
          "description": "Publisher and placement scope for an indicator assertion or evaluation"
        },
        "indicators-changed-webhook": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/indicators-changed-webhook.json",
          "description": "Account-level invalidation payload for a semantic indicator snapshot change"
        },
        "warning": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/warning.json",
          "description": "Structured non-blocking receipt returned only on synchronous mutation success"
        },
        "warning-resource": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/warning-resource.json",
          "description": "Typed identity of the resource affected by an operation warning"
        },
        "destination": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/destination.json",
          "description": "A destination platform where signals can be activated (DSP, sales agent, etc.)"
        },
        "deployment": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/deployment.json",
          "description": "A signal deployment to a specific destination platform with activation status and key"
        },
        "publisher-property-selector": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/publisher-property-selector.json",
          "description": "Selects properties from a publisher's adagents.json - supports three patterns: all properties, specific IDs, or by tags"
        },
        "product-filters": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/product-filters.json",
          "description": "Structured filters for product discovery"
        },
        "budget-range": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/budget-range.json",
          "description": "Shared currency-denominated inclusive budget bounds"
        },
        "product-change-map": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/product-change-map.json",
          "description": "Contradiction-proof product membership actions keyed by product ID"
        },
        "product-offer-filters": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/product-offer-filters.json",
          "description": "Offer-only product filters used by the compact product-discovery tools"
        },
        "product-audience-evidence-requirements": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/product-audience-evidence-requirements.json",
          "description": "Reference-only audience evidence policy used by compact product discovery"
        },
        "creative-filters": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-filters.json",
          "description": "Filter criteria for querying creative assets from the centralized library"
        },
        "signal-filters": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-filters.json",
          "description": "Filters to refine signal discovery results"
        },
        "signal-pricing": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-pricing.json",
          "description": "Vendor pricing model — discriminated union of cpm (fixed CPM), percent_of_media (percentage of spend, with optional CPM cap), flat_fee (fixed charge per reporting period), or per_unit (fixed price per unit of work)"
        },
        "signal-pricing-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-pricing-option.json",
          "deprecated": true,
          "description": "Deprecated — alias for vendor-pricing-option.json. Retained for backward compatibility. Prefer vendor-pricing-option.json for new implementations."
        },
        "vendor-pricing-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/vendor-pricing-option.json",
          "description": "A pricing option offered by a vendor agent (signals, creative, governance), combining a pricing_option_id with a pricing model. Returned in get_signals and list_creatives, referenced in build_creative responses and report_usage."
        },
        "creative-consumption": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/creative-consumption.json",
          "description": "Structured consumption details returned by build_creative when a paid creative agent computes cost. Well-known fields for tokens, images, renders, and processing time."
        },
        "transformer": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/transformer.json",
          "description": "An agent-offered, account-scoped, selectable unit of creative build capability (the creative analog of a media-buy product). Maps input formats to output formats and exposes typed config params. Discovered via list_transformers, selected by transformer_id in build_creative."
        },
        "transformer-param": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/transformer-param.json",
          "description": "Descriptor for one configuration knob a transformer exposes (field, type, value_source inline|range|enumerable, allowed values/range/account-scoped options, default)."
        },
        "evaluator-spec": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/evaluator-spec.json",
          "description": "Advisory buyer-attached evaluator input for build_creative — the rank-side of the get_creative_features feature oracle, driving a gate-then-rank pipeline. Declares the SOURCE of feature evaluation via one of three forms (inline pass/fail exemplars calibrating a single predicted_performance feature, an account-scoped evaluator_id, or an external get_creative_features-capable agent_url), an optional hard feature_requirement[] GATE (drop fails — internal best_of_n pruning), an explicit rank_by ordering ({feature_id, direction}), an allowlisted feature_agent pointer (accepted_verifiers; off-list → EVALUATOR_AGENT_NOT_ACCEPTED), plus an optional soft eval_budget. Informs best_of_n recommended/rank; never blocks an already-produced billable leaf."
        },
        "property-id": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/property-id.json",
          "description": "Identifier for a publisher property - lowercase alphanumeric with underscores only"
        },
        "property-tag": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/property-tag.json",
          "description": "Tag for categorizing publisher properties - lowercase alphanumeric with underscores only"
        },
        "property-list-ref": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/property-list-ref.json",
          "description": "Reference to an externally managed property list for passing large property sets"
        },
        "collection-list-ref": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/collection-list-ref.json",
          "description": "Reference to an externally managed collection list for passing large collection exclusion/inclusion sets"
        },
        "identifier": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/identifier.json",
          "description": "A property identifier with type and value"
        },
        "media-buy-features": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/media-buy-features.json",
          "description": "Optional media-buy protocol features for capability declarations and product filters"
        },
        "brand-id": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/brand-id.json",
          "description": "Identifier for a brand within a house portfolio - lowercase alphanumeric with underscores only"
        },
        "brand-ref": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/brand-ref.json",
          "description": "Reference to a brand via house domain + brand_id (like publisher + property_id)"
        },
        "brand-key": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/brand-key.json",
          "description": "Identity-only brand key for resolving a canonical brand manifest"
        },
        "catalog-selection": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/catalog-selection.json",
          "description": "Catalog reference and item selectors without ingestion configuration"
        },
        "seller-agent-ref": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/seller-agent-ref.json",
          "description": "Reference to a seller agent by its adagents.json-declared URL. Used on TMP AvailablePackage and echoed on Offer."
        },
        "signal-id": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-id.json",
          "description": "Universal signal identifier - discriminated union by source: 'catalog' (data_provider_domain + id, verifiable) or 'agent' (agent_url + id for a signal-source-native signal)"
        },
        "signal-ref": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-ref.json",
          "description": "Named signal reference for discovery, activation, and media-buy product targeting: scope 'product' for product-local signal options, scope 'data_provider' for published adagents.json signals[], or scope 'signal_source' for source-native signals"
        },
        "signal-listing": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-listing.json",
          "description": "Shared signal_ref plus optional definition metadata used by get_signals and media products"
        },
        "product-signal-targeting-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/product-signal-targeting-option.json",
          "description": "Product-scoped signal option available for package-level signal_targeting_groups"
        },
        "signal-definition": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-definition.json",
          "description": "Signal definition published in a data provider's adagents.json signals[]"
        },
        "signal-definition-enrichment": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-definition-enrichment.json",
          "description": "Optional signal-definition enrichment fields projected inline on signal listings"
        },
        "signal-modeling-disclosure": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-modeling-disclosure.json",
          "description": "Signal-specific modeling and AI-use disclosure metadata for data signals"
        },
        "data-provider-signal-selector": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/data-provider-signal-selector.json",
          "description": "Selects signals from a data provider's adagents.json - supports three patterns: all signals, specific IDs, or by tags"
        },
        "daypart-target": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/daypart-target.json",
          "description": "A time window for daypart targeting with days of week and hour range"
        },
        "signal-targeting": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-targeting.json",
          "description": "Signals Protocol targeting constraint using signal_ref - discriminated union by value_type (binary, categorical, numeric)"
        },
        "signal-targeting-rules": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-targeting-rules.json",
          "description": "Product-scoped composition rules for package-level signal_targeting_groups"
        },
        "signal-selection-group-rule": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-selection-group-rule.json",
          "description": "Override for one product signal selection group"
        },
        "signal-targeting-expression": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/signal-targeting-expression.json",
          "description": "Media-buy product targeting expression using signal_ref - discriminated union by value_type (binary, categorical, numeric)"
        },
        "package-signal-targeting": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/package-signal-targeting.json",
          "description": "One selected signal inside a package signal targeting group"
        },
        "package-signal-targeting-group": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/package-signal-targeting-group.json",
          "description": "One include or exclude child group inside package-level signal_targeting_groups"
        },
        "package-signal-targeting-groups": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/package-signal-targeting-groups.json",
          "description": "Portable package-level signal composition: top-level all with child any/none groups"
        },
        "event": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/event.json",
          "description": "A marketing event (conversion, engagement, or custom) for attribution"
        },
        "user-match": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/user-match.json",
          "description": "User identifiers for attribution matching (UIDs, hashed identifiers, click IDs)"
        },
        "event-custom-data": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/event-custom-data.json",
          "description": "Event-specific data for attribution and reporting"
        },
        "event-surface": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/event-surface.json",
          "description": "Structured context for the surface where an event source or logged event originated"
        },
        "attribution-window": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/attribution-window.json",
          "description": "Attribution methodology and lookback windows for conversion measurement"
        },
        "optimization-goal": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/optimization-goal.json",
          "description": "Conversion optimization goal for a package - event source, event type, target ROAS/CPA, and attribution window"
        },
        "vendor-metric-optimization": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/vendor-metric-optimization.json",
          "description": "Product-level capability declaration for vendor-attested metric optimization (attention, brand lift, emissions, retail-media partner metrics)"
        },
        "vendor-metric-optimization-supported-metric": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/vendor-metric-optimization-supported-metric.json",
          "description": "One vendor metric a product can optimize toward"
        },
        "audience-member": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/audience-member.json",
          "description": "Hashed identifiers for a CRM audience member (hashed email, phone, or universal IDs)"
        },
        "account-ref": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/account-ref.json",
          "description": "Reference to an account by seller-assigned ID or natural key (brand, operator, optional sandbox)"
        },
        "provenance": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/provenance.json",
          "description": "AI provenance and disclosure metadata — declares how content was produced, C2PA references, regulatory disclosure requirements, and third-party verification results"
        },
        "wholesale-feed-webhook": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/wholesale-feed-webhook.json",
          "description": "Webhook payload carrying a wholesale feed change event"
        },
        "webhook-challenge": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/webhook-challenge.json",
          "description": "Proof-of-control challenge payload for account-level notification endpoint activation"
        },
        "webhook-challenge-response": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/webhook-challenge-response.json",
          "description": "Receiver response body for account-level notification_configs[] endpoint proof-of-control challenges"
        }
      },
      "requirements": {
        "description": "Typed requirement schemas for creative assets in format definitions",
        "schemas": {
          "asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/asset-requirements.json",
            "description": "Combined schema that allows any typed asset requirements"
          },
          "html-asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/html-asset-requirements.json",
            "description": "Requirements for HTML creative assets - sandbox compatibility, external resources, allowed domains"
          },
          "image-asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/image-asset-requirements.json",
            "description": "Requirements for image creative assets - dimensions, formats, file size, animation"
          },
          "video-asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/video-asset-requirements.json",
            "description": "Requirements for video creative assets - dimensions, duration, codecs, bitrate"
          },
          "audio-asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/audio-asset-requirements.json",
            "description": "Requirements for audio creative assets - duration, formats, sample rate, channels"
          },
          "javascript-asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/javascript-asset-requirements.json",
            "description": "Requirements for JavaScript creative assets - module type, external resources"
          },
          "text-asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/text-asset-requirements.json",
            "description": "Requirements for text creative assets - character limits, line counts"
          },
          "url-asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/url-asset-requirements.json",
            "description": "Requirements for URL assets - protocols, allowed domains, macro support"
          },
          "markdown-asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/markdown-asset-requirements.json",
            "description": "Requirements for markdown creative assets"
          },
          "css-asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/css-asset-requirements.json",
            "description": "Requirements for CSS creative assets"
          },
          "vast-asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/vast-asset-requirements.json",
            "description": "Requirements for VAST creative assets - version requirements"
          },
          "daast-asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/daast-asset-requirements.json",
            "description": "Requirements for DAAST creative assets"
          },
          "catalog-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/catalog-requirements.json",
            "description": "Format-level declaration of what catalog feeds a creative requires"
          },
          "offering-asset-constraint": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/offering-asset-constraint.json",
            "description": "Per-group creative requirements that each offering must satisfy within a catalog"
          },
          "webhook-asset-requirements": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/core/requirements/webhook-asset-requirements.json",
            "description": "Requirements for webhook creative assets"
          }
        }
      }
    },
    "enums": {
      "description": "Enumerated types and constants",
      "schemas": {
        "pricing-model": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/pricing-model.json",
          "description": "Supported pricing models for advertising products"
        },
        "pricing-structure": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/pricing-structure.json",
          "description": "How a payable media price is determined: fixed, auction, or contingent"
        },
        "delivery-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/delivery-type.json",
          "description": "Type of inventory delivery"
        },
        "proposal-status": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/proposal-status.json",
          "description": "Lifecycle status of a proposal (draft or committed)"
        },
        "proposal-decline-reason": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/proposal-decline-reason.json",
          "description": "Machine-readable terminal proposal feedback"
        },
        "proposal-refinement-reason": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/proposal-refinement-reason.json",
          "description": "Machine-readable partial or unable proposal-refinement outcome"
        },
        "media-buy-status": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/media-buy-status.json",
          "description": "Status of a media buy"
        },
        "canonical-media-buy-action": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/canonical-media-buy-action.json",
          "description": "Fine-grained action vocabulary for compact MediaBuy tools"
        },
        "canonical-media-buy-action-mode": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/canonical-media-buy-action-mode.json",
          "description": "Execution mode for routed compact-lifecycle actions"
        },
        "creative-status": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/creative-status.json",
          "description": "Status of a creative asset"
        },
        "creative-approval-status": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/creative-approval-status.json",
          "description": "Approval state of a creative on a specific package"
        },
        "audience-status": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/audience-status.json",
          "description": "Matching status of a synced audience on a seller platform"
        },
        "creative-quality": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/creative-quality.json",
          "description": "Quality tier for creative generation (draft, production)"
        },
        "logo-slot": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/logo-slot.json",
          "description": "Renderer-facing logo slots for selecting brand.json logo variants"
        },
        "pacing": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/pacing.json",
          "description": "Budget pacing strategy"
        },
        "frequency-cap-scope": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/frequency-cap-scope.json",
          "description": "Scope for frequency cap application"
        },
        "identifier-types": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/identifier-types.json",
          "description": "Valid identifier types for property identification across different media types"
        },
        "publisher-identifier-types": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/publisher-identifier-types.json",
          "description": "Valid identifier types for publisher/legal entity identification (TAG ID, DUNS, LEI, seller_id, GLN)"
        },
        "channels": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/channels.json",
          "description": "Advertising channels (display, video, dooh, ctv, audio, etc.)"
        },
        "video-placement-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/video-placement-type.json",
          "description": "Declared video placement classifications using IAB Tech Lab/OpenRTB 2.6 video.plcmt definitions"
        },
        "audio-distribution-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/audio-distribution-type.json",
          "description": "Declared audio distribution classifications using IAB Tech Lab/OpenRTB 2.6 audio.feed definitions"
        },
        "sponsored-placement-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/sponsored-placement-type.json",
          "description": "Declared sponsored-placement classifications for catalog-driven retail-media inventory"
        },
        "social-placement-surface": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/social-placement-surface.json",
          "description": "Declared social-placement surface classifications for social inventory"
        },
        "task-status": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/task-status.json",
          "description": "Standardized task status values based on A2A TaskState enum"
        },
        "task-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/task-type.json",
          "description": "Valid AdCP task types across all domains"
        },
        "asset-content-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/asset-content-type.json",
          "description": "Types of content that can be used as creative assets (image, video, html, etc.)"
        },
        "disclosure-position": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/disclosure-position.json",
          "description": "Where a required disclosure should appear within a creative"
        },
        "disclosure-persistence": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/disclosure-persistence.json",
          "description": "How long a disclosure must persist during content playback or display"
        },
        "vast-version": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/vast-version.json",
          "description": "Supported VAST specification versions (2.0, 3.0, 4.0, 4.1, 4.2, 4.3)"
        },
        "vast-tracking-event": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/vast-tracking-event.json",
          "description": "Standard VAST tracking events for video playback and interaction"
        },
        "property-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/property-type.json",
          "description": "Types of addressable advertising properties with verifiable ownership"
        },
        "dimension-unit": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/dimension-unit.json",
          "description": "Units of measurement for creative format dimensions (px, dp, inches, cm)"
        },
        "co-branding-requirement": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/co-branding-requirement.json",
          "description": "Co-branding policy for creatives (required, optional, none)"
        },
        "landing-page-requirement": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/landing-page-requirement.json",
          "description": "Landing page policy for creative destinations (any, retailer_site_only, must_include_retailer)"
        },
        "daast-version": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/daast-version.json",
          "description": "Supported DAAST specification versions (1.0, 1.1)"
        },
        "daast-tracking-event": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/daast-tracking-event.json",
          "description": "Standard DAAST tracking events for audio playback and interaction"
        },
        "day-of-week": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/day-of-week.json",
          "description": "Days of the week for daypart targeting"
        },
        "signal-catalog-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/signal-catalog-type.json",
          "description": "Commercial/provenance types for signals (marketplace, custom, owned)"
        },
        "metric-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/metric-type.json",
          "description": "Performance metric types for feedback and optimization"
        },
        "feedback-source": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/feedback-source.json",
          "description": "Source of performance feedback data"
        },
        "forecast-method": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/forecast-method.json",
          "description": "Method used to produce a delivery forecast (estimate, modeled, guaranteed)"
        },
        "forecastable-metric": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/forecastable-metric.json",
          "description": "Standard metric names for delivery forecasts (audience_size, reach, impressions, clicks, spend, etc.)"
        },
        "forecast-range-unit": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/forecast-range-unit.json",
          "description": "How to interpret forecast points: spend curve, reach/frequency curve, temporal (weekly/daily), or outcome targets (clicks/conversions)"
        },
        "demographic-system": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/demographic-system.json",
          "description": "Audience measurement systems for demographic notation (nielsen, barb, agf, oztam, mediametrie, custom)"
        },
        "reach-unit": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/reach-unit.json",
          "description": "Unit of measurement for reach metrics (individuals, households, devices, accounts, cookies, custom)"
        },
        "creative-agent-capability": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/creative-agent-capability.json",
          "description": "Capabilities supported by creative agents (validation, assembly, generation, preview, delivery)"
        },
        "adcp-protocol": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/adcp-protocol.json",
          "description": "AdCP protocol domains (media-buy, signals, governance, creative, brand)"
        },
        "brand-agent-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/brand-agent-type.json",
          "description": "Agent types declarable in brand.json (brand, rights, measurement, governance, creative, sales, buying, signals)"
        },
        "right-use": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/right-use.json",
          "description": "Types of rights usage (likeness, voice, endorsement, sync, etc.)"
        },
        "right-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/right-type.json",
          "description": "Categories of licensable rights (talent, music, brand_ip, stock_media)"
        },
        "http-method": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/http-method.json",
          "description": "HTTP methods for webhook requests (GET, POST)"
        },
        "webhook-response-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/webhook-response-type.json",
          "description": "Expected response content types from webhooks"
        },
        "webhook-security-method": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/webhook-security-method.json",
          "description": "Security methods for webhook authentication"
        },
        "javascript-module-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/javascript-module-type.json",
          "description": "JavaScript module format types (esm, commonjs, script)"
        },
        "markdown-flavor": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/markdown-flavor.json",
          "description": "Markdown specification flavors (commonmark, gfm)"
        },
        "url-asset-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/url-asset-type.json",
          "description": "Types of URL assets (clickthrough, tracker_pixel, tracker_script)"
        },
        "validation-mode": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/validation-mode.json",
          "description": "Creative validation strictness levels (strict, lenient)"
        },
        "creative-action": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/creative-action.json",
          "description": "Actions taken on creatives during sync (created, updated, unchanged, failed, deleted)"
        },
        "notification-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/notification-type.json",
          "description": "Shared notification registry for delivery, impairment, lifecycle, wholesale-feed, and capability-change events"
        },
        "indicator-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/indicator-type.json",
          "description": "Closed AdCP 3.2 vocabulary for durable media-buy and creative-assignment indicators"
        },
        "warning-code": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/warning-code.json",
          "description": "Closed AdCP 3.2 vocabulary for synchronous operation warnings"
        },
        "reporting-frequency": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/reporting-frequency.json",
          "description": "Frequencies for delivery reports (hourly, daily, monthly)"
        },
        "available-metric": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/available-metric.json",
          "description": "Standard delivery and performance metrics for reporting"
        },
        "preview-output-format": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/preview-output-format.json",
          "description": "Output formats for creative previews (url, html)"
        },
        "sort-direction": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/sort-direction.json",
          "description": "Sort direction for list queries (asc, desc)"
        },
        "sort-metric": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/sort-metric.json",
          "description": "Numeric delivery metrics available for sorting breakdown rows"
        },
        "history-entry-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/history-entry-type.json",
          "description": "Type of task history entry (request, response)"
        },
        "feed-format": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/feed-format.json",
          "description": "Product catalog feed formats"
        },
        "update-frequency": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/update-frequency.json",
          "description": "Frequency of product catalog updates"
        },
        "content-id-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/content-id-type.json",
          "description": "Identifier type for matching conversion event content_ids to catalog items (sku, gtin, or vertical-specific IDs)"
        },
        "auth-scheme": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/auth-scheme.json",
          "description": "Authentication schemes for push notifications"
        },
        "creative-sort-field": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/creative-sort-field.json",
          "description": "Fields available for sorting creative listings"
        },
        "geo-level": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/geo-level.json",
          "description": "Geographic targeting granularity levels (country, region, metro, postal_area)"
        },
        "metro-system": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/metro-system.json",
          "description": "Metro area classification systems for geographic targeting (nielsen_dma, uk_itl1, uk_itl2, eurostat_nuts2)"
        },
        "postal-system": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/postal-system.json",
          "description": "Country-local postal code systems for geographic targeting (zip, zip_plus_four, outward, plz, postal_code, etc.)"
        },
        "legacy-postal-system": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/legacy-postal-system.json",
          "deprecated": true,
          "description": "Deprecated country-fused postal code systems for compatibility (us_zip, gb_outward, ca_fsa, etc.)"
        },
        "age-verification-method": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/age-verification-method.json",
          "description": "Methods for verifying user age for compliance (facial_age_estimation, id_document, digital_id, credit_card, world_id)"
        },
        "age-determination-basis": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/age-determination-basis.json",
          "description": "User-level age determination bases permitted for targeting execution (verified, declared, or inferred)"
        },
        "device-platform": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/device-platform.json",
          "description": "Operating system platforms for device targeting. Browser values from Sec-CH-UA-Platform standard, extended for CTV"
        },
        "device-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/device-type.json",
          "description": "Device form factor categories for targeting and reporting (desktop, mobile, tablet, ctv, dooh, unknown)"
        },
        "signal-value-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/signal-value-type.json",
          "description": "Signal value types for targeting (binary, categorical, numeric)"
        },
        "signal-source": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/signal-source.json",
          "description": "Source type for signal identifiers: 'catalog' (verifiable via data provider) or 'agent' (signal source identified by agent_url)"
        },
        "universal-macro": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/universal-macro.json",
          "description": "Standardized macro placeholders for dynamic value substitution in creative tracking URLs"
        },
        "event-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/event-type.json",
          "description": "Standard marketing event types for conversion tracking (purchase, lead, add_to_cart, etc.)"
        },
        "uid-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/uid-type.json",
          "description": "Universal ID types for user matching (rampid, id5, uid2, maid, etc.)"
        },
        "attestation-claim": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/attestation-claim.json",
          "description": "Claims a verified identity attestation can establish (unique_human, age_over_13/16/18/21)"
        },
        "action-source": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/action-source.json",
          "description": "Where the conversion event originated (website, app, offline, etc.)"
        },
        "attribution-model": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/attribution-model.json",
          "description": "Attribution model used for conversion measurement"
        },
        "audience-source": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/audience-source.json",
          "description": "Origin of an audience segment in delivery reporting (synced, platform, third_party, lookalike, retargeting, unknown)"
        },
        "wcag-level": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/wcag-level.json",
          "description": "Web Content Accessibility Guidelines conformance level (A, AA, AAA)"
        },
        "catalog-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/catalog-type.json",
          "description": "Catalog feed types: offering, product, inventory, store, promotion, hotel, flight, job, vehicle, real_estate, education, destination"
        },
        "catalog-action": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/catalog-action.json",
          "description": "Actions taken on catalogs during sync (created, updated, unchanged, failed, deleted)"
        },
        "catalog-item-status": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/catalog-item-status.json",
          "description": "Approval status of individual catalog items (approved, pending, rejected, warning)"
        },
        "transport-mode": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/transport-mode.json",
          "description": "Transportation modes for isochrone-based catchment area calculations (walking, cycling, driving, public_transport)"
        },
        "distance-unit": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/distance-unit.json",
          "description": "Units of distance measurement for radius-based catchment areas (km, mi, m)"
        },
        "error-code": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/error-code.json",
          "description": "Standard error code vocabulary for agent recovery classification"
        },
        "consent-basis": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/consent-basis.json",
          "description": "GDPR Article 6(1) lawful basis for processing personal data"
        },
        "digital-source-type": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/digital-source-type.json",
          "description": "IPTC-aligned classification of AI involvement in content creation (digital_capture, trained_algorithmic_media, composite_with_trained_algorithmic_media, etc.)"
        },
        "governance-phase": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/governance-phase.json",
          "description": "Media buy lifecycle phase for governance checks (purchase, modification, delivery)"
        },
        "governance-domain": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/governance-domain.json",
          "description": "Governance sub-domains a registry policy applies to (campaign, property, creative, content_standards)"
        },
        "genre-taxonomy": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/genre-taxonomy.json",
          "description": "Taxonomy systems for genre classification (iab_content_3.0, gracenote, eidr, etc.)"
        },
        "governance-mode": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/governance-mode.json",
          "description": "Operating mode for a governance agent (audit, advisory, enforce)"
        },
        "delegation-authority": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/delegation-authority.json",
          "description": "Authority level for a delegated agent on a campaign plan (full, execute_only, propose_only)"
        },
        "exclusivity": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/enums/exclusivity.json",
          "description": "Whether a product offers exclusive access to its inventory (none, category, exclusive)"
        }
      }
    },
    "pricing-options": {
      "description": "Individual pricing model schemas discriminated by pricing_model. Unit-based models may be fixed or auction-based. Contingent models such as revenue_share calculate payable spend from a measured business outcome after delivery.",
      "schemas": {
        "cpm-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/pricing-options/cpm-option.json",
          "description": "Cost Per Mille (CPM) pricing - supports fixed rate and auction modes"
        },
        "vcpm-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/pricing-options/vcpm-option.json",
          "description": "Viewable Cost Per Mille (vCPM) pricing - supports fixed rate and auction modes"
        },
        "cpc-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/pricing-options/cpc-option.json",
          "description": "Cost Per Click (CPC) pricing - supports fixed rate and auction modes"
        },
        "cpcv-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/pricing-options/cpcv-option.json",
          "description": "Cost Per Completed View (CPCV) pricing - supports fixed rate and auction modes"
        },
        "cpv-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/pricing-options/cpv-option.json",
          "description": "Cost Per View (CPV) pricing with threshold - supports fixed rate and auction modes"
        },
        "cpp-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/pricing-options/cpp-option.json",
          "description": "Cost Per Point (CPP) pricing for TV/audio with demographic measurement - supports fixed rate and auction modes"
        },
        "cpa-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/pricing-options/cpa-option.json",
          "description": "Cost Per Acquisition (CPA) pricing for performance campaigns - fixed price per conversion event"
        },
        "revenue-share-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/pricing-options/revenue-share-option.json",
          "description": "Revenue-share pricing - decimal commission rate applied to settled commissionable conversion value"
        },
        "flat-rate-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/pricing-options/flat-rate-option.json",
          "description": "Flat rate pricing for DOOH and sponsorships - supports fixed rate and auction modes"
        },
        "time-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/pricing-options/time-option.json",
          "description": "Time-based pricing - cost per time unit (hour, day, week, month) that scales with campaign duration"
        }
      }
    },
    "account": {
      "description": "Account management task request/response schemas",
      "tasks": {
        "list-accounts": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/account/list-accounts-request.json",
            "description": "Request parameters for listing accounts accessible to the authenticated agent"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/account/list-accounts-response.json",
            "description": "Response payload for list_accounts task"
          }
        },
        "sync-accounts": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/account/sync-accounts-request.json",
            "description": "Request parameters for syncing advertiser accounts with a seller"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/account/sync-accounts-response.json",
            "description": "Response payload for sync_accounts task"
          }
        },
        "sync-governance": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/account/sync-governance-request.json",
            "description": "Request parameters for registering governance agent endpoints on accounts"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/account/sync-governance-response.json",
            "description": "Response payload for sync_governance task"
          }
        },
        "report-usage": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/account/report-usage-request.json",
            "description": "Request parameters for reporting vendor service consumption after delivery"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/account/report-usage-response.json",
            "description": "Response payload for report_usage task"
          }
        },
        "get-account-financials": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/account/get-account-financials-request.json",
            "description": "Request parameters for querying financial status of an operator-billed account"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/account/get-account-financials-response.json",
            "description": "Response payload for get_account_financials task"
          }
        }
      }
    },
    "media-buy": {
      "description": "Media buy task request/response schemas",
      "supporting-schemas": {
        "product-discovery-criteria": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/product-discovery-criteria.json",
          "description": "Structured offer, catalog, and policy criteria shared by compact discovery tools"
        },
        "proposal-refinement": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/proposal-refinement.json",
          "description": "One immutable proposal revision request"
        },
        "proposal-budget-constraint": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/proposal-budget-constraint.json",
          "description": "Strict inclusive budget bounds for proposal negotiation"
        },
        "proposal-decline": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/proposal-decline.json",
          "description": "One terminal decline of an immutable proposal"
        },
        "product-purchase": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/product-purchase.json",
          "description": "Canonical direct product selection without creatives or negotiated term overrides"
        },
        "commercial-terms": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/commercial-terms.json",
          "description": "Typed immutable commercial envelope shared by direct purchases and proposals"
        },
        "package-control": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/package-control.json",
          "description": "Operational package controls bounded by accepted commercial terms"
        },
        "media-buy-commitment-response": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/media-buy-commitment-response.json",
          "description": "Compact shared result for direct purchase and proposal acceptance"
        },
        "get-products-rejected": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/get-products-rejected.json",
          "description": "Terminal business rejection arm for a well-formed get_products brief or refinement"
        },
        "package-request": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/package-request.json",
          "description": "Package configuration for media buy creation - used within create_media_buy request"
        },
        "package-update": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/package-update.json",
          "description": "Package update configuration for update_media_buy - identifies package and specifies fields to modify"
        }
      },
      "tasks": {
        "get-products": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/get-products-request.json",
            "deprecated": true,
            "description": "AdCP 3.x compatibility request. New 3.2 callers use list_products, request_proposals, refine_proposals, or decline_proposals."
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/get-products-response.json",
            "deprecated": true,
            "description": "AdCP 3.x compatibility response for get_products"
          }
        },
        "list-products": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/list-products-request.json",
            "description": "Request parameters for synchronous product-offer reads"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/list-products-response.json",
            "description": "Response payload for list_products"
          }
        },
        "request-proposals": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/request-proposals-request.json",
            "description": "Request parameters for creating actionable seller proposals"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/request-proposals-response.json",
            "description": "Response payload for request_proposals"
          }
        },
        "refine-proposals": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/refine-proposals-request.json",
            "description": "Request parameters for creating one or more proposal revisions"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/refine-proposals-response.json",
            "description": "Response payload for refine_proposals"
          }
        },
        "decline-proposals": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/decline-proposals-request.json",
            "description": "Request parameters for terminally declining one or more proposals"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/decline-proposals-response.json",
            "description": "Ordered decline results for decline_proposals"
          }
        },
        "buy-products": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/buy-products-request.json",
            "description": "Create a MediaBuy directly from canonical published product offers"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/buy-products-response.json",
            "description": "Compact MediaBuy commitment and accepted commercial snapshot"
          }
        },
        "accept-proposal": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/accept-proposal-request.json",
            "description": "Accept a committed new-buy, amendment, or cancellation proposal"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/accept-proposal-response.json",
            "description": "Compact MediaBuy commitment and accepted commercial snapshot"
          }
        },
        "control-media-buy": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/control-media-buy-request.json",
            "description": "Apply operational controls inside accepted commercial terms"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/control-media-buy-response.json",
            "description": "Compact operational-control result"
          }
        },
        "list-creative-formats": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/list-creative-formats-request.json",
            "deprecated": true,
            "description": "Deprecated 3.x compatibility request. Sales agents publish canonical sellable formats through get_products Product.format_options[]."
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/list-creative-formats-response.json",
            "deprecated": true,
            "description": "Deprecated 3.x compatibility response for legacy named formats. Not a sales-agent deliverability contract."
          }
        },
        "create-media-buy": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/create-media-buy-request.json",
            "deprecated": true,
            "description": "AdCP 3.x compatibility request. New 3.2 callers use buy_products or accept_proposal."
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/create-media-buy-response.json",
            "deprecated": true,
            "description": "AdCP 3.x compatibility response for create_media_buy"
          }
        },
        "update-media-buy": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/update-media-buy-request.json",
            "deprecated": true,
            "description": "AdCP 3.x compatibility request. New 3.2 callers use control_media_buy or refine_proposals."
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/update-media-buy-response.json",
            "deprecated": true,
            "description": "AdCP 3.x compatibility response for update_media_buy"
          }
        },
        "get-media-buys": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/get-media-buys-request.json",
            "description": "Request parameters for retrieving media buy status, creative approvals, and delivery snapshots"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/get-media-buys-response.json",
            "description": "Response payload for get_media_buys task"
          }
        },
        "get-media-buy-delivery": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/get-media-buy-delivery-request.json",
            "description": "Request parameters for retrieving comprehensive delivery metrics"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/get-media-buy-delivery-response.json",
            "description": "Response payload for get_media_buy_delivery task"
          }
        },
        "provide-performance-feedback": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/provide-performance-feedback-request.json",
            "description": "Request parameters for sharing performance outcomes with publishers"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/provide-performance-feedback-response.json",
            "description": "Response payload for provide_performance_feedback task"
          }
        },
        "sync-event-sources": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/sync-event-sources-request.json",
            "description": "Request parameters for configuring event sources on an account"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/sync-event-sources-response.json",
            "description": "Response payload for sync_event_sources task"
          }
        },
        "log-event": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/log-event-request.json",
            "description": "Request parameters for logging conversion or marketing events"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/log-event-response.json",
            "description": "Response payload for log_event task"
          }
        },
        "sync-audiences": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/sync-audiences-request.json",
            "description": "Request parameters for managing CRM-based audiences on an account"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/sync-audiences-response.json",
            "description": "Response payload for sync_audiences task"
          }
        },
        "sync-catalogs": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/sync-catalogs-request.json",
            "description": "Request parameters for syncing catalog feeds (products, inventory, stores, promotions, offerings) with approval workflow"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/sync-catalogs-response.json",
            "description": "Response payload for sync_catalogs task with per-catalog results and item-level approval status"
          }
        }
      }
    },
    "creative": {
      "description": "Creative protocol task request/response schemas and asset type definitions",
      "tasks": {
        "build-creative": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/build-creative-request.json",
            "description": "Request parameters for AI-powered creative generation"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/media-buy/build-creative-response.json",
            "description": "Response payload for build_creative task"
          }
        },
        "preview-creative": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/preview-creative-request.json",
            "description": "Request parameters for generating creative previews"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/preview-creative-response.json",
            "description": "Response payload for preview_creative task"
          }
        },
        "list-creative-formats": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/list-creative-formats-request.json",
            "deprecated": true,
            "description": "Deprecated 3.x compatibility request; use get_adcp_capabilities creative.supported_formats[]."
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/list-creative-formats-response.json",
            "deprecated": true,
            "description": "Deprecated 3.x compatibility response for legacy named formats."
          }
        },
        "list-transformers": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/list-transformers-request.json",
            "description": "Request parameters for discovering account-scoped creative transformers (the creative analog of products), with optional brief filtering, per-param option expansion, and pricing"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/list-transformers-response.json",
            "description": "Response payload with transformer descriptors — input/output formats, typed config params, account-scoped enumerable option values when expanded, and per-account pricing"
          }
        },
        "get-creative-delivery": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/get-creative-delivery-request.json",
            "description": "Request parameters for retrieving creative delivery data with variant-level breakdowns"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/get-creative-delivery-response.json",
            "description": "Response payload with creative delivery data including variant manifests and metrics"
          }
        },
        "list-creatives": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/list-creatives-request.json",
            "description": "Request parameters for querying creative library with filtering and pagination"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/list-creatives-response.json",
            "description": "Response payload for list_creatives task"
          }
        },
        "sync-creatives": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/sync-creatives-request.json",
            "description": "Request parameters for syncing creative assets with upsert semantics"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/sync-creatives-response.json",
            "description": "Response payload for sync_creatives task"
          }
        },
        "validate-input": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/validate-input-request.json",
            "description": "Request parameters for validating a creative manifest against canonical formats and/or specific products without committing to a render"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/validate-input-response.json",
            "description": "Response payload for validate_input task with per-target validation results"
          }
        }
      },
      "webhooks": {
        "creative-assignment-changed": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/creative-assignment-changed-webhook.json",
          "description": "Account-level invalidation payload for creative assignment membership or approval changes"
        }
      },
      "asset_types": {
        "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/asset-types/index.json",
        "description": "Asset type definitions for creative manifests"
      },
      "build_inputs": {
        "video_brief": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/video-brief.json",
          "description": "Typed per-segment generation brief for build_creative input on generative video platforms"
        }
      }
    },
    "signals": {
      "description": "Signals protocol task request/response schemas",
      "tasks": {
        "get-signals": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/signals/get-signals-request.json",
            "description": "Request parameters for discovering signals based on description"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/signals/get-signals-response.json",
            "description": "Response payload for get_signals task"
          }
        },
        "activate-signal": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/signals/activate-signal-request.json",
            "description": "Request parameters for activating a signal on a specific platform/account"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/signals/activate-signal-response.json",
            "description": "Response payload for activate_signal task"
          }
        }
      }
    },
    "governance": {
      "description": "Governance protocol for property governance, brand standards, content standards, and compliance",
      "supporting-schemas": {
        "property-feature-definition": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/property-feature-definition.json",
          "description": "Definition of a feature that a governance agent can evaluate"
        },
        "property-feature": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/property-feature.json",
          "description": "A discrete feature assessment for a property"
        },
        "property-error": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/property-error.json",
          "description": "Error information for a property that could not be evaluated"
        },
        "property-list": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/property-list.json",
          "description": "A managed property list with optional filters for dynamic evaluation"
        },
        "property-list-filters": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/property-list-filters.json",
          "description": "Filters that dynamically modify a property list when resolved"
        },
        "property-list-changed-webhook": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/property-list-changed-webhook.json",
          "description": "Webhook payload when a property list changes"
        },
        "base-property-source": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/base-property-source.json",
          "description": "A source of properties for a property list - supports publisher+tags, publisher+property_ids, or direct identifiers"
        },
        "collection-list": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/collection-list.json",
          "description": "A managed collection list with optional filters for dynamic evaluation — collections represent programs/shows independent of properties"
        },
        "collection-list-filters": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/collection-list-filters.json",
          "description": "Filters that dynamically modify a collection list when resolved — content ratings, genres, kinds, production quality"
        },
        "collection-list-changed-webhook": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/collection-list-changed-webhook.json",
          "description": "Webhook payload when a collection list changes"
        },
        "base-collection-source": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/base-collection-source.json",
          "description": "A source of collections for a collection list - supports distribution_ids, publisher_collections, or publisher_genres"
        },
        "content-standards": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/content-standards.json",
          "description": "Reusable content standards configuration - defines brand safety/suitability policies with scope, policy, calibration exemplars, and lifecycle dates"
        },
        "content-standards-artifact": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/artifact.json",
          "description": "Content artifact for evaluation or calibration - represents content context where ad placements occur, identified by property_id + artifact_id"
        },
        "artifact-webhook-payload": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/artifact-webhook-payload.json",
          "description": "Webhook payload for content artifact delivery from sales agents to orchestrators"
        },
        "policy-entry": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/governance/policy-entry.json",
          "description": "A complete policy in the policy registry with natural language text, metadata, and calibration exemplars"
        },
        "policy-ref": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/governance/policy-ref.json",
          "description": "Reference to a registry policy by ID with optional version pin"
        }
      },
      "tasks": {
        "create-property-list": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/create-property-list-request.json",
            "description": "Request parameters for creating a new property list"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/create-property-list-response.json",
            "description": "Response payload for create_property_list task"
          }
        },
        "update-property-list": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/update-property-list-request.json",
            "description": "Request parameters for updating an existing property list"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/update-property-list-response.json",
            "description": "Response payload for update_property_list task"
          }
        },
        "get-property-list": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/get-property-list-request.json",
            "description": "Request parameters for retrieving a property list with resolved properties"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/get-property-list-response.json",
            "description": "Response payload for get_property_list task"
          }
        },
        "list-property-lists": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/list-property-lists-request.json",
            "description": "Request parameters for listing property lists"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/list-property-lists-response.json",
            "description": "Response payload for list_property_lists task"
          }
        },
        "delete-property-list": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/delete-property-list-request.json",
            "description": "Request parameters for deleting a property list"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/property/delete-property-list-response.json",
            "description": "Response payload for delete_property_list task"
          }
        },
        "create-collection-list": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/create-collection-list-request.json",
            "description": "Request parameters for creating a new collection list"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/create-collection-list-response.json",
            "description": "Response payload for create_collection_list task"
          }
        },
        "update-collection-list": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/update-collection-list-request.json",
            "description": "Request parameters for updating an existing collection list"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/update-collection-list-response.json",
            "description": "Response payload for update_collection_list task"
          }
        },
        "get-collection-list": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/get-collection-list-request.json",
            "description": "Request parameters for retrieving a collection list with resolved collections"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/get-collection-list-response.json",
            "description": "Response payload for get_collection_list task"
          }
        },
        "list-collection-lists": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/list-collection-lists-request.json",
            "description": "Request parameters for listing collection lists"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/list-collection-lists-response.json",
            "description": "Response payload for list_collection_lists task"
          }
        },
        "delete-collection-list": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/delete-collection-list-request.json",
            "description": "Request parameters for deleting a collection list"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/collection/delete-collection-list-response.json",
            "description": "Response payload for delete_collection_list task"
          }
        },
        "list-content-standards": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/list-content-standards-request.json",
            "description": "Request parameters for listing content standards configurations"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/list-content-standards-response.json",
            "description": "Response payload with list of content standards configurations"
          }
        },
        "get-content-standards": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/get-content-standards-request.json",
            "description": "Request parameters for retrieving a specific standards configuration"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/get-content-standards-response.json",
            "description": "Response payload with full standards configuration including policy and calibration data"
          }
        },
        "create-content-standards": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/create-content-standards-request.json",
            "description": "Request parameters for creating a new content standards configuration"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/create-content-standards-response.json",
            "description": "Response payload with new standards_id"
          }
        },
        "update-content-standards": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/update-content-standards-request.json",
            "description": "Request parameters for updating an existing content standards configuration"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/update-content-standards-response.json",
            "description": "Response payload confirming update"
          }
        },
        "calibrate-content": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/calibrate-content-request.json",
            "description": "Request parameters for collaborative calibration dialogue"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/calibrate-content-response.json",
            "description": "Response payload with detailed explanations for policy alignment"
          }
        },
        "validate-content-delivery": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/validate-content-delivery-request.json",
            "description": "Request parameters for batch validating delivery records"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/validate-content-delivery-response.json",
            "description": "Response payload with batch validation results"
          }
        },
        "get-media-buy-artifacts": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/get-media-buy-artifacts-request.json",
            "description": "Request parameters for retrieving content artifacts from a media buy"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/content-standards/get-media-buy-artifacts-response.json",
            "description": "Response payload with content artifacts for validation"
          }
        },
        "get-creative-features": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/get-creative-features-request.json",
            "description": "Request parameters for evaluating creative features from a governance agent"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/creative/get-creative-features-response.json",
            "description": "Response payload with feature values for the evaluated creative"
          }
        },
        "sync-plans": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/governance/sync-plans-request.json",
            "description": "Push campaign plans to the governance agent"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/governance/sync-plans-response.json",
            "description": "Sync result with active validation categories and resolved policies per plan"
          }
        },
        "report-plan-outcome": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/governance/report-plan-outcome-request.json",
            "description": "Report the outcome of an action to the governance agent"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/governance/report-plan-outcome-response.json",
            "description": "Outcome acceptance status with budget impact and findings"
          }
        },
        "report-plan-adjustment": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/governance/report-plan-adjustment-request.json",
            "description": "Seller-authenticated append-only commitment adjustment report"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/governance/report-plan-adjustment-response.json",
            "description": "Accepted adjustment with gross, restored-headroom, and net budget state"
          }
        },
        "get-plan-audit-logs": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/governance/get-plan-audit-logs-request.json",
            "description": "Retrieve governance state and audit trail for a plan"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/governance/get-plan-audit-logs-response.json",
            "description": "Plan state with budget tracking, validation history, and compliance summary"
          }
        },
        "check-governance": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/governance/check-governance-request.json",
            "description": "Orchestrator or seller calls the governance agent to validate an action against the campaign plan"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/governance/check-governance-response.json",
            "description": "Governance decision with findings and conditions"
          }
        }
      }
    },
    "protocol": {
      "description": "Protocol-level tasks that work across all AdCP domain protocols",
      "tasks": {
        "get-adcp-capabilities": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/protocol/get-adcp-capabilities-request.json",
            "description": "Request parameters for cross-protocol capability discovery"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/protocol/get-adcp-capabilities-response.json",
            "description": "Response payload for get_adcp_capabilities task - includes AdCP version, supported protocols, and protocol-specific capabilities (media_buy, signals, etc.)"
          }
        },
        "get-task-status": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/protocol/get-task-status-request.json",
            "description": "Request parameters for get_task_status, the 3.x AdCP application-layer alias for legacy tasks/get polling; distinct from transport-native tasks/* methods"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/protocol/get-task-status-response.json",
            "description": "AdCP application-layer task status, metadata, and optional completion result; alias response for legacy tasks/get"
          }
        },
        "list-tasks": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/protocol/list-tasks-request.json",
            "description": "Request parameters for list_tasks, the 3.x AdCP application-layer alias for legacy tasks/list reconciliation; distinct from transport-native tasks/* methods"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/protocol/list-tasks-response.json",
            "description": "Filtered AdCP application-layer async task list for reconciliation; alias response for legacy tasks/list"
          }
        },
        "sync-agent-notification-configs": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/protocol/sync-agent-notification-configs-request.json",
            "description": "Register, replace, pause, or clear agent-level webhook subscribers such as capabilities.changed"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/protocol/sync-agent-notification-configs-response.json",
            "description": "Applied agent-level webhook subscriber set with credentials redacted"
          }
        }
      }
    },
    "sponsored-intelligence": {
      "description": "Sponsored Intelligence Protocol for conversational brand experiences in AI assistants",
      "supporting-schemas": {
        "si-capabilities": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-capabilities.json",
          "description": "Capability categories that brand or host can support (modalities, components, commerce)"
        },
        "si-identity": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-identity.json",
          "description": "User identity with explicit consent for personalized brand experiences"
        },
        "si-ui-element": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-ui-element.json",
          "description": "Standard visual components (text, link, image, product_card, carousel, action_button, app_handoff)"
        },
        "si-context-use": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-context-use.json",
          "description": "Declared host-side use mode for sponsored context entering an SI boundary"
        },
        "si-sponsored-context": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-sponsored-context.json",
          "description": "Declaration linking paying principal, context use, and disclosure obligation for sponsored context"
        },
        "si-sponsored-context-receipt": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-sponsored-context-receipt.json",
          "description": "Host receipt recording accepted use mode and disclosure commitment for sponsored context"
        }
      },
      "tasks": {
        "si-get-offering": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-get-offering-request.json",
            "description": "Get offering details, availability, and optionally matching products before session handoff"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-get-offering-response.json",
            "description": "Offering details, availability status, matching products, and token for session correlation"
          }
        },
        "si-initiate-session": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-initiate-session-request.json",
            "description": "Host initiates SI session with brand agent - includes context, identity, and capability negotiation"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-initiate-session-response.json",
            "description": "Brand agent's response with session ID, initial message, UI elements, and negotiated capabilities"
          }
        },
        "si-send-message": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-send-message-request.json",
            "description": "Send a message within an active SI session"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-send-message-response.json",
            "description": "Brand agent's response to the message, including session status and potential handoff"
          }
        },
        "si-terminate-session": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-terminate-session-request.json",
            "description": "Terminate an SI session with reason (handoff_transaction, handoff_complete, user_exit, session_timeout, host_terminated)"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/sponsored-intelligence/si-terminate-session-response.json",
            "description": "Termination confirmation with optional ACP handoff or follow-up data"
          }
        }
      }
    },
    "adagents": {
      "description": "Agent authorization file format specification for publishers and data providers",
      "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/adagents.json",
      "file_location": "/.well-known/adagents.json",
      "purpose": "Declares authorized agents. Publishers use it for sales agent authorization over properties. Data providers use it to publish signal definitions and authorize signals agents to resell their data."
    },
    "brand": {
      "description": "Brand identity claim file format specification",
      "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand.json",
      "file_location": "/.well-known/brand.json",
      "purpose": "Declares brand identity and agent for a domain, enabling brand discovery and verification"
    },
    "trusted-match": {
      "description": "Trusted Match Protocol (TMP) — real-time execution layer for activating pre-negotiated packages across any surface. Conformance invariants are normative in docs/trusted-match/specification.mdx; the cap-fire boundary contract is at docs/trusted-match/identity-match-implementation.mdx; a non-normative impression-tracker implementation reference (multi-identity dedup, fcap_keys labels, log-based data model, SDK primitives) is at docs/trusted-match/impression-tracker-implementation.mdx. Storage backend is an implementation choice; conformant services may use any store that satisfies the invariants.",
      "supporting-schemas": {
        "available-package": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/available-package.json",
          "description": "A package available for contextual matching on a given impression opportunity"
        },
        "offer": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/offer.json",
          "description": "Buyer's response to a context match — ranges from simple activation (package_id only) to rich offers with brand, price, summary, and creative manifest"
        },
        "offer-price": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/offer-price.json",
          "description": "Lightweight price for variable-priced offers"
        },
        "error": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/error.json",
          "description": "Error response from a TMP provider or router when a request cannot be processed"
        },
        "provider-registration": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/provider-registration.json",
          "description": "TMP provider registration — endpoint, capabilities, and operational parameters for router configuration"
        },
        "provider-context-match-response": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/provider-context-match-response.json",
          "description": "Provider-to-router Context Match response shape — carries provider-local targeting key-values and forbids router-authored attribution buckets"
        },
        "provider-identity-match-response": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/provider-identity-match-response.json",
          "description": "Provider-to-router Identity Match response shape — carries ordered TMPX `{slot_id, value}` chunks with no publisher-local names"
        },
        "publisher-targeting-kv-config": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/publisher-targeting-kv-config.json",
          "description": "Publisher-owned deployment configuration that maps (provider_id, provider-local targeting key) to the ad-server targeting destination for that surface"
        },
        "publisher-tmpx-config": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/publisher-tmpx-config.json",
          "description": "Publisher-owned deployment configuration that maps (provider_id, slot_id) to the ad-server macro name, GAM key-value, VAST substitution, or play-log field for that surface"
        },
        "tmpx-chunk": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/tmpx-chunk.json",
          "description": "A single TMPX chunk — provider-local slot_id and opaque URL-safe value; shared between provider→router and router→publisher hops"
        }
      },
      "operations": {
        "context-match": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/context-match-request.json",
            "description": "Evaluate available packages against content context. Contains no user identity."
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/context-match-response.json",
            "description": "Router-to-publisher offers for matched packages with provider-attributed targeting signals"
          }
        },
        "identity-match": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/identity-match-request.json",
            "description": "Evaluate user eligibility for packages using an opaque identity token. Contains no page context."
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/trusted-match/identity-match-response.json",
            "description": "Per-package eligibility — boolean eligible plus optional intent score"
          }
        }
      }
    },
    "brand-protocol": {
      "description": "Brand protocol for identity retrieval, rights discovery, acquisition, and lifecycle management",
      "supporting-schemas": {
        "rights-pricing-option": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/rights-pricing-option.json",
          "description": "Pricing option for licensable rights"
        },
        "rights-terms": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/rights-terms.json",
          "description": "Terms returned with a rights grant — coverage, restrictions, revocation, and credentials"
        },
        "creative-approval-request": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/creative-approval-request.json",
          "description": "Payload the buyer submits to the approval_webhook from acquire_rights for rights-holder creative review"
        },
        "creative-approval-response": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/creative-approval-response.json",
          "description": "Response from the approval_webhook — approved, rejected, or pending_review"
        },
        "revocation-notification": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/revocation-notification.json",
          "description": "Notification sent to the buyer's revocation_webhook when an acquired rights grant is revoked"
        },
        "verification-status": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/verification-status.json",
          "description": "Shared status enum returned by verify_brand_claim — owned, pending_review, transferring, disputed, not_ours, archived, licensed_in, licensed_out, unknown"
        }
      },
      "tasks": {
        "get-brand-identity": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/get-brand-identity-request.json",
            "description": "Request parameters for retrieving brand identity data from a brand agent"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/get-brand-identity-response.json",
            "description": "Response payload for get_brand_identity task"
          }
        },
        "verify-brand-claim": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/verify-brand-claim-request.json",
            "description": "Request parameters for verifying a single brand claim (subsidiary / parent / property / trademark, discriminated by claim_type)"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/verify-brand-claim-response.json",
            "description": "Response payload for verify_brand_claim task — claim_type echoed, status from the shared VerificationStatus enum, per-claim-type details"
          }
        },
        "verify-brand-claims": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/verify-brand-claims-request.json",
            "description": "Request parameters for bulk verification — claims[] array (max 100), each entry shaped like a single verify_brand_claim request"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/verify-brand-claims-response.json",
            "description": "Response payload for verify_brand_claims task — results[] positionally aligned with the request's claims[], per-result success or error inline"
          }
        },
        "get-rights": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/get-rights-request.json",
            "description": "Request parameters for searching licensable rights with pricing"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/get-rights-response.json",
            "description": "Response payload for get_rights task"
          }
        },
        "acquire-rights": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/acquire-rights-request.json",
            "description": "Request parameters for acquiring rights with contractual clearance"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/acquire-rights-response.json",
            "description": "Response payload for acquire_rights task — terms and generation credentials"
          }
        },
        "update-rights": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/update-rights-request.json",
            "description": "Request parameters for modifying an active rights grant — dates, caps, pricing, or pause/resume"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/brand/update-rights-response.json",
            "description": "Response payload for update_rights task"
          }
        }
      }
    },
    "extensions": {
      "description": "Typed extension schemas for vendor-specific or domain-specific data. Extensions define the structure of data within the ext.{namespace} field. Agents declare which extensions they support in their agent card.",
      "registry": {
        "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/extensions/index.json",
        "description": "Auto-generated registry of all available extensions with metadata"
      },
      "meta": {
        "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/extensions/extension-meta.json",
        "description": "Schema that all extension files must follow. Defines valid_from, valid_until, and extension data structure."
      },
      "schemas": {}
    },
    "compliance": {
      "description": "Compliance testing tool schemas. The test controller is an optional sandbox-only tool that lets comply walk full lifecycle state machines by triggering seller-side transitions deterministically.",
      "supporting-schemas": {
        "task-completion-data": {
          "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/compliance/task-completion-data.json",
          "description": "Bounded force_task_completion result union for supported legacy async scenarios"
        }
      },
      "tasks": {
        "comply-test-controller": {
          "request": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/compliance/comply-test-controller-request.json",
            "description": "Request payload for the comply_test_controller tool — scenario selection and scenario-specific params"
          },
          "response": {
            "$ref": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/compliance/comply-test-controller-response.json",
            "description": "Response payload — state transition results, simulation results, scenario list, or structured errors"
          }
        }
      }
    }
  },
  "usage": {
    "validation": "Use these schemas to validate AdCP requests and responses",
    "codeGeneration": "Generate client SDKs using these schemas",
    "documentation": "Reference schemas for API documentation",
    "testing": "Validate test fixtures and examples"
  },
  "examples": [
    {
      "language": "javascript",
      "description": "JavaScript validation example",
      "code": "const Ajv = require('ajv'); const ajv = new Ajv(); const schema = require('./schemas/core/product.json'); const validate = ajv.compile(schema);"
    },
    {
      "language": "python",
      "description": "Python validation example",
      "code": "import jsonschema; schema = {...}; jsonschema.validate(data, schema)"
    },
    {
      "language": "java",
      "description": "Java validation example",
      "code": "// Use everit-org/json-schema or similar library"
    }
  ],
  "published_version": "3.2.0-beta.0"
}