From 1f84ac49ed2d4371ac4f14e46d05f379299c7ab2 Mon Sep 17 00:00:00 2001 From: BaiyuScope3 Date: Wed, 7 Jan 2026 14:40:46 -0500 Subject: [PATCH 1/2] feat: add additionalProperties: true to all schemas (v2.5.2) Allow additional properties in all JSON schemas for forward compatibility. This enables clients to ignore unknown fields when parsing responses, making it easier to evolve the API without breaking existing integrations. Generated dist/schemas/2.5.2/ with relaxed validation. --- dist/schemas/2.5.2/adagents.json | 494 ++++ .../media-buy/build-creative-request.json | 1349 +++++++++++ .../media-buy/build-creative-response.json | 1383 +++++++++++ .../media-buy/create-media-buy-request.json | 2015 +++++++++++++++++ .../media-buy/create-media-buy-response.json | 356 +++ .../get-media-buy-delivery-request.json | 92 + .../get-media-buy-delivery-response.json | 700 ++++++ .../media-buy/get-products-request.json | 657 ++++++ .../media-buy/get-products-response.json | 1313 +++++++++++ .../list-authorized-properties-request.json | 36 + .../list-authorized-properties-response.json | 128 ++ .../list-creative-formats-request.json | 137 ++ .../list-creative-formats-response.json | 646 ++++++ .../media-buy/list-creatives-request.json | 294 +++ .../media-buy/list-creatives-response.json | 1654 ++++++++++++++ .../bundled/media-buy/package-request.json | 1423 ++++++++++++ .../provide-performance-feedback-request.json | 116 + ...provide-performance-feedback-response.json | 117 + .../media-buy/sync-creatives-request.json | 1475 ++++++++++++ .../media-buy/sync-creatives-response.json | 208 ++ .../media-buy/update-media-buy-request.json | 1525 +++++++++++++ .../media-buy/update-media-buy-response.json | 358 +++ .../signals/activate-signal-request.json | 90 + .../signals/activate-signal-response.json | 295 +++ .../bundled/signals/get-signals-request.json | 154 ++ .../bundled/signals/get-signals-response.json | 327 +++ dist/schemas/2.5.2/core/activation-key.json | 50 + .../2.5.2/core/assets/audio-asset.json | 32 + dist/schemas/2.5.2/core/assets/css-asset.json | 21 + .../2.5.2/core/assets/daast-asset.json | 87 + .../schemas/2.5.2/core/assets/html-asset.json | 21 + .../2.5.2/core/assets/image-asset.json | 38 + .../2.5.2/core/assets/javascript-asset.json | 21 + .../2.5.2/core/assets/markdown-asset.json | 31 + .../schemas/2.5.2/core/assets/text-asset.json | 21 + dist/schemas/2.5.2/core/assets/url-asset.json | 26 + .../schemas/2.5.2/core/assets/vast-asset.json | 87 + .../2.5.2/core/assets/video-asset.json | 44 + .../2.5.2/core/assets/webhook-asset.json | 71 + .../2.5.2/core/async-response-data.json | 88 + .../2.5.2/core/brand-manifest-ref.json | 33 + dist/schemas/2.5.2/core/brand-manifest.json | 409 ++++ dist/schemas/2.5.2/core/context.json | 8 + dist/schemas/2.5.2/core/creative-asset.json | 125 + .../2.5.2/core/creative-assignment.json | 31 + dist/schemas/2.5.2/core/creative-filters.json | 111 + .../schemas/2.5.2/core/creative-manifest.json | 72 + dist/schemas/2.5.2/core/creative-policy.json | 27 + dist/schemas/2.5.2/core/delivery-metrics.json | 171 ++ dist/schemas/2.5.2/core/deployment.json | 93 + dist/schemas/2.5.2/core/destination.json | 53 + dist/schemas/2.5.2/core/error.json | 40 + dist/schemas/2.5.2/core/ext.json | 8 + dist/schemas/2.5.2/core/format-id.json | 47 + dist/schemas/2.5.2/core/format.json | 324 +++ dist/schemas/2.5.2/core/frequency-cap.json | 18 + .../2.5.2/core/mcp-webhook-payload.json | 152 ++ dist/schemas/2.5.2/core/measurement.json | 48 + dist/schemas/2.5.2/core/media-buy.json | 62 + dist/schemas/2.5.2/core/package.json | 72 + .../2.5.2/core/performance-feedback.json | 90 + dist/schemas/2.5.2/core/placement.json | 34 + dist/schemas/2.5.2/core/pricing-option.json | 35 + dist/schemas/2.5.2/core/product-filters.json | 102 + dist/schemas/2.5.2/core/product.json | 153 ++ .../2.5.2/core/promoted-offerings.json | 115 + .../schemas/2.5.2/core/promoted-products.json | 67 + dist/schemas/2.5.2/core/property-id.json | 14 + dist/schemas/2.5.2/core/property-tag.json | 16 + dist/schemas/2.5.2/core/property.json | 62 + .../schemas/2.5.2/core/protocol-envelope.json | 146 ++ .../core/publisher-property-selector.json | 92 + .../2.5.2/core/push-notification-config.json | 48 + .../2.5.2/core/reporting-capabilities.json | 71 + dist/schemas/2.5.2/core/response.json | 24 + dist/schemas/2.5.2/core/signal-filters.json | 35 + dist/schemas/2.5.2/core/start-timing.json | 18 + dist/schemas/2.5.2/core/sub-asset.json | 79 + dist/schemas/2.5.2/core/targeting.json | 50 + .../schemas/2.5.2/core/tasks-get-request.json | 43 + .../2.5.2/core/tasks-get-response.json | 166 ++ .../2.5.2/core/tasks-list-request.json | 192 ++ .../2.5.2/core/tasks-list-response.json | 183 ++ .../2.5.2/creative/asset-types/index.json | 106 + .../list-creative-formats-request.json | 73 + .../list-creative-formats-response.json | 61 + .../creative/preview-creative-request.json | 164 ++ .../creative/preview-creative-response.json | 245 ++ .../2.5.2/creative/preview-render.json | 225 ++ dist/schemas/2.5.2/enums/adcp-domain.json | 11 + .../2.5.2/enums/asset-content-type.json | 22 + dist/schemas/2.5.2/enums/auth-scheme.json | 11 + .../schemas/2.5.2/enums/available-metric.json | 18 + dist/schemas/2.5.2/enums/channels.json | 18 + .../2.5.2/enums/co-branding-requirement.json | 12 + dist/schemas/2.5.2/enums/creative-action.json | 14 + .../enums/creative-agent-capability.json | 13 + .../2.5.2/enums/creative-sort-field.json | 15 + dist/schemas/2.5.2/enums/creative-status.json | 19 + .../2.5.2/enums/daast-tracking-event.json | 20 + dist/schemas/2.5.2/enums/daast-version.json | 11 + dist/schemas/2.5.2/enums/delivery-type.json | 15 + dist/schemas/2.5.2/enums/dimension-unit.json | 13 + dist/schemas/2.5.2/enums/feed-format.json | 12 + dist/schemas/2.5.2/enums/feedback-source.json | 13 + dist/schemas/2.5.2/enums/format-category.json | 16 + .../2.5.2/enums/format-id-parameter.json | 11 + .../2.5.2/enums/frequency-cap-scope.json | 13 + .../2.5.2/enums/history-entry-type.json | 11 + dist/schemas/2.5.2/enums/http-method.json | 11 + .../schemas/2.5.2/enums/identifier-types.json | 34 + .../2.5.2/enums/javascript-module-type.json | 12 + .../2.5.2/enums/landing-page-requirement.json | 12 + dist/schemas/2.5.2/enums/markdown-flavor.json | 11 + .../schemas/2.5.2/enums/media-buy-status.json | 19 + dist/schemas/2.5.2/enums/metric-type.json | 17 + .../2.5.2/enums/notification-type.json | 13 + dist/schemas/2.5.2/enums/pacing.json | 17 + .../2.5.2/enums/preview-output-format.json | 11 + dist/schemas/2.5.2/enums/pricing-model.json | 25 + dist/schemas/2.5.2/enums/property-type.json | 16 + .../enums/publisher-identifier-types.json | 19 + .../2.5.2/enums/reporting-frequency.json | 12 + .../2.5.2/enums/signal-catalog-type.json | 12 + dist/schemas/2.5.2/enums/sort-direction.json | 11 + .../2.5.2/enums/standard-format-ids.json | 103 + dist/schemas/2.5.2/enums/task-status.json | 29 + dist/schemas/2.5.2/enums/task-type.json | 27 + .../schemas/2.5.2/enums/update-frequency.json | 13 + dist/schemas/2.5.2/enums/url-asset-type.json | 12 + dist/schemas/2.5.2/enums/validation-mode.json | 11 + .../2.5.2/enums/vast-tracking-event.json | 25 + dist/schemas/2.5.2/enums/vast-version.json | 14 + .../2.5.2/enums/webhook-response-type.json | 13 + .../2.5.2/enums/webhook-security-method.json | 12 + dist/schemas/2.5.2/index.json | 604 +++++ .../media-buy/build-creative-request.json | 31 + .../media-buy/build-creative-response.json | 65 + ...dia-buy-async-response-input-required.json | 31 + ...te-media-buy-async-response-submitted.json | 16 + ...eate-media-buy-async-response-working.json | 36 + .../media-buy/create-media-buy-request.json | 126 ++ .../media-buy/create-media-buy-response.json | 97 + .../get-media-buy-delivery-request.json | 54 + .../get-media-buy-delivery-response.json | 285 +++ ...roducts-async-response-input-required.json | 38 + ...get-products-async-response-submitted.json | 21 + .../get-products-async-response-working.json | 34 + .../2.5.2/media-buy/get-products-request.json | 28 + .../media-buy/get-products-response.json | 33 + .../list-authorized-properties-request.json | 26 + .../list-authorized-properties-response.json | 70 + .../list-creative-formats-request.json | 58 + .../list-creative-formats-response.json | 61 + .../media-buy/list-creatives-request.json | 137 ++ .../media-buy/list-creatives-response.json | 437 ++++ .../2.5.2/media-buy/package-request.json | 70 + .../provide-performance-feedback-request.json | 88 + ...provide-performance-feedback-response.json | 66 + ...eatives-async-response-input-required.json | 25 + ...nc-creatives-async-response-submitted.json | 16 + ...sync-creatives-async-response-working.json | 46 + .../media-buy/sync-creatives-request.json | 178 ++ .../media-buy/sync-creatives-response.json | 149 ++ ...dia-buy-async-response-input-required.json | 24 + ...te-media-buy-async-response-submitted.json | 16 + ...date-media-buy-async-response-working.json | 36 + .../media-buy/update-media-buy-request.json | 124 + .../media-buy/update-media-buy-response.json | 99 + .../2.5.2/pricing-options/cpc-option.json | 52 + .../2.5.2/pricing-options/cpcv-option.json | 52 + .../pricing-options/cpm-auction-option.json | 81 + .../pricing-options/cpm-fixed-option.json | 52 + .../2.5.2/pricing-options/cpp-option.json | 73 + .../2.5.2/pricing-options/cpv-option.json | 88 + .../pricing-options/flat-rate-option.json | 93 + .../pricing-options/vcpm-auction-option.json | 81 + .../pricing-options/vcpm-fixed-option.json | 52 + .../2.5.2/protocols/adcp-extension.json | 33 + .../signals/activate-signal-request.json | 32 + .../signals/activate-signal-response.json | 68 + .../2.5.2/signals/get-signals-request.json | 59 + .../2.5.2/signals/get-signals-response.json | 100 + 183 files changed, 27533 insertions(+) create mode 100644 dist/schemas/2.5.2/adagents.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/build-creative-request.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/build-creative-response.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/create-media-buy-request.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/create-media-buy-response.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/get-media-buy-delivery-request.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/get-media-buy-delivery-response.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/get-products-request.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/get-products-response.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/list-authorized-properties-request.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/list-authorized-properties-response.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/list-creative-formats-request.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/list-creative-formats-response.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/list-creatives-request.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/list-creatives-response.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/package-request.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/provide-performance-feedback-request.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/provide-performance-feedback-response.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/sync-creatives-request.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/sync-creatives-response.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/update-media-buy-request.json create mode 100644 dist/schemas/2.5.2/bundled/media-buy/update-media-buy-response.json create mode 100644 dist/schemas/2.5.2/bundled/signals/activate-signal-request.json create mode 100644 dist/schemas/2.5.2/bundled/signals/activate-signal-response.json create mode 100644 dist/schemas/2.5.2/bundled/signals/get-signals-request.json create mode 100644 dist/schemas/2.5.2/bundled/signals/get-signals-response.json create mode 100644 dist/schemas/2.5.2/core/activation-key.json create mode 100644 dist/schemas/2.5.2/core/assets/audio-asset.json create mode 100644 dist/schemas/2.5.2/core/assets/css-asset.json create mode 100644 dist/schemas/2.5.2/core/assets/daast-asset.json create mode 100644 dist/schemas/2.5.2/core/assets/html-asset.json create mode 100644 dist/schemas/2.5.2/core/assets/image-asset.json create mode 100644 dist/schemas/2.5.2/core/assets/javascript-asset.json create mode 100644 dist/schemas/2.5.2/core/assets/markdown-asset.json create mode 100644 dist/schemas/2.5.2/core/assets/text-asset.json create mode 100644 dist/schemas/2.5.2/core/assets/url-asset.json create mode 100644 dist/schemas/2.5.2/core/assets/vast-asset.json create mode 100644 dist/schemas/2.5.2/core/assets/video-asset.json create mode 100644 dist/schemas/2.5.2/core/assets/webhook-asset.json create mode 100644 dist/schemas/2.5.2/core/async-response-data.json create mode 100644 dist/schemas/2.5.2/core/brand-manifest-ref.json create mode 100644 dist/schemas/2.5.2/core/brand-manifest.json create mode 100644 dist/schemas/2.5.2/core/context.json create mode 100644 dist/schemas/2.5.2/core/creative-asset.json create mode 100644 dist/schemas/2.5.2/core/creative-assignment.json create mode 100644 dist/schemas/2.5.2/core/creative-filters.json create mode 100644 dist/schemas/2.5.2/core/creative-manifest.json create mode 100644 dist/schemas/2.5.2/core/creative-policy.json create mode 100644 dist/schemas/2.5.2/core/delivery-metrics.json create mode 100644 dist/schemas/2.5.2/core/deployment.json create mode 100644 dist/schemas/2.5.2/core/destination.json create mode 100644 dist/schemas/2.5.2/core/error.json create mode 100644 dist/schemas/2.5.2/core/ext.json create mode 100644 dist/schemas/2.5.2/core/format-id.json create mode 100644 dist/schemas/2.5.2/core/format.json create mode 100644 dist/schemas/2.5.2/core/frequency-cap.json create mode 100644 dist/schemas/2.5.2/core/mcp-webhook-payload.json create mode 100644 dist/schemas/2.5.2/core/measurement.json create mode 100644 dist/schemas/2.5.2/core/media-buy.json create mode 100644 dist/schemas/2.5.2/core/package.json create mode 100644 dist/schemas/2.5.2/core/performance-feedback.json create mode 100644 dist/schemas/2.5.2/core/placement.json create mode 100644 dist/schemas/2.5.2/core/pricing-option.json create mode 100644 dist/schemas/2.5.2/core/product-filters.json create mode 100644 dist/schemas/2.5.2/core/product.json create mode 100644 dist/schemas/2.5.2/core/promoted-offerings.json create mode 100644 dist/schemas/2.5.2/core/promoted-products.json create mode 100644 dist/schemas/2.5.2/core/property-id.json create mode 100644 dist/schemas/2.5.2/core/property-tag.json create mode 100644 dist/schemas/2.5.2/core/property.json create mode 100644 dist/schemas/2.5.2/core/protocol-envelope.json create mode 100644 dist/schemas/2.5.2/core/publisher-property-selector.json create mode 100644 dist/schemas/2.5.2/core/push-notification-config.json create mode 100644 dist/schemas/2.5.2/core/reporting-capabilities.json create mode 100644 dist/schemas/2.5.2/core/response.json create mode 100644 dist/schemas/2.5.2/core/signal-filters.json create mode 100644 dist/schemas/2.5.2/core/start-timing.json create mode 100644 dist/schemas/2.5.2/core/sub-asset.json create mode 100644 dist/schemas/2.5.2/core/targeting.json create mode 100644 dist/schemas/2.5.2/core/tasks-get-request.json create mode 100644 dist/schemas/2.5.2/core/tasks-get-response.json create mode 100644 dist/schemas/2.5.2/core/tasks-list-request.json create mode 100644 dist/schemas/2.5.2/core/tasks-list-response.json create mode 100644 dist/schemas/2.5.2/creative/asset-types/index.json create mode 100644 dist/schemas/2.5.2/creative/list-creative-formats-request.json create mode 100644 dist/schemas/2.5.2/creative/list-creative-formats-response.json create mode 100644 dist/schemas/2.5.2/creative/preview-creative-request.json create mode 100644 dist/schemas/2.5.2/creative/preview-creative-response.json create mode 100644 dist/schemas/2.5.2/creative/preview-render.json create mode 100644 dist/schemas/2.5.2/enums/adcp-domain.json create mode 100644 dist/schemas/2.5.2/enums/asset-content-type.json create mode 100644 dist/schemas/2.5.2/enums/auth-scheme.json create mode 100644 dist/schemas/2.5.2/enums/available-metric.json create mode 100644 dist/schemas/2.5.2/enums/channels.json create mode 100644 dist/schemas/2.5.2/enums/co-branding-requirement.json create mode 100644 dist/schemas/2.5.2/enums/creative-action.json create mode 100644 dist/schemas/2.5.2/enums/creative-agent-capability.json create mode 100644 dist/schemas/2.5.2/enums/creative-sort-field.json create mode 100644 dist/schemas/2.5.2/enums/creative-status.json create mode 100644 dist/schemas/2.5.2/enums/daast-tracking-event.json create mode 100644 dist/schemas/2.5.2/enums/daast-version.json create mode 100644 dist/schemas/2.5.2/enums/delivery-type.json create mode 100644 dist/schemas/2.5.2/enums/dimension-unit.json create mode 100644 dist/schemas/2.5.2/enums/feed-format.json create mode 100644 dist/schemas/2.5.2/enums/feedback-source.json create mode 100644 dist/schemas/2.5.2/enums/format-category.json create mode 100644 dist/schemas/2.5.2/enums/format-id-parameter.json create mode 100644 dist/schemas/2.5.2/enums/frequency-cap-scope.json create mode 100644 dist/schemas/2.5.2/enums/history-entry-type.json create mode 100644 dist/schemas/2.5.2/enums/http-method.json create mode 100644 dist/schemas/2.5.2/enums/identifier-types.json create mode 100644 dist/schemas/2.5.2/enums/javascript-module-type.json create mode 100644 dist/schemas/2.5.2/enums/landing-page-requirement.json create mode 100644 dist/schemas/2.5.2/enums/markdown-flavor.json create mode 100644 dist/schemas/2.5.2/enums/media-buy-status.json create mode 100644 dist/schemas/2.5.2/enums/metric-type.json create mode 100644 dist/schemas/2.5.2/enums/notification-type.json create mode 100644 dist/schemas/2.5.2/enums/pacing.json create mode 100644 dist/schemas/2.5.2/enums/preview-output-format.json create mode 100644 dist/schemas/2.5.2/enums/pricing-model.json create mode 100644 dist/schemas/2.5.2/enums/property-type.json create mode 100644 dist/schemas/2.5.2/enums/publisher-identifier-types.json create mode 100644 dist/schemas/2.5.2/enums/reporting-frequency.json create mode 100644 dist/schemas/2.5.2/enums/signal-catalog-type.json create mode 100644 dist/schemas/2.5.2/enums/sort-direction.json create mode 100644 dist/schemas/2.5.2/enums/standard-format-ids.json create mode 100644 dist/schemas/2.5.2/enums/task-status.json create mode 100644 dist/schemas/2.5.2/enums/task-type.json create mode 100644 dist/schemas/2.5.2/enums/update-frequency.json create mode 100644 dist/schemas/2.5.2/enums/url-asset-type.json create mode 100644 dist/schemas/2.5.2/enums/validation-mode.json create mode 100644 dist/schemas/2.5.2/enums/vast-tracking-event.json create mode 100644 dist/schemas/2.5.2/enums/vast-version.json create mode 100644 dist/schemas/2.5.2/enums/webhook-response-type.json create mode 100644 dist/schemas/2.5.2/enums/webhook-security-method.json create mode 100644 dist/schemas/2.5.2/index.json create mode 100644 dist/schemas/2.5.2/media-buy/build-creative-request.json create mode 100644 dist/schemas/2.5.2/media-buy/build-creative-response.json create mode 100644 dist/schemas/2.5.2/media-buy/create-media-buy-async-response-input-required.json create mode 100644 dist/schemas/2.5.2/media-buy/create-media-buy-async-response-submitted.json create mode 100644 dist/schemas/2.5.2/media-buy/create-media-buy-async-response-working.json create mode 100644 dist/schemas/2.5.2/media-buy/create-media-buy-request.json create mode 100644 dist/schemas/2.5.2/media-buy/create-media-buy-response.json create mode 100644 dist/schemas/2.5.2/media-buy/get-media-buy-delivery-request.json create mode 100644 dist/schemas/2.5.2/media-buy/get-media-buy-delivery-response.json create mode 100644 dist/schemas/2.5.2/media-buy/get-products-async-response-input-required.json create mode 100644 dist/schemas/2.5.2/media-buy/get-products-async-response-submitted.json create mode 100644 dist/schemas/2.5.2/media-buy/get-products-async-response-working.json create mode 100644 dist/schemas/2.5.2/media-buy/get-products-request.json create mode 100644 dist/schemas/2.5.2/media-buy/get-products-response.json create mode 100644 dist/schemas/2.5.2/media-buy/list-authorized-properties-request.json create mode 100644 dist/schemas/2.5.2/media-buy/list-authorized-properties-response.json create mode 100644 dist/schemas/2.5.2/media-buy/list-creative-formats-request.json create mode 100644 dist/schemas/2.5.2/media-buy/list-creative-formats-response.json create mode 100644 dist/schemas/2.5.2/media-buy/list-creatives-request.json create mode 100644 dist/schemas/2.5.2/media-buy/list-creatives-response.json create mode 100644 dist/schemas/2.5.2/media-buy/package-request.json create mode 100644 dist/schemas/2.5.2/media-buy/provide-performance-feedback-request.json create mode 100644 dist/schemas/2.5.2/media-buy/provide-performance-feedback-response.json create mode 100644 dist/schemas/2.5.2/media-buy/sync-creatives-async-response-input-required.json create mode 100644 dist/schemas/2.5.2/media-buy/sync-creatives-async-response-submitted.json create mode 100644 dist/schemas/2.5.2/media-buy/sync-creatives-async-response-working.json create mode 100644 dist/schemas/2.5.2/media-buy/sync-creatives-request.json create mode 100644 dist/schemas/2.5.2/media-buy/sync-creatives-response.json create mode 100644 dist/schemas/2.5.2/media-buy/update-media-buy-async-response-input-required.json create mode 100644 dist/schemas/2.5.2/media-buy/update-media-buy-async-response-submitted.json create mode 100644 dist/schemas/2.5.2/media-buy/update-media-buy-async-response-working.json create mode 100644 dist/schemas/2.5.2/media-buy/update-media-buy-request.json create mode 100644 dist/schemas/2.5.2/media-buy/update-media-buy-response.json create mode 100644 dist/schemas/2.5.2/pricing-options/cpc-option.json create mode 100644 dist/schemas/2.5.2/pricing-options/cpcv-option.json create mode 100644 dist/schemas/2.5.2/pricing-options/cpm-auction-option.json create mode 100644 dist/schemas/2.5.2/pricing-options/cpm-fixed-option.json create mode 100644 dist/schemas/2.5.2/pricing-options/cpp-option.json create mode 100644 dist/schemas/2.5.2/pricing-options/cpv-option.json create mode 100644 dist/schemas/2.5.2/pricing-options/flat-rate-option.json create mode 100644 dist/schemas/2.5.2/pricing-options/vcpm-auction-option.json create mode 100644 dist/schemas/2.5.2/pricing-options/vcpm-fixed-option.json create mode 100644 dist/schemas/2.5.2/protocols/adcp-extension.json create mode 100644 dist/schemas/2.5.2/signals/activate-signal-request.json create mode 100644 dist/schemas/2.5.2/signals/activate-signal-response.json create mode 100644 dist/schemas/2.5.2/signals/get-signals-request.json create mode 100644 dist/schemas/2.5.2/signals/get-signals-response.json diff --git a/dist/schemas/2.5.2/adagents.json b/dist/schemas/2.5.2/adagents.json new file mode 100644 index 0000000000..2babff1b0b --- /dev/null +++ b/dist/schemas/2.5.2/adagents.json @@ -0,0 +1,494 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "/schemas/2.5.2/adagents.json", + "title": "Authorized Sales Agents", + "description": "Declaration of authorized sales agents for advertising inventory. Hosted at /.well-known/adagents.json on publisher domains. Can either contain the full structure inline or reference an authoritative URL.", + "oneOf": [ + { + "type": "object", + "description": "URL reference variant - points to the authoritative location of the adagents.json file", + "properties": { + "$schema": { + "type": "string", + "description": "JSON Schema identifier for this adagents.json file" + }, + "authoritative_location": { + "type": "string", + "format": "uri", + "pattern": "^https://", + "description": "HTTPS URL of the authoritative adagents.json file. When present, this file is a reference and the authoritative location contains the actual agent authorization data." + }, + "last_updated": { + "type": "string", + "format": "date-time", + "description": "ISO 8601 timestamp indicating when this reference was last updated" + } + }, + "required": [ + "authoritative_location" + ], + "additionalProperties": true + }, + { + "type": "object", + "description": "Inline structure variant - contains full agent authorization data", + "properties": { + "$schema": { + "type": "string", + "description": "JSON Schema identifier for this adagents.json file" + }, + "contact": { + "type": "object", + "description": "Contact information for the entity managing this adagents.json file (may be publisher or third-party operator)", + "properties": { + "name": { + "type": "string", + "description": "Name of the entity managing this file (e.g., 'Meta Advertising Operations', 'Clear Channel Digital')", + "minLength": 1, + "maxLength": 255 + }, + "email": { + "type": "string", + "format": "email", + "description": "Contact email for questions or issues with this authorization file", + "minLength": 1, + "maxLength": 255 + }, + "domain": { + "type": "string", + "description": "Primary domain of the entity managing this file", + "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$" + }, + "seller_id": { + "type": "string", + "description": "Seller ID from IAB Tech Lab sellers.json (if applicable)", + "minLength": 1, + "maxLength": 255 + }, + "tag_id": { + "type": "string", + "description": "TAG Certified Against Fraud ID for verification (if applicable)", + "minLength": 1, + "maxLength": 100 + } + }, + "required": [ + "name" + ], + "additionalProperties": true + }, + "properties": { + "type": "array", + "description": "Array of all properties covered by this adagents.json file. Defines the canonical property list that authorized agents reference.", + "items": { + "$ref": "/schemas/2.5.2/core/property.json" + }, + "minItems": 1 + }, + "tags": { + "type": "object", + "description": "Metadata for each tag referenced by properties. Provides human-readable context for property tag values.", + "additionalProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Human-readable name for this tag" + }, + "description": { + "type": "string", + "description": "Description of what this tag represents" + } + }, + "required": [ + "name", + "description" + ], + "additionalProperties": true + } + }, + "authorized_agents": { + "type": "array", + "description": "Array of sales agents authorized to sell inventory for properties in this file", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "The authorized agent's API endpoint URL" + }, + "authorized_for": { + "type": "string", + "description": "Human-readable description of what this agent is authorized to sell", + "minLength": 1, + "maxLength": 500 + }, + "authorization_type": { + "type": "string", + "const": "property_ids", + "description": "Discriminator indicating authorization by specific property IDs" + }, + "property_ids": { + "type": "array", + "description": "Property IDs this agent is authorized for. Resolved against the top-level properties array in this file", + "items": { + "$ref": "/schemas/2.5.2/core/property-id.json" + }, + "minItems": 1 + } + }, + "required": [ + "url", + "authorized_for", + "authorization_type", + "property_ids" + ], + "additionalProperties": true + }, + { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "The authorized agent's API endpoint URL" + }, + "authorized_for": { + "type": "string", + "description": "Human-readable description of what this agent is authorized to sell", + "minLength": 1, + "maxLength": 500 + }, + "authorization_type": { + "type": "string", + "const": "property_tags", + "description": "Discriminator indicating authorization by property tags" + }, + "property_tags": { + "type": "array", + "description": "Tags identifying which properties this agent is authorized for. Resolved against the top-level properties array in this file using tag matching", + "items": { + "$ref": "/schemas/2.5.2/core/property-tag.json" + }, + "minItems": 1 + } + }, + "required": [ + "url", + "authorized_for", + "authorization_type", + "property_tags" + ], + "additionalProperties": true + }, + { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "The authorized agent's API endpoint URL" + }, + "authorized_for": { + "type": "string", + "description": "Human-readable description of what this agent is authorized to sell", + "minLength": 1, + "maxLength": 500 + }, + "authorization_type": { + "type": "string", + "const": "inline_properties", + "description": "Discriminator indicating authorization by inline property definitions" + }, + "properties": { + "type": "array", + "description": "Specific properties this agent is authorized for (alternative to property_ids/property_tags)", + "items": { + "$ref": "/schemas/2.5.2/core/property.json" + }, + "minItems": 1 + } + }, + "required": [ + "url", + "authorized_for", + "authorization_type", + "properties" + ], + "additionalProperties": true + }, + { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "The authorized agent's API endpoint URL" + }, + "authorized_for": { + "type": "string", + "description": "Human-readable description of what this agent is authorized to sell", + "minLength": 1, + "maxLength": 500 + }, + "authorization_type": { + "type": "string", + "const": "publisher_properties", + "description": "Discriminator indicating authorization for properties from other publisher domains" + }, + "publisher_properties": { + "type": "array", + "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/2.5.2/core/publisher-property-selector.json" + }, + "minItems": 1 + } + }, + "required": [ + "url", + "authorized_for", + "authorization_type", + "publisher_properties" + ], + "additionalProperties": true + } + ] + }, + "minItems": 1 + }, + "last_updated": { + "type": "string", + "format": "date-time", + "description": "ISO 8601 timestamp indicating when this file was last updated" + } + }, + "required": [ + "authorized_agents" + ], + "additionalProperties": true + } + ], + "examples": [ + { + "$schema": "/schemas/2.5.2/adagents.json", + "authoritative_location": "https://cdn.example.com/adagents/v2/adagents.json", + "last_updated": "2025-01-15T10:00:00Z" + }, + { + "$schema": "/schemas/2.5.2/adagents.json", + "properties": [ + { + "property_type": "website", + "name": "Example Site", + "identifiers": [ + { + "type": "domain", + "value": "example.com" + } + ], + "publisher_domain": "example.com" + } + ], + "authorized_agents": [ + { + "url": "https://agent.example.com", + "authorized_for": "Official sales agent", + "authorization_type": "property_tags", + "property_tags": [ + "all" + ] + } + ], + "tags": { + "all": { + "name": "All Properties", + "description": "All properties in this file" + } + }, + "last_updated": "2025-01-10T12:00:00Z" + }, + { + "$schema": "/schemas/2.5.2/adagents.json", + "contact": { + "name": "Meta Advertising Operations", + "email": "adops@meta.com", + "domain": "meta.com", + "seller_id": "pub-meta-12345", + "tag_id": "12345" + }, + "properties": [ + { + "property_type": "mobile_app", + "name": "Instagram", + "identifiers": [ + { + "type": "ios_bundle", + "value": "com.burbn.instagram" + }, + { + "type": "android_package", + "value": "com.instagram.android" + } + ], + "tags": [ + "meta_network", + "social_media" + ], + "publisher_domain": "instagram.com" + }, + { + "property_type": "mobile_app", + "name": "Facebook", + "identifiers": [ + { + "type": "ios_bundle", + "value": "com.facebook.Facebook" + }, + { + "type": "android_package", + "value": "com.facebook.katana" + } + ], + "tags": [ + "meta_network", + "social_media" + ], + "publisher_domain": "facebook.com" + }, + { + "property_type": "mobile_app", + "name": "WhatsApp", + "identifiers": [ + { + "type": "ios_bundle", + "value": "net.whatsapp.WhatsApp" + }, + { + "type": "android_package", + "value": "com.whatsapp" + } + ], + "tags": [ + "meta_network", + "messaging" + ], + "publisher_domain": "whatsapp.com" + } + ], + "tags": { + "meta_network": { + "name": "Meta Network", + "description": "All Meta-owned properties" + }, + "social_media": { + "name": "Social Media Apps", + "description": "Social networking applications" + }, + "messaging": { + "name": "Messaging Apps", + "description": "Messaging and communication apps" + } + }, + "authorized_agents": [ + { + "url": "https://meta-ads.com", + "authorized_for": "All Meta properties", + "authorization_type": "property_tags", + "property_tags": [ + "meta_network" + ] + } + ], + "last_updated": "2025-01-10T15:30:00Z" + }, + { + "$schema": "/schemas/2.5.2/adagents.json", + "contact": { + "name": "Tumblr Advertising" + }, + "properties": [ + { + "property_type": "website", + "name": "Tumblr Corporate", + "identifiers": [ + { + "type": "domain", + "value": "tumblr.com" + } + ], + "tags": [ + "corporate" + ], + "publisher_domain": "tumblr.com" + } + ], + "tags": { + "corporate": { + "name": "Corporate Properties", + "description": "Tumblr-owned corporate properties (not user blogs)" + } + }, + "authorized_agents": [ + { + "url": "https://tumblr-sales.com", + "authorized_for": "Tumblr corporate properties only", + "authorization_type": "property_tags", + "property_tags": [ + "corporate" + ] + } + ], + "last_updated": "2025-01-10T16:00:00Z" + }, + { + "$schema": "/schemas/2.5.2/adagents.json", + "contact": { + "name": "Example Third-Party Sales Agent", + "email": "sales@agent.example", + "domain": "agent.example" + }, + "authorized_agents": [ + { + "url": "https://agent.example/api", + "authorized_for": "CNN CTV properties via publisher authorization", + "authorization_type": "publisher_properties", + "publisher_properties": [ + { + "publisher_domain": "cnn.com", + "selection_type": "by_id", + "property_ids": [ + "cnn_ctv_app" + ] + } + ] + }, + { + "url": "https://agent.example/api", + "authorized_for": "All CTV properties from multiple publishers", + "authorization_type": "publisher_properties", + "publisher_properties": [ + { + "publisher_domain": "cnn.com", + "selection_type": "by_tag", + "property_tags": [ + "ctv" + ] + }, + { + "publisher_domain": "espn.com", + "selection_type": "by_tag", + "property_tags": [ + "ctv" + ] + } + ] + } + ], + "last_updated": "2025-01-10T17:00:00Z" + } + ] +} diff --git a/dist/schemas/2.5.2/bundled/media-buy/build-creative-request.json b/dist/schemas/2.5.2/bundled/media-buy/build-creative-request.json new file mode 100644 index 0000000000..794531b8ec --- /dev/null +++ b/dist/schemas/2.5.2/bundled/media-buy/build-creative-request.json @@ -0,0 +1,1349 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "/schemas/2.5.2/bundled/media-buy/build-creative-request.json", + "title": "Build Creative Request", + "description": "Request to transform or generate a creative manifest. Takes a source manifest (which may be minimal for pure generation) and produces a target manifest in the specified format. The source manifest should include all assets required by the target format (e.g., promoted_offerings for generative formats).", + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Natural language instructions for the transformation or generation. For pure generation, this is the creative brief. For transformation, this provides guidance on how to adapt the creative." + }, + "creative_manifest": { + "title": "Creative Manifest", + "description": "Creative manifest to transform or generate from. For pure generation, this should include the target format_id and any required input assets (e.g., promoted_offerings for generative formats). For transformation (e.g., resizing, reformatting), this is the complete creative to adapt.", + "type": "object", + "properties": { + "format_id": { + "title": "Format ID", + "description": "Format identifier this manifest is for. Can be a template format (id only) or a deterministic format (id + dimensions/duration). For dimension-specific creatives, include width/height/unit in the format_id to create a unique identifier (e.g., {id: 'display_static', width: 300, height: 250, unit: 'px'}).", + "type": "object", + "properties": { + "agent_url": { + "type": "string", + "format": "uri", + "description": "URL of the agent that defines this format (e.g., 'https://creatives.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats)" + }, + "id": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+$", + "description": "Format identifier within the agent's namespace (e.g., 'display_static', 'video_hosted', 'audio_standard'). When used alone, references a template format. When combined with dimension/duration fields, creates a parameterized format ID for a specific variant." + }, + "width": { + "type": "integer", + "minimum": 1, + "description": "Width in pixels for visual formats. When specified, height must also be specified. Both fields together create a parameterized format ID for dimension-specific variants." + }, + "height": { + "type": "integer", + "minimum": 1, + "description": "Height in pixels for visual formats. When specified, width must also be specified. Both fields together create a parameterized format ID for dimension-specific variants." + }, + "duration_ms": { + "type": "number", + "minimum": 1, + "description": "Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters." + } + }, + "required": [ + "agent_url", + "id" + ], + "additionalProperties": true, + "dependencies": { + "width": [ + "height" + ], + "height": [ + "width" + ] + } + }, + "promoted_offering": { + "type": "string", + "description": "Product name or offering being advertised. Maps to promoted_offerings in create_media_buy request to associate creative with the product being promoted." + }, + "assets": { + "type": "object", + "description": "Map of asset IDs to actual asset content. Each key MUST match an asset_id from the format's assets_required array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). The asset_id is the technical identifier used to match assets to format requirements.\n\nIMPORTANT: Creative manifest validation MUST be performed in the context of the format specification. The format defines what type each asset_id should be, which eliminates any validation ambiguity.", + "patternProperties": { + "^[a-z0-9_]+$": { + "oneOf": [ + { + "title": "Image Asset", + "description": "Image asset with URL and dimensions", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "URL to the image asset" + }, + "width": { + "type": "integer", + "minimum": 1, + "description": "Width in pixels" + }, + "height": { + "type": "integer", + "minimum": 1, + "description": "Height in pixels" + }, + "format": { + "type": "string", + "description": "Image file format (jpg, png, gif, webp, etc.)" + }, + "alt_text": { + "type": "string", + "description": "Alternative text for accessibility" + } + }, + "required": [ + "url", + "width", + "height" + ], + "additionalProperties": true + }, + { + "title": "Video Asset", + "description": "Video asset with URL and specifications", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "URL to the video asset" + }, + "width": { + "type": "integer", + "minimum": 1, + "description": "Width in pixels" + }, + "height": { + "type": "integer", + "minimum": 1, + "description": "Height in pixels" + }, + "duration_ms": { + "type": "integer", + "description": "Video duration in milliseconds", + "minimum": 1 + }, + "format": { + "type": "string", + "description": "Video file format (mp4, webm, mov, etc.)" + }, + "bitrate_kbps": { + "type": "integer", + "description": "Video bitrate in kilobits per second", + "minimum": 1 + } + }, + "required": [ + "url", + "width", + "height" + ], + "additionalProperties": true + }, + { + "title": "Audio Asset", + "description": "Audio asset with URL and specifications", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "URL to the audio asset" + }, + "duration_ms": { + "type": "integer", + "description": "Audio duration in milliseconds", + "minimum": 0 + }, + "format": { + "type": "string", + "description": "Audio file format (mp3, wav, aac, etc.)" + }, + "bitrate_kbps": { + "type": "integer", + "description": "Audio bitrate in kilobits per second", + "minimum": 1 + } + }, + "required": [ + "url" + ], + "additionalProperties": true + }, + { + "title": "VAST Asset", + "description": "VAST (Video Ad Serving Template) tag for third-party video ad serving", + "oneOf": [ + { + "type": "object", + "properties": { + "delivery_type": { + "type": "string", + "const": "url", + "description": "Discriminator indicating VAST is delivered via URL endpoint" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL endpoint that returns VAST XML" + }, + "vast_version": { + "title": "VAST Version", + "description": "VAST specification version", + "type": "string", + "enum": [ + "2.0", + "3.0", + "4.0", + "4.1", + "4.2" + ] + }, + "vpaid_enabled": { + "type": "boolean", + "description": "Whether VPAID (Video Player-Ad Interface Definition) is supported" + }, + "duration_ms": { + "type": "integer", + "description": "Expected video duration in milliseconds (if known)", + "minimum": 0 + }, + "tracking_events": { + "type": "array", + "items": { + "title": "VAST Tracking Event", + "description": "Standard VAST tracking events for video ad playback and interaction", + "type": "string", + "enum": [ + "start", + "firstQuartile", + "midpoint", + "thirdQuartile", + "complete", + "impression", + "click", + "pause", + "resume", + "skip", + "mute", + "unmute", + "fullscreen", + "exitFullscreen", + "playerExpand", + "playerCollapse" + ] + }, + "description": "Tracking events supported by this VAST tag" + } + }, + "required": [ + "delivery_type", + "url" + ], + "additionalProperties": true + }, + { + "type": "object", + "properties": { + "delivery_type": { + "type": "string", + "const": "inline", + "description": "Discriminator indicating VAST is delivered as inline XML content" + }, + "content": { + "type": "string", + "description": "Inline VAST XML content" + }, + "vast_version": { + "title": "VAST Version", + "description": "VAST specification version", + "type": "string", + "enum": [ + "2.0", + "3.0", + "4.0", + "4.1", + "4.2" + ] + }, + "vpaid_enabled": { + "type": "boolean", + "description": "Whether VPAID (Video Player-Ad Interface Definition) is supported" + }, + "duration_ms": { + "type": "integer", + "description": "Expected video duration in milliseconds (if known)", + "minimum": 0 + }, + "tracking_events": { + "type": "array", + "items": { + "title": "VAST Tracking Event", + "description": "Standard VAST tracking events for video ad playback and interaction", + "type": "string", + "enum": [ + "start", + "firstQuartile", + "midpoint", + "thirdQuartile", + "complete", + "impression", + "click", + "pause", + "resume", + "skip", + "mute", + "unmute", + "fullscreen", + "exitFullscreen", + "playerExpand", + "playerCollapse" + ] + }, + "description": "Tracking events supported by this VAST tag" + } + }, + "required": [ + "delivery_type", + "content" + ], + "additionalProperties": true + } + ] + }, + { + "title": "Text Asset", + "description": "Text content asset", + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "Text content" + }, + "language": { + "type": "string", + "description": "Language code (e.g., 'en', 'es', 'fr')" + } + }, + "required": [ + "content" + ], + "additionalProperties": true + }, + { + "title": "URL Asset", + "description": "URL reference asset", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "URL reference" + }, + "url_type": { + "title": "URL Asset 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