Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 34 additions & 10 deletions schemas/cache/.hashes.json

Large diffs are not rendered by default.

111 changes: 111 additions & 0 deletions schemas/cache/adagents.json
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,81 @@
"name": "Example Third-Party Sales Agent"
},
"last_updated": "2025-01-10T17:00:00Z"
},
{
"$schema": "/schemas/2.6.0/adagents.json",
"authorized_agents": [
{
"authorization_type": "property_tags",
"authorized_for": "All news properties",
"property_tags": [
"news"
],
"url": "https://sales.news.example.com"
}
],
"contact": {
"domain": "news.example.com",
"email": "[email protected]",
"name": "Premium News Publisher"
},
"last_updated": "2025-01-10T18:00:00Z",
"properties": [
{
"identifiers": [
{
"type": "domain",
"value": "news.example.com"
}
],
"name": "News Example",
"property_type": "website",
"publisher_domain": "news.example.com",
"tags": [
"premium",
"news"
]
}
],
"property_features": [
{
"features": [
"carbon_score",
"sustainability_grade"
],
"name": "Scope3",
"publisher_id": "pub_news_12345",
"url": "https://api.scope3.com"
},
{
"features": [
"tag_certified_against_fraud",
"tag_brand_safety_certified"
],
"name": "TAG",
"url": "https://api.tagtoday.net"
},
{
"features": [
"gdpr_compliant",
"tcf_registered",
"ccpa_compliant"
],
"name": "OneTrust",
"publisher_id": "ot_news_67890",
"url": "https://api.onetrust.com"
}
],
"tags": {
"news": {
"description": "News and journalism content",
"name": "News Properties"
},
"premium": {
"description": "High-quality, brand-safe properties",
"name": "Premium Properties"
}
}
}
],
"oneOf": [
Expand Down Expand Up @@ -460,6 +535,42 @@
"minItems": 1,
"type": "array"
},
"property_features": {
"description": "[AdCP 3.0] Optional list of agents that provide property feature data (certifications, scores, compliance status). Used for discovery - actual data comes from querying the agent's get_property_features task.",
"items": {
"additionalProperties": true,
"properties": {
"features": {
"description": "Feature IDs this agent provides (e.g., 'carbon_score', 'tag_certified_against_fraud'). Use list_property_features on the agent for full definitions.",
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"name": {
"description": "Human-readable name of the vendor/agent (e.g., 'Scope3', 'TAG', 'OneTrust')",
"type": "string"
},
"publisher_id": {
"description": "Optional publisher identifier at this agent (for lookup)",
"type": "string"
},
"url": {
"description": "The agent's API endpoint URL (must implement get_property_features)",
"format": "uri",
"type": "string"
}
},
"required": [
"url",
"name",
"features"
],
"type": "object"
},
"type": "array"
},
"tags": {
"additionalProperties": {
"additionalProperties": true,
Expand Down
21 changes: 21 additions & 0 deletions schemas/cache/core/identifier.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"description": "A property identifier with type and value. Used to identify properties across platforms (domains, app store IDs, etc.).",
"properties": {
"type": {
"$ref": "../enums/identifier-types.json",
"description": "Type of identifier"
},
"value": {
"description": "The identifier value. For domain type: 'example.com' matches base domain plus www and m subdomains; 'edition.example.com' matches that specific subdomain; '*.example.com' matches ALL subdomains but NOT base domain",
"type": "string"
}
},
"required": [
"type",
"value"
],
"title": "Identifier",
"type": "object"
}
27 changes: 27 additions & 0 deletions schemas/cache/core/property-list-ref.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"description": "Reference to an externally managed property list. Enables passing large property sets (50,000+) without embedding them in requests. The receiving agent fetches and caches the list independently.",
"properties": {
"agent_url": {
"description": "URL of the agent managing the property list",
"format": "uri",
"type": "string"
},
"auth_token": {
"description": "JWT or other authorization token for accessing the list. Optional if the list is public or caller has implicit access.",
"type": "string"
},
"list_id": {
"description": "Identifier for the property list within the agent",
"minLength": 1,
"type": "string"
}
},
"required": [
"agent_url",
"list_id"
],
"title": "Property List Reference",
"type": "object"
}
2 changes: 1 addition & 1 deletion schemas/cache/creative/asset-types/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
},
"baseUrl": "/schemas/2.6.0",
"description": "Registry of asset types used in AdCP creative manifests. Each asset type defines the structure of actual content payloads (what you send), not requirements or constraints (which belong in format specifications).",
"lastUpdated": "2026-01-07",
"lastUpdated": "2026-01-13",
"title": "AdCP Asset Type Registry",
"usage_notes": {
"creative_manifests": "Creative manifests provide actual asset content, keyed by asset_id from the format. Asset type is determined by the format specification, not declared in the payload.",
Expand Down
10 changes: 9 additions & 1 deletion schemas/cache/enums/adcp-domain.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,16 @@
"description": "AdCP protocol domains for task categorization",
"enum": [
"media-buy",
"signals"
"signals",
"governance",
"creative"
],
"enumDescriptions": {
"creative": "Creative asset management, format discovery, and rendering",
"governance": "Property governance (identity, authorization, data, selection), brand standards, and compliance",
"media-buy": "Campaign creation, package management, and delivery optimization",
"signals": "Audience signal discovery and activation"
},
"title": "AdCP Domain",
"type": "string"
}
18 changes: 15 additions & 3 deletions schemas/cache/enums/task-type.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,30 @@
"update_media_buy",
"sync_creatives",
"activate_signal",
"get_signals"
"get_signals",
"list_property_features",
"create_property_list",
"update_property_list",
"get_property_list",
"list_property_lists",
"delete_property_list"
],
"enumDescriptions": {
"activate_signal": "Signals domain: Activate an audience signal on a specific platform or account",
"create_media_buy": "Media-buy domain: Create a new advertising campaign with one or more packages",
"create_property_list": "Property domain: Create a new property list with filters and brand manifest",
"delete_property_list": "Property domain: Delete a property list",
"get_property_list": "Property domain: Retrieve a property list with resolved properties",
"get_signals": "Signals domain: Discover available audience signals based on natural language description",
"list_property_features": "Property domain: Discover what features a governance agent can evaluate",
"list_property_lists": "Property domain: List all accessible property lists",
"sync_creatives": "Media-buy domain: Sync creative assets to publisher's library with upsert semantics",
"update_media_buy": "Media-buy domain: Update campaign settings, package configuration, or delivery parameters"
"update_media_buy": "Media-buy domain: Update campaign settings, package configuration, or delivery parameters",
"update_property_list": "Property domain: Update an existing property list"
},
"notes": [
"Task types map to specific AdCP task operations",
"Each task type belongs to either the 'media-buy' or 'signals' domain",
"Each task type belongs to the 'media-buy', 'signals', 'property', or 'creative' domain",
"This enum is used in task management APIs (tasks/list, tasks/get) and webhook payloads",
"New task types require a minor version bump per semantic versioning"
],
Expand Down
63 changes: 63 additions & 0 deletions schemas/cache/extensions/extension-meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Schema that all extension files must follow. Combines metadata (valid_from, docs_url) with the actual extension data schema. Extensions are auto-discovered from /schemas/extensions/*.json and included in versioned builds based on valid_from/valid_until.",
"properties": {
"$schema": {
"const": "http://json-schema.org/draft-07/schema#",
"type": "string"
},
"additionalProperties": {
"description": "Whether additional properties are allowed in the extension data"
},
"description": {
"description": "Description of what this extension provides",
"type": "string"
},
"docs_url": {
"description": "URL to documentation for implementors of this extension",
"format": "uri",
"type": "string"
},
"properties": {
"additionalProperties": true,
"description": "Schema properties defining the structure of ext.{namespace} data",
"type": "object"
},
"required": {
"description": "Required properties within the extension data",
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"description": "Human-readable title for the extension",
"type": "string"
},
"type": {
"const": "object",
"description": "Extensions must be objects (data within ext.{namespace})"
},
"valid_from": {
"description": "Minimum AdCP version this extension is compatible with (e.g., '2.5'). Extension will be included in all versioned schema builds >= this version.",
"pattern": "^\\d+\\.\\d+$",
"type": "string"
},
"valid_until": {
"description": "Last AdCP version this extension is compatible with (e.g., '3.0'). Omit if extension is still valid for current and future versions.",
"pattern": "^\\d+\\.\\d+$",
"type": "string"
}
},
"required": [
"$schema",
"$id",
"title",
"description",
"valid_from",
"type",
"properties"
],
"title": "AdCP Extension File Schema",
"type": "object"
}
8 changes: 8 additions & 0 deletions schemas/cache/extensions/index.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"_generated": true,
"_generatedAt": "2026-01-13T23:32:36.210Z",
"description": "Auto-generated registry of formal AdCP extensions. Extensions provide typed schemas for vendor-specific or domain-specific data within the ext field. Agents declare which extensions they support in their agent card.",
"extensions": {},
"title": "AdCP Extension Registry"
}
4 changes: 4 additions & 0 deletions schemas/cache/media-buy/get-products-request.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
},
"filters": {
"$ref": "../core/product-filters.json"
},
"property_list": {
"$ref": "../core/property-list-ref.json",
"description": "[AdCP 3.0] Reference to an externally managed property list. When provided, the sales agent should filter products to only those available on properties in the list."
}
},
"required": [],
Expand Down
4 changes: 4 additions & 0 deletions schemas/cache/media-buy/get-products-response.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@
"$ref": "../core/product.json"
},
"type": "array"
},
"property_list_applied": {
"description": "[AdCP 3.0] Indicates whether property_list filtering was applied. True if the agent filtered products based on the provided property_list. Absent or false if property_list was not provided or not supported by this agent.",
"type": "boolean"
}
},
"required": [
Expand Down
10 changes: 10 additions & 0 deletions schemas/cache/media-buy/package-request.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,19 @@
"minItems": 1,
"type": "array"
},
"impressions": {
"description": "Impression goal for this package",
"minimum": 0,
"type": "number"
},
"pacing": {
"$ref": "../enums/pacing.json"
},
"paused": {
"default": false,
"description": "Whether this package should be created in a paused state. Paused packages do not deliver impressions. Defaults to false.",
"type": "boolean"
},
"pricing_option_id": {
"description": "ID of the selected pricing option from the product's pricing_options array",
"type": "string"
Expand Down
5 changes: 5 additions & 0 deletions schemas/cache/media-buy/update-media-buy-request.json
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,11 @@
"maxItems": 100,
"type": "array"
},
"impressions": {
"description": "Updated impression goal for this package",
"minimum": 0,
"type": "number"
},
"pacing": {
"$ref": "../enums/pacing.json"
},
Expand Down
Loading