{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "/schemas/3.0.0-rc.3/index.json",
  "title": "AdCP Schema Registry",
  "version": "1.0.0",
  "description": "Registry of all AdCP JSON schemas for validation and discovery",
  "adcp_version": "3.0.0-rc.3",
  "versioning": {
    "note": "AdCP uses build-time versioning. This directory contains schemas for AdCP 3.0.0-rc.3. Full semantic versions are available at /schemas/{version}/ (e.g., /schemas/2.5.0/). Major version aliases point to the latest release: /schemas/v3/ → /schemas/3.0.0-rc.3/."
  },
  "lastUpdated": "2026-04-01",
  "baseUrl": "/schemas/3.0.0-rc.3",
  "schemas": {
    "core": {
      "description": "Core data models used throughout AdCP",
      "schemas": {
        "product": {
          "$ref": "/schemas/3.0.0-rc.3/core/product.json",
          "description": "Represents available advertising inventory"
        },
        "media-buy": {
          "$ref": "/schemas/3.0.0-rc.3/core/media-buy.json",
          "description": "Represents a purchased advertising campaign"
        },
        "package": {
          "$ref": "/schemas/3.0.0-rc.3/core/package.json",
          "description": "A specific product within a media buy (line item)"
        },
        "creative-asset": {
          "$ref": "/schemas/3.0.0-rc.3/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)"
        },
        "account": {
          "$ref": "/schemas/3.0.0-rc.3/core/account.json",
          "description": "Billing account representing who pays for advertising. Accounts have rate cards, payment terms, and platform mappings."
        },
        "targeting": {
          "$ref": "/schemas/3.0.0-rc.3/core/targeting.json",
          "description": "Audience targeting criteria"
        },
        "duration": {
          "$ref": "/schemas/3.0.0-rc.3/core/duration.json",
          "description": "A time duration with value and unit (hours or days)"
        },
        "frequency-cap": {
          "$ref": "/schemas/3.0.0-rc.3/core/frequency-cap.json",
          "description": "Frequency capping settings"
        },
        "planned-delivery": {
          "$ref": "/schemas/3.0.0-rc.3/core/planned-delivery.json",
          "description": "The seller's interpreted delivery parameters for a media buy"
        },
        "geo-breakdown-support": {
          "$ref": "/schemas/3.0.0-rc.3/core/geo-breakdown-support.json",
          "description": "Geographic breakdown capability declaration for reporting"
        },
        "format": {
          "$ref": "/schemas/3.0.0-rc.3/core/format.json",
          "description": "Represents a creative format with its requirements"
        },
        "overlay": {
          "$ref": "/schemas/3.0.0-rc.3/core/overlay.json",
          "description": "A publisher-controlled element that renders on top of buyer creative content within an ad placement"
        },
        "outcome-measurement": {
          "$ref": "/schemas/3.0.0-rc.3/core/outcome-measurement.json",
          "description": "Business outcome measurement capabilities included with a product"
        },
        "delivery-metrics": {
          "$ref": "/schemas/3.0.0-rc.3/core/delivery-metrics.json",
          "description": "Standard delivery metrics for reporting"
        },
        "creative-policy": {
          "$ref": "/schemas/3.0.0-rc.3/core/creative-policy.json",
          "description": "Creative requirements and restrictions for a product"
        },
        "deadline-policy": {
          "$ref": "/schemas/3.0.0-rc.3/core/deadline-policy.json",
          "description": "Default deadline rules for installments based on lead times from scheduled_at"
        },
        "installment-deadlines": {
          "$ref": "/schemas/3.0.0-rc.3/core/installment-deadlines.json",
          "description": "Booking, cancellation, and material submission deadlines for an installment"
        },
        "material-deadline": {
          "$ref": "/schemas/3.0.0-rc.3/core/material-deadline.json",
          "description": "A deadline for creative material submission at a specific stage"
        },
        "response": {
          "$ref": "/schemas/3.0.0-rc.3/core/response.json",
          "description": "Standard response structure (MCP)"
        },
        "error": {
          "$ref": "/schemas/3.0.0-rc.3/core/error.json",
          "description": "Standard error structure"
        },
        "generation-credential": {
          "$ref": "/schemas/3.0.0-rc.3/core/generation-credential.json",
          "description": "Scoped credential for generating rights-cleared content via LLM providers"
        },
        "rights-constraint": {
          "$ref": "/schemas/3.0.0-rc.3/core/rights-constraint.json",
          "description": "Rights metadata attached to creative manifests for tracking validity and constraints"
        },
        "pagination-request": {
          "$ref": "/schemas/3.0.0-rc.3/core/pagination-request.json",
          "description": "Standard cursor-based pagination parameters for list request schemas"
        },
        "pagination-response": {
          "$ref": "/schemas/3.0.0-rc.3/core/pagination-response.json",
          "description": "Standard cursor-based pagination metadata for list response schemas"
        },
        "date-range": {
          "$ref": "/schemas/3.0.0-rc.3/core/date-range.json",
          "description": "Date range with inclusive start and end calendar dates"
        },
        "datetime-range": {
          "$ref": "/schemas/3.0.0-rc.3/core/datetime-range.json",
          "description": "Datetime range with inclusive start and end timestamps"
        },
        "creative-item": {
          "$ref": "/schemas/3.0.0-rc.3/core/creative-item.json",
          "description": "Item within a multi-asset creative format"
        },
        "creative-assignment": {
          "$ref": "/schemas/3.0.0-rc.3/core/creative-assignment.json",
          "description": "Assignment of a creative asset to a package"
        },
        "creative-manifest": {
          "$ref": "/schemas/3.0.0-rc.3/core/creative-manifest.json",
          "description": "Complete specification of a creative with all assets needed for rendering"
        },
        "performance-feedback": {
          "$ref": "/schemas/3.0.0-rc.3/core/performance-feedback.json",
          "description": "Performance feedback data for a media buy or package"
        },
        "creative-variant": {
          "$ref": "/schemas/3.0.0-rc.3/core/creative-variant.json",
          "description": "A specific execution variant of a creative with performance metrics"
        },
        "property": {
          "$ref": "/schemas/3.0.0-rc.3/core/property.json",
          "description": "An advertising property that can be validated via adagents.json"
        },
        "creative-brief": {
          "$ref": "/schemas/3.0.0-rc.3/core/creative-brief.json",
          "description": "Campaign-level creative context for AI-powered creative generation"
        },
        "creative-variable": {
          "$ref": "/schemas/3.0.0-rc.3/core/creative-variable.json",
          "description": "A dynamic content variable (DCO slot) on a creative"
        },
        "reference-asset": {
          "$ref": "/schemas/3.0.0-rc.3/core/reference-asset.json",
          "description": "A reference asset with semantic role for creative context"
        },
        "proposal": {
          "$ref": "/schemas/3.0.0-rc.3/core/proposal.json",
          "description": "A proposed media plan with budget allocations across products - actionable via create_media_buy"
        },
        "insertion-order": {
          "$ref": "/schemas/3.0.0-rc.3/core/insertion-order.json",
          "description": "A formal insertion order attached to a committed proposal for agreement signing"
        },
        "product-allocation": {
          "$ref": "/schemas/3.0.0-rc.3/core/product-allocation.json",
          "description": "A budget allocation for a specific product within a proposal"
        },
        "delivery-forecast": {
          "$ref": "/schemas/3.0.0-rc.3/core/delivery-forecast.json",
          "description": "Forecasted delivery metrics for a proposal or product allocation"
        },
        "forecast-range": {
          "$ref": "/schemas/3.0.0-rc.3/core/forecast-range.json",
          "description": "A forecast value with optional low/high bounds"
        },
        "forecast-point": {
          "$ref": "/schemas/3.0.0-rc.3/core/forecast-point.json",
          "description": "A single point on a budget-to-outcome curve"
        },
        "catalog": {
          "$ref": "/schemas/3.0.0-rc.3/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."
        },
        "offering": {
          "$ref": "/schemas/3.0.0-rc.3/core/offering.json",
          "description": "A promotable offering from a brand with structured asset groups and optional conversational SI experiences"
        },
        "offering-asset-group": {
          "$ref": "/schemas/3.0.0-rc.3/core/offering-asset-group.json",
          "description": "A structured group of creative assets within an offering, identified by group ID and asset type"
        },
        "store-item": {
          "$ref": "/schemas/3.0.0-rc.3/core/store-item.json",
          "description": "A physical store or location with coordinates, address, and catchment areas for proximity targeting"
        },
        "catchment": {
          "$ref": "/schemas/3.0.0-rc.3/core/catchment.json",
          "description": "A catchment area definition using travel time (isochrone), simple radius, or pre-computed GeoJSON geometry"
        },
        "price": {
          "$ref": "/schemas/3.0.0-rc.3/core/price.json",
          "description": "A monetary amount with currency and optional billing period for catalog item pricing"
        },
        "hotel-item": {
          "$ref": "/schemas/3.0.0-rc.3/core/hotel-item.json",
          "description": "A hotel or lodging property for hotel-type catalogs"
        },
        "flight-item": {
          "$ref": "/schemas/3.0.0-rc.3/core/flight-item.json",
          "description": "A flight route for flight-type catalogs"
        },
        "job-item": {
          "$ref": "/schemas/3.0.0-rc.3/core/job-item.json",
          "description": "A job posting for job-type catalogs"
        },
        "vehicle-item": {
          "$ref": "/schemas/3.0.0-rc.3/core/vehicle-item.json",
          "description": "A vehicle listing for vehicle-type catalogs"
        },
        "real-estate-item": {
          "$ref": "/schemas/3.0.0-rc.3/core/real-estate-item.json",
          "description": "A property listing for real-estate-type catalogs"
        },
        "education-item": {
          "$ref": "/schemas/3.0.0-rc.3/core/education-item.json",
          "description": "An educational program or course for education-type catalogs"
        },
        "destination-item": {
          "$ref": "/schemas/3.0.0-rc.3/core/destination-item.json",
          "description": "A travel destination for destination-type catalogs"
        },
        "start-timing": {
          "$ref": "/schemas/3.0.0-rc.3/core/start-timing.json",
          "description": "Campaign start timing: 'asap' or ISO 8601 date-time"
        },
        "pricing-option": {
          "$ref": "/schemas/3.0.0-rc.3/core/pricing-option.json",
          "description": "A pricing model option offered by a publisher for a product"
        },
        "protocol-envelope": {
          "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/core/agent-signing-key.json",
          "description": "Publisher-attested public key material for an authorized agent"
        },
        "placement": {
          "$ref": "/schemas/3.0.0-rc.3/core/placement.json",
          "description": "Represents a specific ad placement within a product's inventory"
        },
        "placement-definition": {
          "$ref": "/schemas/3.0.0-rc.3/core/placement-definition.json",
          "description": "Canonical placement definition published in a publisher's adagents.json"
        },
        "mcp-webhook-payload": {
          "$ref": "/schemas/3.0.0-rc.3/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)."
        },
        "destination": {
          "$ref": "/schemas/3.0.0-rc.3/core/destination.json",
          "description": "A destination platform where signals can be activated (DSP, sales agent, etc.)"
        },
        "deployment": {
          "$ref": "/schemas/3.0.0-rc.3/core/deployment.json",
          "description": "A signal deployment to a specific destination platform with activation status and key"
        },
        "publisher-property-selector": {
          "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/core/product-filters.json",
          "description": "Structured filters for product discovery"
        },
        "creative-filters": {
          "$ref": "/schemas/3.0.0-rc.3/core/creative-filters.json",
          "description": "Filter criteria for querying creative assets from the centralized library"
        },
        "signal-filters": {
          "$ref": "/schemas/3.0.0-rc.3/core/signal-filters.json",
          "description": "Filters to refine signal discovery results"
        },
        "signal-pricing": {
          "$ref": "/schemas/3.0.0-rc.3/core/signal-pricing.json",
          "description": "Signal pricing model — discriminated union of cpm (fixed CPM), percent_of_media (percentage of spend, with optional CPM cap), or flat_fee (fixed charge per reporting period)"
        },
        "signal-pricing-option": {
          "$ref": "/schemas/3.0.0-rc.3/core/signal-pricing-option.json",
          "description": "A pricing option offered by a signals agent, combining a pricing_option_id with a signal pricing model. Returned in get_signals, referenced in report_usage."
        },
        "property-id": {
          "$ref": "/schemas/3.0.0-rc.3/core/property-id.json",
          "description": "Identifier for a publisher property - lowercase alphanumeric with underscores only"
        },
        "property-tag": {
          "$ref": "/schemas/3.0.0-rc.3/core/property-tag.json",
          "description": "Tag for categorizing publisher properties - lowercase alphanumeric with underscores only"
        },
        "property-list-ref": {
          "$ref": "/schemas/3.0.0-rc.3/core/property-list-ref.json",
          "description": "Reference to an externally managed property list for passing large property sets"
        },
        "identifier": {
          "$ref": "/schemas/3.0.0-rc.3/core/identifier.json",
          "description": "A property identifier with type and value"
        },
        "media-buy-features": {
          "$ref": "/schemas/3.0.0-rc.3/core/media-buy-features.json",
          "description": "Optional media-buy protocol features for capability declarations and product filters"
        },
        "brand-id": {
          "$ref": "/schemas/3.0.0-rc.3/core/brand-id.json",
          "description": "Identifier for a brand within a house portfolio - lowercase alphanumeric with underscores only"
        },
        "brand-ref": {
          "$ref": "/schemas/3.0.0-rc.3/core/brand-ref.json",
          "description": "Reference to a brand via house domain + brand_id (like publisher + property_id)"
        },
        "signal-id": {
          "$ref": "/schemas/3.0.0-rc.3/core/signal-id.json",
          "description": "Universal signal identifier - discriminated union by source: 'catalog' (data_provider_domain + id, verifiable) or 'agent' (agent_url + id, trust-based)"
        },
        "signal-definition": {
          "$ref": "/schemas/3.0.0-rc.3/core/signal-definition.json",
          "description": "Signal definition published in a data provider's adagents.json catalog"
        },
        "data-provider-signal-selector": {
          "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/core/daypart-target.json",
          "description": "A time window for daypart targeting with days of week and hour range"
        },
        "signal-targeting": {
          "$ref": "/schemas/3.0.0-rc.3/core/signal-targeting.json",
          "description": "Targeting constraint for a signal - discriminated union by value_type (binary, categorical, numeric)"
        },
        "event": {
          "$ref": "/schemas/3.0.0-rc.3/core/event.json",
          "description": "A marketing event (conversion, engagement, or custom) for attribution"
        },
        "user-match": {
          "$ref": "/schemas/3.0.0-rc.3/core/user-match.json",
          "description": "User identifiers for attribution matching (UIDs, hashed identifiers, click IDs)"
        },
        "event-custom-data": {
          "$ref": "/schemas/3.0.0-rc.3/core/event-custom-data.json",
          "description": "Event-specific data for attribution and reporting"
        },
        "attribution-window": {
          "$ref": "/schemas/3.0.0-rc.3/core/attribution-window.json",
          "description": "Attribution methodology and lookback windows for conversion measurement"
        },
        "optimization-goal": {
          "$ref": "/schemas/3.0.0-rc.3/core/optimization-goal.json",
          "description": "Conversion optimization goal for a package - event source, event type, target ROAS/CPA, and attribution window"
        },
        "audience-member": {
          "$ref": "/schemas/3.0.0-rc.3/core/audience-member.json",
          "description": "Hashed identifiers for a CRM audience member (hashed email, phone, or universal IDs)"
        },
        "account-ref": {
          "$ref": "/schemas/3.0.0-rc.3/core/account-ref.json",
          "description": "Reference to an account by seller-assigned ID or natural key (brand, operator, optional sandbox)"
        },
        "provenance": {
          "$ref": "/schemas/3.0.0-rc.3/core/provenance.json",
          "description": "AI provenance and disclosure metadata — declares how content was produced, C2PA references, regulatory disclosure requirements, and third-party verification results"
        }
      },
      "requirements": {
        "description": "Typed requirement schemas for creative assets in format definitions",
        "schemas": {
          "asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/asset-requirements.json",
            "description": "Combined schema that allows any typed asset requirements"
          },
          "html-asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/html-asset-requirements.json",
            "description": "Requirements for HTML creative assets - sandbox compatibility, external resources, allowed domains"
          },
          "image-asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/image-asset-requirements.json",
            "description": "Requirements for image creative assets - dimensions, formats, file size, animation"
          },
          "video-asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/video-asset-requirements.json",
            "description": "Requirements for video creative assets - dimensions, duration, codecs, bitrate"
          },
          "audio-asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/audio-asset-requirements.json",
            "description": "Requirements for audio creative assets - duration, formats, sample rate, channels"
          },
          "javascript-asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/javascript-asset-requirements.json",
            "description": "Requirements for JavaScript creative assets - module type, external resources"
          },
          "text-asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/text-asset-requirements.json",
            "description": "Requirements for text creative assets - character limits, line counts"
          },
          "url-asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/url-asset-requirements.json",
            "description": "Requirements for URL assets - protocols, allowed domains, macro support"
          },
          "markdown-asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/markdown-asset-requirements.json",
            "description": "Requirements for markdown creative assets"
          },
          "css-asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/css-asset-requirements.json",
            "description": "Requirements for CSS creative assets"
          },
          "vast-asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/vast-asset-requirements.json",
            "description": "Requirements for VAST creative assets - version requirements"
          },
          "daast-asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/daast-asset-requirements.json",
            "description": "Requirements for DAAST creative assets"
          },
          "catalog-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/catalog-requirements.json",
            "description": "Format-level declaration of what catalog feeds a creative requires"
          },
          "offering-asset-constraint": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/offering-asset-constraint.json",
            "description": "Per-group creative requirements that each offering must satisfy within a catalog"
          },
          "webhook-asset-requirements": {
            "$ref": "/schemas/3.0.0-rc.3/core/requirements/webhook-asset-requirements.json",
            "description": "Requirements for webhook creative assets"
          }
        }
      }
    },
    "enums": {
      "description": "Enumerated types and constants",
      "schemas": {
        "pricing-model": {
          "$ref": "/schemas/3.0.0-rc.3/enums/pricing-model.json",
          "description": "Supported pricing models for advertising products"
        },
        "delivery-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/delivery-type.json",
          "description": "Type of inventory delivery"
        },
        "proposal-status": {
          "$ref": "/schemas/3.0.0-rc.3/enums/proposal-status.json",
          "description": "Lifecycle status of a proposal (draft or committed)"
        },
        "media-buy-status": {
          "$ref": "/schemas/3.0.0-rc.3/enums/media-buy-status.json",
          "description": "Status of a media buy"
        },
        "creative-status": {
          "$ref": "/schemas/3.0.0-rc.3/enums/creative-status.json",
          "description": "Status of a creative asset"
        },
        "creative-approval-status": {
          "$ref": "/schemas/3.0.0-rc.3/enums/creative-approval-status.json",
          "description": "Approval state of a creative on a specific package"
        },
        "creative-quality": {
          "$ref": "/schemas/3.0.0-rc.3/enums/creative-quality.json",
          "description": "Quality tier for creative generation (draft, production)"
        },
        "pacing": {
          "$ref": "/schemas/3.0.0-rc.3/enums/pacing.json",
          "description": "Budget pacing strategy"
        },
        "frequency-cap-scope": {
          "$ref": "/schemas/3.0.0-rc.3/enums/frequency-cap-scope.json",
          "description": "Scope for frequency cap application"
        },
        "identifier-types": {
          "$ref": "/schemas/3.0.0-rc.3/enums/identifier-types.json",
          "description": "Valid identifier types for property identification across different media types"
        },
        "publisher-identifier-types": {
          "$ref": "/schemas/3.0.0-rc.3/enums/publisher-identifier-types.json",
          "description": "Valid identifier types for publisher/legal entity identification (TAG ID, DUNS, LEI, seller_id, GLN)"
        },
        "channels": {
          "$ref": "/schemas/3.0.0-rc.3/enums/channels.json",
          "description": "Advertising channels (display, video, dooh, ctv, audio, etc.)"
        },
        "task-status": {
          "$ref": "/schemas/3.0.0-rc.3/enums/task-status.json",
          "description": "Standardized task status values based on A2A TaskState enum"
        },
        "task-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/task-type.json",
          "description": "Valid AdCP task types across all domains"
        },
        "asset-content-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/asset-content-type.json",
          "description": "Types of content that can be used as creative assets (image, video, html, etc.)"
        },
        "disclosure-position": {
          "$ref": "/schemas/3.0.0-rc.3/enums/disclosure-position.json",
          "description": "Where a required disclosure should appear within a creative"
        },
        "disclosure-persistence": {
          "$ref": "/schemas/3.0.0-rc.3/enums/disclosure-persistence.json",
          "description": "How long a disclosure must persist during content playback or display"
        },
        "vast-version": {
          "$ref": "/schemas/3.0.0-rc.3/enums/vast-version.json",
          "description": "Supported VAST specification versions (2.0, 3.0, 4.0, 4.1, 4.2)"
        },
        "vast-tracking-event": {
          "$ref": "/schemas/3.0.0-rc.3/enums/vast-tracking-event.json",
          "description": "Standard VAST tracking events for video playback and interaction"
        },
        "property-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/property-type.json",
          "description": "Types of advertising properties (website, mobile_app, ctv_app, dooh, podcast, radio, streaming_audio)"
        },
        "dimension-unit": {
          "$ref": "/schemas/3.0.0-rc.3/enums/dimension-unit.json",
          "description": "Units of measurement for creative format dimensions (px, dp, inches, cm)"
        },
        "co-branding-requirement": {
          "$ref": "/schemas/3.0.0-rc.3/enums/co-branding-requirement.json",
          "description": "Co-branding policy for creatives (required, optional, none)"
        },
        "landing-page-requirement": {
          "$ref": "/schemas/3.0.0-rc.3/enums/landing-page-requirement.json",
          "description": "Landing page policy for creative destinations (any, retailer_site_only, must_include_retailer)"
        },
        "daast-version": {
          "$ref": "/schemas/3.0.0-rc.3/enums/daast-version.json",
          "description": "Supported DAAST specification versions (1.0, 1.1)"
        },
        "daast-tracking-event": {
          "$ref": "/schemas/3.0.0-rc.3/enums/daast-tracking-event.json",
          "description": "Standard DAAST tracking events for audio playback and interaction"
        },
        "day-of-week": {
          "$ref": "/schemas/3.0.0-rc.3/enums/day-of-week.json",
          "description": "Days of the week for daypart targeting"
        },
        "signal-catalog-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/signal-catalog-type.json",
          "description": "Types of signal catalogs (marketplace, custom, owned)"
        },
        "metric-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/metric-type.json",
          "description": "Performance metric types for feedback and optimization"
        },
        "feedback-source": {
          "$ref": "/schemas/3.0.0-rc.3/enums/feedback-source.json",
          "description": "Source of performance feedback data"
        },
        "forecast-method": {
          "$ref": "/schemas/3.0.0-rc.3/enums/forecast-method.json",
          "description": "Method used to produce a delivery forecast (estimate, modeled, guaranteed)"
        },
        "forecastable-metric": {
          "$ref": "/schemas/3.0.0-rc.3/enums/forecastable-metric.json",
          "description": "Standard metric names for delivery forecasts (audience_size, reach, impressions, clicks, spend, etc.)"
        },
        "forecast-range-unit": {
          "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/enums/demographic-system.json",
          "description": "Audience measurement systems for demographic notation (nielsen, barb, agf, oztam, mediametrie, custom)"
        },
        "reach-unit": {
          "$ref": "/schemas/3.0.0-rc.3/enums/reach-unit.json",
          "description": "Unit of measurement for reach metrics (individuals, households, devices, accounts, cookies, custom)"
        },
        "creative-agent-capability": {
          "$ref": "/schemas/3.0.0-rc.3/enums/creative-agent-capability.json",
          "description": "Capabilities supported by creative agents (validation, assembly, generation, preview, delivery)"
        },
        "adcp-domain": {
          "$ref": "/schemas/3.0.0-rc.3/enums/adcp-domain.json",
          "description": "AdCP protocol domains (media-buy, signals, governance, creative, brand)"
        },
        "right-use": {
          "$ref": "/schemas/3.0.0-rc.3/enums/right-use.json",
          "description": "Types of rights usage (likeness, voice, endorsement, sync, etc.)"
        },
        "right-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/right-type.json",
          "description": "Categories of licensable rights (talent, music, brand_ip, stock_media)"
        },
        "http-method": {
          "$ref": "/schemas/3.0.0-rc.3/enums/http-method.json",
          "description": "HTTP methods for webhook requests (GET, POST)"
        },
        "webhook-response-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/webhook-response-type.json",
          "description": "Expected response content types from webhooks"
        },
        "webhook-security-method": {
          "$ref": "/schemas/3.0.0-rc.3/enums/webhook-security-method.json",
          "description": "Security methods for webhook authentication"
        },
        "javascript-module-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/javascript-module-type.json",
          "description": "JavaScript module format types (esm, commonjs, script)"
        },
        "markdown-flavor": {
          "$ref": "/schemas/3.0.0-rc.3/enums/markdown-flavor.json",
          "description": "Markdown specification flavors (commonmark, gfm)"
        },
        "url-asset-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/url-asset-type.json",
          "description": "Types of URL assets (clickthrough, tracker_pixel, tracker_script)"
        },
        "validation-mode": {
          "$ref": "/schemas/3.0.0-rc.3/enums/validation-mode.json",
          "description": "Creative validation strictness levels (strict, lenient)"
        },
        "creative-action": {
          "$ref": "/schemas/3.0.0-rc.3/enums/creative-action.json",
          "description": "Actions taken on creatives during sync (created, updated, unchanged, failed, deleted)"
        },
        "notification-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/notification-type.json",
          "description": "Types of delivery notifications (scheduled, final, delayed, adjusted)"
        },
        "reporting-frequency": {
          "$ref": "/schemas/3.0.0-rc.3/enums/reporting-frequency.json",
          "description": "Frequencies for delivery reports (hourly, daily, monthly)"
        },
        "available-metric": {
          "$ref": "/schemas/3.0.0-rc.3/enums/available-metric.json",
          "description": "Standard delivery and performance metrics for reporting"
        },
        "preview-output-format": {
          "$ref": "/schemas/3.0.0-rc.3/enums/preview-output-format.json",
          "description": "Output formats for creative previews (url, html)"
        },
        "sort-direction": {
          "$ref": "/schemas/3.0.0-rc.3/enums/sort-direction.json",
          "description": "Sort direction for list queries (asc, desc)"
        },
        "sort-metric": {
          "$ref": "/schemas/3.0.0-rc.3/enums/sort-metric.json",
          "description": "Numeric delivery metrics available for sorting breakdown rows"
        },
        "history-entry-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/history-entry-type.json",
          "description": "Type of task history entry (request, response)"
        },
        "feed-format": {
          "$ref": "/schemas/3.0.0-rc.3/enums/feed-format.json",
          "description": "Product catalog feed formats"
        },
        "update-frequency": {
          "$ref": "/schemas/3.0.0-rc.3/enums/update-frequency.json",
          "description": "Frequency of product catalog updates"
        },
        "content-id-type": {
          "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/enums/auth-scheme.json",
          "description": "Authentication schemes for push notifications"
        },
        "creative-sort-field": {
          "$ref": "/schemas/3.0.0-rc.3/enums/creative-sort-field.json",
          "description": "Fields available for sorting creative listings"
        },
        "geo-level": {
          "$ref": "/schemas/3.0.0-rc.3/enums/geo-level.json",
          "description": "Geographic targeting granularity levels (country, region, metro, postal_area)"
        },
        "metro-system": {
          "$ref": "/schemas/3.0.0-rc.3/enums/metro-system.json",
          "description": "Metro area classification systems for geographic targeting (nielsen_dma, uk_itl1, uk_itl2, eurostat_nuts2)"
        },
        "postal-system": {
          "$ref": "/schemas/3.0.0-rc.3/enums/postal-system.json",
          "description": "Postal code systems for geographic targeting. System names encode country and precision (us_zip, gb_outward, ca_fsa, etc.)"
        },
        "age-verification-method": {
          "$ref": "/schemas/3.0.0-rc.3/enums/age-verification-method.json",
          "description": "Methods for verifying user age for compliance (facial_age_estimation, id_document, digital_id, credit_card, world_id)"
        },
        "device-platform": {
          "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/enums/device-type.json",
          "description": "Device form factor categories for targeting and reporting (desktop, mobile, tablet, ctv, dooh, unknown)"
        },
        "signal-value-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/signal-value-type.json",
          "description": "Signal value types for targeting (binary, categorical, numeric)"
        },
        "signal-source": {
          "$ref": "/schemas/3.0.0-rc.3/enums/signal-source.json",
          "description": "Source type for signal identifiers: 'catalog' (verifiable via data provider) or 'agent' (trust-based)"
        },
        "universal-macro": {
          "$ref": "/schemas/3.0.0-rc.3/enums/universal-macro.json",
          "description": "Standardized macro placeholders for dynamic value substitution in creative tracking URLs"
        },
        "event-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/event-type.json",
          "description": "Standard marketing event types for conversion tracking (purchase, lead, add_to_cart, etc.)"
        },
        "uid-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/uid-type.json",
          "description": "Universal ID types for user matching (rampid, id5, uid2, maid, etc.)"
        },
        "action-source": {
          "$ref": "/schemas/3.0.0-rc.3/enums/action-source.json",
          "description": "Where the conversion event originated (website, app, offline, etc.)"
        },
        "attribution-model": {
          "$ref": "/schemas/3.0.0-rc.3/enums/attribution-model.json",
          "description": "Attribution model used for conversion measurement"
        },
        "audience-source": {
          "$ref": "/schemas/3.0.0-rc.3/enums/audience-source.json",
          "description": "Origin of an audience segment in delivery reporting (synced, platform, third_party, lookalike, retargeting, unknown)"
        },
        "wcag-level": {
          "$ref": "/schemas/3.0.0-rc.3/enums/wcag-level.json",
          "description": "Web Content Accessibility Guidelines conformance level (A, AA, AAA)"
        },
        "catalog-type": {
          "$ref": "/schemas/3.0.0-rc.3/enums/catalog-type.json",
          "description": "Catalog feed types: offering, product, inventory, store, promotion, hotel, flight, job, vehicle, real_estate, education, destination"
        },
        "catalog-action": {
          "$ref": "/schemas/3.0.0-rc.3/enums/catalog-action.json",
          "description": "Actions taken on catalogs during sync (created, updated, unchanged, failed, deleted)"
        },
        "catalog-item-status": {
          "$ref": "/schemas/3.0.0-rc.3/enums/catalog-item-status.json",
          "description": "Approval status of individual catalog items (approved, pending, rejected, warning)"
        },
        "transport-mode": {
          "$ref": "/schemas/3.0.0-rc.3/enums/transport-mode.json",
          "description": "Transportation modes for isochrone-based catchment area calculations (walking, cycling, driving, public_transport)"
        },
        "distance-unit": {
          "$ref": "/schemas/3.0.0-rc.3/enums/distance-unit.json",
          "description": "Units of distance measurement for radius-based catchment areas (km, mi, m)"
        },
        "error-code": {
          "$ref": "/schemas/3.0.0-rc.3/enums/error-code.json",
          "description": "Standard error code vocabulary for agent recovery classification"
        },
        "consent-basis": {
          "$ref": "/schemas/3.0.0-rc.3/enums/consent-basis.json",
          "description": "GDPR Article 6(1) lawful basis for processing personal data"
        },
        "digital-source-type": {
          "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/enums/governance-phase.json",
          "description": "Media buy lifecycle phase for governance checks (purchase, modification, delivery)"
        },
        "governance-domain": {
          "$ref": "/schemas/3.0.0-rc.3/enums/governance-domain.json",
          "description": "Governance sub-domains a registry policy applies to (campaign, property, creative, content_standards)"
        },
        "governance-mode": {
          "$ref": "/schemas/3.0.0-rc.3/enums/governance-mode.json",
          "description": "Operating mode for a governance agent (audit, advisory, enforce)"
        },
        "delegation-authority": {
          "$ref": "/schemas/3.0.0-rc.3/enums/delegation-authority.json",
          "description": "Authority level for a delegated agent on a campaign plan (full, execute_only, propose_only)"
        },
        "exclusivity": {
          "$ref": "/schemas/3.0.0-rc.3/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 field. If fixed_price is present, it's fixed pricing. If absent, it's auction-based (floor_price and price_guidance optional). Bid-based auction models may also include max_bid as a boolean signal to interpret bid_price as a buyer ceiling instead of an exact honored price.",
      "schemas": {
        "cpm-option": {
          "$ref": "/schemas/3.0.0-rc.3/pricing-options/cpm-option.json",
          "description": "Cost Per Mille (CPM) pricing - supports fixed rate and auction modes"
        },
        "vcpm-option": {
          "$ref": "/schemas/3.0.0-rc.3/pricing-options/vcpm-option.json",
          "description": "Viewable Cost Per Mille (vCPM) pricing - supports fixed rate and auction modes"
        },
        "cpc-option": {
          "$ref": "/schemas/3.0.0-rc.3/pricing-options/cpc-option.json",
          "description": "Cost Per Click (CPC) pricing - supports fixed rate and auction modes"
        },
        "cpcv-option": {
          "$ref": "/schemas/3.0.0-rc.3/pricing-options/cpcv-option.json",
          "description": "Cost Per Completed View (CPCV) pricing - supports fixed rate and auction modes"
        },
        "cpv-option": {
          "$ref": "/schemas/3.0.0-rc.3/pricing-options/cpv-option.json",
          "description": "Cost Per View (CPV) pricing with threshold - supports fixed rate and auction modes"
        },
        "cpp-option": {
          "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/pricing-options/cpa-option.json",
          "description": "Cost Per Acquisition (CPA) pricing for performance campaigns - fixed price per conversion event"
        },
        "flat-rate-option": {
          "$ref": "/schemas/3.0.0-rc.3/pricing-options/flat-rate-option.json",
          "description": "Flat rate pricing for DOOH and sponsorships - supports fixed rate and auction modes"
        },
        "time-option": {
          "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/account/list-accounts-request.json",
            "description": "Request parameters for listing accounts accessible to the authenticated agent"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/account/list-accounts-response.json",
            "description": "Response payload for list_accounts task"
          }
        },
        "sync-accounts": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/account/sync-accounts-request.json",
            "description": "Request parameters for syncing advertiser accounts with a seller"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/account/sync-accounts-response.json",
            "description": "Response payload for sync_accounts task"
          }
        },
        "report-usage": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/account/report-usage-request.json",
            "description": "Request parameters for reporting vendor service consumption after delivery"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/account/report-usage-response.json",
            "description": "Response payload for report_usage task"
          }
        },
        "get-account-financials": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/account/get-account-financials-request.json",
            "description": "Request parameters for querying financial status of an operator-billed account"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/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": {
        "package-request": {
          "$ref": "/schemas/3.0.0-rc.3/media-buy/package-request.json",
          "description": "Package configuration for media buy creation - used within create_media_buy request"
        },
        "package-update": {
          "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/media-buy/get-products-request.json",
            "description": "Request parameters for discovering available advertising products"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/get-products-response.json",
            "description": "Response payload for get_products task"
          }
        },
        "list-creative-formats": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/list-creative-formats-request.json",
            "description": "Request parameters for discovering format IDs and creative agents supported by this sales agent"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/list-creative-formats-response.json",
            "description": "Response payload with format_ids and creative_agents list. Sales agent returns which formats it supports and which creative agents provide those formats. Buyers query creative agents for full format specifications."
          }
        },
        "create-media-buy": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/create-media-buy-request.json",
            "description": "Request parameters for creating a media buy"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/create-media-buy-response.json",
            "description": "Response payload for create_media_buy task"
          }
        },
        "update-media-buy": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/update-media-buy-request.json",
            "description": "Request parameters for updating campaign and package settings"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/update-media-buy-response.json",
            "description": "Response payload for update_media_buy task"
          }
        },
        "get-media-buys": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/get-media-buys-request.json",
            "description": "Request parameters for retrieving media buy status, creative approvals, and delivery snapshots"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/get-media-buys-response.json",
            "description": "Response payload for get_media_buys task"
          }
        },
        "get-media-buy-delivery": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/get-media-buy-delivery-request.json",
            "description": "Request parameters for retrieving comprehensive delivery metrics"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/get-media-buy-delivery-response.json",
            "description": "Response payload for get_media_buy_delivery task"
          }
        },
        "provide-performance-feedback": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/provide-performance-feedback-request.json",
            "description": "Request parameters for sharing performance outcomes with publishers"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/provide-performance-feedback-response.json",
            "description": "Response payload for provide_performance_feedback task"
          }
        },
        "sync-event-sources": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/sync-event-sources-request.json",
            "description": "Request parameters for configuring event sources on an account"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/sync-event-sources-response.json",
            "description": "Response payload for sync_event_sources task"
          }
        },
        "log-event": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/log-event-request.json",
            "description": "Request parameters for logging conversion or marketing events"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/log-event-response.json",
            "description": "Response payload for log_event task"
          }
        },
        "sync-audiences": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/sync-audiences-request.json",
            "description": "Request parameters for managing CRM-based audiences on an account"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/sync-audiences-response.json",
            "description": "Response payload for sync_audiences task"
          }
        },
        "sync-catalogs": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/sync-catalogs-request.json",
            "description": "Request parameters for syncing catalog feeds (products, inventory, stores, promotions, offerings) with approval workflow"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/media-buy/build-creative-request.json",
            "description": "Request parameters for AI-powered creative generation"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/media-buy/build-creative-response.json",
            "description": "Response payload for build_creative task"
          }
        },
        "preview-creative": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/creative/preview-creative-request.json",
            "description": "Request parameters for generating creative previews"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/creative/preview-creative-response.json",
            "description": "Response payload for preview_creative task"
          }
        },
        "list-creative-formats": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/creative/list-creative-formats-request.json",
            "description": "Request parameters for discovering creative formats from this creative agent"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/creative/list-creative-formats-response.json",
            "description": "Response payload with full format definitions - this is the authoritative source for format specifications"
          }
        },
        "get-creative-delivery": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/creative/get-creative-delivery-request.json",
            "description": "Request parameters for retrieving creative delivery data with variant-level breakdowns"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/creative/get-creative-delivery-response.json",
            "description": "Response payload with creative delivery data including variant manifests and metrics"
          }
        },
        "list-creatives": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/creative/list-creatives-request.json",
            "description": "Request parameters for querying creative library with filtering and pagination"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/creative/list-creatives-response.json",
            "description": "Response payload for list_creatives task"
          }
        },
        "sync-creatives": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/creative/sync-creatives-request.json",
            "description": "Request parameters for syncing creative assets with upsert semantics"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/creative/sync-creatives-response.json",
            "description": "Response payload for sync_creatives task"
          }
        }
      },
      "asset_types": {
        "$ref": "/schemas/3.0.0-rc.3/creative/asset-types/index.json",
        "description": "Asset type definitions for creative manifests"
      }
    },
    "signals": {
      "description": "Signals protocol task request/response schemas",
      "tasks": {
        "get-signals": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/signals/get-signals-request.json",
            "description": "Request parameters for discovering signals based on description"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/signals/get-signals-response.json",
            "description": "Response payload for get_signals task"
          }
        },
        "activate-signal": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/signals/activate-signal-request.json",
            "description": "Request parameters for activating a signal on a specific platform/account"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/property/property-feature-definition.json",
          "description": "Definition of a feature that a governance agent can evaluate"
        },
        "property-feature": {
          "$ref": "/schemas/3.0.0-rc.3/property/property-feature.json",
          "description": "A discrete feature assessment for a property"
        },
        "feature-requirement": {
          "$ref": "/schemas/3.0.0-rc.3/property/feature-requirement.json",
          "description": "A feature-based requirement for property filtering"
        },
        "property-error": {
          "$ref": "/schemas/3.0.0-rc.3/property/property-error.json",
          "description": "Error information for a property that could not be evaluated"
        },
        "property-list": {
          "$ref": "/schemas/3.0.0-rc.3/property/property-list.json",
          "description": "A managed property list with optional filters for dynamic evaluation"
        },
        "property-list-filters": {
          "$ref": "/schemas/3.0.0-rc.3/property/property-list-filters.json",
          "description": "Filters that dynamically modify a property list when resolved"
        },
        "property-list-changed-webhook": {
          "$ref": "/schemas/3.0.0-rc.3/property/property-list-changed-webhook.json",
          "description": "Webhook payload when a property list changes"
        },
        "base-property-source": {
          "$ref": "/schemas/3.0.0-rc.3/property/base-property-source.json",
          "description": "A source of properties for a property list - supports publisher+tags, publisher+property_ids, or direct identifiers"
        },
        "content-standards": {
          "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/content-standards/artifact-webhook-payload.json",
          "description": "Webhook payload for content artifact delivery from sales agents to orchestrators"
        },
        "policy-entry": {
          "$ref": "/schemas/3.0.0-rc.3/governance/policy-entry.json",
          "description": "A complete policy in the policy registry with natural language text, metadata, and calibration exemplars"
        },
        "policy-ref": {
          "$ref": "/schemas/3.0.0-rc.3/governance/policy-ref.json",
          "description": "Reference to a registry policy by ID with optional version pin"
        }
      },
      "tasks": {
        "create-property-list": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/property/create-property-list-request.json",
            "description": "Request parameters for creating a new property list"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/property/create-property-list-response.json",
            "description": "Response payload for create_property_list task"
          }
        },
        "update-property-list": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/property/update-property-list-request.json",
            "description": "Request parameters for updating an existing property list"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/property/update-property-list-response.json",
            "description": "Response payload for update_property_list task"
          }
        },
        "get-property-list": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/property/get-property-list-request.json",
            "description": "Request parameters for retrieving a property list with resolved properties"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/property/get-property-list-response.json",
            "description": "Response payload for get_property_list task"
          }
        },
        "list-property-lists": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/property/list-property-lists-request.json",
            "description": "Request parameters for listing property lists"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/property/list-property-lists-response.json",
            "description": "Response payload for list_property_lists task"
          }
        },
        "delete-property-list": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/property/delete-property-list-request.json",
            "description": "Request parameters for deleting a property list"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/property/delete-property-list-response.json",
            "description": "Response payload for delete_property_list task"
          }
        },
        "list-content-standards": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/list-content-standards-request.json",
            "description": "Request parameters for listing content standards configurations"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/list-content-standards-response.json",
            "description": "Response payload with list of content standards configurations"
          }
        },
        "get-content-standards": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/get-content-standards-request.json",
            "description": "Request parameters for retrieving a specific standards configuration"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/get-content-standards-response.json",
            "description": "Response payload with full standards configuration including policy and calibration data"
          }
        },
        "create-content-standards": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/create-content-standards-request.json",
            "description": "Request parameters for creating a new content standards configuration"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/create-content-standards-response.json",
            "description": "Response payload with new standards_id"
          }
        },
        "update-content-standards": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/update-content-standards-request.json",
            "description": "Request parameters for updating an existing content standards configuration"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/update-content-standards-response.json",
            "description": "Response payload confirming update"
          }
        },
        "calibrate-content": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/calibrate-content-request.json",
            "description": "Request parameters for collaborative calibration dialogue"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/calibrate-content-response.json",
            "description": "Response payload with detailed explanations for policy alignment"
          }
        },
        "validate-content-delivery": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/validate-content-delivery-request.json",
            "description": "Request parameters for batch validating delivery records"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/validate-content-delivery-response.json",
            "description": "Response payload with batch validation results"
          }
        },
        "get-media-buy-artifacts": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/get-media-buy-artifacts-request.json",
            "description": "Request parameters for retrieving content artifacts from a media buy"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/content-standards/get-media-buy-artifacts-response.json",
            "description": "Response payload with content artifacts for validation"
          }
        },
        "get-creative-features": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/creative/get-creative-features-request.json",
            "description": "Request parameters for evaluating creative features from a governance agent"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/creative/get-creative-features-response.json",
            "description": "Response payload with feature values for the evaluated creative"
          }
        },
        "sync-plans": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/governance/sync-plans-request.json",
            "description": "Push campaign plans to the governance agent"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/governance/sync-plans-response.json",
            "description": "Sync result with active validation categories and resolved policies per plan"
          }
        },
        "report-plan-outcome": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/governance/report-plan-outcome-request.json",
            "description": "Report the outcome of an action to the governance agent"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/governance/report-plan-outcome-response.json",
            "description": "Outcome acceptance status with budget impact and findings"
          }
        },
        "get-plan-audit-logs": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/governance/get-plan-audit-logs-request.json",
            "description": "Retrieve governance state and audit trail for a plan"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/governance/get-plan-audit-logs-response.json",
            "description": "Plan state with budget tracking, validation history, and compliance summary"
          }
        },
        "check-governance": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/governance/check-governance-request.json",
            "description": "Orchestrator or seller calls the governance agent to validate an action against the campaign plan"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/protocol/get-adcp-capabilities-request.json",
            "description": "Request parameters for cross-protocol capability discovery"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/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.)"
          }
        }
      }
    },
    "sponsored-intelligence": {
      "description": "Sponsored Intelligence Protocol for conversational brand experiences in AI assistants",
      "supporting-schemas": {
        "si-capabilities": {
          "$ref": "/schemas/3.0.0-rc.3/sponsored-intelligence/si-capabilities.json",
          "description": "Capability categories that brand or host can support (modalities, components, commerce)"
        },
        "si-identity": {
          "$ref": "/schemas/3.0.0-rc.3/sponsored-intelligence/si-identity.json",
          "description": "User identity with explicit consent for personalized brand experiences"
        },
        "si-ui-element": {
          "$ref": "/schemas/3.0.0-rc.3/sponsored-intelligence/si-ui-element.json",
          "description": "Standard visual components (text, link, image, product_card, carousel, action_button, app_handoff)"
        }
      },
      "tasks": {
        "si-get-offering": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/sponsored-intelligence/si-get-offering-request.json",
            "description": "Get offering details, availability, and optionally matching products before session handoff"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/sponsored-intelligence/si-get-offering-response.json",
            "description": "Offering details, availability status, matching products, and token for session correlation"
          }
        },
        "si-initiate-session": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/sponsored-intelligence/si-initiate-session-request.json",
            "description": "Host initiates SI session with brand agent - includes context, identity, and capability negotiation"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/sponsored-intelligence/si-send-message-request.json",
            "description": "Send a message within an active SI session"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/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": "/schemas/3.0.0-rc.3/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 catalogs and authorize signals agents to resell their data."
    },
    "brand": {
      "description": "Brand identity claim file format specification",
      "$ref": "/schemas/3.0.0-rc.3/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",
      "supporting-schemas": {
        "available-package": {
          "$ref": "/schemas/3.0.0-rc.3/tmp/available-package.json",
          "description": "A package available for contextual matching on a given impression opportunity"
        },
        "offer": {
          "$ref": "/schemas/3.0.0-rc.3/tmp/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": "/schemas/3.0.0-rc.3/tmp/offer-price.json",
          "description": "Lightweight price for variable-priced offers"
        },
        "error": {
          "$ref": "/schemas/3.0.0-rc.3/tmp/error.json",
          "description": "Error response from a TMP provider or router when a request cannot be processed"
        }
      },
      "operations": {
        "context-match": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/tmp/context-match-request.json",
            "description": "Evaluate available packages against content context. Contains no user identity."
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/tmp/context-match-response.json",
            "description": "Offers for matched packages with optional brand, price, summary, creative manifest, and targeting signals"
          }
        },
        "identity-match": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/tmp/identity-match-request.json",
            "description": "Evaluate user eligibility for packages using an opaque identity token. Contains no page context."
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/tmp/identity-match-response.json",
            "description": "Per-package eligibility — boolean eligible plus optional intent score"
          }
        }
      }
    },
    "brand-protocol": {
      "description": "Brand protocol schemas for identity retrieval, rights discovery, and rights acquisition",
      "schemas": {
        "get-brand-identity-request": {
          "$ref": "/schemas/3.0.0-rc.3/brand/get-brand-identity-request.json",
          "description": "Request brand identity data from a brand agent"
        },
        "get-brand-identity-response": {
          "$ref": "/schemas/3.0.0-rc.3/brand/get-brand-identity-response.json",
          "description": "Brand identity data response"
        },
        "get-rights-request": {
          "$ref": "/schemas/3.0.0-rc.3/brand/get-rights-request.json",
          "description": "Search for licensable rights with pricing"
        },
        "get-rights-response": {
          "$ref": "/schemas/3.0.0-rc.3/brand/get-rights-response.json",
          "description": "Matching rights with pricing options"
        },
        "acquire-rights-request": {
          "$ref": "/schemas/3.0.0-rc.3/brand/acquire-rights-request.json",
          "description": "Acquire rights with contractual clearance"
        },
        "acquire-rights-response": {
          "$ref": "/schemas/3.0.0-rc.3/brand/acquire-rights-response.json",
          "description": "Rights acquisition result with terms and generation credentials"
        },
        "rights-pricing-option": {
          "$ref": "/schemas/3.0.0-rc.3/brand/rights-pricing-option.json",
          "description": "Pricing option for licensable rights"
        }
      }
    },
    "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": "/schemas/3.0.0-rc.3/extensions/index.json",
        "description": "Auto-generated registry of all available extensions with metadata"
      },
      "meta": {
        "$ref": "/schemas/3.0.0-rc.3/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.",
      "tasks": {
        "comply-test-controller": {
          "request": {
            "$ref": "/schemas/3.0.0-rc.3/compliance/comply-test-controller-request.json",
            "description": "Request payload for the comply_test_controller tool — scenario selection and scenario-specific params"
          },
          "response": {
            "$ref": "/schemas/3.0.0-rc.3/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"
    }
  ]
}