From 9ea76f3ecf4d3ca168776e45f74ac0a41efeef64 Mon Sep 17 00:00:00 2001 From: Brian O'Kelley Date: Fri, 21 Nov 2025 07:29:22 -0500 Subject: [PATCH] feat: add semantic filter type aliases MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add ProductFilters, CreativeFilters, and SignalFilters type aliases to resolve name collisions where multiple `Filters` classes exist in different request modules. - ProductFilters: Filters for GetProductsRequest (6 fields for product discovery) - CreativeFilters: Filters for ListCreativesRequest (17 fields for creative library queries) - SignalFilters: Filters for GetSignalsRequest (4 fields for signal discovery) These aliases follow the established pattern in aliases.py for resolving discriminated union name collisions. Upstream schemas now properly define Filter classes as nested objects with properties, so the generator creates proper Pydantic models. Resolves feedback from downstream client regarding Filters type ambiguity. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- Makefile | 4 +- schemas/cache/.hashes.json | 88 +++-- .../cache/1.0.0/activate-signal-request.json | 2 +- .../cache/1.0.0/activate-signal-response.json | 4 +- schemas/cache/1.0.0/adagents.json | 6 +- schemas/cache/1.0.0/adcp-domain.json | 11 + schemas/cache/1.0.0/auth-scheme.json | 11 + schemas/cache/1.0.0/available-metric.json | 18 ++ schemas/cache/1.0.0/brand-manifest.json | 2 +- .../cache/1.0.0/co-branding-requirement.json | 12 + .../1.0.0/create-media-buy-response.json | 4 +- schemas/cache/1.0.0/creative-action.json | 14 + .../1.0.0/creative-agent-capability.json | 13 + schemas/cache/1.0.0/creative-filters.json | 97 ++++++ schemas/cache/1.0.0/creative-policy.json | 18 +- schemas/cache/1.0.0/creative-sort-field.json | 15 + schemas/cache/1.0.0/daast-asset.json | 46 +-- schemas/cache/1.0.0/daast-tracking-event.json | 20 ++ schemas/cache/1.0.0/daast-version.json | 11 + schemas/cache/1.0.0/deployment.json | 4 +- schemas/cache/1.0.0/dimension-unit.json | 13 + schemas/cache/1.0.0/feed-format.json | 12 + schemas/cache/1.0.0/feedback-source.json | 13 + schemas/cache/1.0.0/format.json | 24 +- .../1.0.0/get-media-buy-delivery-request.json | 19 +- schemas/cache/1.0.0/get-products-request.json | 41 +-- schemas/cache/1.0.0/get-signals-request.json | 38 +-- schemas/cache/1.0.0/get-signals-response.json | 13 +- schemas/cache/1.0.0/history-entry-type.json | 11 + schemas/cache/1.0.0/http-method.json | 11 + schemas/cache/1.0.0/index.json | 302 +++++++++++++----- schemas/cache/1.0.0/javascript-asset.json | 9 +- .../cache/1.0.0/javascript-module-type.json | 12 + .../cache/1.0.0/landing-page-requirement.json | 12 + .../1.0.0/list-creative-formats-request.json | 6 +- .../1.0.0/list-creative-formats-response.json | 8 +- .../cache/1.0.0/list-creatives-request.json | 113 +------ .../cache/1.0.0/list-creatives-response.json | 34 +- schemas/cache/1.0.0/markdown-asset.json | 8 +- schemas/cache/1.0.0/markdown-flavor.json | 11 + schemas/cache/1.0.0/metric-type.json | 17 + schemas/cache/1.0.0/notification-type.json | 13 + schemas/cache/1.0.0/performance-feedback.json | 24 +- .../cache/1.0.0/preview-creative-request.json | 24 +- .../cache/1.0.0/preview-output-format.json | 11 + schemas/cache/1.0.0/product-filters.json | 40 +++ schemas/cache/1.0.0/product.json | 20 +- schemas/cache/1.0.0/promoted-offerings.json | 4 +- schemas/cache/1.0.0/property-type.json | 16 + schemas/cache/1.0.0/property.json | 13 +- .../provide-performance-feedback-request.json | 24 +- .../cache/1.0.0/push-notification-config.json | 6 +- .../cache/1.0.0/reporting-capabilities.json | 20 +- schemas/cache/1.0.0/reporting-frequency.json | 12 + schemas/cache/1.0.0/signal-catalog-type.json | 12 + schemas/cache/1.0.0/signal-filters.json | 35 ++ schemas/cache/1.0.0/sort-direction.json | 11 + .../cache/1.0.0/sync-creatives-request.json | 8 +- .../cache/1.0.0/sync-creatives-response.json | 11 +- schemas/cache/1.0.0/tasks-list-request.json | 22 +- schemas/cache/1.0.0/update-frequency.json | 13 + .../1.0.0/update-media-buy-response.json | 4 +- schemas/cache/1.0.0/url-asset-type.json | 12 + schemas/cache/1.0.0/url-asset.json | 9 +- schemas/cache/1.0.0/validation-mode.json | 11 + schemas/cache/1.0.0/vast-asset.json | 62 +--- schemas/cache/1.0.0/vast-tracking-event.json | 25 ++ schemas/cache/1.0.0/vast-version.json | 14 + schemas/cache/1.0.0/webhook-asset.json | 27 +- schemas/cache/1.0.0/webhook-payload.json | 22 +- .../cache/1.0.0/webhook-response-type.json | 13 + .../cache/1.0.0/webhook-security-method.json | 12 + src/adcp/__init__.py | 6 + src/adcp/types/_generated.py | 161 ++++++---- src/adcp/types/aliases.py | 118 +++++++ src/adcp/types/generated_poc/adcp_domain.py | 12 + src/adcp/types/generated_poc/auth_scheme.py | 12 + .../types/generated_poc/available_metric.py | 19 ++ .../generated_poc/co_branding_requirement.py | 13 + .../types/generated_poc/creative_action.py | 15 + .../creative_agent_capability.py | 14 + .../types/generated_poc/creative_filters.py | 77 +++++ .../types/generated_poc/creative_policy.py | 24 +- .../generated_poc/creative_sort_field.py | 16 + src/adcp/types/generated_poc/daast_asset.py | 33 +- .../generated_poc/daast_tracking_event.py | 21 ++ src/adcp/types/generated_poc/daast_version.py | 12 + .../types/generated_poc/dimension_unit.py | 14 + src/adcp/types/generated_poc/feed_format.py | 13 + .../types/generated_poc/feedback_source.py | 14 + src/adcp/types/generated_poc/format.py | 16 +- .../get_media_buy_delivery_request.py | 22 +- .../generated_poc/get_products_request.py | 39 +-- .../generated_poc/get_signals_request.py | 29 +- .../generated_poc/get_signals_response.py | 15 +- .../types/generated_poc/history_entry_type.py | 12 + src/adcp/types/generated_poc/http_method.py | 12 + .../types/generated_poc/javascript_asset.py | 14 +- .../generated_poc/javascript_module_type.py | 13 + .../generated_poc/landing_page_requirement.py | 13 + .../list_creative_formats_response.py | 15 +- .../generated_poc/list_creatives_request.py | 97 +----- .../generated_poc/list_creatives_response.py | 30 +- .../types/generated_poc/markdown_asset.py | 12 +- .../types/generated_poc/markdown_flavor.py | 12 + src/adcp/types/generated_poc/metric_type.py | 18 ++ .../types/generated_poc/notification_type.py | 14 + .../generated_poc/performance_feedback.py | 29 +- .../generated_poc/preview_creative_request.py | 21 +- .../generated_poc/preview_output_format.py | 12 + .../types/generated_poc/product_filters.py | 36 +++ src/adcp/types/generated_poc/property.py | 18 +- src/adcp/types/generated_poc/property_type.py | 17 + .../provide_performance_feedback_request.py | 30 +- .../generated_poc/push_notification_config.py | 10 +- .../generated_poc/reporting_capabilities.py | 25 +- .../generated_poc/reporting_frequency.py | 13 + .../generated_poc/signal_catalog_type.py | 13 + .../types/generated_poc/signal_filters.py | 29 ++ .../types/generated_poc/sort_direction.py | 12 + .../generated_poc/sync_creatives_request.py | 13 +- .../generated_poc/sync_creatives_response.py | 17 +- .../types/generated_poc/tasks_list_request.py | 24 +- .../types/generated_poc/update_frequency.py | 14 + src/adcp/types/generated_poc/url_asset.py | 11 +- .../types/generated_poc/url_asset_type.py | 13 + .../types/generated_poc/validation_mode.py | 12 + src/adcp/types/generated_poc/vast_asset.py | 49 +-- .../generated_poc/vast_tracking_event.py | 26 ++ src/adcp/types/generated_poc/vast_version.py | 15 + src/adcp/types/generated_poc/webhook_asset.py | 32 +- .../types/generated_poc/webhook_payload.py | 12 +- .../generated_poc/webhook_response_type.py | 14 + .../generated_poc/webhook_security_method.py | 13 + 134 files changed, 1961 insertions(+), 1223 deletions(-) create mode 100644 schemas/cache/1.0.0/adcp-domain.json create mode 100644 schemas/cache/1.0.0/auth-scheme.json create mode 100644 schemas/cache/1.0.0/available-metric.json create mode 100644 schemas/cache/1.0.0/co-branding-requirement.json create mode 100644 schemas/cache/1.0.0/creative-action.json create mode 100644 schemas/cache/1.0.0/creative-agent-capability.json create mode 100644 schemas/cache/1.0.0/creative-filters.json create mode 100644 schemas/cache/1.0.0/creative-sort-field.json create mode 100644 schemas/cache/1.0.0/daast-tracking-event.json create mode 100644 schemas/cache/1.0.0/daast-version.json create mode 100644 schemas/cache/1.0.0/dimension-unit.json create mode 100644 schemas/cache/1.0.0/feed-format.json create mode 100644 schemas/cache/1.0.0/feedback-source.json create mode 100644 schemas/cache/1.0.0/history-entry-type.json create mode 100644 schemas/cache/1.0.0/http-method.json create mode 100644 schemas/cache/1.0.0/javascript-module-type.json create mode 100644 schemas/cache/1.0.0/landing-page-requirement.json create mode 100644 schemas/cache/1.0.0/markdown-flavor.json create mode 100644 schemas/cache/1.0.0/metric-type.json create mode 100644 schemas/cache/1.0.0/notification-type.json create mode 100644 schemas/cache/1.0.0/preview-output-format.json create mode 100644 schemas/cache/1.0.0/product-filters.json create mode 100644 schemas/cache/1.0.0/property-type.json create mode 100644 schemas/cache/1.0.0/reporting-frequency.json create mode 100644 schemas/cache/1.0.0/signal-catalog-type.json create mode 100644 schemas/cache/1.0.0/signal-filters.json create mode 100644 schemas/cache/1.0.0/sort-direction.json create mode 100644 schemas/cache/1.0.0/update-frequency.json create mode 100644 schemas/cache/1.0.0/url-asset-type.json create mode 100644 schemas/cache/1.0.0/validation-mode.json create mode 100644 schemas/cache/1.0.0/vast-tracking-event.json create mode 100644 schemas/cache/1.0.0/vast-version.json create mode 100644 schemas/cache/1.0.0/webhook-response-type.json create mode 100644 schemas/cache/1.0.0/webhook-security-method.json create mode 100644 src/adcp/types/generated_poc/adcp_domain.py create mode 100644 src/adcp/types/generated_poc/auth_scheme.py create mode 100644 src/adcp/types/generated_poc/available_metric.py create mode 100644 src/adcp/types/generated_poc/co_branding_requirement.py create mode 100644 src/adcp/types/generated_poc/creative_action.py create mode 100644 src/adcp/types/generated_poc/creative_agent_capability.py create mode 100644 src/adcp/types/generated_poc/creative_filters.py create mode 100644 src/adcp/types/generated_poc/creative_sort_field.py create mode 100644 src/adcp/types/generated_poc/daast_tracking_event.py create mode 100644 src/adcp/types/generated_poc/daast_version.py create mode 100644 src/adcp/types/generated_poc/dimension_unit.py create mode 100644 src/adcp/types/generated_poc/feed_format.py create mode 100644 src/adcp/types/generated_poc/feedback_source.py create mode 100644 src/adcp/types/generated_poc/history_entry_type.py create mode 100644 src/adcp/types/generated_poc/http_method.py create mode 100644 src/adcp/types/generated_poc/javascript_module_type.py create mode 100644 src/adcp/types/generated_poc/landing_page_requirement.py create mode 100644 src/adcp/types/generated_poc/markdown_flavor.py create mode 100644 src/adcp/types/generated_poc/metric_type.py create mode 100644 src/adcp/types/generated_poc/notification_type.py create mode 100644 src/adcp/types/generated_poc/preview_output_format.py create mode 100644 src/adcp/types/generated_poc/product_filters.py create mode 100644 src/adcp/types/generated_poc/property_type.py create mode 100644 src/adcp/types/generated_poc/reporting_frequency.py create mode 100644 src/adcp/types/generated_poc/signal_catalog_type.py create mode 100644 src/adcp/types/generated_poc/signal_filters.py create mode 100644 src/adcp/types/generated_poc/sort_direction.py create mode 100644 src/adcp/types/generated_poc/update_frequency.py create mode 100644 src/adcp/types/generated_poc/url_asset_type.py create mode 100644 src/adcp/types/generated_poc/validation_mode.py create mode 100644 src/adcp/types/generated_poc/vast_tracking_event.py create mode 100644 src/adcp/types/generated_poc/vast_version.py create mode 100644 src/adcp/types/generated_poc/webhook_response_type.py create mode 100644 src/adcp/types/generated_poc/webhook_security_method.py diff --git a/Makefile b/Makefile index fb772eec..2ce963f7 100644 --- a/Makefile +++ b/Makefile @@ -47,7 +47,7 @@ regenerate-schemas: ## Download latest schemas and regenerate models @echo "Fixing schema references..." $(PYTHON) scripts/fix_schema_refs.py @echo "Generating Pydantic models..." - $(PYTHON) scripts/generate_models_simple.py + $(PYTHON) scripts/generate_types.py @echo "✓ Schemas regenerated successfully" validate-generated: ## Validate generated code (syntax and imports) @@ -99,7 +99,7 @@ check-schema-drift: ## Check if schemas are out of sync with upstream @echo "Checking for schema drift..." @$(PYTHON) scripts/sync_schemas.py @$(PYTHON) scripts/fix_schema_refs.py - @$(PYTHON) scripts/generate_models_simple.py + @$(PYTHON) scripts/generate_types.py @if git diff --exit-code src/adcp/types/generated.py schemas/cache/; then \ echo "✓ Schemas are up-to-date"; \ else \ diff --git a/schemas/cache/.hashes.json b/schemas/cache/.hashes.json index d2f60d4d..0e26fbb9 100644 --- a/schemas/cache/.hashes.json +++ b/schemas/cache/.hashes.json @@ -1,95 +1,129 @@ { - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/index.json": "3d58e9a3c220f37b9245c8488f2d12291b787972dc3d069a5dd9f1ddcb2c377b", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/index.json": "e07ecdba0bc0d4fba3fe5f8d7ce39cb60330dcb4b76a8717f14d606a76911ca6", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/adagents.json": "f32e3778a454b7ae65f42952906f06466008bfd1208b83729e14d5f2164902d5", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/activation-key.json": "bb9c20c6200b651ce6db89f7160be60b9845dbbb4390a13363ea5b82c1c3c786", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/audio-asset.json": "e25d688d22c8b130d9d1a2a09f9aa462cb7a5c83db6eea6f328cd937f8625a3f", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/css-asset.json": "e0a3e3b668f564cf804d0b893833188203b8992cd5d118e4fd3d19c85cb501a1", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/daast-asset.json": "9a4e469cf7d60b6ed31d250f669e5383161c55f5235b14fced4382c9374877b6", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/daast-asset.json": "4e70c18e6794a4c69ca9ba0f4d8b0251cbebc4bfe8f64ab723e972f581729d19", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/html-asset.json": "699902d22714940d9ae1e2fdbf079c7b83fff436f122cf6301bab48ead58bacc", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/image-asset.json": "c2cd83306d071cf83bacf0c62479b262f247d089facba5480bf1fad571ab61b7", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/javascript-asset.json": "09ec2b05977d7300c7b99416d295c3d6dfac064d50f03a639cd21d2e1df2420d", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/markdown-asset.json": "430a7177a8c98ecc6d7fb133b9afd4dcc88dc347e49638495207383b6e86e1f8", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/javascript-asset.json": "bddd14249dbce6683f4b56c4bc1ce5d17d395bde66ef07b87750b39a68ef67c9", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/markdown-asset.json": "6f2e5feb9da9b821b1b5a6c38c095c85dc1a3a187610e87335d4a4b9690f901d", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/text-asset.json": "62f7fdd0cff2800da53e73298cbd5394d4a332dd402ad354e49cfc95fd73d171", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/url-asset.json": "b1c3fccdc649777a9eaf0383c256009b434ea21e0a6868583c4062e7203e83f4", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/vast-asset.json": "d521be0b264a03e482bc432a42f8bef91cef0dc6302854e2f12ffad090116bd4", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/url-asset.json": "9640ca952772b875dd63b8f97106fca3fe3480a65b987248f05e94bf34befb14", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/vast-asset.json": "b12a0e0c7019a6da8d42cc92028146ced1ebb75c1667843637f697c811836711", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/video-asset.json": "24e2e69c25e67ce48e5aaf9e3367b37796d0969530f1dfea93c36ff8194ebe6c", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/webhook-asset.json": "ee8fe23b17b4150f02c13f5461b8d4618a041a345c48a356904c666078caf72d", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/assets/webhook-asset.json": "ebf4ca455163b67675b96213d4cb2c3338906db75d8bda6c1b09338ba5d651d3", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/brand-manifest-ref.json": "bf564ec2a537f7c931d52244a20549c493f151eda264de7487aa2d8bc25e184c", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/brand-manifest.json": "5b34ba67376c2ee38ea9221ebaf8ed825b98ca8089ef5b794cc8a7687f089e54", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/creative-asset.json": "f49b85b1fc82878e3d0227eda735fba3a4eb39008070a6ab2b9ceacea1c2c0db", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/creative-assignment.json": "1319ea89aedd48b5d354fa4b18668e2bb16a6e7e0ce640cdea63e55d3abf7941", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/creative-filters.json": "0fe8dda89a760dc8f16357510cf5c10fe05d37edbe3f62c10c166ee647585c08", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/creative-manifest.json": "160d56152c35f56dc9a26b6906e7e1f9d0e80826d25a006aba56487fa627e1eb", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/creative-policy.json": "f65903eae4ccf16b8c738be36b74edb31101698c30bf7e167a9c73c2a7417444", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/creative-policy.json": "2e2688fe18fa03d0193232ed237e37189fe5f1201fcebc4ebdba82ae8f3d4176", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/delivery-metrics.json": "4a2c3c6b684668d47eb954132ecc522dde989cec5e74bd9acaa10306b9e72d68", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/deployment.json": "7681b552be408d132cbbf431a09a49f06b34fb7c535fb8cece2ff80097c6e708", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/destination.json": "26dfdaae419537512e4fbe961317fd7386e76c2d33d6945ef43e00e074df8e17", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/error.json": "8ef7f825f398f28f63c3ec6a1631e49cd1fe08034d2e4c24b5153cad3e75e389", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/format-id.json": "13811721d182f84d2bfd28670c4ecc85cd15c0392a57ababd9d87fe7befd6b13", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/format.json": "bc3980756be32803fca4c293dfe17db8c3c75897e9c74d3e48b10e2c78c15466", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/format.json": "3ee4f73106e66cdfdc5d83c04d898cfd7035b5d252435d65bf779e35df57aa81", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/frequency-cap.json": "143c0cd68fec7247d9633c13fb1f6edf2f18756694e8a29f60a6c5c672e918c9", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/measurement.json": "c3cf5e4026cf1ef93ea3a145ebfa11a945927a556266d1ca9a78a0b53bbcdac1", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/media-buy.json": "20d4cb99b9f290856769cfe1e0ec2d198f68cace214fe3e6e6ea7f84d8b74780", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/package.json": "d99262f119d9f3bfebc91be7286c54ae1c7a0217b7fa8ef5c1de086c2c307dd0", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/performance-feedback.json": "80384474042b6cda08b1128859143ec5822d6dcc907ba1fa3ecf81719e7644a7", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/performance-feedback.json": "d80606c3ef6919c1489aa878acfdbe6ccbe21d53e2b54487d4f727dd386a1da4", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/placement.json": "ea814df6d878232bfdb1249fe199a1e32ec18598b7d3e3c57324d6e6120d9cf8", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/pricing-option.json": "cfaeff3d4fc49e0d3ae76364e246b3b7a772ef12cbda65b1cff400ab1f841bfa", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/product-filters.json": "15f4b7ca9f8e9eeb835b1ede82db697081044afc1d3bc366db7352e672cac1d0", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/product.json": "e1b4faa9029bd06baa537fbf534993e7830b1bdc2241279dea4806c134cea50d", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/promoted-offerings.json": "d8b4b92db0e2debc5c0ddbc0a8ff673f258f0bbc0348737df61be20a25827077", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/promoted-products.json": "77773b1dce91b219ec5043c091eb2977a82ba301e03aead3868ba704e625379e", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/property.json": "510458c96a93deb90d9fa3a4dfc11b63c113755dbec3de386690f6838213bc84", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/property.json": "770734efdb4e0867c2367d5f12994fe53193f51bd8d03cb35bbb7b9b8b3d0a74", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/protocol-envelope.json": "c6096b4ed4330c5e2045989bfd5cdc64fa6587cf8b0d1d2c19e33c7434cdacb8", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/publisher-property-selector.json": "3e4870d0446a5825c16365a99d49932517223c1d9d3d46a4fbf413d377ed43dd", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/push-notification-config.json": "be2af5dbf7d398c958e59c70ab61a845e4a7d1f1e076412589d06d53454b64b0", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/reporting-capabilities.json": "c463c8d512c17b8ac7afde34d782b5e5f700ed9cf73a52992a328f85ad24d568", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/push-notification-config.json": "d712ce49b101b83535dc7effcdeeb64ed2c07c67bcd9aa42ef3ffd450bf7112a", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/reporting-capabilities.json": "c84fa2a1ecc71181aa42b71e2960742ea05d3f4113c9f7a2269c0b0d7ab618c4", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/response.json": "0ac624a30da08e1aa90d2a9379f8c1ed29b704c3f5399224b9684672d3df9723", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/signal-filters.json": "8022b6e52328f69636631d2909653dbc7102cd81364b5dbe2fb0b9fa09ed16c9", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/start-timing.json": "dd3a8f60032781a0f8b5448f91bcf19d10e94658a76196cc2823704ab195fdc4", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/sub-asset.json": "c12c522dc4117bbcc831b58ab7fc3f3a8f2c17fc1e727de733d1df46a10add8a", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/targeting.json": "6abe40b7455c90b44d048a09d5b11b1c431a3bd25f74b4f7ee26e5f80c4997d8", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/tasks-get-request.json": "59521d574173660d53e8b3161a1879e29d47029d184c01d3fec2f0cee9b253d0", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/tasks-get-response.json": "551f9478f725d7a98f48a49be9c6a3088cc6e06fa1585aeb30e3085d85f9cfc5", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/tasks-list-request.json": "94048fb5a7eecdef061898a5a12c4a17bc794da2b4423d66c86ddeb6c3abf6c0", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/tasks-list-request.json": "7300ab55dc2e927a164cdead31d02ab79b58391c410205da353a8d8e59758f24", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/tasks-list-response.json": "529f093524948dc020fcfa3b6aaf9bf3f3fd5f4bec707e286350f86f4caea052", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/webhook-payload.json": "2a985b19a4ea232295a7e731dcb9318b435d5f45dd182baea893f4c75d3d2230", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/core/webhook-payload.json": "1636bd47754ffc71484448297f58a86559bf0d3de6bfba7c06a77a79bd8cf7fb", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/creative/asset-types/index.json": "6bdcf5d78558ab1ff75759ed7b0b1271daab828e2cd92e0e51154b7759e72fd9", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/creative/list-creative-formats-request.json": "0bc06b927aa7c1c48e49391232153a6dcdc978eb1df42f86837e1ce31e3ff9c2", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/creative/list-creative-formats-response.json": "f897a1358b0b0ac61d6bb3c99323f9b25f473278a79ee0ac10f382c031be4ff4", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/creative/preview-creative-request.json": "db8553c8c7f7194b87981a538b1f62a7b91e12bef732b34d6817cb05a523ca4b", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/creative/list-creative-formats-response.json": "16eed7a5b4f949b414354bb8b2ff1a881d8c704d3193a1fca48e650b3d4ebb5b", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/creative/preview-creative-request.json": "8fdfaeaab7d4c44352f17ac78a8ecef1749bbf4b79ab451c739e527d5f7d206f", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/creative/preview-creative-response.json": "361d824a0abe6c42c21bc1778ebc35dabf68dcb99b5b0e1e6ff8dfae4b319b05", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/creative/preview-render.json": "d9312c330425552f6f8aff32e9fb3d792face83141b9b62dbf79a4efac712c41", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/adcp-domain.json": "21a32551d493069a66c28bc1d4ed05757b4d4cf6d3257e0318d97713a0ac6351", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/asset-content-type.json": "94815898f629581d8dba307808538584c49a2803cfce545f73cefeee742d825c", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/auth-scheme.json": "f513e0416b9ba6eb7d30f819ba7e64df3216b0fc6a6e35237cc4d737c6808be5", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/available-metric.json": "c17a639d2ec95465fd1cb96a29f5bd688e4dc47855cd3c16643e7c1d6a1a5305", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/channels.json": "e3f7d6ca073a48ed156fe1a00a0f2772415743823aee877dedf7b0db183c58a7", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/co-branding-requirement.json": "503ebab1d2b8ce0591e9eb0f6f1342e3e2f8c164533cf6a15257a9b6fb8fbd51", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/creative-action.json": "67af3d29a1aff7406a9165e764d35c1f4f72c5bdfe56880e7c6850517c61792f", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/creative-agent-capability.json": "3cb80826a5e067b4665973b8f4e6f635fe0bd48c6a71ba167c8cc60b7839f240", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/creative-sort-field.json": "18408af28570224d3aad20187fe56644294ebd0aa064873006ebbab63502af1f", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/creative-status.json": "193e3ab2d6c6271c83bf48f19b39574600407767aac3e9b71dc6c5ef49c99f95", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/daast-tracking-event.json": "ca67cf65cf9de0c49d2ad148a6f2cb5dcdc239289e6267a39380221506837467", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/daast-version.json": "24e4e3eab4d73ee2d97396b9dae399d28a8ebcb18330718d37947713d37f3c0b", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/delivery-type.json": "4af6c09902eb7c74727a60ca28cdd2f5aec10c3b59d2c5b864fe8f6f83f07752", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/dimension-unit.json": "715f6d60703d3c04579ecd886ff8e4f5c2f7f53d3d9f6349da4eb9993c1bd09e", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/feed-format.json": "e5026d795ab5ff7659cd4bc64fda7a4b3fa27df500e1ce921e8edd9e88673d43", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/feedback-source.json": "c1afa6075f9a1e68b63890a9531f6f836e8714156b0f35d1064499b6a1e69152", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/format-category.json": "90924784874e5be4c9ef4180d0a8e2100e6e6db362cd5a3a98988e56d14f56db", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/frequency-cap-scope.json": "a243a31fa69803d6a6c2680f5465969f0d14ec79b6c0ac4ed89c55379a0d782e", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/history-entry-type.json": "c97b5ca1d75e1bcc59bf32ed0f58893cd4dffc67433d0fcef3709256b10efac5", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/http-method.json": "18e9dbfa7e19a64bf9fb43866e2f7d5918471952e461f2e5178ef910c0c2be29", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/identifier-types.json": "e9fedddebf8d09857b77094c36de32c619b7e47c667791a5d8ec837c2e672500", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/javascript-module-type.json": "2c5353147abec0ba213235913779cb60f56959e5a6fb2a34f41e2c23c9055a9f", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/landing-page-requirement.json": "389f38f120e970f4630235188e766ab849a4009f1c7a3f7eb6d6679af1b1d829", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/markdown-flavor.json": "f7269c05f517e9e5f16ccda0049710e223c6c9fbaa97546785bf6184e7f2f873", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/media-buy-status.json": "a459b9007750a4ce2151a09c82478179311543e17c3aef49d15c3b7b77c5029c", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/metric-type.json": "e2dd1f1bc3d77d7daa998ceb033dd819eb635b556cf38dbdb382e5d4e543f4c2", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/notification-type.json": "621742250bfa376b399df2c3f077102b48fc60a3cc9e96605fb19e25dc64e77b", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/pacing.json": "b8b12c9441fcde9a5e9f8a1fd2cae43bba8a2fda72de9f7f8ae0b34764ace965", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/package-status.json": "4806fa2598c8132cd2ea5167d67cfc663ad84a43771593ac022bdb34815cef44", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/preview-output-format.json": "dde7754ddb3dde65b6c4bd36c6bf6c2cf63a10a4199ec5c37dd9106fdb06ce84", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/pricing-model.json": "a254d66bdc46cd32f24b4b0e320c1c3609fbf51c2635199125051b46295a4394", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/property-type.json": "5032757e73adae4debfbeb0c195bf1d2657fe25f3e023d62930f3deb07ef6f7e", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/publisher-identifier-types.json": "c0bae035c3700c8687885a28f4ca0e89558dec715a061258018521cd1c5294be", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/reporting-frequency.json": "117338f513df1f1d53ef5ef1b9b32f0e60c8b6644e06aa7b9e99ce9601ea71d9", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/signal-catalog-type.json": "26f0d91fd00d65c5d9b4f935e7b0649ba23fc3e3be1e908add39a95d13254756", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/sort-direction.json": "094ccb93b14d1bca90e62a0ff88fabacb435a309790539673a2c0685365917b1", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/standard-format-ids.json": "848073552c20e2a837492835c200dc11c1a4a776502256aaf51a9903b0839cd3", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/task-status.json": "cf90da4dffe36693078a2e4d73971af4db550de2b92fa926f5b8edc2722eaf22", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/task-type.json": "73ecd6267c94cf4eafb7168bf50131cf0b1d5cdbf7e66a39f78fb380a5b83968", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/update-frequency.json": "8e17cf94618019e9c7c9d906188cd245f55bb7d635f6a5df6fb3587c6cdefc83", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/url-asset-type.json": "03b9eeb454fa96ede4a88495dd360d6c3b0393a5b022336e580d051a7cdb4d1c", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/validation-mode.json": "b478f75b412d7cd78c3539014a01f5dea837bd7a6fe658dd4363ae7c9fd069e2", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/vast-tracking-event.json": "638bca3e504bb5053b1c2e988c5cfb6bac7d43b5076b2dcc4093c2a3c66778a0", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/vast-version.json": "a199ba6c547ca76aeb9e8b812eeed555961184584a92c15c43922c88e5f74a5c", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/webhook-response-type.json": "48e26fef78c4d4b31e00143ba572461aacba65997decdb184a18b3b8f3ad5970", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/enums/webhook-security-method.json": "d690a0aaf961ae2d571f6cadc3d040ea585af966ecc47b826d02df9ef0a369fd", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/build-creative-request.json": "1356a721f29a5e82e144640183c57df24c4c68eab35f7f4e6e8c6e93a8c10499", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/build-creative-response.json": "89258fb28bedf6b95c9f6ee8810b0674965f1c49746376823c6fedc9b2634ad2", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/create-media-buy-request.json": "69abc79214995c77c590b24fe6ad7cd9c322b7651aa9e3c065c9c39cdeeac656", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/create-media-buy-response.json": "75e06a480a44575443d6ca0a14960c77725cfa9f878429e24dd09b1b151db0af", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/get-media-buy-delivery-request.json": "20464f0fa84ce3bed82ff18eeb8b5b3b46745a51e11e2393df58c0f309bf2cc6", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/get-media-buy-delivery-request.json": "57a51688063243a1ca13b0ab40dec5722c741d2bbab5ac6a36294f31ec406116", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/get-media-buy-delivery-response.json": "89f62b754d9d626ec9068a7b030808dc3eba316cbb9c86369a4a68a5b40d38f3", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/get-products-request.json": "5d01c326361c21ed0735ffaada036e3017ac75c318832d8607cd935ecaaa4698", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/get-products-request.json": "34364a4540ecf85abf012b5980b4864b81fdcf9147234fae719d651a25de62b2", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/get-products-response.json": "ddc64c84fa4d4aec43981927bf5d2d36130ed9ae5aa97bda48924f63e17752f4", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/list-authorized-properties-request.json": "b9b8bfbd7d549506f11cf46781f269402cdb72d19562f53643fd612fccd8dc16", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/list-authorized-properties-response.json": "0f4ec18c9e3fe5b3a9288177134df58deab44bdc5fcc61a0838e93ceefebbcd8", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/list-creative-formats-request.json": "e10a8431c46d8020b23d0daa5caad844fa21f52efdd99e4c38f878aee26d8646", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/list-creative-formats-response.json": "30ec1737d5b51f3d6920af5cc0a081efe09ba7b4e635eda26a45ca6be218e18d", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/list-creatives-request.json": "949b713c4b2a11f3230f1696694542b020547dfa1841a36ed46f009bd5559d5b", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/list-creatives-response.json": "8539e1d24b4671c9f1d3ee0f7aed247c832ada85eec23dece7041302571f2409", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/list-creative-formats-response.json": "4d93c6784041e8981326aa4acc2ccd9199a6123e69dec029d7bb60461d23bbb0", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/list-creatives-request.json": "821e52ea8c42fe78d333b75e6a4012a64c68b4d1a8bb55f4a0ff8f71362a0e71", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/list-creatives-response.json": "0916774bff1452b7d825dcf36ac483a7466198ce7cd6ab654e66d741d851ba87", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/package-request.json": "22360197b0cb6f1a29aa5dc27a0001d4dae3d38d6b5028464ce33855a16fff49", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/provide-performance-feedback-request.json": "1b9b6eb46237e6c13aef37afd9fe53387f3b6bf082546b6c3437801689883233", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/provide-performance-feedback-request.json": "c723ed5ed41e64db59ffe2c32a240755acaab7830b1dbc0eabbd5a6b90739014", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/provide-performance-feedback-response.json": "027956a411298fe8e6b4b9e7ddf07b9879bc9d03621946f98a91a06e4e3938cf", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/sync-creatives-request.json": "42ad6402161e0528b4ea1b6e75083437f200ce064ac2acef2adb57c0867fc658", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/sync-creatives-response.json": "c06c1296e4ddea110b8dee1b0e40289fea32f52c56ebf123512319008dfcc615", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/sync-creatives-request.json": "954f28624c90f605dead545b9fdf7bf4312372b86c1b57737f9e270ef2d4d408", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/sync-creatives-response.json": "903701587da2660aff4fb0e643c6ecd6a09c9e35161d69587930ed72084e5137", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/update-media-buy-request.json": "e907faefc302a58870554f8a1ac84de5529e4806c4da04879f153cade2372747", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/media-buy/update-media-buy-response.json": "643562faab311e237095d024cd1d4383b01effd3d9bff5af412837d9b85522b4", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/pricing-options/cpc-option.json": "8db2f8f68bff3e9f5c8c8a0843e307e7b40533883d14bab210c78ff73dd2de63", @@ -103,6 +137,6 @@ "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/pricing-options/vcpm-fixed-option.json": "b560ed8eb0196a793d6d1304a4dea62dc3a1fd06b1fb676b95aa93b68618fce9", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/signals/activate-signal-request.json": "bb4d0e0e3e767856f8541488d2f847161b6f6bfc620d7d98efad6b76558811cc", "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/signals/activate-signal-response.json": "efb5ed2da9088c421f0a8b4c2582e98e44a0d015917c0e8c1d172ef5330206a1", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/signals/get-signals-request.json": "5284a89c1b36f5ff17e0c638b5594b644eaf53e5c53b60dce58a7561025ba2c7", - "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/signals/get-signals-response.json": "28bf87189c808b1a5c3263e7b53a99407f9bf50e140974cdfc5feac582b9fe1b" + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/signals/get-signals-request.json": "20d8aaefde9c6c3a8880690e7cbd6100518e0233f7c17affeb680ff78b2b0996", + "https://raw.githubusercontent.com/adcontextprotocol/adcp/main/static/schemas/v1/signals/get-signals-response.json": "062b163b0f843240730a7dbd2e2e31d3c92a157a88a23e0e2e2221ba7e84e600" } \ No newline at end of file diff --git a/schemas/cache/1.0.0/activate-signal-request.json b/schemas/cache/1.0.0/activate-signal-request.json index 38d016c8..63e3b452 100644 --- a/schemas/cache/1.0.0/activate-signal-request.json +++ b/schemas/cache/1.0.0/activate-signal-request.json @@ -12,7 +12,7 @@ "deployments": { "description": "Target deployment(s) for activation. If the authenticated caller matches one of these deployment targets, activation keys will be included in the response.", "items": { - "$ref": "/schemas/v1/core/destination.json" + "$ref": "destination.json" }, "minItems": 1, "type": "array" diff --git a/schemas/cache/1.0.0/activate-signal-response.json b/schemas/cache/1.0.0/activate-signal-response.json index 02e982b7..06b8b14b 100644 --- a/schemas/cache/1.0.0/activate-signal-response.json +++ b/schemas/cache/1.0.0/activate-signal-response.json @@ -20,7 +20,7 @@ "deployments": { "description": "Array of deployment results for each deployment target", "items": { - "$ref": "/schemas/v1/core/deployment.json" + "$ref": "deployment.json" }, "type": "array" } @@ -47,7 +47,7 @@ "errors": { "description": "Array of errors explaining why activation failed (e.g., platform connectivity issues, signal definition problems, authentication failures)", "items": { - "$ref": "/schemas/v1/core/error.json" + "$ref": "error.json" }, "minItems": 1, "type": "array" diff --git a/schemas/cache/1.0.0/adagents.json b/schemas/cache/1.0.0/adagents.json index c50e6a85..83e1afde 100644 --- a/schemas/cache/1.0.0/adagents.json +++ b/schemas/cache/1.0.0/adagents.json @@ -318,7 +318,7 @@ "properties": { "description": "Specific properties this agent is authorized for (alternative to property_ids/property_tags)", "items": { - "$ref": "/schemas/v1/core/property.json" + "$ref": "property.json" }, "minItems": 1, "type": "array" @@ -354,7 +354,7 @@ "publisher_properties": { "description": "Properties from other publisher domains this agent is authorized for. Each entry specifies a publisher domain and which of their properties this agent can sell", "items": { - "$ref": "/schemas/v1/core/publisher-property-selector.json" + "$ref": "publisher-property-selector.json" }, "minItems": 1, "type": "array" @@ -426,7 +426,7 @@ "properties": { "description": "Array of all properties covered by this adagents.json file. Same structure as list_authorized_properties response.", "items": { - "$ref": "/schemas/v1/core/property.json" + "$ref": "property.json" }, "minItems": 1, "type": "array" diff --git a/schemas/cache/1.0.0/adcp-domain.json b/schemas/cache/1.0.0/adcp-domain.json new file mode 100644 index 00000000..f7ea388b --- /dev/null +++ b/schemas/cache/1.0.0/adcp-domain.json @@ -0,0 +1,11 @@ +{ + "$id": "/schemas/v1/enums/adcp-domain.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "AdCP protocol domains for task categorization", + "enum": [ + "media-buy", + "signals" + ], + "title": "AdCP Domain", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/auth-scheme.json b/schemas/cache/1.0.0/auth-scheme.json new file mode 100644 index 00000000..b24f4f4b --- /dev/null +++ b/schemas/cache/1.0.0/auth-scheme.json @@ -0,0 +1,11 @@ +{ + "$id": "/schemas/v1/enums/auth-scheme.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Authentication schemes for push notification endpoints", + "enum": [ + "Bearer", + "HMAC-SHA256" + ], + "title": "Authentication Scheme", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/available-metric.json b/schemas/cache/1.0.0/available-metric.json new file mode 100644 index 00000000..51130b4c --- /dev/null +++ b/schemas/cache/1.0.0/available-metric.json @@ -0,0 +1,18 @@ +{ + "$id": "/schemas/v1/enums/available-metric.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Standard delivery and performance metrics available for reporting", + "enum": [ + "impressions", + "spend", + "clicks", + "ctr", + "video_completions", + "completion_rate", + "conversions", + "viewability", + "engagement_rate" + ], + "title": "Available Metric", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/brand-manifest.json b/schemas/cache/1.0.0/brand-manifest.json index e88953fb..2acaecf9 100644 --- a/schemas/cache/1.0.0/brand-manifest.json +++ b/schemas/cache/1.0.0/brand-manifest.json @@ -125,7 +125,7 @@ "type": "string" }, "asset_type": { - "$ref": "/schemas/v1/enums/asset-content-type.json", + "$ref": "asset-content-type.json", "description": "Type of asset. Note: Brand manifests typically contain basic media assets (image, video, audio, text). Code assets (html, javascript, css) and ad markup (vast, daast) are usually not part of brand asset libraries." }, "description": { diff --git a/schemas/cache/1.0.0/co-branding-requirement.json b/schemas/cache/1.0.0/co-branding-requirement.json new file mode 100644 index 00000000..9846de52 --- /dev/null +++ b/schemas/cache/1.0.0/co-branding-requirement.json @@ -0,0 +1,12 @@ +{ + "$id": "/schemas/v1/enums/co-branding-requirement.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Co-branding policy for creatives (retailer/publisher brand inclusion)", + "enum": [ + "required", + "optional", + "none" + ], + "title": "Co-Branding Requirement", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/create-media-buy-response.json b/schemas/cache/1.0.0/create-media-buy-response.json index 3013fd76..21426d0a 100644 --- a/schemas/cache/1.0.0/create-media-buy-response.json +++ b/schemas/cache/1.0.0/create-media-buy-response.json @@ -33,7 +33,7 @@ "packages": { "description": "Array of created packages with complete state information", "items": { - "$ref": "/schemas/v1/core/package.json" + "$ref": "package.json" }, "type": "array" } @@ -76,7 +76,7 @@ "errors": { "description": "Array of errors explaining why the operation failed", "items": { - "$ref": "/schemas/v1/core/error.json" + "$ref": "error.json" }, "minItems": 1, "type": "array" diff --git a/schemas/cache/1.0.0/creative-action.json b/schemas/cache/1.0.0/creative-action.json new file mode 100644 index 00000000..e979637a --- /dev/null +++ b/schemas/cache/1.0.0/creative-action.json @@ -0,0 +1,14 @@ +{ + "$id": "/schemas/v1/enums/creative-action.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Action taken on a creative during sync operation", + "enum": [ + "created", + "updated", + "unchanged", + "failed", + "deleted" + ], + "title": "Creative Action", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/creative-agent-capability.json b/schemas/cache/1.0.0/creative-agent-capability.json new file mode 100644 index 00000000..c7e7a88a --- /dev/null +++ b/schemas/cache/1.0.0/creative-agent-capability.json @@ -0,0 +1,13 @@ +{ + "$id": "/schemas/v1/enums/creative-agent-capability.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Capabilities supported by creative agents for format handling", + "enum": [ + "validation", + "assembly", + "generation", + "preview" + ], + "title": "Creative Agent Capability", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/creative-filters.json b/schemas/cache/1.0.0/creative-filters.json new file mode 100644 index 00000000..1c71c978 --- /dev/null +++ b/schemas/cache/1.0.0/creative-filters.json @@ -0,0 +1,97 @@ +{ + "$id": "/schemas/v1/core/creative-filters.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "description": "Filter criteria for querying creative assets from the centralized library", + "properties": { + "assigned_to_package": { + "description": "Filter creatives assigned to this specific package", + "type": "string" + }, + "assigned_to_packages": { + "description": "Filter creatives assigned to any of these packages", + "items": { + "type": "string" + }, + "type": "array" + }, + "created_after": { + "description": "Filter creatives created after this date (ISO 8601)", + "format": "date-time", + "type": "string" + }, + "created_before": { + "description": "Filter creatives created before this date (ISO 8601)", + "format": "date-time", + "type": "string" + }, + "creative_ids": { + "description": "Filter by specific creative IDs", + "items": { + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "format": { + "description": "Filter by creative format type (e.g., video, audio, display)", + "type": "string" + }, + "formats": { + "description": "Filter by multiple creative format types", + "items": { + "type": "string" + }, + "type": "array" + }, + "has_performance_data": { + "description": "Filter creatives that have performance data when true", + "type": "boolean" + }, + "name_contains": { + "description": "Filter by creative names containing this text (case-insensitive)", + "type": "string" + }, + "status": { + "$ref": "creative-status.json", + "description": "Filter by creative approval status" + }, + "statuses": { + "description": "Filter by multiple creative statuses", + "items": { + "$ref": "creative-status.json" + }, + "type": "array" + }, + "tags": { + "description": "Filter by creative tags (all tags must match)", + "items": { + "type": "string" + }, + "type": "array" + }, + "tags_any": { + "description": "Filter by creative tags (any tag must match)", + "items": { + "type": "string" + }, + "type": "array" + }, + "unassigned": { + "description": "Filter for unassigned creatives when true, assigned creatives when false", + "type": "boolean" + }, + "updated_after": { + "description": "Filter creatives last updated after this date (ISO 8601)", + "format": "date-time", + "type": "string" + }, + "updated_before": { + "description": "Filter creatives last updated before this date (ISO 8601)", + "format": "date-time", + "type": "string" + } + }, + "title": "Creative Filters", + "type": "object" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/creative-policy.json b/schemas/cache/1.0.0/creative-policy.json index d4ab6207..96be15e1 100644 --- a/schemas/cache/1.0.0/creative-policy.json +++ b/schemas/cache/1.0.0/creative-policy.json @@ -5,22 +5,12 @@ "description": "Creative requirements and restrictions for a product", "properties": { "co_branding": { - "description": "Co-branding requirement", - "enum": [ - "required", - "optional", - "none" - ], - "type": "string" + "$ref": "co-branding-requirement.json", + "description": "Co-branding requirement" }, "landing_page": { - "description": "Landing page requirements", - "enum": [ - "any", - "retailer_site_only", - "must_include_retailer" - ], - "type": "string" + "$ref": "landing-page-requirement.json", + "description": "Landing page requirements" }, "templates_available": { "description": "Whether creative templates are provided", diff --git a/schemas/cache/1.0.0/creative-sort-field.json b/schemas/cache/1.0.0/creative-sort-field.json new file mode 100644 index 00000000..f5a9f663 --- /dev/null +++ b/schemas/cache/1.0.0/creative-sort-field.json @@ -0,0 +1,15 @@ +{ + "$id": "/schemas/v1/enums/creative-sort-field.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Fields available for sorting creative library listings", + "enum": [ + "created_date", + "updated_date", + "name", + "status", + "assignment_count", + "performance_score" + ], + "title": "Creative Sort Field", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/daast-asset.json b/schemas/cache/1.0.0/daast-asset.json index e945e87a..2db5c4f8 100644 --- a/schemas/cache/1.0.0/daast-asset.json +++ b/schemas/cache/1.0.0/daast-asset.json @@ -11,12 +11,8 @@ "type": "boolean" }, "daast_version": { - "description": "DAAST specification version", - "enum": [ - "1.0", - "1.1" - ], - "type": "string" + "$ref": "daast-version.json", + "description": "DAAST specification version" }, "delivery_type": { "const": "url", @@ -31,20 +27,7 @@ "tracking_events": { "description": "Tracking events supported by this DAAST tag", "items": { - "enum": [ - "start", - "firstQuartile", - "midpoint", - "thirdQuartile", - "complete", - "impression", - "pause", - "resume", - "skip", - "mute", - "unmute" - ], - "type": "string" + "$ref": "daast-tracking-event.json" }, "type": "array" }, @@ -72,12 +55,8 @@ "type": "string" }, "daast_version": { - "description": "DAAST specification version", - "enum": [ - "1.0", - "1.1" - ], - "type": "string" + "$ref": "daast-version.json", + "description": "DAAST specification version" }, "delivery_type": { "const": "inline", @@ -92,20 +71,7 @@ "tracking_events": { "description": "Tracking events supported by this DAAST tag", "items": { - "enum": [ - "start", - "firstQuartile", - "midpoint", - "thirdQuartile", - "complete", - "impression", - "pause", - "resume", - "skip", - "mute", - "unmute" - ], - "type": "string" + "$ref": "daast-tracking-event.json" }, "type": "array" } diff --git a/schemas/cache/1.0.0/daast-tracking-event.json b/schemas/cache/1.0.0/daast-tracking-event.json new file mode 100644 index 00000000..819a303e --- /dev/null +++ b/schemas/cache/1.0.0/daast-tracking-event.json @@ -0,0 +1,20 @@ +{ + "$id": "/schemas/v1/enums/daast-tracking-event.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Standard DAAST tracking events for audio ad playback and interaction", + "enum": [ + "start", + "firstQuartile", + "midpoint", + "thirdQuartile", + "complete", + "impression", + "pause", + "resume", + "skip", + "mute", + "unmute" + ], + "title": "DAAST Tracking Event", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/daast-version.json b/schemas/cache/1.0.0/daast-version.json new file mode 100644 index 00000000..10816e3a --- /dev/null +++ b/schemas/cache/1.0.0/daast-version.json @@ -0,0 +1,11 @@ +{ + "$id": "/schemas/v1/enums/daast-version.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Supported DAAST (Digital Audio Ad Serving Template) specification versions", + "enum": [ + "1.0", + "1.1" + ], + "title": "DAAST Version", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/deployment.json b/schemas/cache/1.0.0/deployment.json index f3dd8478..cfcd6784 100644 --- a/schemas/cache/1.0.0/deployment.json +++ b/schemas/cache/1.0.0/deployment.json @@ -11,7 +11,7 @@ "type": "string" }, "activation_key": { - "$ref": "/schemas/v1/core/activation-key.json", + "$ref": "activation-key.json", "description": "The key to use for targeting. Only present if is_live=true AND requester has access to this deployment." }, "deployed_at": { @@ -53,7 +53,7 @@ "type": "string" }, "activation_key": { - "$ref": "/schemas/v1/core/activation-key.json", + "$ref": "activation-key.json", "description": "The key to use for targeting. Only present if is_live=true AND requester has access to this deployment." }, "agent_url": { diff --git a/schemas/cache/1.0.0/dimension-unit.json b/schemas/cache/1.0.0/dimension-unit.json new file mode 100644 index 00000000..c5b003af --- /dev/null +++ b/schemas/cache/1.0.0/dimension-unit.json @@ -0,0 +1,13 @@ +{ + "$id": "/schemas/v1/enums/dimension-unit.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Units of measurement for creative format dimensions", + "enum": [ + "px", + "dp", + "inches", + "cm" + ], + "title": "Dimension Unit", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/feed-format.json b/schemas/cache/1.0.0/feed-format.json new file mode 100644 index 00000000..af6da7f8 --- /dev/null +++ b/schemas/cache/1.0.0/feed-format.json @@ -0,0 +1,12 @@ +{ + "$id": "/schemas/v1/enums/feed-format.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Product catalog feed format types", + "enum": [ + "google_merchant_center", + "facebook_catalog", + "custom" + ], + "title": "Feed Format", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/feedback-source.json b/schemas/cache/1.0.0/feedback-source.json new file mode 100644 index 00000000..2d04588c --- /dev/null +++ b/schemas/cache/1.0.0/feedback-source.json @@ -0,0 +1,13 @@ +{ + "$id": "/schemas/v1/enums/feedback-source.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Source of performance feedback data", + "enum": [ + "buyer_attribution", + "third_party_measurement", + "platform_analytics", + "verification_partner" + ], + "title": "Feedback Source", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/format.json b/schemas/cache/1.0.0/format.json index 03215ac7..377c883d 100644 --- a/schemas/cache/1.0.0/format.json +++ b/schemas/cache/1.0.0/format.json @@ -20,7 +20,7 @@ "type": "string" }, "asset_type": { - "$ref": "/schemas/v1/enums/asset-content-type.json", + "$ref": "asset-content-type.json", "description": "Type of asset" }, "item_type": { @@ -65,7 +65,7 @@ "type": "string" }, "asset_type": { - "$ref": "/schemas/v1/enums/asset-content-type.json", + "$ref": "asset-content-type.json", "description": "Type of asset" }, "required": { @@ -134,7 +134,7 @@ "description": "Optional standard visual card (300x400px) for displaying this format in user interfaces. Can be rendered via preview_creative or pre-generated.", "properties": { "format_id": { - "$ref": "/schemas/v1/core/format-id.json", + "$ref": "format-id.json", "description": "Creative format defining the card layout (typically format_card_standard)" }, "manifest": { @@ -154,7 +154,7 @@ "description": "Optional detailed card with carousel and full specifications. Provides rich format documentation similar to ad spec pages.", "properties": { "format_id": { - "$ref": "/schemas/v1/core/format-id.json", + "$ref": "format-id.json", "description": "Creative format defining the detailed card layout (typically format_card_detailed)" }, "manifest": { @@ -170,7 +170,7 @@ "type": "object" }, "format_id": { - "$ref": "/schemas/v1/core/format-id.json", + "$ref": "format-id.json", "description": "Structured format identifier with agent URL and format name" }, "name": { @@ -180,7 +180,7 @@ "output_format_ids": { "description": "For generative formats: array of format IDs that this format can generate. When a format accepts inputs like brand_manifest and message, this specifies what concrete output formats can be produced (e.g., a generative banner format might output standard image banner formats).", "items": { - "$ref": "/schemas/v1/core/format-id.json" + "$ref": "format-id.json" }, "type": "array" }, @@ -243,15 +243,9 @@ "type": "object" }, "unit": { + "$ref": "dimension-unit.json", "default": "px", - "description": "Unit of measurement for dimensions", - "enum": [ - "px", - "dp", - "inches", - "cm" - ], - "type": "string" + "description": "Unit of measurement for dimensions" }, "width": { "description": "Fixed width in specified units", @@ -286,7 +280,7 @@ "type": "array" }, "type": { - "$ref": "/schemas/v1/enums/format-category.json", + "$ref": "format-category.json", "description": "Media type of this format - determines rendering method and asset requirements" } }, diff --git a/schemas/cache/1.0.0/get-media-buy-delivery-request.json b/schemas/cache/1.0.0/get-media-buy-delivery-request.json index 77c404ab..17f5a23c 100644 --- a/schemas/cache/1.0.0/get-media-buy-delivery-request.json +++ b/schemas/cache/1.0.0/get-media-buy-delivery-request.json @@ -37,26 +37,11 @@ "description": "Filter by status. Can be a single status or array of statuses", "oneOf": [ { - "enum": [ - "active", - "pending", - "paused", - "completed", - "failed", - "all" - ], - "type": "string" + "$ref": "media-buy-status.json" }, { "items": { - "enum": [ - "active", - "pending", - "paused", - "completed", - "failed" - ], - "type": "string" + "$ref": "media-buy-status.json" }, "type": "array" } diff --git a/schemas/cache/1.0.0/get-products-request.json b/schemas/cache/1.0.0/get-products-request.json index 18856ef8..edcf7f1d 100644 --- a/schemas/cache/1.0.0/get-products-request.json +++ b/schemas/cache/1.0.0/get-products-request.json @@ -18,46 +18,7 @@ "type": "object" }, "filters": { - "additionalProperties": false, - "description": "Structured filters for product discovery", - "properties": { - "delivery_type": { - "$ref": "delivery-type.json" - }, - "format_ids": { - "description": "Filter by specific format IDs", - "items": { - "$ref": "format-id.json" - }, - "type": "array" - }, - "format_types": { - "description": "Filter by format types", - "items": { - "enum": [ - "video", - "display", - "audio" - ], - "type": "string" - }, - "type": "array" - }, - "is_fixed_price": { - "description": "Filter for fixed price vs auction products", - "type": "boolean" - }, - "min_exposures": { - "description": "Minimum exposures/impressions needed for measurement validity", - "minimum": 1, - "type": "integer" - }, - "standard_formats_only": { - "description": "Only return products accepting IAB standard formats", - "type": "boolean" - } - }, - "type": "object" + "$ref": "product-filters.json" } }, "required": [], diff --git a/schemas/cache/1.0.0/get-signals-request.json b/schemas/cache/1.0.0/get-signals-request.json index 2982a57c..e70b7968 100644 --- a/schemas/cache/1.0.0/get-signals-request.json +++ b/schemas/cache/1.0.0/get-signals-request.json @@ -24,7 +24,7 @@ "deployments": { "description": "List of deployment targets (DSPs, sales agents, etc.). If the authenticated caller matches one of these deployment targets, activation keys will be included in the response.", "items": { - "$ref": "/schemas/v1/core/destination.json" + "$ref": "destination.json" }, "minItems": 1, "type": "array" @@ -37,41 +37,7 @@ "type": "object" }, "filters": { - "additionalProperties": false, - "description": "Filters to refine results", - "properties": { - "catalog_types": { - "description": "Filter by catalog type", - "items": { - "enum": [ - "marketplace", - "custom", - "owned" - ], - "type": "string" - }, - "type": "array" - }, - "data_providers": { - "description": "Filter by specific data providers", - "items": { - "type": "string" - }, - "type": "array" - }, - "max_cpm": { - "description": "Maximum CPM price filter", - "minimum": 0, - "type": "number" - }, - "min_coverage_percentage": { - "description": "Minimum coverage requirement", - "maximum": 100, - "minimum": 0, - "type": "number" - } - }, - "type": "object" + "$ref": "signal-filters.json" }, "max_results": { "description": "Maximum number of results to return", diff --git a/schemas/cache/1.0.0/get-signals-response.json b/schemas/cache/1.0.0/get-signals-response.json index 90266056..d79a3ebd 100644 --- a/schemas/cache/1.0.0/get-signals-response.json +++ b/schemas/cache/1.0.0/get-signals-response.json @@ -12,7 +12,7 @@ "errors": { "description": "Task-specific errors and warnings (e.g., signal discovery or pricing issues)", "items": { - "$ref": "/schemas/v1/core/error.json" + "$ref": "error.json" }, "type": "array" }, @@ -34,7 +34,7 @@ "deployments": { "description": "Array of deployment targets", "items": { - "$ref": "/schemas/v1/core/deployment.json" + "$ref": "deployment.json" }, "type": "array" }, @@ -72,13 +72,8 @@ "type": "string" }, "signal_type": { - "description": "Type of signal", - "enum": [ - "marketplace", - "custom", - "owned" - ], - "type": "string" + "$ref": "signal-catalog-type.json", + "description": "Type of signal" } }, "required": [ diff --git a/schemas/cache/1.0.0/history-entry-type.json b/schemas/cache/1.0.0/history-entry-type.json new file mode 100644 index 00000000..8e9b2df1 --- /dev/null +++ b/schemas/cache/1.0.0/history-entry-type.json @@ -0,0 +1,11 @@ +{ + "$id": "/schemas/v1/enums/history-entry-type.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Type of entry in task execution history", + "enum": [ + "request", + "response" + ], + "title": "History Entry Type", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/http-method.json b/schemas/cache/1.0.0/http-method.json new file mode 100644 index 00000000..cd71627b --- /dev/null +++ b/schemas/cache/1.0.0/http-method.json @@ -0,0 +1,11 @@ +{ + "$id": "/schemas/v1/enums/http-method.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "HTTP methods supported for webhook requests", + "enum": [ + "GET", + "POST" + ], + "title": "HTTP Method", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/index.json b/schemas/cache/1.0.0/index.json index 74c8acb3..a1fe872b 100644 --- a/schemas/cache/1.0.0/index.json +++ b/schemas/cache/1.0.0/index.json @@ -46,7 +46,7 @@ "lastUpdated": "2025-10-31", "schemas": { "adagents": { - "$ref": "/schemas/v1/adagents.json", + "$ref": "adagents.json", "description": "Authorized sales agents file format specification", "file_location": "/.well-known/adagents.json", "purpose": "Declares which sales agents are authorized to sell a publisher's advertising inventory" @@ -55,153 +55,165 @@ "description": "Core data models used throughout AdCP", "schemas": { "brand-manifest": { - "$ref": "/schemas/v1/core/brand-manifest.json", + "$ref": "brand-manifest.json", "description": "Standardized brand information manifest for creative generation and media buying" }, "brand-manifest-ref": { - "$ref": "/schemas/v1/core/brand-manifest-ref.json", + "$ref": "brand-manifest-ref.json", "description": "Brand manifest reference (inline object or URL)" }, "creative-asset": { - "$ref": "/schemas/v1/core/creative-asset.json", + "$ref": "creative-asset.json", "description": "Creative asset for upload to library - supports static assets, generative formats, and third-party ad serving (VAST, DAAST, HTML, JavaScript)" }, "creative-assignment": { - "$ref": "/schemas/v1/core/creative-assignment.json", + "$ref": "creative-assignment.json", "description": "Assignment of a creative asset to a package" }, + "creative-filters": { + "$ref": "creative-filters.json", + "description": "Filter criteria for querying creative assets from the centralized library" + }, "creative-manifest": { - "$ref": "/schemas/v1/core/creative-manifest.json", + "$ref": "creative-manifest.json", "description": "Complete specification of a creative with all assets needed for rendering" }, "creative-policy": { - "$ref": "/schemas/v1/core/creative-policy.json", + "$ref": "creative-policy.json", "description": "Creative requirements and restrictions for a product" }, "delivery-metrics": { - "$ref": "/schemas/v1/core/delivery-metrics.json", + "$ref": "delivery-metrics.json", "description": "Standard delivery metrics for reporting" }, "deployment": { - "$ref": "/schemas/v1/core/deployment.json", + "$ref": "deployment.json", "description": "A signal deployment to a specific destination platform with activation status and key" }, "destination": { - "$ref": "/schemas/v1/core/destination.json", + "$ref": "destination.json", "description": "A destination platform where signals can be activated (DSP, sales agent, etc.)" }, "error": { - "$ref": "/schemas/v1/core/error.json", + "$ref": "error.json", "description": "Standard error structure" }, "format": { - "$ref": "/schemas/v1/core/format.json", + "$ref": "format.json", "description": "Represents a creative format with its requirements" }, "frequency-cap": { - "$ref": "/schemas/v1/core/frequency-cap.json", + "$ref": "frequency-cap.json", "description": "Frequency capping settings" }, "measurement": { - "$ref": "/schemas/v1/core/measurement.json", + "$ref": "measurement.json", "description": "Measurement capabilities included with a product" }, "media-buy": { - "$ref": "/schemas/v1/core/media-buy.json", + "$ref": "media-buy.json", "description": "Represents a purchased advertising campaign" }, "package": { - "$ref": "/schemas/v1/core/package.json", + "$ref": "package.json", "description": "A specific product within a media buy (line item)" }, "performance-feedback": { - "$ref": "/schemas/v1/core/performance-feedback.json", + "$ref": "performance-feedback.json", "description": "Performance feedback data for a media buy or package" }, "placement": { - "$ref": "/schemas/v1/core/placement.json", + "$ref": "placement.json", "description": "Represents a specific ad placement within a product's inventory" }, "pricing-option": { - "$ref": "/schemas/v1/core/pricing-option.json", + "$ref": "pricing-option.json", "description": "A pricing model option offered by a publisher for a product" }, "product": { - "$ref": "/schemas/v1/core/product.json", + "$ref": "product.json", "description": "Represents available advertising inventory" }, + "product-filters": { + "$ref": "product-filters.json", + "description": "Structured filters for product discovery" + }, "promoted-products": { - "$ref": "/schemas/v1/core/promoted-products.json", + "$ref": "promoted-products.json", "description": "Product or offering selection for campaigns with multiple selection methods" }, "property": { - "$ref": "/schemas/v1/core/property.json", + "$ref": "property.json", "description": "An advertising property that can be validated via adagents.json" }, "protocol-envelope": { - "$ref": "/schemas/v1/core/protocol-envelope.json", + "$ref": "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" }, "publisher-property-selector": { - "$ref": "/schemas/v1/core/publisher-property-selector.json", + "$ref": "publisher-property-selector.json", "description": "Selects properties from a publisher's adagents.json - supports three patterns: all properties, specific IDs, or by tags" }, "response": { - "$ref": "/schemas/v1/core/response.json", + "$ref": "response.json", "description": "Standard response structure (MCP)" }, + "signal-filters": { + "$ref": "signal-filters.json", + "description": "Filters to refine signal discovery results" + }, "start-timing": { - "$ref": "/schemas/v1/core/start-timing.json", + "$ref": "start-timing.json", "description": "Campaign start timing: 'asap' or ISO 8601 date-time" }, "sub-asset": { - "$ref": "/schemas/v1/core/sub-asset.json", + "$ref": "sub-asset.json", "description": "Sub-asset for multi-asset creative formats" }, "targeting": { - "$ref": "/schemas/v1/core/targeting.json", + "$ref": "targeting.json", "description": "Audience targeting criteria" }, "webhook-payload": { - "$ref": "/schemas/v1/core/webhook-payload.json", + "$ref": "webhook-payload.json", "description": "Webhook payload structure sent when async task status changes - protocol-level fields at top-level (operation_id, task_type, status, etc.) and task-specific payload nested under 'result'" } } }, "creative": { "asset_types": { - "$ref": "/schemas/v1/creative/asset-types/index.json", + "$ref": "index.json", "description": "Asset type definitions for creative manifests" }, "description": "Creative protocol task request/response schemas and asset type definitions", "tasks": { "build-creative": { "request": { - "$ref": "/schemas/v1/media-buy/build-creative-request.json", + "$ref": "build-creative-request.json", "description": "Request parameters for AI-powered creative generation" }, "response": { - "$ref": "/schemas/v1/media-buy/build-creative-response.json", + "$ref": "build-creative-response.json", "description": "Response payload for build_creative task" } }, "list-creative-formats": { "request": { - "$ref": "/schemas/v1/creative/list-creative-formats-request.json", + "$ref": "list-creative-formats-request.json", "description": "Request parameters for discovering creative formats from this creative agent" }, "response": { - "$ref": "/schemas/v1/creative/list-creative-formats-response.json", + "$ref": "list-creative-formats-response.json", "description": "Response payload with full format definitions - this is the authoritative source for format specifications" } }, "preview-creative": { "request": { - "$ref": "/schemas/v1/creative/preview-creative-request.json", + "$ref": "preview-creative-request.json", "description": "Request parameters for generating creative previews" }, "response": { - "$ref": "/schemas/v1/creative/preview-creative-response.json", + "$ref": "preview-creative-response.json", "description": "Response payload for preview_creative task" } } @@ -210,65 +222,189 @@ "enums": { "description": "Enumerated types and constants", "schemas": { + "adcp-domain": { + "$ref": "adcp-domain.json", + "description": "AdCP protocol domains (media-buy, signals)" + }, "asset-content-type": { - "$ref": "/schemas/v1/enums/asset-content-type.json", + "$ref": "asset-content-type.json", "description": "Types of content that can be used as creative assets (image, video, html, etc.)" }, + "auth-scheme": { + "$ref": "auth-scheme.json", + "description": "Authentication schemes for push notifications" + }, + "available-metric": { + "$ref": "available-metric.json", + "description": "Standard delivery and performance metrics for reporting" + }, "channels": { - "$ref": "/schemas/v1/enums/channels.json", + "$ref": "channels.json", "description": "Advertising channels (display, video, dooh, ctv, audio, etc.)" }, + "co-branding-requirement": { + "$ref": "co-branding-requirement.json", + "description": "Co-branding policy for creatives (required, optional, none)" + }, + "creative-action": { + "$ref": "creative-action.json", + "description": "Actions taken on creatives during sync (created, updated, unchanged, failed, deleted)" + }, + "creative-agent-capability": { + "$ref": "creative-agent-capability.json", + "description": "Capabilities supported by creative agents (validation, assembly, generation, preview)" + }, + "creative-sort-field": { + "$ref": "creative-sort-field.json", + "description": "Fields available for sorting creative listings" + }, "creative-status": { - "$ref": "/schemas/v1/enums/creative-status.json", + "$ref": "creative-status.json", "description": "Status of a creative asset" }, + "daast-tracking-event": { + "$ref": "daast-tracking-event.json", + "description": "Standard DAAST tracking events for audio playback and interaction" + }, + "daast-version": { + "$ref": "daast-version.json", + "description": "Supported DAAST specification versions (1.0, 1.1)" + }, "delivery-type": { - "$ref": "/schemas/v1/enums/delivery-type.json", + "$ref": "delivery-type.json", "description": "Type of inventory delivery" }, + "dimension-unit": { + "$ref": "dimension-unit.json", + "description": "Units of measurement for creative format dimensions (px, dp, inches, cm)" + }, + "feed-format": { + "$ref": "feed-format.json", + "description": "Product catalog feed formats" + }, + "feedback-source": { + "$ref": "feedback-source.json", + "description": "Source of performance feedback data" + }, "format-category": { - "$ref": "/schemas/v1/enums/format-category.json", + "$ref": "format-category.json", "description": "High-level categories for creative formats (audio, video, display, native, dooh, rich_media, universal)" }, "frequency-cap-scope": { - "$ref": "/schemas/v1/enums/frequency-cap-scope.json", + "$ref": "frequency-cap-scope.json", "description": "Scope for frequency cap application" }, + "history-entry-type": { + "$ref": "history-entry-type.json", + "description": "Type of task history entry (request, response)" + }, + "http-method": { + "$ref": "http-method.json", + "description": "HTTP methods for webhook requests (GET, POST)" + }, "identifier-types": { - "$ref": "/schemas/v1/enums/identifier-types.json", + "$ref": "identifier-types.json", "description": "Valid identifier types for property identification across different media types" }, + "javascript-module-type": { + "$ref": "javascript-module-type.json", + "description": "JavaScript module format types (esm, commonjs, script)" + }, + "landing-page-requirement": { + "$ref": "landing-page-requirement.json", + "description": "Landing page policy for creative destinations (any, retailer_site_only, must_include_retailer)" + }, + "markdown-flavor": { + "$ref": "markdown-flavor.json", + "description": "Markdown specification flavors (commonmark, gfm)" + }, "media-buy-status": { - "$ref": "/schemas/v1/enums/media-buy-status.json", + "$ref": "media-buy-status.json", "description": "Status of a media buy" }, + "metric-type": { + "$ref": "metric-type.json", + "description": "Performance metric types for feedback and optimization" + }, + "notification-type": { + "$ref": "notification-type.json", + "description": "Types of delivery notifications (scheduled, final, delayed, adjusted)" + }, "pacing": { - "$ref": "/schemas/v1/enums/pacing.json", + "$ref": "pacing.json", "description": "Budget pacing strategy" }, "package-status": { - "$ref": "/schemas/v1/enums/package-status.json", + "$ref": "package-status.json", "description": "Status of a package" }, + "preview-output-format": { + "$ref": "preview-output-format.json", + "description": "Output formats for creative previews (url, html)" + }, "pricing-model": { - "$ref": "/schemas/v1/enums/pricing-model.json", + "$ref": "pricing-model.json", "description": "Supported pricing models for advertising products" }, + "property-type": { + "$ref": "property-type.json", + "description": "Types of advertising properties (website, mobile_app, ctv_app, dooh, podcast, radio, streaming_audio)" + }, "publisher-identifier-types": { - "$ref": "/schemas/v1/enums/publisher-identifier-types.json", + "$ref": "publisher-identifier-types.json", "description": "Valid identifier types for publisher/legal entity identification (TAG ID, DUNS, LEI, seller_id, GLN)" }, + "reporting-frequency": { + "$ref": "reporting-frequency.json", + "description": "Frequencies for delivery reports (hourly, daily, monthly)" + }, + "signal-catalog-type": { + "$ref": "signal-catalog-type.json", + "description": "Types of signal catalogs (marketplace, custom, owned)" + }, + "sort-direction": { + "$ref": "sort-direction.json", + "description": "Sort direction for list queries (asc, desc)" + }, "standard-format-ids": { - "$ref": "/schemas/v1/enums/standard-format-ids.json", + "$ref": "standard-format-ids.json", "description": "Enumeration of all standard creative format identifiers" }, "task-status": { - "$ref": "/schemas/v1/enums/task-status.json", + "$ref": "task-status.json", "description": "Standardized task status values based on A2A TaskState enum" }, "task-type": { - "$ref": "/schemas/v1/enums/task-type.json", + "$ref": "task-type.json", "description": "Valid AdCP task types across all domains (create_media_buy, update_media_buy, sync_creatives, activate_signal, get_signals)" + }, + "update-frequency": { + "$ref": "update-frequency.json", + "description": "Frequency of product catalog updates" + }, + "url-asset-type": { + "$ref": "url-asset-type.json", + "description": "Types of URL assets (clickthrough, tracker_pixel, tracker_script)" + }, + "validation-mode": { + "$ref": "validation-mode.json", + "description": "Creative validation strictness levels (strict, lenient)" + }, + "vast-tracking-event": { + "$ref": "vast-tracking-event.json", + "description": "Standard VAST tracking events for video playback and interaction" + }, + "vast-version": { + "$ref": "vast-version.json", + "description": "Supported VAST specification versions (2.0, 3.0, 4.0, 4.1, 4.2)" + }, + "webhook-response-type": { + "$ref": "webhook-response-type.json", + "description": "Expected response content types from webhooks" + }, + "webhook-security-method": { + "$ref": "webhook-security-method.json", + "description": "Security methods for webhook authentication" } } }, @@ -276,98 +412,98 @@ "description": "Media buy task request/response schemas", "supporting-schemas": { "package-request": { - "$ref": "/schemas/v1/media-buy/package-request.json", + "$ref": "package-request.json", "description": "Package configuration for media buy creation - used within create_media_buy request" } }, "tasks": { "create-media-buy": { "request": { - "$ref": "/schemas/v1/media-buy/create-media-buy-request.json", + "$ref": "create-media-buy-request.json", "description": "Request parameters for creating a media buy" }, "response": { - "$ref": "/schemas/v1/media-buy/create-media-buy-response.json", + "$ref": "create-media-buy-response.json", "description": "Response payload for create_media_buy task" } }, "get-media-buy-delivery": { "request": { - "$ref": "/schemas/v1/media-buy/get-media-buy-delivery-request.json", + "$ref": "get-media-buy-delivery-request.json", "description": "Request parameters for retrieving comprehensive delivery metrics" }, "response": { - "$ref": "/schemas/v1/media-buy/get-media-buy-delivery-response.json", + "$ref": "get-media-buy-delivery-response.json", "description": "Response payload for get_media_buy_delivery task" } }, "get-products": { "request": { - "$ref": "/schemas/v1/media-buy/get-products-request.json", + "$ref": "get-products-request.json", "description": "Request parameters for discovering available advertising products" }, "response": { - "$ref": "/schemas/v1/media-buy/get-products-response.json", + "$ref": "get-products-response.json", "description": "Response payload for get_products task" } }, "list-authorized-properties": { "request": { - "$ref": "/schemas/v1/media-buy/list-authorized-properties-request.json", + "$ref": "list-authorized-properties-request.json", "description": "Request parameters for discovering all properties this agent is authorized to represent" }, "response": { - "$ref": "/schemas/v1/media-buy/list-authorized-properties-response.json", + "$ref": "list-authorized-properties-response.json", "description": "Response payload for list_authorized_properties task" } }, "list-creative-formats": { "request": { - "$ref": "/schemas/v1/media-buy/list-creative-formats-request.json", + "$ref": "list-creative-formats-request.json", "description": "Request parameters for discovering format IDs and creative agents supported by this sales agent" }, "response": { - "$ref": "/schemas/v1/media-buy/list-creative-formats-response.json", + "$ref": "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." } }, "list-creatives": { "request": { - "$ref": "/schemas/v1/media-buy/list-creatives-request.json", + "$ref": "list-creatives-request.json", "description": "Request parameters for querying creative library with filtering and pagination" }, "response": { - "$ref": "/schemas/v1/media-buy/list-creatives-response.json", + "$ref": "list-creatives-response.json", "description": "Response payload for list_creatives task" } }, "provide-performance-feedback": { "request": { - "$ref": "/schemas/v1/media-buy/provide-performance-feedback-request.json", + "$ref": "provide-performance-feedback-request.json", "description": "Request parameters for sharing performance outcomes with publishers" }, "response": { - "$ref": "/schemas/v1/media-buy/provide-performance-feedback-response.json", + "$ref": "provide-performance-feedback-response.json", "description": "Response payload for provide_performance_feedback task" } }, "sync-creatives": { "request": { - "$ref": "/schemas/v1/media-buy/sync-creatives-request.json", + "$ref": "sync-creatives-request.json", "description": "Request parameters for syncing creative assets with upsert semantics" }, "response": { - "$ref": "/schemas/v1/media-buy/sync-creatives-response.json", + "$ref": "sync-creatives-response.json", "description": "Response payload for sync_creatives task" } }, "update-media-buy": { "request": { - "$ref": "/schemas/v1/media-buy/update-media-buy-request.json", + "$ref": "update-media-buy-request.json", "description": "Request parameters for updating campaign and package settings" }, "response": { - "$ref": "/schemas/v1/media-buy/update-media-buy-response.json", + "$ref": "update-media-buy-response.json", "description": "Response payload for update_media_buy task" } } @@ -377,39 +513,39 @@ "description": "Individual pricing model schemas with model-specific validation. CPM and vCPM support both fixed and auction pricing; all other models are fixed-rate only.", "schemas": { "cpc-option": { - "$ref": "/schemas/v1/pricing-options/cpc-option.json", + "$ref": "cpc-option.json", "description": "Cost Per Click (CPC) fixed-rate pricing for performance campaigns" }, "cpcv-option": { - "$ref": "/schemas/v1/pricing-options/cpcv-option.json", + "$ref": "cpcv-option.json", "description": "Cost Per Completed View (CPCV) fixed-rate pricing for video/audio" }, "cpm-auction-option": { - "$ref": "/schemas/v1/pricing-options/cpm-auction-option.json", + "$ref": "cpm-auction-option.json", "description": "Cost Per Mille (CPM) auction-based pricing for programmatic/non-guaranteed inventory" }, "cpm-fixed-option": { - "$ref": "/schemas/v1/pricing-options/cpm-fixed-option.json", + "$ref": "cpm-fixed-option.json", "description": "Cost Per Mille (CPM) fixed-rate pricing for direct/guaranteed deals" }, "cpp-option": { - "$ref": "/schemas/v1/pricing-options/cpp-option.json", + "$ref": "cpp-option.json", "description": "Cost Per Point (CPP) fixed-rate pricing for TV/audio with demographic measurement" }, "cpv-option": { - "$ref": "/schemas/v1/pricing-options/cpv-option.json", + "$ref": "cpv-option.json", "description": "Cost Per View (CPV) fixed-rate pricing with threshold" }, "flat-rate-option": { - "$ref": "/schemas/v1/pricing-options/flat-rate-option.json", + "$ref": "flat-rate-option.json", "description": "Flat rate pricing for DOOH and sponsorships" }, "vcpm-auction-option": { - "$ref": "/schemas/v1/pricing-options/vcpm-auction-option.json", + "$ref": "vcpm-auction-option.json", "description": "Viewable Cost Per Mille (vCPM) auction-based pricing for programmatic inventory with viewability guarantee" }, "vcpm-fixed-option": { - "$ref": "/schemas/v1/pricing-options/vcpm-fixed-option.json", + "$ref": "vcpm-fixed-option.json", "description": "Viewable Cost Per Mille (vCPM) fixed-rate pricing for viewability-guaranteed deals" } } @@ -419,21 +555,21 @@ "tasks": { "activate-signal": { "request": { - "$ref": "/schemas/v1/signals/activate-signal-request.json", + "$ref": "activate-signal-request.json", "description": "Request parameters for activating a signal on a specific platform/account" }, "response": { - "$ref": "/schemas/v1/signals/activate-signal-response.json", + "$ref": "activate-signal-response.json", "description": "Response payload for activate_signal task" } }, "get-signals": { "request": { - "$ref": "/schemas/v1/signals/get-signals-request.json", + "$ref": "get-signals-request.json", "description": "Request parameters for discovering signals based on description" }, "response": { - "$ref": "/schemas/v1/signals/get-signals-response.json", + "$ref": "get-signals-response.json", "description": "Response payload for get_signals task" } } diff --git a/schemas/cache/1.0.0/javascript-asset.json b/schemas/cache/1.0.0/javascript-asset.json index 519b2b43..b8ebe840 100644 --- a/schemas/cache/1.0.0/javascript-asset.json +++ b/schemas/cache/1.0.0/javascript-asset.json @@ -9,13 +9,8 @@ "type": "string" }, "module_type": { - "description": "JavaScript module type", - "enum": [ - "esm", - "commonjs", - "script" - ], - "type": "string" + "$ref": "javascript-module-type.json", + "description": "JavaScript module type" } }, "required": [ diff --git a/schemas/cache/1.0.0/javascript-module-type.json b/schemas/cache/1.0.0/javascript-module-type.json new file mode 100644 index 00000000..102db3c9 --- /dev/null +++ b/schemas/cache/1.0.0/javascript-module-type.json @@ -0,0 +1,12 @@ +{ + "$id": "/schemas/v1/enums/javascript-module-type.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "JavaScript module format types for creative assets", + "enum": [ + "esm", + "commonjs", + "script" + ], + "title": "JavaScript Module Type", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/landing-page-requirement.json b/schemas/cache/1.0.0/landing-page-requirement.json new file mode 100644 index 00000000..096eec92 --- /dev/null +++ b/schemas/cache/1.0.0/landing-page-requirement.json @@ -0,0 +1,12 @@ +{ + "$id": "/schemas/v1/enums/landing-page-requirement.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Landing page policy for creative click-through destinations", + "enum": [ + "any", + "retailer_site_only", + "must_include_retailer" + ], + "title": "Landing Page Requirement", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/list-creative-formats-request.json b/schemas/cache/1.0.0/list-creative-formats-request.json index 5950a599..25175a7a 100644 --- a/schemas/cache/1.0.0/list-creative-formats-request.json +++ b/schemas/cache/1.0.0/list-creative-formats-request.json @@ -7,7 +7,7 @@ "asset_types": { "description": "Filter to formats that include these asset types. For third-party tags, search for 'html' or 'javascript'. E.g., ['image', 'text'] returns formats with images and text, ['javascript'] returns formats accepting JavaScript tags.", "items": { - "$ref": "/schemas/v1/enums/asset-content-type.json" + "$ref": "asset-content-type.json" }, "type": "array" }, @@ -19,7 +19,7 @@ "format_ids": { "description": "Return only these specific format IDs (e.g., from get_products response)", "items": { - "$ref": "/schemas/v1/core/format-id.json" + "$ref": "format-id.json" }, "type": "array" }, @@ -48,7 +48,7 @@ "type": "string" }, "type": { - "$ref": "/schemas/v1/enums/format-category.json", + "$ref": "format-category.json", "description": "Filter by format type (technical categories with distinct requirements)" } }, diff --git a/schemas/cache/1.0.0/list-creative-formats-response.json b/schemas/cache/1.0.0/list-creative-formats-response.json index c89b1d64..5ae027c2 100644 --- a/schemas/cache/1.0.0/list-creative-formats-response.json +++ b/schemas/cache/1.0.0/list-creative-formats-response.json @@ -25,13 +25,7 @@ "capabilities": { "description": "Capabilities this creative agent provides", "items": { - "enum": [ - "validation", - "assembly", - "generation", - "preview" - ], - "type": "string" + "$ref": "creative-agent-capability.json" }, "type": "array" } diff --git a/schemas/cache/1.0.0/list-creatives-request.json b/schemas/cache/1.0.0/list-creatives-request.json index 406ffea0..e92dceda 100644 --- a/schemas/cache/1.0.0/list-creatives-request.json +++ b/schemas/cache/1.0.0/list-creatives-request.json @@ -76,98 +76,7 @@ "type": "array" }, "filters": { - "additionalProperties": false, - "description": "Filter criteria for querying creatives", - "properties": { - "assigned_to_package": { - "description": "Filter creatives assigned to this specific package", - "type": "string" - }, - "assigned_to_packages": { - "description": "Filter creatives assigned to any of these packages", - "items": { - "type": "string" - }, - "type": "array" - }, - "created_after": { - "description": "Filter creatives created after this date (ISO 8601)", - "format": "date-time", - "type": "string" - }, - "created_before": { - "description": "Filter creatives created before this date (ISO 8601)", - "format": "date-time", - "type": "string" - }, - "creative_ids": { - "description": "Filter by specific creative IDs", - "items": { - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "format": { - "description": "Filter by creative format type (e.g., video, audio, display)", - "type": "string" - }, - "formats": { - "description": "Filter by multiple creative format types", - "items": { - "type": "string" - }, - "type": "array" - }, - "has_performance_data": { - "description": "Filter creatives that have performance data when true", - "type": "boolean" - }, - "name_contains": { - "description": "Filter by creative names containing this text (case-insensitive)", - "type": "string" - }, - "status": { - "$ref": "creative-status.json", - "description": "Filter by creative approval status" - }, - "statuses": { - "description": "Filter by multiple creative statuses", - "items": { - "$ref": "creative-status.json" - }, - "type": "array" - }, - "tags": { - "description": "Filter by creative tags (all tags must match)", - "items": { - "type": "string" - }, - "type": "array" - }, - "tags_any": { - "description": "Filter by creative tags (any tag must match)", - "items": { - "type": "string" - }, - "type": "array" - }, - "unassigned": { - "description": "Filter for unassigned creatives when true, assigned creatives when false", - "type": "boolean" - }, - "updated_after": { - "description": "Filter creatives last updated after this date (ISO 8601)", - "format": "date-time", - "type": "string" - }, - "updated_before": { - "description": "Filter creatives last updated before this date (ISO 8601)", - "format": "date-time", - "type": "string" - } - }, - "type": "object" + "$ref": "creative-filters.json" }, "include_assignments": { "default": true, @@ -209,26 +118,14 @@ "description": "Sorting parameters", "properties": { "direction": { + "$ref": "sort-direction.json", "default": "desc", - "description": "Sort direction", - "enum": [ - "asc", - "desc" - ], - "type": "string" + "description": "Sort direction" }, "field": { + "$ref": "creative-sort-field.json", "default": "created_date", - "description": "Field to sort by", - "enum": [ - "created_date", - "updated_date", - "name", - "status", - "assignment_count", - "performance_score" - ], - "type": "string" + "description": "Field to sort by" } }, "type": "object" diff --git a/schemas/cache/1.0.0/list-creatives-response.json b/schemas/cache/1.0.0/list-creatives-response.json index 3a8ff9f5..62d4b126 100644 --- a/schemas/cache/1.0.0/list-creatives-response.json +++ b/schemas/cache/1.0.0/list-creatives-response.json @@ -125,37 +125,37 @@ "^[a-zA-Z0-9_-]+$": { "oneOf": [ { - "$ref": "/schemas/v1/core/assets/image-asset.json" + "$ref": "image-asset.json" }, { - "$ref": "/schemas/v1/core/assets/video-asset.json" + "$ref": "video-asset.json" }, { - "$ref": "/schemas/v1/core/assets/audio-asset.json" + "$ref": "audio-asset.json" }, { - "$ref": "/schemas/v1/core/assets/text-asset.json" + "$ref": "text-asset.json" }, { - "$ref": "/schemas/v1/core/assets/html-asset.json" + "$ref": "html-asset.json" }, { - "$ref": "/schemas/v1/core/assets/css-asset.json" + "$ref": "css-asset.json" }, { - "$ref": "/schemas/v1/core/assets/javascript-asset.json" + "$ref": "javascript-asset.json" }, { - "$ref": "/schemas/v1/core/assets/vast-asset.json" + "$ref": "vast-asset.json" }, { - "$ref": "/schemas/v1/core/assets/daast-asset.json" + "$ref": "daast-asset.json" }, { - "$ref": "/schemas/v1/core/promoted-offerings.json" + "$ref": "promoted-offerings.json" }, { - "$ref": "/schemas/v1/core/assets/url-asset.json" + "$ref": "url-asset.json" } ] } @@ -224,7 +224,7 @@ "type": "string" }, "format_id": { - "$ref": "/schemas/v1/core/format-id.json", + "$ref": "format-id.json", "description": "Format identifier specifying which format this creative conforms to" }, "name": { @@ -275,13 +275,13 @@ "type": "object" }, "status": { - "$ref": "/schemas/v1/enums/creative-status.json", + "$ref": "creative-status.json", "description": "Current approval status of the creative" }, "sub_assets": { "description": "Sub-assets for multi-asset formats (included when include_sub_assets=true)", "items": { - "$ref": "/schemas/v1/core/sub-asset.json" + "$ref": "sub-asset.json" }, "type": "array" }, @@ -378,11 +378,7 @@ "description": "Sort order that was applied", "properties": { "direction": { - "enum": [ - "asc", - "desc" - ], - "type": "string" + "$ref": "sort-direction.json" }, "field": { "type": "string" diff --git a/schemas/cache/1.0.0/markdown-asset.json b/schemas/cache/1.0.0/markdown-asset.json index 2ca2da7f..10bc4afc 100644 --- a/schemas/cache/1.0.0/markdown-asset.json +++ b/schemas/cache/1.0.0/markdown-asset.json @@ -18,13 +18,9 @@ "type": "string" }, "markdown_flavor": { + "$ref": "markdown-flavor.json", "default": "commonmark", - "description": "Markdown flavor used. CommonMark for strict compatibility, GFM for tables/task lists/strikethrough.", - "enum": [ - "commonmark", - "gfm" - ], - "type": "string" + "description": "Markdown flavor used. CommonMark for strict compatibility, GFM for tables/task lists/strikethrough." } }, "required": [ diff --git a/schemas/cache/1.0.0/markdown-flavor.json b/schemas/cache/1.0.0/markdown-flavor.json new file mode 100644 index 00000000..1524b82a --- /dev/null +++ b/schemas/cache/1.0.0/markdown-flavor.json @@ -0,0 +1,11 @@ +{ + "$id": "/schemas/v1/enums/markdown-flavor.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Markdown specification flavors supported for text assets", + "enum": [ + "commonmark", + "gfm" + ], + "title": "Markdown Flavor", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/metric-type.json b/schemas/cache/1.0.0/metric-type.json new file mode 100644 index 00000000..23b97cec --- /dev/null +++ b/schemas/cache/1.0.0/metric-type.json @@ -0,0 +1,17 @@ +{ + "$id": "/schemas/v1/enums/metric-type.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Performance metric types for feedback and optimization", + "enum": [ + "overall_performance", + "conversion_rate", + "brand_lift", + "click_through_rate", + "completion_rate", + "viewability", + "brand_safety", + "cost_efficiency" + ], + "title": "Metric Type", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/notification-type.json b/schemas/cache/1.0.0/notification-type.json new file mode 100644 index 00000000..3e05cc5a --- /dev/null +++ b/schemas/cache/1.0.0/notification-type.json @@ -0,0 +1,13 @@ +{ + "$id": "/schemas/v1/enums/notification-type.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Type of delivery notification for media buy reporting", + "enum": [ + "scheduled", + "final", + "delayed", + "adjusted" + ], + "title": "Notification Type", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/performance-feedback.json b/schemas/cache/1.0.0/performance-feedback.json index 6ea7e5cf..508213a5 100644 --- a/schemas/cache/1.0.0/performance-feedback.json +++ b/schemas/cache/1.0.0/performance-feedback.json @@ -18,14 +18,8 @@ "type": "string" }, "feedback_source": { - "description": "Source of the performance data", - "enum": [ - "buyer_attribution", - "third_party_measurement", - "platform_analytics", - "verification_partner" - ], - "type": "string" + "$ref": "feedback-source.json", + "description": "Source of the performance data" }, "measurement_period": { "additionalProperties": false, @@ -53,18 +47,8 @@ "type": "string" }, "metric_type": { - "description": "The business metric being measured", - "enum": [ - "overall_performance", - "conversion_rate", - "brand_lift", - "click_through_rate", - "completion_rate", - "viewability", - "brand_safety", - "cost_efficiency" - ], - "type": "string" + "$ref": "metric-type.json", + "description": "The business metric being measured" }, "package_id": { "description": "Specific package within the media buy (if feedback is package-specific)", diff --git a/schemas/cache/1.0.0/preview-creative-request.json b/schemas/cache/1.0.0/preview-creative-request.json index a676eacb..9b50f613 100644 --- a/schemas/cache/1.0.0/preview-creative-request.json +++ b/schemas/cache/1.0.0/preview-creative-request.json @@ -49,13 +49,9 @@ "type": "array" }, "output_format": { + "$ref": "preview-output-format.json", "default": "url", - "description": "Output format for previews. 'url' returns preview_url (iframe-embeddable URL), 'html' returns preview_html (raw HTML for direct embedding). Default: 'url' for backward compatibility.", - "enum": [ - "url", - "html" - ], - "type": "string" + "description": "Output format for previews. 'url' returns preview_url (iframe-embeddable URL), 'html' returns preview_html (raw HTML for direct embedding). Default: 'url' for backward compatibility." }, "request_type": { "const": "single", @@ -84,13 +80,9 @@ "type": "object" }, "output_format": { + "$ref": "preview-output-format.json", "default": "url", - "description": "Default output format for all requests in this batch. Individual requests can override this. 'url' returns preview_url (iframe-embeddable URL), 'html' returns preview_html (raw HTML for direct embedding).", - "enum": [ - "url", - "html" - ], - "type": "string" + "description": "Default output format for all requests in this batch. Individual requests can override this. 'url' returns preview_url (iframe-embeddable URL), 'html' returns preview_html (raw HTML for direct embedding)." }, "request_type": { "const": "batch", @@ -139,13 +131,9 @@ "type": "array" }, "output_format": { + "$ref": "preview-output-format.json", "default": "url", - "description": "Output format for this preview. 'url' returns preview_url, 'html' returns preview_html.", - "enum": [ - "url", - "html" - ], - "type": "string" + "description": "Output format for this preview. 'url' returns preview_url, 'html' returns preview_html." }, "template_id": { "description": "Specific template ID for custom format rendering", diff --git a/schemas/cache/1.0.0/preview-output-format.json b/schemas/cache/1.0.0/preview-output-format.json new file mode 100644 index 00000000..e32ab49f --- /dev/null +++ b/schemas/cache/1.0.0/preview-output-format.json @@ -0,0 +1,11 @@ +{ + "$id": "/schemas/v1/enums/preview-output-format.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Output format for creative previews", + "enum": [ + "url", + "html" + ], + "title": "Preview Output Format", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/product-filters.json b/schemas/cache/1.0.0/product-filters.json new file mode 100644 index 00000000..e98e5925 --- /dev/null +++ b/schemas/cache/1.0.0/product-filters.json @@ -0,0 +1,40 @@ +{ + "$id": "/schemas/v1/core/product-filters.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "description": "Structured filters for product discovery", + "properties": { + "delivery_type": { + "$ref": "delivery-type.json" + }, + "format_ids": { + "description": "Filter by specific format IDs", + "items": { + "$ref": "format-id.json" + }, + "type": "array" + }, + "format_types": { + "description": "Filter by format types", + "items": { + "$ref": "format-category.json" + }, + "type": "array" + }, + "is_fixed_price": { + "description": "Filter for fixed price vs auction products", + "type": "boolean" + }, + "min_exposures": { + "description": "Minimum exposures/impressions needed for measurement validity", + "minimum": 1, + "type": "integer" + }, + "standard_formats_only": { + "description": "Only return products accepting IAB standard formats", + "type": "boolean" + } + }, + "title": "Product Filters", + "type": "object" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/product.json b/schemas/cache/1.0.0/product.json index 9f762d9f..b5ac9ae8 100644 --- a/schemas/cache/1.0.0/product.json +++ b/schemas/cache/1.0.0/product.json @@ -9,7 +9,7 @@ "type": "string" }, "creative_policy": { - "$ref": "/schemas/v1/core/creative-policy.json" + "$ref": "creative-policy.json" }, "delivery_measurement": { "description": "Measurement provider and methodology for delivery metrics. The buyer accepts the declared provider as the source of truth for the buy. REQUIRED for all products.", @@ -29,7 +29,7 @@ "type": "object" }, "delivery_type": { - "$ref": "/schemas/v1/enums/delivery-type.json" + "$ref": "delivery-type.json" }, "description": { "description": "Detailed description of the product and its inventory", @@ -48,7 +48,7 @@ "format_ids": { "description": "Array of supported creative format IDs - structured format_id objects with agent_url and id", "items": { - "$ref": "/schemas/v1/core/format-id.json" + "$ref": "format-id.json" }, "type": "array" }, @@ -57,7 +57,7 @@ "type": "boolean" }, "measurement": { - "$ref": "/schemas/v1/core/measurement.json" + "$ref": "measurement.json" }, "name": { "description": "Human-readable product name", @@ -66,7 +66,7 @@ "placements": { "description": "Optional array of specific placements within this product. When provided, buyers can target specific placements when assigning creatives.", "items": { - "$ref": "/schemas/v1/core/placement.json" + "$ref": "placement.json" }, "minItems": 1, "type": "array" @@ -74,7 +74,7 @@ "pricing_options": { "description": "Available pricing models for this product", "items": { - "$ref": "/schemas/v1/core/pricing-option.json" + "$ref": "pricing-option.json" }, "minItems": 1, "type": "array" @@ -84,7 +84,7 @@ "description": "Optional standard visual card (300x400px) for displaying this product in user interfaces. Can be rendered via preview_creative or pre-generated.", "properties": { "format_id": { - "$ref": "/schemas/v1/core/format-id.json", + "$ref": "format-id.json", "description": "Creative format defining the card layout (typically product_card_standard)" }, "manifest": { @@ -104,7 +104,7 @@ "description": "Optional detailed card with carousel and full specifications. Provides rich product presentation similar to media kit pages.", "properties": { "format_id": { - "$ref": "/schemas/v1/core/format-id.json", + "$ref": "format-id.json", "description": "Creative format defining the detailed card layout (typically product_card_detailed)" }, "manifest": { @@ -126,13 +126,13 @@ "publisher_properties": { "description": "Publisher properties covered by this product. Buyers fetch actual property definitions from each publisher's adagents.json and validate agent authorization. Selection patterns mirror the authorization patterns in adagents.json for consistency.", "items": { - "$ref": "/schemas/v1/core/publisher-property-selector.json" + "$ref": "publisher-property-selector.json" }, "minItems": 1, "type": "array" }, "reporting_capabilities": { - "$ref": "/schemas/v1/core/reporting-capabilities.json" + "$ref": "reporting-capabilities.json" } }, "required": [ diff --git a/schemas/cache/1.0.0/promoted-offerings.json b/schemas/cache/1.0.0/promoted-offerings.json index 0cbe189f..8b2c9d45 100644 --- a/schemas/cache/1.0.0/promoted-offerings.json +++ b/schemas/cache/1.0.0/promoted-offerings.json @@ -69,7 +69,7 @@ "type": "object" }, "brand_manifest": { - "$ref": "/schemas/v1/core/brand-manifest-ref.json", + "$ref": "brand-manifest-ref.json", "description": "Brand information manifest containing assets, themes, and guidelines. Can be provided inline or as a URL reference to a hosted manifest." }, "offerings": { @@ -103,7 +103,7 @@ "type": "array" }, "product_selectors": { - "$ref": "/schemas/v1/core/promoted-products.json", + "$ref": "promoted-products.json", "description": "Selectors to choose which products/offerings from the brand manifest product catalog to promote" } }, diff --git a/schemas/cache/1.0.0/property-type.json b/schemas/cache/1.0.0/property-type.json new file mode 100644 index 00000000..70a56be7 --- /dev/null +++ b/schemas/cache/1.0.0/property-type.json @@ -0,0 +1,16 @@ +{ + "$id": "/schemas/v1/enums/property-type.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Types of advertising properties that can be represented in AdCP", + "enum": [ + "website", + "mobile_app", + "ctv_app", + "dooh", + "podcast", + "radio", + "streaming_audio" + ], + "title": "Property Type", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/property.json b/schemas/cache/1.0.0/property.json index 701a74f6..1eced51f 100644 --- a/schemas/cache/1.0.0/property.json +++ b/schemas/cache/1.0.0/property.json @@ -37,17 +37,8 @@ "type": "string" }, "property_type": { - "description": "Type of advertising property", - "enum": [ - "website", - "mobile_app", - "ctv_app", - "dooh", - "podcast", - "radio", - "streaming_audio" - ], - "type": "string" + "$ref": "property-type.json", + "description": "Type of advertising property" }, "publisher_domain": { "description": "Domain where adagents.json should be checked for authorization validation. Required for list_authorized_properties response. Optional in adagents.json (file location implies domain).", diff --git a/schemas/cache/1.0.0/provide-performance-feedback-request.json b/schemas/cache/1.0.0/provide-performance-feedback-request.json index d25df02c..e424f669 100644 --- a/schemas/cache/1.0.0/provide-performance-feedback-request.json +++ b/schemas/cache/1.0.0/provide-performance-feedback-request.json @@ -15,15 +15,9 @@ "type": "string" }, "feedback_source": { + "$ref": "feedback-source.json", "default": "buyer_attribution", - "description": "Source of the performance data", - "enum": [ - "buyer_attribution", - "third_party_measurement", - "platform_analytics", - "verification_partner" - ], - "type": "string" + "description": "Source of the performance data" }, "measurement_period": { "additionalProperties": false, @@ -52,19 +46,9 @@ "type": "string" }, "metric_type": { + "$ref": "metric-type.json", "default": "overall_performance", - "description": "The business metric being measured", - "enum": [ - "overall_performance", - "conversion_rate", - "brand_lift", - "click_through_rate", - "completion_rate", - "viewability", - "brand_safety", - "cost_efficiency" - ], - "type": "string" + "description": "The business metric being measured" }, "package_id": { "description": "Specific package within the media buy (if feedback is package-specific)", diff --git a/schemas/cache/1.0.0/push-notification-config.json b/schemas/cache/1.0.0/push-notification-config.json index 34053a91..108317a4 100644 --- a/schemas/cache/1.0.0/push-notification-config.json +++ b/schemas/cache/1.0.0/push-notification-config.json @@ -16,11 +16,7 @@ "schemes": { "description": "Array of authentication schemes. Supported: ['Bearer'] for simple token auth, ['HMAC-SHA256'] for signature verification (recommended for production)", "items": { - "enum": [ - "Bearer", - "HMAC-SHA256" - ], - "type": "string" + "$ref": "auth-scheme.json" }, "maxItems": 1, "minItems": 1, diff --git a/schemas/cache/1.0.0/reporting-capabilities.json b/schemas/cache/1.0.0/reporting-capabilities.json index b9463870..2b5fad13 100644 --- a/schemas/cache/1.0.0/reporting-capabilities.json +++ b/schemas/cache/1.0.0/reporting-capabilities.json @@ -20,18 +20,7 @@ ] ], "items": { - "enum": [ - "impressions", - "spend", - "clicks", - "ctr", - "video_completions", - "completion_rate", - "conversions", - "viewability", - "engagement_rate" - ], - "type": "string" + "$ref": "available-metric.json" }, "type": "array", "uniqueItems": true @@ -39,12 +28,7 @@ "available_reporting_frequencies": { "description": "Supported reporting frequency options", "items": { - "enum": [ - "hourly", - "daily", - "monthly" - ], - "type": "string" + "$ref": "reporting-frequency.json" }, "minItems": 1, "type": "array", diff --git a/schemas/cache/1.0.0/reporting-frequency.json b/schemas/cache/1.0.0/reporting-frequency.json new file mode 100644 index 00000000..bdb1dcac --- /dev/null +++ b/schemas/cache/1.0.0/reporting-frequency.json @@ -0,0 +1,12 @@ +{ + "$id": "/schemas/v1/enums/reporting-frequency.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Available frequencies for delivery reports and metrics updates", + "enum": [ + "hourly", + "daily", + "monthly" + ], + "title": "Reporting Frequency", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/signal-catalog-type.json b/schemas/cache/1.0.0/signal-catalog-type.json new file mode 100644 index 00000000..d8a08d55 --- /dev/null +++ b/schemas/cache/1.0.0/signal-catalog-type.json @@ -0,0 +1,12 @@ +{ + "$id": "/schemas/v1/enums/signal-catalog-type.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Types of signal catalogs available for audience targeting", + "enum": [ + "marketplace", + "custom", + "owned" + ], + "title": "Signal Catalog Type", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/signal-filters.json b/schemas/cache/1.0.0/signal-filters.json new file mode 100644 index 00000000..e0b8cb13 --- /dev/null +++ b/schemas/cache/1.0.0/signal-filters.json @@ -0,0 +1,35 @@ +{ + "$id": "/schemas/v1/core/signal-filters.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "description": "Filters to refine signal discovery results", + "properties": { + "catalog_types": { + "description": "Filter by catalog type", + "items": { + "$ref": "signal-catalog-type.json" + }, + "type": "array" + }, + "data_providers": { + "description": "Filter by specific data providers", + "items": { + "type": "string" + }, + "type": "array" + }, + "max_cpm": { + "description": "Maximum CPM price filter", + "minimum": 0, + "type": "number" + }, + "min_coverage_percentage": { + "description": "Minimum coverage requirement", + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "title": "Signal Filters", + "type": "object" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/sort-direction.json b/schemas/cache/1.0.0/sort-direction.json new file mode 100644 index 00000000..9458b0d4 --- /dev/null +++ b/schemas/cache/1.0.0/sort-direction.json @@ -0,0 +1,11 @@ +{ + "$id": "/schemas/v1/enums/sort-direction.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Sort direction for list queries", + "enum": [ + "asc", + "desc" + ], + "title": "Sort Direction", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/sync-creatives-request.json b/schemas/cache/1.0.0/sync-creatives-request.json index 6e0baebc..604a4e9b 100644 --- a/schemas/cache/1.0.0/sync-creatives-request.json +++ b/schemas/cache/1.0.0/sync-creatives-request.json @@ -119,13 +119,9 @@ "description": "Optional webhook configuration for async sync notifications. Publisher will send webhook when sync completes if operation takes longer than immediate response time (typically for large bulk operations or manual approval/HITL)." }, "validation_mode": { + "$ref": "validation-mode.json", "default": "strict", - "description": "Validation strictness. 'strict' fails entire sync on any validation error. 'lenient' processes valid creatives and reports errors.", - "enum": [ - "strict", - "lenient" - ], - "type": "string" + "description": "Validation strictness. 'strict' fails entire sync on any validation error. 'lenient' processes valid creatives and reports errors." } }, "required": [ diff --git a/schemas/cache/1.0.0/sync-creatives-response.json b/schemas/cache/1.0.0/sync-creatives-response.json index fd5df269..37f57372 100644 --- a/schemas/cache/1.0.0/sync-creatives-response.json +++ b/schemas/cache/1.0.0/sync-creatives-response.json @@ -23,15 +23,8 @@ "additionalProperties": false, "properties": { "action": { - "description": "Action taken for this creative", - "enum": [ - "created", - "updated", - "unchanged", - "failed", - "deleted" - ], - "type": "string" + "$ref": "creative-action.json", + "description": "Action taken for this creative" }, "assigned_to": { "description": "Package IDs this creative was successfully assigned to (only present when assignments were requested)", diff --git a/schemas/cache/1.0.0/tasks-list-request.json b/schemas/cache/1.0.0/tasks-list-request.json index 0d50ac2f..9298d875 100644 --- a/schemas/cache/1.0.0/tasks-list-request.json +++ b/schemas/cache/1.0.0/tasks-list-request.json @@ -79,21 +79,13 @@ "type": "string" }, "domain": { - "description": "Filter by single AdCP domain", - "enum": [ - "media-buy", - "signals" - ], - "type": "string" + "$ref": "adcp-domain.json", + "description": "Filter by single AdCP domain" }, "domains": { "description": "Filter by multiple AdCP domains", "items": { - "enum": [ - "media-buy", - "signals" - ], - "type": "string" + "$ref": "adcp-domain.json" }, "type": "array" }, @@ -174,13 +166,9 @@ "description": "Sorting parameters", "properties": { "direction": { + "$ref": "sort-direction.json", "default": "desc", - "description": "Sort direction", - "enum": [ - "asc", - "desc" - ], - "type": "string" + "description": "Sort direction" }, "field": { "default": "created_at", diff --git a/schemas/cache/1.0.0/update-frequency.json b/schemas/cache/1.0.0/update-frequency.json new file mode 100644 index 00000000..00909275 --- /dev/null +++ b/schemas/cache/1.0.0/update-frequency.json @@ -0,0 +1,13 @@ +{ + "$id": "/schemas/v1/enums/update-frequency.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Frequency of product catalog updates", + "enum": [ + "realtime", + "hourly", + "daily", + "weekly" + ], + "title": "Update Frequency", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/update-media-buy-response.json b/schemas/cache/1.0.0/update-media-buy-response.json index 7dacf2bc..66423362 100644 --- a/schemas/cache/1.0.0/update-media-buy-response.json +++ b/schemas/cache/1.0.0/update-media-buy-response.json @@ -15,7 +15,7 @@ "affected_packages": { "description": "Array of packages that were modified with complete state information", "items": { - "$ref": "/schemas/v1/core/package.json" + "$ref": "package.json" }, "type": "array" }, @@ -78,7 +78,7 @@ "errors": { "description": "Array of errors explaining why the operation failed", "items": { - "$ref": "/schemas/v1/core/error.json" + "$ref": "error.json" }, "minItems": 1, "type": "array" diff --git a/schemas/cache/1.0.0/url-asset-type.json b/schemas/cache/1.0.0/url-asset-type.json new file mode 100644 index 00000000..e0605571 --- /dev/null +++ b/schemas/cache/1.0.0/url-asset-type.json @@ -0,0 +1,12 @@ +{ + "$id": "/schemas/v1/enums/url-asset-type.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Types of URL assets for tracking and click-through purposes", + "enum": [ + "clickthrough", + "tracker_pixel", + "tracker_script" + ], + "title": "URL Asset Type", + "type": "string" +} \ No newline at end of file diff --git a/schemas/cache/1.0.0/url-asset.json b/schemas/cache/1.0.0/url-asset.json index 83fa84e8..f4fdb3e3 100644 --- a/schemas/cache/1.0.0/url-asset.json +++ b/schemas/cache/1.0.0/url-asset.json @@ -14,13 +14,8 @@ "type": "string" }, "url_type": { - "description": "Type of URL asset: 'clickthrough' for user click destination (landing page), 'tracker_pixel' for impression/event tracking via HTTP request (fires GET, expects pixel/204 response), 'tracker_script' for measurement SDKs that must load as