@adcp/sdk 5.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +17 -0
- package/.claude-plugin/plugin.json +25 -0
- package/ADCP_VERSION +1 -0
- package/AGENTS.md +282 -0
- package/LICENSE +191 -0
- package/README.md +816 -0
- package/bin/adcp-async-handler.js +275 -0
- package/bin/adcp-config.js +240 -0
- package/bin/adcp-fuzz.js +391 -0
- package/bin/adcp-grade.js +505 -0
- package/bin/adcp-json-stdout.js +36 -0
- package/bin/adcp-registry.js +745 -0
- package/bin/adcp-signing.js +233 -0
- package/bin/adcp-step-hints.js +246 -0
- package/bin/adcp-version-check.js +150 -0
- package/bin/adcp.js +4821 -0
- package/compliance/cache/3.0.0/domains/brand/index.yaml +167 -0
- package/compliance/cache/3.0.0/domains/creative/index.yaml +412 -0
- package/compliance/cache/3.0.0/domains/governance/index.yaml +683 -0
- package/compliance/cache/3.0.0/domains/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.0/domains/media-buy/index.yaml +742 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/delivery_reporting.yaml +180 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/governance_approved.yaml +186 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/governance_conditions.yaml +195 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/governance_denied.yaml +189 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/governance_denied_recovery.yaml +243 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/invalid_transitions.yaml +279 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/measurement_terms_rejected.yaml +194 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/proposal_finalize.yaml +242 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.0/domains/media-buy/state-machine.yaml +437 -0
- package/compliance/cache/3.0.0/domains/signals/index.yaml +266 -0
- package/compliance/cache/3.0.0/domains/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.0/index.json +324 -0
- package/compliance/cache/3.0.0/protocols/brand/index.yaml +167 -0
- package/compliance/cache/3.0.0/protocols/creative/index.yaml +412 -0
- package/compliance/cache/3.0.0/protocols/governance/index.yaml +683 -0
- package/compliance/cache/3.0.0/protocols/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.0/protocols/media-buy/index.yaml +742 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/delivery_reporting.yaml +180 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/governance_approved.yaml +186 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/governance_conditions.yaml +195 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/governance_denied.yaml +189 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/governance_denied_recovery.yaml +243 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/invalid_transitions.yaml +279 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +194 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/proposal_finalize.yaml +242 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.0/protocols/media-buy/state-machine.yaml +437 -0
- package/compliance/cache/3.0.0/protocols/signals/index.yaml +266 -0
- package/compliance/cache/3.0.0/protocols/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.0/specialisms/audience-sync/index.yaml +280 -0
- package/compliance/cache/3.0.0/specialisms/brand-rights/index.yaml +346 -0
- package/compliance/cache/3.0.0/specialisms/brand-rights/scenarios/governance_denied.yaml +203 -0
- package/compliance/cache/3.0.0/specialisms/collection-lists/index.yaml +359 -0
- package/compliance/cache/3.0.0/specialisms/content-standards/index.yaml +572 -0
- package/compliance/cache/3.0.0/specialisms/creative-ad-server/index.yaml +383 -0
- package/compliance/cache/3.0.0/specialisms/creative-generative/generative-seller.yaml +733 -0
- package/compliance/cache/3.0.0/specialisms/creative-generative/index.yaml +746 -0
- package/compliance/cache/3.0.0/specialisms/creative-template/index.yaml +413 -0
- package/compliance/cache/3.0.0/specialisms/governance-aware-seller/index.yaml +99 -0
- package/compliance/cache/3.0.0/specialisms/governance-delivery-monitor/index.yaml +419 -0
- package/compliance/cache/3.0.0/specialisms/governance-spend-authority/denied.yaml +221 -0
- package/compliance/cache/3.0.0/specialisms/governance-spend-authority/index.yaml +330 -0
- package/compliance/cache/3.0.0/specialisms/property-lists/index.yaml +482 -0
- package/compliance/cache/3.0.0/specialisms/sales-broadcast-tv/index.yaml +664 -0
- package/compliance/cache/3.0.0/specialisms/sales-catalog-driven/index.yaml +779 -0
- package/compliance/cache/3.0.0/specialisms/sales-guaranteed/index.yaml +479 -0
- package/compliance/cache/3.0.0/specialisms/sales-non-guaranteed/index.yaml +428 -0
- package/compliance/cache/3.0.0/specialisms/sales-proposal-mode/index.yaml +520 -0
- package/compliance/cache/3.0.0/specialisms/sales-social/index.yaml +521 -0
- package/compliance/cache/3.0.0/specialisms/signal-marketplace/index.yaml +415 -0
- package/compliance/cache/3.0.0/specialisms/signal-marketplace/scenarios/governance_denied.yaml +195 -0
- package/compliance/cache/3.0.0/specialisms/signal-owned/index.yaml +316 -0
- package/compliance/cache/3.0.0/specialisms/signed-requests/index.yaml +192 -0
- package/compliance/cache/3.0.0/test-kits/acme-outdoor.yaml +210 -0
- package/compliance/cache/3.0.0/test-kits/bistro-oranje.yaml +126 -0
- package/compliance/cache/3.0.0/test-kits/nova-motors.yaml +262 -0
- package/compliance/cache/3.0.0/test-kits/osei-natural.yaml +126 -0
- package/compliance/cache/3.0.0/test-kits/signed-requests-runner.yaml +153 -0
- package/compliance/cache/3.0.0/test-kits/substitution-observer-runner.yaml +690 -0
- package/compliance/cache/3.0.0/test-kits/summit-foods.yaml +125 -0
- package/compliance/cache/3.0.0/test-kits/webhook-receiver-runner.yaml +265 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/001-minimal-plan.json +43 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/002-full-plan.json +217 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/README.md +219 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/canonicalization.json +241 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/keys.json +60 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/001-basic-post.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/003-es256-post.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/README.md +211 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/keys.json +61 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
- package/compliance/cache/3.0.0/universal/capability-discovery.yaml +125 -0
- package/compliance/cache/3.0.0/universal/deterministic-testing.yaml +1318 -0
- package/compliance/cache/3.0.0/universal/error-compliance.yaml +468 -0
- package/compliance/cache/3.0.0/universal/fictional-entities.yaml +307 -0
- package/compliance/cache/3.0.0/universal/idempotency.yaml +577 -0
- package/compliance/cache/3.0.0/universal/runner-output-contract.yaml +335 -0
- package/compliance/cache/3.0.0/universal/schema-validation.yaml +514 -0
- package/compliance/cache/3.0.0/universal/security.yaml +428 -0
- package/compliance/cache/3.0.0/universal/storyboard-schema.yaml +1010 -0
- package/compliance/cache/3.0.0/universal/webhook-emission.yaml +337 -0
- package/compliance/cache/3.0.0.previous/domains/brand/index.yaml +167 -0
- package/compliance/cache/3.0.0.previous/domains/creative/index.yaml +412 -0
- package/compliance/cache/3.0.0.previous/domains/governance/index.yaml +683 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/index.yaml +742 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/delivery_reporting.yaml +180 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/governance_approved.yaml +186 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/governance_conditions.yaml +195 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/governance_denied.yaml +189 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/governance_denied_recovery.yaml +243 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/invalid_transitions.yaml +279 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/measurement_terms_rejected.yaml +194 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/proposal_finalize.yaml +242 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/state-machine.yaml +437 -0
- package/compliance/cache/3.0.0.previous/domains/signals/index.yaml +266 -0
- package/compliance/cache/3.0.0.previous/domains/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.0.previous/index.json +324 -0
- package/compliance/cache/3.0.0.previous/protocols/brand/index.yaml +167 -0
- package/compliance/cache/3.0.0.previous/protocols/creative/index.yaml +412 -0
- package/compliance/cache/3.0.0.previous/protocols/governance/index.yaml +683 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/index.yaml +742 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/delivery_reporting.yaml +180 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/governance_approved.yaml +186 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/governance_conditions.yaml +195 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/governance_denied.yaml +189 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/governance_denied_recovery.yaml +243 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/invalid_transitions.yaml +279 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +194 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/proposal_finalize.yaml +242 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/state-machine.yaml +437 -0
- package/compliance/cache/3.0.0.previous/protocols/signals/index.yaml +266 -0
- package/compliance/cache/3.0.0.previous/protocols/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.0.previous/specialisms/audience-sync/index.yaml +280 -0
- package/compliance/cache/3.0.0.previous/specialisms/brand-rights/index.yaml +346 -0
- package/compliance/cache/3.0.0.previous/specialisms/brand-rights/scenarios/governance_denied.yaml +203 -0
- package/compliance/cache/3.0.0.previous/specialisms/collection-lists/index.yaml +359 -0
- package/compliance/cache/3.0.0.previous/specialisms/content-standards/index.yaml +572 -0
- package/compliance/cache/3.0.0.previous/specialisms/creative-ad-server/index.yaml +383 -0
- package/compliance/cache/3.0.0.previous/specialisms/creative-generative/generative-seller.yaml +733 -0
- package/compliance/cache/3.0.0.previous/specialisms/creative-generative/index.yaml +746 -0
- package/compliance/cache/3.0.0.previous/specialisms/creative-template/index.yaml +413 -0
- package/compliance/cache/3.0.0.previous/specialisms/governance-aware-seller/index.yaml +99 -0
- package/compliance/cache/3.0.0.previous/specialisms/governance-delivery-monitor/index.yaml +419 -0
- package/compliance/cache/3.0.0.previous/specialisms/governance-spend-authority/denied.yaml +221 -0
- package/compliance/cache/3.0.0.previous/specialisms/governance-spend-authority/index.yaml +330 -0
- package/compliance/cache/3.0.0.previous/specialisms/property-lists/index.yaml +482 -0
- package/compliance/cache/3.0.0.previous/specialisms/sales-broadcast-tv/index.yaml +664 -0
- package/compliance/cache/3.0.0.previous/specialisms/sales-catalog-driven/index.yaml +779 -0
- package/compliance/cache/3.0.0.previous/specialisms/sales-guaranteed/index.yaml +479 -0
- package/compliance/cache/3.0.0.previous/specialisms/sales-non-guaranteed/index.yaml +428 -0
- package/compliance/cache/3.0.0.previous/specialisms/sales-proposal-mode/index.yaml +520 -0
- package/compliance/cache/3.0.0.previous/specialisms/sales-social/index.yaml +521 -0
- package/compliance/cache/3.0.0.previous/specialisms/signal-marketplace/index.yaml +415 -0
- package/compliance/cache/3.0.0.previous/specialisms/signal-marketplace/scenarios/governance_denied.yaml +195 -0
- package/compliance/cache/3.0.0.previous/specialisms/signal-owned/index.yaml +316 -0
- package/compliance/cache/3.0.0.previous/specialisms/signed-requests/index.yaml +192 -0
- package/compliance/cache/3.0.0.previous/test-kits/acme-outdoor.yaml +210 -0
- package/compliance/cache/3.0.0.previous/test-kits/bistro-oranje.yaml +126 -0
- package/compliance/cache/3.0.0.previous/test-kits/nova-motors.yaml +262 -0
- package/compliance/cache/3.0.0.previous/test-kits/osei-natural.yaml +126 -0
- package/compliance/cache/3.0.0.previous/test-kits/signed-requests-runner.yaml +153 -0
- package/compliance/cache/3.0.0.previous/test-kits/substitution-observer-runner.yaml +690 -0
- package/compliance/cache/3.0.0.previous/test-kits/summit-foods.yaml +125 -0
- package/compliance/cache/3.0.0.previous/test-kits/webhook-receiver-runner.yaml +265 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/001-minimal-plan.json +43 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/002-full-plan.json +217 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/README.md +219 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/canonicalization.json +241 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/keys.json +60 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/001-basic-post.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/003-es256-post.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/README.md +211 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/keys.json +61 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
- package/compliance/cache/3.0.0.previous/universal/capability-discovery.yaml +125 -0
- package/compliance/cache/3.0.0.previous/universal/deterministic-testing.yaml +1318 -0
- package/compliance/cache/3.0.0.previous/universal/error-compliance.yaml +468 -0
- package/compliance/cache/3.0.0.previous/universal/fictional-entities.yaml +307 -0
- package/compliance/cache/3.0.0.previous/universal/idempotency.yaml +577 -0
- package/compliance/cache/3.0.0.previous/universal/runner-output-contract.yaml +335 -0
- package/compliance/cache/3.0.0.previous/universal/schema-validation.yaml +514 -0
- package/compliance/cache/3.0.0.previous/universal/security.yaml +428 -0
- package/compliance/cache/3.0.0.previous/universal/storyboard-schema.yaml +1010 -0
- package/compliance/cache/3.0.0.previous/universal/webhook-emission.yaml +337 -0
- package/compliance/cache/3.0.1/domains/brand/index.yaml +163 -0
- package/compliance/cache/3.0.1/domains/creative/index.yaml +412 -0
- package/compliance/cache/3.0.1/domains/governance/index.yaml +683 -0
- package/compliance/cache/3.0.1/domains/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.1/domains/media-buy/index.yaml +769 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/create_media_buy_async.yaml +232 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/delivery_reporting.yaml +205 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/governance_approved.yaml +211 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/governance_conditions.yaml +196 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/governance_denied.yaml +192 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/invalid_transitions.yaml +284 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/proposal_finalize.yaml +243 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.1/domains/media-buy/state-machine.yaml +442 -0
- package/compliance/cache/3.0.1/domains/signals/index.yaml +266 -0
- package/compliance/cache/3.0.1/domains/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.1/index.json +324 -0
- package/compliance/cache/3.0.1/protocols/brand/index.yaml +163 -0
- package/compliance/cache/3.0.1/protocols/creative/index.yaml +412 -0
- package/compliance/cache/3.0.1/protocols/governance/index.yaml +683 -0
- package/compliance/cache/3.0.1/protocols/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.1/protocols/media-buy/index.yaml +769 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/create_media_buy_async.yaml +232 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/delivery_reporting.yaml +205 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/governance_approved.yaml +211 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/governance_conditions.yaml +196 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/governance_denied.yaml +192 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/invalid_transitions.yaml +284 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/proposal_finalize.yaml +243 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.1/protocols/media-buy/state-machine.yaml +442 -0
- package/compliance/cache/3.0.1/protocols/signals/index.yaml +266 -0
- package/compliance/cache/3.0.1/protocols/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.1/specialisms/audience-sync/index.yaml +280 -0
- package/compliance/cache/3.0.1/specialisms/brand-rights/index.yaml +350 -0
- package/compliance/cache/3.0.1/specialisms/brand-rights/scenarios/governance_denied.yaml +204 -0
- package/compliance/cache/3.0.1/specialisms/collection-lists/index.yaml +359 -0
- package/compliance/cache/3.0.1/specialisms/content-standards/index.yaml +572 -0
- package/compliance/cache/3.0.1/specialisms/creative-ad-server/index.yaml +383 -0
- package/compliance/cache/3.0.1/specialisms/creative-generative/generative-seller.yaml +758 -0
- package/compliance/cache/3.0.1/specialisms/creative-generative/index.yaml +746 -0
- package/compliance/cache/3.0.1/specialisms/creative-template/index.yaml +413 -0
- package/compliance/cache/3.0.1/specialisms/governance-aware-seller/index.yaml +136 -0
- package/compliance/cache/3.0.1/specialisms/governance-delivery-monitor/index.yaml +441 -0
- package/compliance/cache/3.0.1/specialisms/governance-spend-authority/denied.yaml +221 -0
- package/compliance/cache/3.0.1/specialisms/governance-spend-authority/index.yaml +330 -0
- package/compliance/cache/3.0.1/specialisms/property-lists/index.yaml +482 -0
- package/compliance/cache/3.0.1/specialisms/sales-broadcast-tv/index.yaml +689 -0
- package/compliance/cache/3.0.1/specialisms/sales-catalog-driven/index.yaml +779 -0
- package/compliance/cache/3.0.1/specialisms/sales-guaranteed/index.yaml +504 -0
- package/compliance/cache/3.0.1/specialisms/sales-non-guaranteed/index.yaml +428 -0
- package/compliance/cache/3.0.1/specialisms/sales-proposal-mode/index.yaml +520 -0
- package/compliance/cache/3.0.1/specialisms/sales-social/index.yaml +577 -0
- package/compliance/cache/3.0.1/specialisms/signal-marketplace/index.yaml +415 -0
- package/compliance/cache/3.0.1/specialisms/signal-marketplace/scenarios/governance_denied.yaml +207 -0
- package/compliance/cache/3.0.1/specialisms/signal-owned/index.yaml +316 -0
- package/compliance/cache/3.0.1/test-kits/acme-outdoor.yaml +210 -0
- package/compliance/cache/3.0.1/test-kits/bistro-oranje.yaml +126 -0
- package/compliance/cache/3.0.1/test-kits/nova-motors.yaml +262 -0
- package/compliance/cache/3.0.1/test-kits/osei-natural.yaml +126 -0
- package/compliance/cache/3.0.1/test-kits/signed-requests-runner.yaml +155 -0
- package/compliance/cache/3.0.1/test-kits/substitution-observer-runner.yaml +690 -0
- package/compliance/cache/3.0.1/test-kits/summit-foods.yaml +125 -0
- package/compliance/cache/3.0.1/test-kits/webhook-receiver-runner.yaml +265 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/001-minimal-plan.json +43 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/002-full-plan.json +217 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/README.md +219 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/canonicalization.json +241 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/keys.json +60 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/001-basic-post.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/003-es256-post.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/README.md +211 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/keys.json +61 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
- package/compliance/cache/3.0.1/universal/capability-discovery.yaml +125 -0
- package/compliance/cache/3.0.1/universal/collection-lists-pagination-integrity.yaml +306 -0
- package/compliance/cache/3.0.1/universal/content-standards-pagination-integrity.yaml +326 -0
- package/compliance/cache/3.0.1/universal/deterministic-testing.yaml +1343 -0
- package/compliance/cache/3.0.1/universal/error-compliance.yaml +474 -0
- package/compliance/cache/3.0.1/universal/fictional-entities.yaml +307 -0
- package/compliance/cache/3.0.1/universal/get-media-buys-pagination-integrity.yaml +160 -0
- package/compliance/cache/3.0.1/universal/get-signals-pagination-integrity.yaml +211 -0
- package/compliance/cache/3.0.1/universal/idempotency.yaml +593 -0
- package/compliance/cache/3.0.1/universal/pagination-integrity-creative-formats.yaml +258 -0
- package/compliance/cache/3.0.1/universal/pagination-integrity-list-accounts.yaml +262 -0
- package/compliance/cache/3.0.1/universal/pagination-integrity.yaml +263 -0
- package/compliance/cache/3.0.1/universal/property-lists-pagination-integrity.yaml +307 -0
- package/compliance/cache/3.0.1/universal/runner-output-contract.yaml +339 -0
- package/compliance/cache/3.0.1/universal/schema-validation.yaml +526 -0
- package/compliance/cache/3.0.1/universal/security.yaml +431 -0
- package/compliance/cache/3.0.1/universal/signed-requests.yaml +205 -0
- package/compliance/cache/3.0.1/universal/storyboard-schema.yaml +1056 -0
- package/compliance/cache/3.0.1/universal/v3-envelope-integrity.yaml +104 -0
- package/compliance/cache/3.0.1/universal/webhook-emission.yaml +337 -0
- package/compliance/cache/3.0.1.previous/domains/brand/index.yaml +163 -0
- package/compliance/cache/3.0.1.previous/domains/creative/index.yaml +412 -0
- package/compliance/cache/3.0.1.previous/domains/governance/index.yaml +683 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/index.yaml +769 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/create_media_buy_async.yaml +232 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/delivery_reporting.yaml +205 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/governance_approved.yaml +211 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/governance_conditions.yaml +196 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/governance_denied.yaml +192 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/invalid_transitions.yaml +284 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/proposal_finalize.yaml +243 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/state-machine.yaml +442 -0
- package/compliance/cache/3.0.1.previous/domains/signals/index.yaml +266 -0
- package/compliance/cache/3.0.1.previous/domains/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.1.previous/index.json +324 -0
- package/compliance/cache/3.0.1.previous/protocols/brand/index.yaml +163 -0
- package/compliance/cache/3.0.1.previous/protocols/creative/index.yaml +412 -0
- package/compliance/cache/3.0.1.previous/protocols/governance/index.yaml +683 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/index.yaml +769 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/create_media_buy_async.yaml +232 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/delivery_reporting.yaml +205 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/governance_approved.yaml +211 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/governance_conditions.yaml +196 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/governance_denied.yaml +192 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/invalid_transitions.yaml +284 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/proposal_finalize.yaml +243 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/state-machine.yaml +442 -0
- package/compliance/cache/3.0.1.previous/protocols/signals/index.yaml +266 -0
- package/compliance/cache/3.0.1.previous/protocols/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.1.previous/specialisms/audience-sync/index.yaml +280 -0
- package/compliance/cache/3.0.1.previous/specialisms/brand-rights/index.yaml +350 -0
- package/compliance/cache/3.0.1.previous/specialisms/brand-rights/scenarios/governance_denied.yaml +204 -0
- package/compliance/cache/3.0.1.previous/specialisms/collection-lists/index.yaml +359 -0
- package/compliance/cache/3.0.1.previous/specialisms/content-standards/index.yaml +572 -0
- package/compliance/cache/3.0.1.previous/specialisms/creative-ad-server/index.yaml +383 -0
- package/compliance/cache/3.0.1.previous/specialisms/creative-generative/generative-seller.yaml +758 -0
- package/compliance/cache/3.0.1.previous/specialisms/creative-generative/index.yaml +746 -0
- package/compliance/cache/3.0.1.previous/specialisms/creative-template/index.yaml +413 -0
- package/compliance/cache/3.0.1.previous/specialisms/governance-aware-seller/index.yaml +136 -0
- package/compliance/cache/3.0.1.previous/specialisms/governance-delivery-monitor/index.yaml +441 -0
- package/compliance/cache/3.0.1.previous/specialisms/governance-spend-authority/denied.yaml +221 -0
- package/compliance/cache/3.0.1.previous/specialisms/governance-spend-authority/index.yaml +330 -0
- package/compliance/cache/3.0.1.previous/specialisms/property-lists/index.yaml +482 -0
- package/compliance/cache/3.0.1.previous/specialisms/sales-broadcast-tv/index.yaml +689 -0
- package/compliance/cache/3.0.1.previous/specialisms/sales-catalog-driven/index.yaml +779 -0
- package/compliance/cache/3.0.1.previous/specialisms/sales-guaranteed/index.yaml +504 -0
- package/compliance/cache/3.0.1.previous/specialisms/sales-non-guaranteed/index.yaml +428 -0
- package/compliance/cache/3.0.1.previous/specialisms/sales-proposal-mode/index.yaml +520 -0
- package/compliance/cache/3.0.1.previous/specialisms/sales-social/index.yaml +577 -0
- package/compliance/cache/3.0.1.previous/specialisms/signal-marketplace/index.yaml +415 -0
- package/compliance/cache/3.0.1.previous/specialisms/signal-marketplace/scenarios/governance_denied.yaml +207 -0
- package/compliance/cache/3.0.1.previous/specialisms/signal-owned/index.yaml +316 -0
- package/compliance/cache/3.0.1.previous/test-kits/acme-outdoor.yaml +210 -0
- package/compliance/cache/3.0.1.previous/test-kits/bistro-oranje.yaml +126 -0
- package/compliance/cache/3.0.1.previous/test-kits/nova-motors.yaml +262 -0
- package/compliance/cache/3.0.1.previous/test-kits/osei-natural.yaml +126 -0
- package/compliance/cache/3.0.1.previous/test-kits/signed-requests-runner.yaml +155 -0
- package/compliance/cache/3.0.1.previous/test-kits/substitution-observer-runner.yaml +690 -0
- package/compliance/cache/3.0.1.previous/test-kits/summit-foods.yaml +125 -0
- package/compliance/cache/3.0.1.previous/test-kits/webhook-receiver-runner.yaml +265 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/001-minimal-plan.json +43 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/002-full-plan.json +217 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/README.md +219 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/canonicalization.json +241 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/keys.json +60 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/001-basic-post.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/003-es256-post.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/README.md +211 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/keys.json +61 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
- package/compliance/cache/3.0.1.previous/universal/capability-discovery.yaml +125 -0
- package/compliance/cache/3.0.1.previous/universal/collection-lists-pagination-integrity.yaml +306 -0
- package/compliance/cache/3.0.1.previous/universal/content-standards-pagination-integrity.yaml +326 -0
- package/compliance/cache/3.0.1.previous/universal/deterministic-testing.yaml +1343 -0
- package/compliance/cache/3.0.1.previous/universal/error-compliance.yaml +474 -0
- package/compliance/cache/3.0.1.previous/universal/fictional-entities.yaml +307 -0
- package/compliance/cache/3.0.1.previous/universal/get-media-buys-pagination-integrity.yaml +160 -0
- package/compliance/cache/3.0.1.previous/universal/get-signals-pagination-integrity.yaml +211 -0
- package/compliance/cache/3.0.1.previous/universal/idempotency.yaml +593 -0
- package/compliance/cache/3.0.1.previous/universal/pagination-integrity-creative-formats.yaml +258 -0
- package/compliance/cache/3.0.1.previous/universal/pagination-integrity-list-accounts.yaml +262 -0
- package/compliance/cache/3.0.1.previous/universal/pagination-integrity.yaml +263 -0
- package/compliance/cache/3.0.1.previous/universal/property-lists-pagination-integrity.yaml +307 -0
- package/compliance/cache/3.0.1.previous/universal/runner-output-contract.yaml +339 -0
- package/compliance/cache/3.0.1.previous/universal/schema-validation.yaml +526 -0
- package/compliance/cache/3.0.1.previous/universal/security.yaml +431 -0
- package/compliance/cache/3.0.1.previous/universal/signed-requests.yaml +205 -0
- package/compliance/cache/3.0.1.previous/universal/storyboard-schema.yaml +1056 -0
- package/compliance/cache/3.0.1.previous/universal/v3-envelope-integrity.yaml +104 -0
- package/compliance/cache/3.0.1.previous/universal/webhook-emission.yaml +337 -0
- package/dist/lib/adapters/content-standards-adapter.d.ts +106 -0
- package/dist/lib/adapters/content-standards-adapter.d.ts.map +1 -0
- package/dist/lib/adapters/content-standards-adapter.js +201 -0
- package/dist/lib/adapters/content-standards-adapter.js.map +1 -0
- package/dist/lib/adapters/governance-adapter.d.ts +88 -0
- package/dist/lib/adapters/governance-adapter.d.ts.map +1 -0
- package/dist/lib/adapters/governance-adapter.js +93 -0
- package/dist/lib/adapters/governance-adapter.js.map +1 -0
- package/dist/lib/adapters/index.d.ts +19 -0
- package/dist/lib/adapters/index.d.ts.map +1 -0
- package/dist/lib/adapters/index.js +47 -0
- package/dist/lib/adapters/index.js.map +1 -0
- package/dist/lib/adapters/property-list-adapter.d.ts +123 -0
- package/dist/lib/adapters/property-list-adapter.d.ts.map +1 -0
- package/dist/lib/adapters/property-list-adapter.js +231 -0
- package/dist/lib/adapters/property-list-adapter.js.map +1 -0
- package/dist/lib/adapters/proposal-manager.d.ts +142 -0
- package/dist/lib/adapters/proposal-manager.d.ts.map +1 -0
- package/dist/lib/adapters/proposal-manager.js +184 -0
- package/dist/lib/adapters/proposal-manager.js.map +1 -0
- package/dist/lib/adapters/si-session-manager.d.ts +164 -0
- package/dist/lib/adapters/si-session-manager.d.ts.map +1 -0
- package/dist/lib/adapters/si-session-manager.js +330 -0
- package/dist/lib/adapters/si-session-manager.js.map +1 -0
- package/dist/lib/advanced.d.ts +41 -0
- package/dist/lib/advanced.d.ts.map +1 -0
- package/dist/lib/advanced.js +49 -0
- package/dist/lib/advanced.js.map +1 -0
- package/dist/lib/agents/index.generated.d.ts +397 -0
- package/dist/lib/agents/index.generated.d.ts.map +1 -0
- package/dist/lib/agents/index.generated.js +624 -0
- package/dist/lib/agents/index.generated.js.map +1 -0
- package/dist/lib/auth/index.d.ts +39 -0
- package/dist/lib/auth/index.d.ts.map +1 -0
- package/dist/lib/auth/index.js +100 -0
- package/dist/lib/auth/index.js.map +1 -0
- package/dist/lib/auth/oauth/CLIFlowHandler.d.ts +61 -0
- package/dist/lib/auth/oauth/CLIFlowHandler.d.ts.map +1 -0
- package/dist/lib/auth/oauth/CLIFlowHandler.js +287 -0
- package/dist/lib/auth/oauth/CLIFlowHandler.js.map +1 -0
- package/dist/lib/auth/oauth/ClientCredentialsFlow.d.ts +134 -0
- package/dist/lib/auth/oauth/ClientCredentialsFlow.d.ts.map +1 -0
- package/dist/lib/auth/oauth/ClientCredentialsFlow.js +325 -0
- package/dist/lib/auth/oauth/ClientCredentialsFlow.js.map +1 -0
- package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts +136 -0
- package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts.map +1 -0
- package/dist/lib/auth/oauth/MCPOAuthProvider.js +255 -0
- package/dist/lib/auth/oauth/MCPOAuthProvider.js.map +1 -0
- package/dist/lib/auth/oauth/NonInteractiveFlowHandler.d.ts +37 -0
- package/dist/lib/auth/oauth/NonInteractiveFlowHandler.d.ts.map +1 -0
- package/dist/lib/auth/oauth/NonInteractiveFlowHandler.js +30 -0
- package/dist/lib/auth/oauth/NonInteractiveFlowHandler.js.map +1 -0
- package/dist/lib/auth/oauth/authorization-required.d.ts +112 -0
- package/dist/lib/auth/oauth/authorization-required.d.ts.map +1 -0
- package/dist/lib/auth/oauth/authorization-required.js +363 -0
- package/dist/lib/auth/oauth/authorization-required.js.map +1 -0
- package/dist/lib/auth/oauth/diagnose.d.ts +101 -0
- package/dist/lib/auth/oauth/diagnose.d.ts.map +1 -0
- package/dist/lib/auth/oauth/diagnose.js +630 -0
- package/dist/lib/auth/oauth/diagnose.js.map +1 -0
- package/dist/lib/auth/oauth/diagnostics.d.ts +129 -0
- package/dist/lib/auth/oauth/diagnostics.d.ts.map +1 -0
- package/dist/lib/auth/oauth/diagnostics.js +207 -0
- package/dist/lib/auth/oauth/diagnostics.js.map +1 -0
- package/dist/lib/auth/oauth/discovery.d.ts +96 -0
- package/dist/lib/auth/oauth/discovery.d.ts.map +1 -0
- package/dist/lib/auth/oauth/discovery.js +119 -0
- package/dist/lib/auth/oauth/discovery.js.map +1 -0
- package/dist/lib/auth/oauth/file-storage.d.ts +40 -0
- package/dist/lib/auth/oauth/file-storage.d.ts.map +1 -0
- package/dist/lib/auth/oauth/file-storage.js +112 -0
- package/dist/lib/auth/oauth/file-storage.js.map +1 -0
- package/dist/lib/auth/oauth/index.d.ts +133 -0
- package/dist/lib/auth/oauth/index.d.ts.map +1 -0
- package/dist/lib/auth/oauth/index.js +246 -0
- package/dist/lib/auth/oauth/index.js.map +1 -0
- package/dist/lib/auth/oauth/secret-resolver.d.ts +54 -0
- package/dist/lib/auth/oauth/secret-resolver.d.ts.map +1 -0
- package/dist/lib/auth/oauth/secret-resolver.js +96 -0
- package/dist/lib/auth/oauth/secret-resolver.js.map +1 -0
- package/dist/lib/auth/oauth/storage-registry.d.ts +44 -0
- package/dist/lib/auth/oauth/storage-registry.d.ts.map +1 -0
- package/dist/lib/auth/oauth/storage-registry.js +33 -0
- package/dist/lib/auth/oauth/storage-registry.js.map +1 -0
- package/dist/lib/auth/oauth/types.d.ts +114 -0
- package/dist/lib/auth/oauth/types.d.ts.map +1 -0
- package/dist/lib/auth/oauth/types.js +104 -0
- package/dist/lib/auth/oauth/types.js.map +1 -0
- package/dist/lib/client/index.d.ts +2 -0
- package/dist/lib/client/index.d.ts.map +1 -0
- package/dist/lib/client/index.js +26 -0
- package/dist/lib/client/index.js.map +1 -0
- package/dist/lib/compliance/index.d.ts +5 -0
- package/dist/lib/compliance/index.d.ts.map +1 -0
- package/dist/lib/compliance/index.js +52 -0
- package/dist/lib/compliance/index.js.map +1 -0
- package/dist/lib/compliance-fixtures/index.d.ts +167 -0
- package/dist/lib/compliance-fixtures/index.d.ts.map +1 -0
- package/dist/lib/compliance-fixtures/index.js +218 -0
- package/dist/lib/compliance-fixtures/index.js.map +1 -0
- package/dist/lib/compliance-fixtures/test-authorization-server.d.ts +88 -0
- package/dist/lib/compliance-fixtures/test-authorization-server.d.ts.map +1 -0
- package/dist/lib/compliance-fixtures/test-authorization-server.js +252 -0
- package/dist/lib/compliance-fixtures/test-authorization-server.js.map +1 -0
- package/dist/lib/conformance/index.d.ts +26 -0
- package/dist/lib/conformance/index.d.ts.map +1 -0
- package/dist/lib/conformance/index.js +34 -0
- package/dist/lib/conformance/index.js.map +1 -0
- package/dist/lib/conformance/invariants/uniformError.d.ts +45 -0
- package/dist/lib/conformance/invariants/uniformError.d.ts.map +1 -0
- package/dist/lib/conformance/invariants/uniformError.js +179 -0
- package/dist/lib/conformance/invariants/uniformError.js.map +1 -0
- package/dist/lib/conformance/invariants/uniformErrorComparator.d.ts +8 -0
- package/dist/lib/conformance/invariants/uniformErrorComparator.d.ts.map +1 -0
- package/dist/lib/conformance/invariants/uniformErrorComparator.js +488 -0
- package/dist/lib/conformance/invariants/uniformErrorComparator.js.map +1 -0
- package/dist/lib/conformance/oracle.d.ts +36 -0
- package/dist/lib/conformance/oracle.d.ts.map +1 -0
- package/dist/lib/conformance/oracle.js +267 -0
- package/dist/lib/conformance/oracle.js.map +1 -0
- package/dist/lib/conformance/runConformance.d.ts +17 -0
- package/dist/lib/conformance/runConformance.d.ts.map +1 -0
- package/dist/lib/conformance/runConformance.js +174 -0
- package/dist/lib/conformance/runConformance.js.map +1 -0
- package/dist/lib/conformance/runners.d.ts +27 -0
- package/dist/lib/conformance/runners.d.ts.map +1 -0
- package/dist/lib/conformance/runners.js +159 -0
- package/dist/lib/conformance/runners.js.map +1 -0
- package/dist/lib/conformance/schemaArbitrary.d.ts +39 -0
- package/dist/lib/conformance/schemaArbitrary.d.ts.map +1 -0
- package/dist/lib/conformance/schemaArbitrary.js +382 -0
- package/dist/lib/conformance/schemaArbitrary.js.map +1 -0
- package/dist/lib/conformance/schemaLoader.d.ts +12 -0
- package/dist/lib/conformance/schemaLoader.d.ts.map +1 -0
- package/dist/lib/conformance/schemaLoader.js +122 -0
- package/dist/lib/conformance/schemaLoader.js.map +1 -0
- package/dist/lib/conformance/seeder.d.ts +51 -0
- package/dist/lib/conformance/seeder.d.ts.map +1 -0
- package/dist/lib/conformance/seeder.js +341 -0
- package/dist/lib/conformance/seeder.js.map +1 -0
- package/dist/lib/conformance/types.d.ts +201 -0
- package/dist/lib/conformance/types.d.ts.map +1 -0
- package/dist/lib/conformance/types.js +56 -0
- package/dist/lib/conformance/types.js.map +1 -0
- package/dist/lib/core/ADCPMultiAgentClient.d.ts +624 -0
- package/dist/lib/core/ADCPMultiAgentClient.d.ts.map +1 -0
- package/dist/lib/core/ADCPMultiAgentClient.js +908 -0
- package/dist/lib/core/ADCPMultiAgentClient.js.map +1 -0
- package/dist/lib/core/AgentClient.d.ts +517 -0
- package/dist/lib/core/AgentClient.d.ts.map +1 -0
- package/dist/lib/core/AgentClient.js +784 -0
- package/dist/lib/core/AgentClient.js.map +1 -0
- package/dist/lib/core/AsyncHandler.d.ts +210 -0
- package/dist/lib/core/AsyncHandler.d.ts.map +1 -0
- package/dist/lib/core/AsyncHandler.js +182 -0
- package/dist/lib/core/AsyncHandler.js.map +1 -0
- package/dist/lib/core/ConfigurationManager.d.ts +79 -0
- package/dist/lib/core/ConfigurationManager.d.ts.map +1 -0
- package/dist/lib/core/ConfigurationManager.js +249 -0
- package/dist/lib/core/ConfigurationManager.js.map +1 -0
- package/dist/lib/core/ConversationTypes.d.ts +422 -0
- package/dist/lib/core/ConversationTypes.d.ts.map +1 -0
- package/dist/lib/core/ConversationTypes.js +5 -0
- package/dist/lib/core/ConversationTypes.js.map +1 -0
- package/dist/lib/core/CreativeAgentClient.d.ts +144 -0
- package/dist/lib/core/CreativeAgentClient.d.ts.map +1 -0
- package/dist/lib/core/CreativeAgentClient.js +169 -0
- package/dist/lib/core/CreativeAgentClient.js.map +1 -0
- package/dist/lib/core/GovernanceMiddleware.d.ts +93 -0
- package/dist/lib/core/GovernanceMiddleware.d.ts.map +1 -0
- package/dist/lib/core/GovernanceMiddleware.js +306 -0
- package/dist/lib/core/GovernanceMiddleware.js.map +1 -0
- package/dist/lib/core/GovernanceTypes.d.ts +116 -0
- package/dist/lib/core/GovernanceTypes.d.ts.map +1 -0
- package/dist/lib/core/GovernanceTypes.js +60 -0
- package/dist/lib/core/GovernanceTypes.js.map +1 -0
- package/dist/lib/core/ProtocolResponseParser.d.ts +80 -0
- package/dist/lib/core/ProtocolResponseParser.d.ts.map +1 -0
- package/dist/lib/core/ProtocolResponseParser.js +367 -0
- package/dist/lib/core/ProtocolResponseParser.js.map +1 -0
- package/dist/lib/core/ResponseValidator.d.ts +68 -0
- package/dist/lib/core/ResponseValidator.d.ts.map +1 -0
- package/dist/lib/core/ResponseValidator.js +283 -0
- package/dist/lib/core/ResponseValidator.js.map +1 -0
- package/dist/lib/core/SingleAgentClient.d.ts +1065 -0
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -0
- package/dist/lib/core/SingleAgentClient.js +2134 -0
- package/dist/lib/core/SingleAgentClient.js.map +1 -0
- package/dist/lib/core/TaskEventTypes.d.ts +220 -0
- package/dist/lib/core/TaskEventTypes.d.ts.map +1 -0
- package/dist/lib/core/TaskEventTypes.js +80 -0
- package/dist/lib/core/TaskEventTypes.js.map +1 -0
- package/dist/lib/core/TaskExecutor.d.ts +245 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -0
- package/dist/lib/core/TaskExecutor.js +1452 -0
- package/dist/lib/core/TaskExecutor.js.map +1 -0
- package/dist/lib/core/match.d.ts +84 -0
- package/dist/lib/core/match.d.ts.map +1 -0
- package/dist/lib/core/match.js +47 -0
- package/dist/lib/core/match.js.map +1 -0
- package/dist/lib/discovery/network-consistency-checker.d.ts +111 -0
- package/dist/lib/discovery/network-consistency-checker.d.ts.map +1 -0
- package/dist/lib/discovery/network-consistency-checker.js +541 -0
- package/dist/lib/discovery/network-consistency-checker.js.map +1 -0
- package/dist/lib/discovery/property-crawler.d.ts +91 -0
- package/dist/lib/discovery/property-crawler.d.ts.map +1 -0
- package/dist/lib/discovery/property-crawler.js +290 -0
- package/dist/lib/discovery/property-crawler.js.map +1 -0
- package/dist/lib/discovery/property-index.d.ts +68 -0
- package/dist/lib/discovery/property-index.d.ts.map +1 -0
- package/dist/lib/discovery/property-index.js +163 -0
- package/dist/lib/discovery/property-index.js.map +1 -0
- package/dist/lib/discovery/types.d.ts +42 -0
- package/dist/lib/discovery/types.d.ts.map +1 -0
- package/dist/lib/discovery/types.js +7 -0
- package/dist/lib/discovery/types.js.map +1 -0
- package/dist/lib/errors/index.d.ts +284 -0
- package/dist/lib/errors/index.d.ts.map +1 -0
- package/dist/lib/errors/index.js +446 -0
- package/dist/lib/errors/index.js.map +1 -0
- package/dist/lib/express-mcp/index.d.ts +62 -0
- package/dist/lib/express-mcp/index.d.ts.map +1 -0
- package/dist/lib/express-mcp/index.js +118 -0
- package/dist/lib/express-mcp/index.js.map +1 -0
- package/dist/lib/governance/index.d.ts +149 -0
- package/dist/lib/governance/index.d.ts.map +1 -0
- package/dist/lib/governance/index.js +171 -0
- package/dist/lib/governance/index.js.map +1 -0
- package/dist/lib/handlers/types.d.ts +119 -0
- package/dist/lib/handlers/types.d.ts.map +1 -0
- package/dist/lib/handlers/types.js +239 -0
- package/dist/lib/handlers/types.js.map +1 -0
- package/dist/lib/index.d.ts +118 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +689 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/net/address-guards.d.ts +34 -0
- package/dist/lib/net/address-guards.d.ts.map +1 -0
- package/dist/lib/net/address-guards.js +132 -0
- package/dist/lib/net/address-guards.js.map +1 -0
- package/dist/lib/net/index.d.ts +8 -0
- package/dist/lib/net/index.d.ts.map +1 -0
- package/dist/lib/net/index.js +17 -0
- package/dist/lib/net/index.js.map +1 -0
- package/dist/lib/net/ssrf-fetch.d.ts +56 -0
- package/dist/lib/net/ssrf-fetch.d.ts.map +1 -0
- package/dist/lib/net/ssrf-fetch.js +199 -0
- package/dist/lib/net/ssrf-fetch.js.map +1 -0
- package/dist/lib/observability/index.d.ts +8 -0
- package/dist/lib/observability/index.d.ts.map +1 -0
- package/dist/lib/observability/index.js +17 -0
- package/dist/lib/observability/index.js.map +1 -0
- package/dist/lib/observability/tracing.d.ts +42 -0
- package/dist/lib/observability/tracing.d.ts.map +1 -0
- package/dist/lib/observability/tracing.js +126 -0
- package/dist/lib/observability/tracing.js.map +1 -0
- package/dist/lib/protocols/a2a.d.ts +23 -0
- package/dist/lib/protocols/a2a.d.ts.map +1 -0
- package/dist/lib/protocols/a2a.js +268 -0
- package/dist/lib/protocols/a2a.js.map +1 -0
- package/dist/lib/protocols/index.d.ts +43 -0
- package/dist/lib/protocols/index.d.ts.map +1 -0
- package/dist/lib/protocols/index.js +264 -0
- package/dist/lib/protocols/index.js.map +1 -0
- package/dist/lib/protocols/mcp-tasks.d.ts +79 -0
- package/dist/lib/protocols/mcp-tasks.d.ts.map +1 -0
- package/dist/lib/protocols/mcp-tasks.js +407 -0
- package/dist/lib/protocols/mcp-tasks.js.map +1 -0
- package/dist/lib/protocols/mcp.d.ts +124 -0
- package/dist/lib/protocols/mcp.d.ts.map +1 -0
- package/dist/lib/protocols/mcp.js +564 -0
- package/dist/lib/protocols/mcp.js.map +1 -0
- package/dist/lib/protocols/rawResponseCapture.d.ts +44 -0
- package/dist/lib/protocols/rawResponseCapture.d.ts.map +1 -0
- package/dist/lib/protocols/rawResponseCapture.js +147 -0
- package/dist/lib/protocols/rawResponseCapture.js.map +1 -0
- package/dist/lib/registry/cursor-store.d.ts +19 -0
- package/dist/lib/registry/cursor-store.d.ts.map +1 -0
- package/dist/lib/registry/cursor-store.js +44 -0
- package/dist/lib/registry/cursor-store.js.map +1 -0
- package/dist/lib/registry/index.d.ts +278 -0
- package/dist/lib/registry/index.d.ts.map +1 -0
- package/dist/lib/registry/index.js +652 -0
- package/dist/lib/registry/index.js.map +1 -0
- package/dist/lib/registry/property-registry.d.ts +57 -0
- package/dist/lib/registry/property-registry.d.ts.map +1 -0
- package/dist/lib/registry/property-registry.js +92 -0
- package/dist/lib/registry/property-registry.js.map +1 -0
- package/dist/lib/registry/sync.d.ts +139 -0
- package/dist/lib/registry/sync.d.ts.map +1 -0
- package/dist/lib/registry/sync.js +390 -0
- package/dist/lib/registry/sync.js.map +1 -0
- package/dist/lib/registry/types.d.ts +112 -0
- package/dist/lib/registry/types.d.ts.map +1 -0
- package/dist/lib/registry/types.generated.d.ts +5680 -0
- package/dist/lib/registry/types.generated.d.ts.map +1 -0
- package/dist/lib/registry/types.generated.js +8 -0
- package/dist/lib/registry/types.generated.js.map +1 -0
- package/dist/lib/registry/types.js +9 -0
- package/dist/lib/registry/types.js.map +1 -0
- package/dist/lib/schemas/index.d.ts +76 -0
- package/dist/lib/schemas/index.d.ts.map +1 -0
- package/dist/lib/schemas/index.js +133 -0
- package/dist/lib/schemas/index.js.map +1 -0
- package/dist/lib/schemas-data/3.0.1/a2ui/bound-value.json +81 -0
- package/dist/lib/schemas-data/3.0.1/a2ui/component.json +32 -0
- package/dist/lib/schemas-data/3.0.1/a2ui/si-catalog.json +427 -0
- package/dist/lib/schemas-data/3.0.1/a2ui/surface.json +39 -0
- package/dist/lib/schemas-data/3.0.1/a2ui/user-action.json +47 -0
- package/dist/lib/schemas-data/3.0.1/account/get-account-financials-request.json +70 -0
- package/dist/lib/schemas-data/3.0.1/account/get-account-financials-response.json +320 -0
- package/dist/lib/schemas-data/3.0.1/account/list-accounts-request.json +42 -0
- package/dist/lib/schemas-data/3.0.1/account/list-accounts-response.json +108 -0
- package/dist/lib/schemas-data/3.0.1/account/report-usage-request.json +168 -0
- package/dist/lib/schemas-data/3.0.1/account/report-usage-response.json +56 -0
- package/dist/lib/schemas-data/3.0.1/account/sync-accounts-request.json +201 -0
- package/dist/lib/schemas-data/3.0.1/account/sync-accounts-response.json +346 -0
- package/dist/lib/schemas-data/3.0.1/account/sync-governance-request.json +170 -0
- package/dist/lib/schemas-data/3.0.1/account/sync-governance-response.json +193 -0
- package/dist/lib/schemas-data/3.0.1/adagents.json +1225 -0
- package/dist/lib/schemas-data/3.0.1/brand/acquire-rights-request.json +114 -0
- package/dist/lib/schemas-data/3.0.1/brand/acquire-rights-response.json +220 -0
- package/dist/lib/schemas-data/3.0.1/brand/creative-approval-request.json +63 -0
- package/dist/lib/schemas-data/3.0.1/brand/creative-approval-response.json +189 -0
- package/dist/lib/schemas-data/3.0.1/brand/get-brand-identity-request.json +56 -0
- package/dist/lib/schemas-data/3.0.1/brand/get-brand-identity-response.json +585 -0
- package/dist/lib/schemas-data/3.0.1/brand/get-rights-request.json +70 -0
- package/dist/lib/schemas-data/3.0.1/brand/get-rights-response.json +220 -0
- package/dist/lib/schemas-data/3.0.1/brand/revocation-notification.json +57 -0
- package/dist/lib/schemas-data/3.0.1/brand/rights-pricing-option.json +65 -0
- package/dist/lib/schemas-data/3.0.1/brand/rights-terms.json +70 -0
- package/dist/lib/schemas-data/3.0.1/brand/update-rights-request.json +63 -0
- package/dist/lib/schemas-data/3.0.1/brand/update-rights-response.json +99 -0
- package/dist/lib/schemas-data/3.0.1/brand.json +2582 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/calibrate-content-request.json +1712 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/calibrate-content-response.json +180 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/create-content-standards-request.json +3622 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/create-content-standards-response.json +116 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-content-standards-request.json +38 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-content-standards-response.json +3851 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-media-buy-artifacts-request.json +234 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-media-buy-artifacts-response.json +1880 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/list-content-standards-request.json +121 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/list-content-standards-response.json +3880 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/update-content-standards-request.json +3611 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/update-content-standards-response.json +131 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/validate-content-delivery-request.json +1766 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/validate-content-delivery-response.json +208 -0
- package/dist/lib/schemas-data/3.0.1/bundled/core/tasks-get-request.json +60 -0
- package/dist/lib/schemas-data/3.0.1/bundled/core/tasks-get-response.json +264 -0
- package/dist/lib/schemas-data/3.0.1/bundled/core/tasks-list-request.json +318 -0
- package/dist/lib/schemas-data/3.0.1/bundled/core/tasks-list-response.json +258 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/get-creative-delivery-request.json +245 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/get-creative-delivery-response.json +5967 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/get-creative-features-request.json +5091 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/get-creative-features-response.json +230 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/list-creative-formats-request.json +485 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/list-creative-formats-response.json +4076 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/list-creatives-request.json +687 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/list-creatives-response.json +5977 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/preview-creative-request.json +9624 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/preview-creative-response.json +5931 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/sync-creatives-request.json +5268 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/sync-creatives-response.json +1146 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/build-creative-request.json +5369 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/build-creative-response.json +10286 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/create-media-buy-request.json +7893 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/create-media-buy-response.json +4170 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-media-buy-delivery-request.json +494 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-media-buy-delivery-response.json +4256 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-media-buys-request.json +261 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-media-buys-response.json +2357 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-products-request.json +2046 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-products-response.json +6809 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/list-creative-formats-request.json +311 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/list-creative-formats-response.json +4080 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/log-event-request.json +394 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/log-event-response.json +193 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/package-request.json +6923 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/provide-performance-feedback-request.json +119 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/provide-performance-feedback-response.json +142 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-audiences-request.json +454 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-audiences-response.json +335 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-catalogs-request.json +836 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-catalogs-response.json +344 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-event-sources-request.json +299 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-event-sources-response.json +461 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/update-media-buy-request.json +13548 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/update-media-buy-response.json +2799 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/create-property-list-request.json +661 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/create-property-list-response.json +928 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/delete-property-list-request.json +198 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/delete-property-list-response.json +44 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/get-property-list-request.json +212 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/get-property-list-response.json +1001 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/list-property-lists-request.json +204 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/list-property-lists-response.json +946 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/update-property-list-request.json +670 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/update-property-list-response.json +923 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/validate-property-delivery-request.json +308 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/validate-property-delivery-response.json +418 -0
- package/dist/lib/schemas-data/3.0.1/bundled/protocol/get-adcp-capabilities-request.json +47 -0
- package/dist/lib/schemas-data/3.0.1/bundled/protocol/get-adcp-capabilities-response.json +1729 -0
- package/dist/lib/schemas-data/3.0.1/bundled/signals/activate-signal-request.json +269 -0
- package/dist/lib/schemas-data/3.0.1/bundled/signals/activate-signal-response.json +320 -0
- package/dist/lib/schemas-data/3.0.1/bundled/signals/get-signals-request.json +409 -0
- package/dist/lib/schemas-data/3.0.1/bundled/signals/get-signals-response.json +689 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-get-offering-request.json +57 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-get-offering-response.json +207 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-initiate-session-request.json +322 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-initiate-session-response.json +618 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-send-message-request.json +81 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-send-message-response.json +589 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-terminate-session-request.json +87 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-terminate-session-response.json +156 -0
- package/dist/lib/schemas-data/3.0.1/collection/base-collection-source.json +118 -0
- package/dist/lib/schemas-data/3.0.1/collection/collection-list-changed-webhook.json +74 -0
- package/dist/lib/schemas-data/3.0.1/collection/collection-list-filters.json +85 -0
- package/dist/lib/schemas-data/3.0.1/collection/collection-list.json +71 -0
- package/dist/lib/schemas-data/3.0.1/collection/create-collection-list-request.json +62 -0
- package/dist/lib/schemas-data/3.0.1/collection/create-collection-list-response.json +33 -0
- package/dist/lib/schemas-data/3.0.1/collection/delete-collection-list-request.json +43 -0
- package/dist/lib/schemas-data/3.0.1/collection/delete-collection-list-response.json +34 -0
- package/dist/lib/schemas-data/3.0.1/collection/get-collection-list-request.json +57 -0
- package/dist/lib/schemas-data/3.0.1/collection/get-collection-list-response.json +122 -0
- package/dist/lib/schemas-data/3.0.1/collection/list-collection-lists-request.json +33 -0
- package/dist/lib/schemas-data/3.0.1/collection/list-collection-lists-response.json +29 -0
- package/dist/lib/schemas-data/3.0.1/collection/update-collection-list-request.json +71 -0
- package/dist/lib/schemas-data/3.0.1/collection/update-collection-list-response.json +28 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/artifact-webhook-payload.json +88 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/artifact.json +407 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/calibrate-content-request.json +42 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/calibrate-content-response.json +93 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/content-standards.json +83 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/create-content-standards-request.json +177 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/create-content-standards-response.json +53 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/get-content-standards-request.json +28 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/get-content-standards-response.json +47 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/get-media-buy-artifacts-request.json +79 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/get-media-buy-artifacts-response.json +136 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/list-content-standards-request.json +49 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/list-content-standards-response.json +55 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/update-content-standards-request.json +166 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/update-content-standards-response.json +68 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/validate-content-delivery-request.json +96 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/validate-content-delivery-response.json +121 -0
- package/dist/lib/schemas-data/3.0.1/core/account-ref.json +71 -0
- package/dist/lib/schemas-data/3.0.1/core/account.json +344 -0
- package/dist/lib/schemas-data/3.0.1/core/activation-key.json +50 -0
- package/dist/lib/schemas-data/3.0.1/core/ad-inventory-config.json +39 -0
- package/dist/lib/schemas-data/3.0.1/core/agent-encryption-key.json +41 -0
- package/dist/lib/schemas-data/3.0.1/core/agent-signing-key.json +55 -0
- package/dist/lib/schemas-data/3.0.1/core/app-item.json +170 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/audio-asset.json +82 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/brief-asset.json +22 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/catalog-asset.json +22 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/css-asset.json +31 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/daast-asset.json +88 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/html-asset.json +54 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/image-asset.json +49 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/javascript-asset.json +54 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/markdown-asset.json +37 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/text-asset.json +31 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/url-asset.json +36 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/vast-asset.json +94 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/video-asset.json +179 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/webhook-asset.json +97 -0
- package/dist/lib/schemas-data/3.0.1/core/async-response-data.json +128 -0
- package/dist/lib/schemas-data/3.0.1/core/attribution-window.json +33 -0
- package/dist/lib/schemas-data/3.0.1/core/audience-member.json +70 -0
- package/dist/lib/schemas-data/3.0.1/core/audience-selector.json +134 -0
- package/dist/lib/schemas-data/3.0.1/core/brand-id.json +16 -0
- package/dist/lib/schemas-data/3.0.1/core/brand-ref.json +76 -0
- package/dist/lib/schemas-data/3.0.1/core/business-entity.json +207 -0
- package/dist/lib/schemas-data/3.0.1/core/cancellation-policy.json +49 -0
- package/dist/lib/schemas-data/3.0.1/core/catalog-field-mapping.json +144 -0
- package/dist/lib/schemas-data/3.0.1/core/catalog.json +222 -0
- package/dist/lib/schemas-data/3.0.1/core/catchment.json +221 -0
- package/dist/lib/schemas-data/3.0.1/core/collection-distribution.json +41 -0
- package/dist/lib/schemas-data/3.0.1/core/collection-list-ref.json +29 -0
- package/dist/lib/schemas-data/3.0.1/core/collection-selector.json +27 -0
- package/dist/lib/schemas-data/3.0.1/core/collection.json +116 -0
- package/dist/lib/schemas-data/3.0.1/core/content-rating.json +22 -0
- package/dist/lib/schemas-data/3.0.1/core/context.json +8 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-asset.json +150 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-assignment.json +32 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-brief.json +136 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-consumption.json +30 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-filters.json +119 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-item.json +79 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-manifest.json +96 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-policy.json +31 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-variable.json +47 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-variant.json +60 -0
- package/dist/lib/schemas-data/3.0.1/core/data-provider-signal-selector.json +94 -0
- package/dist/lib/schemas-data/3.0.1/core/date-range.json +24 -0
- package/dist/lib/schemas-data/3.0.1/core/datetime-range.json +24 -0
- package/dist/lib/schemas-data/3.0.1/core/daypart-target.json +39 -0
- package/dist/lib/schemas-data/3.0.1/core/deadline-policy.json +58 -0
- package/dist/lib/schemas-data/3.0.1/core/delivery-forecast.json +86 -0
- package/dist/lib/schemas-data/3.0.1/core/delivery-metrics.json +327 -0
- package/dist/lib/schemas-data/3.0.1/core/deployment.json +93 -0
- package/dist/lib/schemas-data/3.0.1/core/destination-item.json +168 -0
- package/dist/lib/schemas-data/3.0.1/core/destination.json +53 -0
- package/dist/lib/schemas-data/3.0.1/core/diagnostic-issue.json +27 -0
- package/dist/lib/schemas-data/3.0.1/core/duration.json +30 -0
- package/dist/lib/schemas-data/3.0.1/core/education-item.json +168 -0
- package/dist/lib/schemas-data/3.0.1/core/error.json +52 -0
- package/dist/lib/schemas-data/3.0.1/core/event-custom-data.json +86 -0
- package/dist/lib/schemas-data/3.0.1/core/event-source-health.json +70 -0
- package/dist/lib/schemas-data/3.0.1/core/event.json +54 -0
- package/dist/lib/schemas-data/3.0.1/core/ext.json +8 -0
- package/dist/lib/schemas-data/3.0.1/core/feature-requirement.json +45 -0
- package/dist/lib/schemas-data/3.0.1/core/flight-item.json +159 -0
- package/dist/lib/schemas-data/3.0.1/core/forecast-point.json +85 -0
- package/dist/lib/schemas-data/3.0.1/core/forecast-range.json +38 -0
- package/dist/lib/schemas-data/3.0.1/core/format-id.json +48 -0
- package/dist/lib/schemas-data/3.0.1/core/format.json +904 -0
- package/dist/lib/schemas-data/3.0.1/core/frequency-cap.json +73 -0
- package/dist/lib/schemas-data/3.0.1/core/generation-credential.json +44 -0
- package/dist/lib/schemas-data/3.0.1/core/geo-breakdown-support.json +38 -0
- package/dist/lib/schemas-data/3.0.1/core/hotel-item.json +214 -0
- package/dist/lib/schemas-data/3.0.1/core/identifier.json +22 -0
- package/dist/lib/schemas-data/3.0.1/core/industry-identifier.json +22 -0
- package/dist/lib/schemas-data/3.0.1/core/insertion-order.json +91 -0
- package/dist/lib/schemas-data/3.0.1/core/installment-deadlines.json +29 -0
- package/dist/lib/schemas-data/3.0.1/core/installment.json +108 -0
- package/dist/lib/schemas-data/3.0.1/core/job-item.json +199 -0
- package/dist/lib/schemas-data/3.0.1/core/limited-series.json +28 -0
- package/dist/lib/schemas-data/3.0.1/core/material-deadline.json +31 -0
- package/dist/lib/schemas-data/3.0.1/core/mcp-webhook-payload.json +163 -0
- package/dist/lib/schemas-data/3.0.1/core/measurement-readiness.json +43 -0
- package/dist/lib/schemas-data/3.0.1/core/measurement-terms.json +63 -0
- package/dist/lib/schemas-data/3.0.1/core/measurement-window.json +54 -0
- package/dist/lib/schemas-data/3.0.1/core/media-buy-features.json +24 -0
- package/dist/lib/schemas-data/3.0.1/core/media-buy.json +101 -0
- package/dist/lib/schemas-data/3.0.1/core/offering-asset-group.json +118 -0
- package/dist/lib/schemas-data/3.0.1/core/offering.json +267 -0
- package/dist/lib/schemas-data/3.0.1/core/optimization-goal.json +285 -0
- package/dist/lib/schemas-data/3.0.1/core/outcome-measurement.json +48 -0
- package/dist/lib/schemas-data/3.0.1/core/overlay.json +89 -0
- package/dist/lib/schemas-data/3.0.1/core/package.json +170 -0
- package/dist/lib/schemas-data/3.0.1/core/pagination-request.json +21 -0
- package/dist/lib/schemas-data/3.0.1/core/pagination-response.json +26 -0
- package/dist/lib/schemas-data/3.0.1/core/performance-feedback.json +90 -0
- package/dist/lib/schemas-data/3.0.1/core/performance-standard.json +33 -0
- package/dist/lib/schemas-data/3.0.1/core/placement-definition.json +81 -0
- package/dist/lib/schemas-data/3.0.1/core/placement.json +42 -0
- package/dist/lib/schemas-data/3.0.1/core/planned-delivery.json +84 -0
- package/dist/lib/schemas-data/3.0.1/core/price.json +59 -0
- package/dist/lib/schemas-data/3.0.1/core/pricing-option.json +35 -0
- package/dist/lib/schemas-data/3.0.1/core/product-allocation.json +69 -0
- package/dist/lib/schemas-data/3.0.1/core/product-filters.json +435 -0
- package/dist/lib/schemas-data/3.0.1/core/product.json +493 -0
- package/dist/lib/schemas-data/3.0.1/core/property-id.json +15 -0
- package/dist/lib/schemas-data/3.0.1/core/property-list-ref.json +29 -0
- package/dist/lib/schemas-data/3.0.1/core/property-tag.json +16 -0
- package/dist/lib/schemas-data/3.0.1/core/property.json +70 -0
- package/dist/lib/schemas-data/3.0.1/core/proposal.json +89 -0
- package/dist/lib/schemas-data/3.0.1/core/protocol-envelope.json +186 -0
- package/dist/lib/schemas-data/3.0.1/core/provenance.json +234 -0
- package/dist/lib/schemas-data/3.0.1/core/publisher-property-selector.json +92 -0
- package/dist/lib/schemas-data/3.0.1/core/push-notification-config.json +47 -0
- package/dist/lib/schemas-data/3.0.1/core/real-estate-item.json +241 -0
- package/dist/lib/schemas-data/3.0.1/core/reference-asset.json +36 -0
- package/dist/lib/schemas-data/3.0.1/core/reporting-capabilities.json +118 -0
- package/dist/lib/schemas-data/3.0.1/core/reporting-webhook.json +67 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/asset-requirements.json +44 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/audio-asset-requirements.json +68 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/catalog-field-binding.json +172 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/catalog-requirements.json +68 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/css-asset-requirements.json +15 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/daast-asset-requirements.json +17 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/html-asset-requirements.json +38 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/image-asset-requirements.json +151 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/javascript-asset-requirements.json +40 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/markdown-asset-requirements.json +15 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/offering-asset-constraint.json +66 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/text-asset-requirements.json +41 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/url-asset-requirements.json +50 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/vast-asset-requirements.json +21 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/video-asset-requirements.json +172 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/webhook-asset-requirements.json +21 -0
- package/dist/lib/schemas-data/3.0.1/core/response.json +24 -0
- package/dist/lib/schemas-data/3.0.1/core/rights-constraint.json +98 -0
- package/dist/lib/schemas-data/3.0.1/core/seller-agent-ref.json +30 -0
- package/dist/lib/schemas-data/3.0.1/core/signal-definition.json +89 -0
- package/dist/lib/schemas-data/3.0.1/core/signal-filters.json +43 -0
- package/dist/lib/schemas-data/3.0.1/core/signal-id.json +66 -0
- package/dist/lib/schemas-data/3.0.1/core/signal-pricing-option.json +7 -0
- package/dist/lib/schemas-data/3.0.1/core/signal-pricing.json +194 -0
- package/dist/lib/schemas-data/3.0.1/core/signal-targeting.json +93 -0
- package/dist/lib/schemas-data/3.0.1/core/special.json +31 -0
- package/dist/lib/schemas-data/3.0.1/core/start-timing.json +18 -0
- package/dist/lib/schemas-data/3.0.1/core/store-item.json +259 -0
- package/dist/lib/schemas-data/3.0.1/core/talent.json +27 -0
- package/dist/lib/schemas-data/3.0.1/core/targeting.json +510 -0
- package/dist/lib/schemas-data/3.0.1/core/tasks-get-request.json +50 -0
- package/dist/lib/schemas-data/3.0.1/core/tasks-get-response.json +159 -0
- package/dist/lib/schemas-data/3.0.1/core/tasks-list-request.json +185 -0
- package/dist/lib/schemas-data/3.0.1/core/tasks-list-response.json +153 -0
- package/dist/lib/schemas-data/3.0.1/core/user-match.json +90 -0
- package/dist/lib/schemas-data/3.0.1/core/vehicle-item.json +231 -0
- package/dist/lib/schemas-data/3.0.1/core/vendor-pricing-option.json +24 -0
- package/dist/lib/schemas-data/3.0.1/core/x-entity-types.json +69 -0
- package/dist/lib/schemas-data/3.0.1/creative/asset-types/index.json +118 -0
- package/dist/lib/schemas-data/3.0.1/creative/creative-feature-result.json +69 -0
- package/dist/lib/schemas-data/3.0.1/creative/get-creative-delivery-request.json +75 -0
- package/dist/lib/schemas-data/3.0.1/creative/get-creative-delivery-response.json +143 -0
- package/dist/lib/schemas-data/3.0.1/creative/get-creative-features-request.json +41 -0
- package/dist/lib/schemas-data/3.0.1/creative/get-creative-features-response.json +76 -0
- package/dist/lib/schemas-data/3.0.1/creative/list-creative-formats-request.json +150 -0
- package/dist/lib/schemas-data/3.0.1/creative/list-creative-formats-response.json +64 -0
- package/dist/lib/schemas-data/3.0.1/creative/list-creatives-request.json +184 -0
- package/dist/lib/schemas-data/3.0.1/creative/list-creatives-response.json +445 -0
- package/dist/lib/schemas-data/3.0.1/creative/preview-creative-request.json +212 -0
- package/dist/lib/schemas-data/3.0.1/creative/preview-creative-response.json +307 -0
- package/dist/lib/schemas-data/3.0.1/creative/preview-render.json +225 -0
- package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-async-response-input-required.json +25 -0
- package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-async-response-working.json +46 -0
- package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-request.json +242 -0
- package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-response.json +270 -0
- package/dist/lib/schemas-data/3.0.1/enums/account-scope.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/account-status.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/action-source.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/adcp-protocol.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/adjustment-kind.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/advertiser-industry.json +175 -0
- package/dist/lib/schemas-data/3.0.1/enums/age-verification-method.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/assessment-status.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/asset-content-type.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/attribution-model.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/audience-source.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/audience-status.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/audio-channel-layout.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/auth-scheme.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/available-metric.json +31 -0
- package/dist/lib/schemas-data/3.0.1/enums/billing-party.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/binary-verdict.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/brand-agent-type.json +27 -0
- package/dist/lib/schemas-data/3.0.1/enums/canceled-by.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/catalog-action.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/catalog-item-status.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/catalog-type.json +22 -0
- package/dist/lib/schemas-data/3.0.1/enums/channels.json +51 -0
- package/dist/lib/schemas-data/3.0.1/enums/cloud-storage-protocol.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/co-branding-requirement.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/collection-cadence.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/collection-kind.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/collection-relationship.json +21 -0
- package/dist/lib/schemas-data/3.0.1/enums/collection-status.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/consent-basis.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/content-id-type.json +21 -0
- package/dist/lib/schemas-data/3.0.1/enums/content-rating-system.json +33 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-action.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-agent-capability.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-approval-status.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-identifier-type.json +22 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-quality.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-sort-field.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-status.json +21 -0
- package/dist/lib/schemas-data/3.0.1/enums/daast-tracking-event.json +32 -0
- package/dist/lib/schemas-data/3.0.1/enums/daast-version.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/day-of-week.json +16 -0
- package/dist/lib/schemas-data/3.0.1/enums/delegation-authority.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/delivery-type.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/demographic-system.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/derivative-type.json +21 -0
- package/dist/lib/schemas-data/3.0.1/enums/device-platform.json +21 -0
- package/dist/lib/schemas-data/3.0.1/enums/device-type.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/digital-source-type.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/dimension-unit.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/disclosure-persistence.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/disclosure-position.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/distance-unit.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/distribution-identifier-type.json +53 -0
- package/dist/lib/schemas-data/3.0.1/enums/error-code.json +101 -0
- package/dist/lib/schemas-data/3.0.1/enums/escalation-severity.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/event-type.json +67 -0
- package/dist/lib/schemas-data/3.0.1/enums/exclusivity.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/feature-check-status.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/feed-format.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/feedback-source.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/forecast-method.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/forecast-range-unit.json +27 -0
- package/dist/lib/schemas-data/3.0.1/enums/forecastable-metric.json +43 -0
- package/dist/lib/schemas-data/3.0.1/enums/format-id-parameter.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/frame-rate-type.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/frequency-cap-scope.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/genre-taxonomy.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/geo-level.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/gop-type.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/governance-decision.json +18 -0
- package/dist/lib/schemas-data/3.0.1/enums/governance-domain.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/governance-mode.json +18 -0
- package/dist/lib/schemas-data/3.0.1/enums/governance-phase.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/history-entry-type.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/http-method.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/identifier-types.json +61 -0
- package/dist/lib/schemas-data/3.0.1/enums/installment-status.json +25 -0
- package/dist/lib/schemas-data/3.0.1/enums/javascript-module-type.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/landing-page-requirement.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/makegood-remedy.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/markdown-flavor.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/match-id-type.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/match-type.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/media-buy-status.json +25 -0
- package/dist/lib/schemas-data/3.0.1/enums/media-buy-valid-action.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/metric-type.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/metro-system.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/moov-atom-position.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/notification-type.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/outcome-type.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/pacing.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/payment-terms.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/performance-standard-metric.json +21 -0
- package/dist/lib/schemas-data/3.0.1/enums/policy-category.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/policy-enforcement.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/postal-system.json +20 -0
- package/dist/lib/schemas-data/3.0.1/enums/preview-output-format.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/pricing-model.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/production-quality.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/property-type.json +31 -0
- package/dist/lib/schemas-data/3.0.1/enums/proposal-status.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/publisher-identifier-types.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/purchase-type.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/reach-unit.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/reporting-frequency.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/response-type.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/restricted-attribute.json +31 -0
- package/dist/lib/schemas-data/3.0.1/enums/right-type.json +22 -0
- package/dist/lib/schemas-data/3.0.1/enums/right-use.json +36 -0
- package/dist/lib/schemas-data/3.0.1/enums/rights-billing-period.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/scan-type.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/si-session-status.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/signal-catalog-type.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/signal-source.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/signal-value-type.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/snapshot-unavailable-reason.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/sort-direction.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/sort-metric.json +31 -0
- package/dist/lib/schemas-data/3.0.1/enums/special-category.json +35 -0
- package/dist/lib/schemas-data/3.0.1/enums/specialism.json +55 -0
- package/dist/lib/schemas-data/3.0.1/enums/talent-role.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/task-status.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/task-type.json +57 -0
- package/dist/lib/schemas-data/3.0.1/enums/transport-mode.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/travel-time-unit.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/uid-type.json +31 -0
- package/dist/lib/schemas-data/3.0.1/enums/universal-macro.json +149 -0
- package/dist/lib/schemas-data/3.0.1/enums/update-frequency.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/url-asset-type.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/validation-mode.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/vast-tracking-event.json +41 -0
- package/dist/lib/schemas-data/3.0.1/enums/vast-version.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/viewability-standard.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/wcag-level.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/webhook-response-type.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/webhook-security-method.json +12 -0
- package/dist/lib/schemas-data/3.0.1/error-details/account-setup-required.json +22 -0
- package/dist/lib/schemas-data/3.0.1/error-details/audience-too-small.json +18 -0
- package/dist/lib/schemas-data/3.0.1/error-details/budget-too-low.json +18 -0
- package/dist/lib/schemas-data/3.0.1/error-details/conflict.json +28 -0
- package/dist/lib/schemas-data/3.0.1/error-details/creative-rejected.json +27 -0
- package/dist/lib/schemas-data/3.0.1/error-details/policy-violation.json +27 -0
- package/dist/lib/schemas-data/3.0.1/error-details/rate-limited.json +31 -0
- package/dist/lib/schemas-data/3.0.1/error-details/vendor-error-codes.json +55 -0
- package/dist/lib/schemas-data/3.0.1/extensions/extension-meta.json +69 -0
- package/dist/lib/schemas-data/3.0.1/extensions/index.json +9 -0
- package/dist/lib/schemas-data/3.0.1/governance/attribute-definition.json +82 -0
- package/dist/lib/schemas-data/3.0.1/governance/audience-constraints.json +27 -0
- package/dist/lib/schemas-data/3.0.1/governance/check-governance-request.json +198 -0
- package/dist/lib/schemas-data/3.0.1/governance/check-governance-response.json +217 -0
- package/dist/lib/schemas-data/3.0.1/governance/get-plan-audit-logs-request.json +79 -0
- package/dist/lib/schemas-data/3.0.1/governance/get-plan-audit-logs-response.json +423 -0
- package/dist/lib/schemas-data/3.0.1/governance/policy-category-definition.json +95 -0
- package/dist/lib/schemas-data/3.0.1/governance/policy-entry.json +165 -0
- package/dist/lib/schemas-data/3.0.1/governance/policy-ref.json +27 -0
- package/dist/lib/schemas-data/3.0.1/governance/report-plan-outcome-request.json +165 -0
- package/dist/lib/schemas-data/3.0.1/governance/report-plan-outcome-response.json +89 -0
- package/dist/lib/schemas-data/3.0.1/governance/sync-plans-request.json +449 -0
- package/dist/lib/schemas-data/3.0.1/governance/sync-plans-response.json +119 -0
- package/dist/lib/schemas-data/3.0.1/index.json +1678 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-async-response-input-required.json +32 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-async-response-working.json +36 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-request.json +138 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-response.json +293 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-async-response-input-required.json +31 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-async-response-working.json +36 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-request.json +221 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-response.json +194 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-media-buy-delivery-request.json +205 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-media-buy-delivery-response.json +704 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-media-buys-request.json +66 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-media-buys-response.json +394 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-products-async-response-input-required.json +38 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-products-async-response-submitted.json +21 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-products-async-response-working.json +34 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-products-request.json +229 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-products-response.json +195 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/list-creative-formats-request.json +103 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/list-creative-formats-response.json +68 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/log-event-request.json +53 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/log-event-response.json +130 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/package-request.json +133 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/package-update.json +202 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/provide-performance-feedback-request.json +73 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/provide-performance-feedback-response.json +79 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-audiences-request.json +127 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-audiences-response.json +191 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-async-response-input-required.json +26 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-async-response-working.json +56 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-request.json +162 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-response.json +213 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-event-sources-request.json +82 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-event-sources-response.json +167 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-async-response-input-required.json +24 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-async-response-working.json +36 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-request.json +99 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-response.json +119 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/cpa-option.json +75 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/cpc-option.json +71 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/cpcv-option.json +71 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/cpm-option.json +71 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/cpp-option.json +90 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/cpv-option.json +107 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/flat-rate-option.json +116 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/price-breakdown.json +88 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/price-guidance.json +30 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/time-option.json +97 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/vcpm-option.json +71 -0
- package/dist/lib/schemas-data/3.0.1/property/authorization-result.json +50 -0
- package/dist/lib/schemas-data/3.0.1/property/base-property-source.json +98 -0
- package/dist/lib/schemas-data/3.0.1/property/create-property-list-request.json +62 -0
- package/dist/lib/schemas-data/3.0.1/property/create-property-list-response.json +33 -0
- package/dist/lib/schemas-data/3.0.1/property/delete-property-list-request.json +43 -0
- package/dist/lib/schemas-data/3.0.1/property/delete-property-list-response.json +34 -0
- package/dist/lib/schemas-data/3.0.1/property/delivery-record.json +35 -0
- package/dist/lib/schemas-data/3.0.1/property/get-property-list-request.json +57 -0
- package/dist/lib/schemas-data/3.0.1/property/get-property-list-response.json +53 -0
- package/dist/lib/schemas-data/3.0.1/property/list-property-lists-request.json +33 -0
- package/dist/lib/schemas-data/3.0.1/property/list-property-lists-response.json +29 -0
- package/dist/lib/schemas-data/3.0.1/property/property-error.json +34 -0
- package/dist/lib/schemas-data/3.0.1/property/property-feature-definition.json +96 -0
- package/dist/lib/schemas-data/3.0.1/property/property-feature-result.json +50 -0
- package/dist/lib/schemas-data/3.0.1/property/property-feature-value.json +59 -0
- package/dist/lib/schemas-data/3.0.1/property/property-feature.json +26 -0
- package/dist/lib/schemas-data/3.0.1/property/property-list-changed-webhook.json +74 -0
- package/dist/lib/schemas-data/3.0.1/property/property-list-filters.json +51 -0
- package/dist/lib/schemas-data/3.0.1/property/property-list.json +79 -0
- package/dist/lib/schemas-data/3.0.1/property/update-property-list-request.json +71 -0
- package/dist/lib/schemas-data/3.0.1/property/update-property-list-response.json +28 -0
- package/dist/lib/schemas-data/3.0.1/property/validate-property-delivery-request.json +49 -0
- package/dist/lib/schemas-data/3.0.1/property/validate-property-delivery-response.json +180 -0
- package/dist/lib/schemas-data/3.0.1/property/validation-result.json +101 -0
- package/dist/lib/schemas-data/3.0.1/protocol/get-adcp-capabilities-request.json +37 -0
- package/dist/lib/schemas-data/3.0.1/protocol/get-adcp-capabilities-response.json +1108 -0
- package/dist/lib/schemas-data/3.0.1/signals/activate-signal-request.json +66 -0
- package/dist/lib/schemas-data/3.0.1/signals/activate-signal-response.json +81 -0
- package/dist/lib/schemas-data/3.0.1/signals/get-signals-request.json +80 -0
- package/dist/lib/schemas-data/3.0.1/signals/get-signals-response.json +130 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-capabilities.json +154 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-get-offering-request.json +47 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-get-offering-response.json +150 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-identity.json +104 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-initiate-session-request.json +65 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-initiate-session-response.json +64 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-send-message-request.json +71 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-send-message-response.json +123 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-terminate-session-request.json +77 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-terminate-session-response.json +86 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-ui-element.json +341 -0
- package/dist/lib/server/a2a-adapter.d.ts +234 -0
- package/dist/lib/server/a2a-adapter.d.ts.map +1 -0
- package/dist/lib/server/a2a-adapter.js +503 -0
- package/dist/lib/server/a2a-adapter.js.map +1 -0
- package/dist/lib/server/adcp-server.d.ts +265 -0
- package/dist/lib/server/adcp-server.d.ts.map +1 -0
- package/dist/lib/server/adcp-server.js +187 -0
- package/dist/lib/server/adcp-server.js.map +1 -0
- package/dist/lib/server/auth-introspection.d.ts +83 -0
- package/dist/lib/server/auth-introspection.d.ts.map +1 -0
- package/dist/lib/server/auth-introspection.js +297 -0
- package/dist/lib/server/auth-introspection.js.map +1 -0
- package/dist/lib/server/auth-signature.d.ts +322 -0
- package/dist/lib/server/auth-signature.d.ts.map +1 -0
- package/dist/lib/server/auth-signature.js +310 -0
- package/dist/lib/server/auth-signature.js.map +1 -0
- package/dist/lib/server/auth.d.ts +303 -0
- package/dist/lib/server/auth.d.ts.map +1 -0
- package/dist/lib/server/auth.js +387 -0
- package/dist/lib/server/auth.js.map +1 -0
- package/dist/lib/server/create-adcp-server.d.ts +968 -0
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -0
- package/dist/lib/server/create-adcp-server.js +1831 -0
- package/dist/lib/server/create-adcp-server.js.map +1 -0
- package/dist/lib/server/envelope-allowlist.d.ts +109 -0
- package/dist/lib/server/envelope-allowlist.d.ts.map +1 -0
- package/dist/lib/server/envelope-allowlist.js +155 -0
- package/dist/lib/server/envelope-allowlist.js.map +1 -0
- package/dist/lib/server/errors.d.ts +129 -0
- package/dist/lib/server/errors.d.ts.map +1 -0
- package/dist/lib/server/errors.js +85 -0
- package/dist/lib/server/errors.js.map +1 -0
- package/dist/lib/server/express-adapter.d.ts +169 -0
- package/dist/lib/server/express-adapter.d.ts.map +1 -0
- package/dist/lib/server/express-adapter.js +271 -0
- package/dist/lib/server/express-adapter.js.map +1 -0
- package/dist/lib/server/governance.d.ts +122 -0
- package/dist/lib/server/governance.d.ts.map +1 -0
- package/dist/lib/server/governance.js +189 -0
- package/dist/lib/server/governance.js.map +1 -0
- package/dist/lib/server/idempotency/backends/memory.d.ts +22 -0
- package/dist/lib/server/idempotency/backends/memory.d.ts.map +1 -0
- package/dist/lib/server/idempotency/backends/memory.js +78 -0
- package/dist/lib/server/idempotency/backends/memory.js.map +1 -0
- package/dist/lib/server/idempotency/backends/pg.d.ts +76 -0
- package/dist/lib/server/idempotency/backends/pg.d.ts.map +1 -0
- package/dist/lib/server/idempotency/backends/pg.js +163 -0
- package/dist/lib/server/idempotency/backends/pg.js.map +1 -0
- package/dist/lib/server/idempotency/index.d.ts +7 -0
- package/dist/lib/server/idempotency/index.d.ts.map +1 -0
- package/dist/lib/server/idempotency/index.js +15 -0
- package/dist/lib/server/idempotency/index.js.map +1 -0
- package/dist/lib/server/idempotency/store.d.ts +302 -0
- package/dist/lib/server/idempotency/store.d.ts.map +1 -0
- package/dist/lib/server/idempotency/store.js +272 -0
- package/dist/lib/server/idempotency/store.js.map +1 -0
- package/dist/lib/server/index.d.ts +50 -0
- package/dist/lib/server/index.d.ts.map +1 -0
- package/dist/lib/server/index.js +164 -0
- package/dist/lib/server/index.js.map +1 -0
- package/dist/lib/server/media-buy-helpers.d.ts +47 -0
- package/dist/lib/server/media-buy-helpers.d.ts.map +1 -0
- package/dist/lib/server/media-buy-helpers.js +43 -0
- package/dist/lib/server/media-buy-helpers.js.map +1 -0
- package/dist/lib/server/pin-and-bind-fetch.d.ts +115 -0
- package/dist/lib/server/pin-and-bind-fetch.d.ts.map +1 -0
- package/dist/lib/server/pin-and-bind-fetch.js +244 -0
- package/dist/lib/server/pin-and-bind-fetch.js.map +1 -0
- package/dist/lib/server/postgres-state-store.d.ts +76 -0
- package/dist/lib/server/postgres-state-store.d.ts.map +1 -0
- package/dist/lib/server/postgres-state-store.js +218 -0
- package/dist/lib/server/postgres-state-store.js.map +1 -0
- package/dist/lib/server/postgres-task-store.d.ts +121 -0
- package/dist/lib/server/postgres-task-store.d.ts.map +1 -0
- package/dist/lib/server/postgres-task-store.js +298 -0
- package/dist/lib/server/postgres-task-store.js.map +1 -0
- package/dist/lib/server/product-defaults.d.ts +16 -0
- package/dist/lib/server/product-defaults.d.ts.map +1 -0
- package/dist/lib/server/product-defaults.js +25 -0
- package/dist/lib/server/product-defaults.js.map +1 -0
- package/dist/lib/server/responses.d.ts +257 -0
- package/dist/lib/server/responses.d.ts.map +1 -0
- package/dist/lib/server/responses.js +542 -0
- package/dist/lib/server/responses.js.map +1 -0
- package/dist/lib/server/serve.d.ts +308 -0
- package/dist/lib/server/serve.d.ts.map +1 -0
- package/dist/lib/server/serve.js +663 -0
- package/dist/lib/server/serve.js.map +1 -0
- package/dist/lib/server/state-store.d.ts +296 -0
- package/dist/lib/server/state-store.d.ts.map +1 -0
- package/dist/lib/server/state-store.js +459 -0
- package/dist/lib/server/state-store.js.map +1 -0
- package/dist/lib/server/structured-serialize.d.ts +30 -0
- package/dist/lib/server/structured-serialize.d.ts.map +1 -0
- package/dist/lib/server/structured-serialize.js +109 -0
- package/dist/lib/server/structured-serialize.js.map +1 -0
- package/dist/lib/server/targeting-helpers.d.ts +90 -0
- package/dist/lib/server/targeting-helpers.d.ts.map +1 -0
- package/dist/lib/server/targeting-helpers.js +144 -0
- package/dist/lib/server/targeting-helpers.js.map +1 -0
- package/dist/lib/server/tasks.d.ts +91 -0
- package/dist/lib/server/tasks.d.ts.map +1 -0
- package/dist/lib/server/tasks.js +116 -0
- package/dist/lib/server/tasks.js.map +1 -0
- package/dist/lib/server/test-controller-bridge.d.ts +192 -0
- package/dist/lib/server/test-controller-bridge.d.ts.map +1 -0
- package/dist/lib/server/test-controller-bridge.js +207 -0
- package/dist/lib/server/test-controller-bridge.js.map +1 -0
- package/dist/lib/server/test-controller.d.ts +388 -0
- package/dist/lib/server/test-controller.d.ts.map +1 -0
- package/dist/lib/server/test-controller.js +735 -0
- package/dist/lib/server/test-controller.js.map +1 -0
- package/dist/lib/server/webhook-emitter.d.ts +192 -0
- package/dist/lib/server/webhook-emitter.d.ts.map +1 -0
- package/dist/lib/server/webhook-emitter.js +316 -0
- package/dist/lib/server/webhook-emitter.js.map +1 -0
- package/dist/lib/server/wrap-envelope.d.ts +162 -0
- package/dist/lib/server/wrap-envelope.d.ts.map +1 -0
- package/dist/lib/server/wrap-envelope.js +145 -0
- package/dist/lib/server/wrap-envelope.js.map +1 -0
- package/dist/lib/signing/agent-context.d.ts +73 -0
- package/dist/lib/signing/agent-context.d.ts.map +1 -0
- package/dist/lib/signing/agent-context.js +104 -0
- package/dist/lib/signing/agent-context.js.map +1 -0
- package/dist/lib/signing/agent-fetch.d.ts +177 -0
- package/dist/lib/signing/agent-fetch.d.ts.map +1 -0
- package/dist/lib/signing/agent-fetch.js +271 -0
- package/dist/lib/signing/agent-fetch.js.map +1 -0
- package/dist/lib/signing/brand-jwks.d.ts +102 -0
- package/dist/lib/signing/brand-jwks.d.ts.map +1 -0
- package/dist/lib/signing/brand-jwks.js +433 -0
- package/dist/lib/signing/brand-jwks.js.map +1 -0
- package/dist/lib/signing/canonicalize.d.ts +39 -0
- package/dist/lib/signing/canonicalize.d.ts.map +1 -0
- package/dist/lib/signing/canonicalize.js +149 -0
- package/dist/lib/signing/canonicalize.js.map +1 -0
- package/dist/lib/signing/capability-cache.d.ts +70 -0
- package/dist/lib/signing/capability-cache.d.ts.map +1 -0
- package/dist/lib/signing/capability-cache.js +90 -0
- package/dist/lib/signing/capability-cache.js.map +1 -0
- package/dist/lib/signing/capability-priming.d.ts +30 -0
- package/dist/lib/signing/capability-priming.d.ts.map +1 -0
- package/dist/lib/signing/capability-priming.js +145 -0
- package/dist/lib/signing/capability-priming.js.map +1 -0
- package/dist/lib/signing/client.d.ts +25 -0
- package/dist/lib/signing/client.d.ts.map +1 -0
- package/dist/lib/signing/client.js +70 -0
- package/dist/lib/signing/client.js.map +1 -0
- package/dist/lib/signing/content-digest.d.ts +9 -0
- package/dist/lib/signing/content-digest.d.ts.map +1 -0
- package/dist/lib/signing/content-digest.js +48 -0
- package/dist/lib/signing/content-digest.js.map +1 -0
- package/dist/lib/signing/crypto.d.ts +5 -0
- package/dist/lib/signing/crypto.d.ts.map +1 -0
- package/dist/lib/signing/crypto.js +35 -0
- package/dist/lib/signing/crypto.js.map +1 -0
- package/dist/lib/signing/ecdsa-encoding.d.ts +20 -0
- package/dist/lib/signing/ecdsa-encoding.d.ts.map +1 -0
- package/dist/lib/signing/ecdsa-encoding.js +91 -0
- package/dist/lib/signing/ecdsa-encoding.js.map +1 -0
- package/dist/lib/signing/errors.d.ts +49 -0
- package/dist/lib/signing/errors.d.ts.map +1 -0
- package/dist/lib/signing/errors.js +48 -0
- package/dist/lib/signing/errors.js.map +1 -0
- package/dist/lib/signing/fetch-async.d.ts +23 -0
- package/dist/lib/signing/fetch-async.d.ts.map +1 -0
- package/dist/lib/signing/fetch-async.js +96 -0
- package/dist/lib/signing/fetch-async.js.map +1 -0
- package/dist/lib/signing/fetch.d.ts +17 -0
- package/dist/lib/signing/fetch.d.ts.map +1 -0
- package/dist/lib/signing/fetch.js +89 -0
- package/dist/lib/signing/fetch.js.map +1 -0
- package/dist/lib/signing/index.d.ts +16 -0
- package/dist/lib/signing/index.d.ts.map +1 -0
- package/dist/lib/signing/index.js +32 -0
- package/dist/lib/signing/index.js.map +1 -0
- package/dist/lib/signing/jwks-helpers.d.ts +48 -0
- package/dist/lib/signing/jwks-helpers.d.ts.map +1 -0
- package/dist/lib/signing/jwks-helpers.js +87 -0
- package/dist/lib/signing/jwks-helpers.js.map +1 -0
- package/dist/lib/signing/jwks-https.d.ts +61 -0
- package/dist/lib/signing/jwks-https.d.ts.map +1 -0
- package/dist/lib/signing/jwks-https.js +165 -0
- package/dist/lib/signing/jwks-https.js.map +1 -0
- package/dist/lib/signing/jwks.d.ts +10 -0
- package/dist/lib/signing/jwks.d.ts.map +1 -0
- package/dist/lib/signing/jwks.js +15 -0
- package/dist/lib/signing/jwks.js.map +1 -0
- package/dist/lib/signing/middleware.d.ts +77 -0
- package/dist/lib/signing/middleware.d.ts.map +1 -0
- package/dist/lib/signing/middleware.js +77 -0
- package/dist/lib/signing/middleware.js.map +1 -0
- package/dist/lib/signing/parser.d.ts +35 -0
- package/dist/lib/signing/parser.d.ts.map +1 -0
- package/dist/lib/signing/parser.js +244 -0
- package/dist/lib/signing/parser.js.map +1 -0
- package/dist/lib/signing/postgres-replay-store.d.ts +138 -0
- package/dist/lib/signing/postgres-replay-store.d.ts.map +1 -0
- package/dist/lib/signing/postgres-replay-store.js +236 -0
- package/dist/lib/signing/postgres-replay-store.js.map +1 -0
- package/dist/lib/signing/provider.d.ts +81 -0
- package/dist/lib/signing/provider.d.ts.map +1 -0
- package/dist/lib/signing/provider.js +3 -0
- package/dist/lib/signing/provider.js.map +1 -0
- package/dist/lib/signing/replay.d.ts +62 -0
- package/dist/lib/signing/replay.d.ts.map +1 -0
- package/dist/lib/signing/replay.js +106 -0
- package/dist/lib/signing/replay.js.map +1 -0
- package/dist/lib/signing/revocation-https.d.ts +79 -0
- package/dist/lib/signing/revocation-https.d.ts.map +1 -0
- package/dist/lib/signing/revocation-https.js +144 -0
- package/dist/lib/signing/revocation-https.js.map +1 -0
- package/dist/lib/signing/revocation.d.ts +11 -0
- package/dist/lib/signing/revocation.d.ts.map +1 -0
- package/dist/lib/signing/revocation.js +18 -0
- package/dist/lib/signing/revocation.js.map +1 -0
- package/dist/lib/signing/server.d.ts +27 -0
- package/dist/lib/signing/server.d.ts.map +1 -0
- package/dist/lib/signing/server.js +67 -0
- package/dist/lib/signing/server.js.map +1 -0
- package/dist/lib/signing/signer-async.d.ts +24 -0
- package/dist/lib/signing/signer-async.d.ts.map +1 -0
- package/dist/lib/signing/signer-async.js +34 -0
- package/dist/lib/signing/signer-async.js.map +1 -0
- package/dist/lib/signing/signer.d.ts +94 -0
- package/dist/lib/signing/signer.d.ts.map +1 -0
- package/dist/lib/signing/signer.js +131 -0
- package/dist/lib/signing/signer.js.map +1 -0
- package/dist/lib/signing/testing.d.ts +45 -0
- package/dist/lib/signing/testing.d.ts.map +1 -0
- package/dist/lib/signing/testing.js +81 -0
- package/dist/lib/signing/testing.js.map +1 -0
- package/dist/lib/signing/types.d.ts +90 -0
- package/dist/lib/signing/types.d.ts.map +1 -0
- package/dist/lib/signing/types.js +9 -0
- package/dist/lib/signing/types.js.map +1 -0
- package/dist/lib/signing/verifier.d.ts +23 -0
- package/dist/lib/signing/verifier.d.ts.map +1 -0
- package/dist/lib/signing/verifier.js +386 -0
- package/dist/lib/signing/verifier.js.map +1 -0
- package/dist/lib/signing/webhook-verifier.d.ts +119 -0
- package/dist/lib/signing/webhook-verifier.d.ts.map +1 -0
- package/dist/lib/signing/webhook-verifier.js +292 -0
- package/dist/lib/signing/webhook-verifier.js.map +1 -0
- package/dist/lib/storage/MemoryStorage.d.ts +93 -0
- package/dist/lib/storage/MemoryStorage.d.ts.map +1 -0
- package/dist/lib/storage/MemoryStorage.js +219 -0
- package/dist/lib/storage/MemoryStorage.js.map +1 -0
- package/dist/lib/storage/interfaces.d.ts +195 -0
- package/dist/lib/storage/interfaces.d.ts.map +1 -0
- package/dist/lib/storage/interfaces.js +5 -0
- package/dist/lib/storage/interfaces.js.map +1 -0
- package/dist/lib/substitution/encoder/SubstitutionEncoder.d.ts +45 -0
- package/dist/lib/substitution/encoder/SubstitutionEncoder.d.ts.map +1 -0
- package/dist/lib/substitution/encoder/SubstitutionEncoder.js +73 -0
- package/dist/lib/substitution/encoder/SubstitutionEncoder.js.map +1 -0
- package/dist/lib/substitution/encoder/index.d.ts +2 -0
- package/dist/lib/substitution/encoder/index.d.ts.map +1 -0
- package/dist/lib/substitution/encoder/index.js +7 -0
- package/dist/lib/substitution/encoder/index.js.map +1 -0
- package/dist/lib/substitution/index.d.ts +36 -0
- package/dist/lib/substitution/index.d.ts.map +1 -0
- package/dist/lib/substitution/index.js +56 -0
- package/dist/lib/substitution/index.js.map +1 -0
- package/dist/lib/substitution/observer/SubstitutionObserver.d.ts +91 -0
- package/dist/lib/substitution/observer/SubstitutionObserver.d.ts.map +1 -0
- package/dist/lib/substitution/observer/SubstitutionObserver.js +248 -0
- package/dist/lib/substitution/observer/SubstitutionObserver.js.map +1 -0
- package/dist/lib/substitution/observer/alignment.d.ts +24 -0
- package/dist/lib/substitution/observer/alignment.d.ts.map +1 -0
- package/dist/lib/substitution/observer/alignment.js +279 -0
- package/dist/lib/substitution/observer/alignment.js.map +1 -0
- package/dist/lib/substitution/observer/assertions.d.ts +48 -0
- package/dist/lib/substitution/observer/assertions.d.ts.map +1 -0
- package/dist/lib/substitution/observer/assertions.js +145 -0
- package/dist/lib/substitution/observer/assertions.js.map +1 -0
- package/dist/lib/substitution/observer/html-parser.d.ts +29 -0
- package/dist/lib/substitution/observer/html-parser.d.ts.map +1 -0
- package/dist/lib/substitution/observer/html-parser.js +308 -0
- package/dist/lib/substitution/observer/html-parser.js.map +1 -0
- package/dist/lib/substitution/observer/index.d.ts +7 -0
- package/dist/lib/substitution/observer/index.d.ts.map +1 -0
- package/dist/lib/substitution/observer/index.js +21 -0
- package/dist/lib/substitution/observer/index.js.map +1 -0
- package/dist/lib/substitution/observer/ssrf.d.ts +29 -0
- package/dist/lib/substitution/observer/ssrf.d.ts.map +1 -0
- package/dist/lib/substitution/observer/ssrf.js +226 -0
- package/dist/lib/substitution/observer/ssrf.js.map +1 -0
- package/dist/lib/substitution/rfc3986.d.ts +51 -0
- package/dist/lib/substitution/rfc3986.d.ts.map +1 -0
- package/dist/lib/substitution/rfc3986.js +139 -0
- package/dist/lib/substitution/rfc3986.js.map +1 -0
- package/dist/lib/substitution/types.d.ts +147 -0
- package/dist/lib/substitution/types.d.ts.map +1 -0
- package/dist/lib/substitution/types.js +8 -0
- package/dist/lib/substitution/types.js.map +1 -0
- package/dist/lib/substitution/vectors.d.ts +18 -0
- package/dist/lib/substitution/vectors.d.ts.map +1 -0
- package/dist/lib/substitution/vectors.js +79 -0
- package/dist/lib/substitution/vectors.js.map +1 -0
- package/dist/lib/testing/agent-tester.d.ts +34 -0
- package/dist/lib/testing/agent-tester.d.ts.map +1 -0
- package/dist/lib/testing/agent-tester.js +421 -0
- package/dist/lib/testing/agent-tester.js.map +1 -0
- package/dist/lib/testing/client.d.ts +104 -0
- package/dist/lib/testing/client.d.ts.map +1 -0
- package/dist/lib/testing/client.js +487 -0
- package/dist/lib/testing/client.js.map +1 -0
- package/dist/lib/testing/compliance/briefs.d.ts +11 -0
- package/dist/lib/testing/compliance/briefs.d.ts.map +1 -0
- package/dist/lib/testing/compliance/briefs.js +156 -0
- package/dist/lib/testing/compliance/briefs.js.map +1 -0
- package/dist/lib/testing/compliance/comply.d.ts +83 -0
- package/dist/lib/testing/compliance/comply.d.ts.map +1 -0
- package/dist/lib/testing/compliance/comply.js +1275 -0
- package/dist/lib/testing/compliance/comply.js.map +1 -0
- package/dist/lib/testing/compliance/index.d.ts +10 -0
- package/dist/lib/testing/compliance/index.d.ts.map +1 -0
- package/dist/lib/testing/compliance/index.js +18 -0
- package/dist/lib/testing/compliance/index.js.map +1 -0
- package/dist/lib/testing/compliance/storyboard-tracks.d.ts +17 -0
- package/dist/lib/testing/compliance/storyboard-tracks.d.ts.map +1 -0
- package/dist/lib/testing/compliance/storyboard-tracks.js +147 -0
- package/dist/lib/testing/compliance/storyboard-tracks.js.map +1 -0
- package/dist/lib/testing/compliance/types.d.ts +145 -0
- package/dist/lib/testing/compliance/types.d.ts.map +1 -0
- package/dist/lib/testing/compliance/types.js +6 -0
- package/dist/lib/testing/compliance/types.js.map +1 -0
- package/dist/lib/testing/comply-controller.d.ts +193 -0
- package/dist/lib/testing/comply-controller.d.ts.map +1 -0
- package/dist/lib/testing/comply-controller.js +199 -0
- package/dist/lib/testing/comply-controller.js.map +1 -0
- package/dist/lib/testing/controller-assertions.d.ts +67 -0
- package/dist/lib/testing/controller-assertions.d.ts.map +1 -0
- package/dist/lib/testing/controller-assertions.js +60 -0
- package/dist/lib/testing/controller-assertions.js.map +1 -0
- package/dist/lib/testing/formatter.d.ts +17 -0
- package/dist/lib/testing/formatter.d.ts.map +1 -0
- package/dist/lib/testing/formatter.js +92 -0
- package/dist/lib/testing/formatter.js.map +1 -0
- package/dist/lib/testing/index.d.ts +19 -0
- package/dist/lib/testing/index.d.ts.map +1 -0
- package/dist/lib/testing/index.js +185 -0
- package/dist/lib/testing/index.js.map +1 -0
- package/dist/lib/testing/local-agent-runner.d.ts +189 -0
- package/dist/lib/testing/local-agent-runner.d.ts.map +1 -0
- package/dist/lib/testing/local-agent-runner.js +290 -0
- package/dist/lib/testing/local-agent-runner.js.map +1 -0
- package/dist/lib/testing/orchestrator.d.ts +70 -0
- package/dist/lib/testing/orchestrator.d.ts.map +1 -0
- package/dist/lib/testing/orchestrator.js +278 -0
- package/dist/lib/testing/orchestrator.js.map +1 -0
- package/dist/lib/testing/scenarios/brand-rights.d.ts +41 -0
- package/dist/lib/testing/scenarios/brand-rights.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/brand-rights.js +278 -0
- package/dist/lib/testing/scenarios/brand-rights.js.map +1 -0
- package/dist/lib/testing/scenarios/capabilities.d.ts +27 -0
- package/dist/lib/testing/scenarios/capabilities.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/capabilities.js +332 -0
- package/dist/lib/testing/scenarios/capabilities.js.map +1 -0
- package/dist/lib/testing/scenarios/creative.d.ts +38 -0
- package/dist/lib/testing/scenarios/creative.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/creative.js +429 -0
- package/dist/lib/testing/scenarios/creative.js.map +1 -0
- package/dist/lib/testing/scenarios/deterministic.d.ts +37 -0
- package/dist/lib/testing/scenarios/deterministic.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/deterministic.js +705 -0
- package/dist/lib/testing/scenarios/deterministic.js.map +1 -0
- package/dist/lib/testing/scenarios/discovery.d.ts +15 -0
- package/dist/lib/testing/scenarios/discovery.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/discovery.js +68 -0
- package/dist/lib/testing/scenarios/discovery.js.map +1 -0
- package/dist/lib/testing/scenarios/edge-cases.d.ts +64 -0
- package/dist/lib/testing/scenarios/edge-cases.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/edge-cases.js +569 -0
- package/dist/lib/testing/scenarios/edge-cases.js.map +1 -0
- package/dist/lib/testing/scenarios/error-compliance.d.ts +30 -0
- package/dist/lib/testing/scenarios/error-compliance.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/error-compliance.js +372 -0
- package/dist/lib/testing/scenarios/error-compliance.js.map +1 -0
- package/dist/lib/testing/scenarios/governance.d.ts +114 -0
- package/dist/lib/testing/scenarios/governance.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/governance.js +1619 -0
- package/dist/lib/testing/scenarios/governance.js.map +1 -0
- package/dist/lib/testing/scenarios/health.d.ts +12 -0
- package/dist/lib/testing/scenarios/health.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/health.js +21 -0
- package/dist/lib/testing/scenarios/health.js.map +1 -0
- package/dist/lib/testing/scenarios/index.d.ts +20 -0
- package/dist/lib/testing/scenarios/index.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/index.js +96 -0
- package/dist/lib/testing/scenarios/index.js.map +1 -0
- package/dist/lib/testing/scenarios/media-buy.d.ts +128 -0
- package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/media-buy.js +1655 -0
- package/dist/lib/testing/scenarios/media-buy.js.map +1 -0
- package/dist/lib/testing/scenarios/schema-compliance.d.ts +17 -0
- package/dist/lib/testing/scenarios/schema-compliance.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/schema-compliance.js +194 -0
- package/dist/lib/testing/scenarios/schema-compliance.js.map +1 -0
- package/dist/lib/testing/scenarios/signals.d.ts +22 -0
- package/dist/lib/testing/scenarios/signals.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/signals.js +221 -0
- package/dist/lib/testing/scenarios/signals.js.map +1 -0
- package/dist/lib/testing/scenarios/sponsored-intelligence.d.ts +45 -0
- package/dist/lib/testing/scenarios/sponsored-intelligence.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/sponsored-intelligence.js +554 -0
- package/dist/lib/testing/scenarios/sponsored-intelligence.js.map +1 -0
- package/dist/lib/testing/scenarios/trusted-match.d.ts +22 -0
- package/dist/lib/testing/scenarios/trusted-match.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/trusted-match.js +128 -0
- package/dist/lib/testing/scenarios/trusted-match.js.map +1 -0
- package/dist/lib/testing/seed-merge.d.ts +150 -0
- package/dist/lib/testing/seed-merge.d.ts.map +1 -0
- package/dist/lib/testing/seed-merge.js +315 -0
- package/dist/lib/testing/seed-merge.js.map +1 -0
- package/dist/lib/testing/storyboard/assertions.d.ts +148 -0
- package/dist/lib/testing/storyboard/assertions.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/assertions.js +270 -0
- package/dist/lib/testing/storyboard/assertions.js.map +1 -0
- package/dist/lib/testing/storyboard/compliance.d.ts +166 -0
- package/dist/lib/testing/storyboard/compliance.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/compliance.js +434 -0
- package/dist/lib/testing/storyboard/compliance.js.map +1 -0
- package/dist/lib/testing/storyboard/context.d.ts +124 -0
- package/dist/lib/testing/storyboard/context.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/context.js +560 -0
- package/dist/lib/testing/storyboard/context.js.map +1 -0
- package/dist/lib/testing/storyboard/default-invariants.d.ts +36 -0
- package/dist/lib/testing/storyboard/default-invariants.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/default-invariants.js +882 -0
- package/dist/lib/testing/storyboard/default-invariants.js.map +1 -0
- package/dist/lib/testing/storyboard/index.d.ts +34 -0
- package/dist/lib/testing/storyboard/index.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/index.js +110 -0
- package/dist/lib/testing/storyboard/index.js.map +1 -0
- package/dist/lib/testing/storyboard/junit.d.ts +2 -0
- package/dist/lib/testing/storyboard/junit.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/junit.js +104 -0
- package/dist/lib/testing/storyboard/junit.js.map +1 -0
- package/dist/lib/testing/storyboard/loader.d.ts +28 -0
- package/dist/lib/testing/storyboard/loader.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/loader.js +194 -0
- package/dist/lib/testing/storyboard/loader.js.map +1 -0
- package/dist/lib/testing/storyboard/path.d.ts +76 -0
- package/dist/lib/testing/storyboard/path.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/path.js +258 -0
- package/dist/lib/testing/storyboard/path.js.map +1 -0
- package/dist/lib/testing/storyboard/probes.d.ts +148 -0
- package/dist/lib/testing/storyboard/probes.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/probes.js +402 -0
- package/dist/lib/testing/storyboard/probes.js.map +1 -0
- package/dist/lib/testing/storyboard/rejection-hints.d.ts +41 -0
- package/dist/lib/testing/storyboard/rejection-hints.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/rejection-hints.js +344 -0
- package/dist/lib/testing/storyboard/rejection-hints.js.map +1 -0
- package/dist/lib/testing/storyboard/request-builder.d.ts +35 -0
- package/dist/lib/testing/storyboard/request-builder.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-builder.js +845 -0
- package/dist/lib/testing/storyboard/request-builder.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/builder.d.ts +60 -0
- package/dist/lib/testing/storyboard/request-signing/builder.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/builder.js +462 -0
- package/dist/lib/testing/storyboard/request-signing/builder.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/grader.d.ts +166 -0
- package/dist/lib/testing/storyboard/request-signing/grader.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/grader.js +517 -0
- package/dist/lib/testing/storyboard/request-signing/grader.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/index.d.ts +38 -0
- package/dist/lib/testing/storyboard/request-signing/index.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/index.js +62 -0
- package/dist/lib/testing/storyboard/request-signing/index.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.d.ts +10 -0
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.js +81 -0
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/probe.d.ts +41 -0
- package/dist/lib/testing/storyboard/request-signing/probe.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/probe.js +220 -0
- package/dist/lib/testing/storyboard/request-signing/probe.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/synthesize.d.ts +28 -0
- package/dist/lib/testing/storyboard/request-signing/synthesize.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/synthesize.js +79 -0
- package/dist/lib/testing/storyboard/request-signing/synthesize.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.d.ts +42 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.js +101 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/types.d.ts +72 -0
- package/dist/lib/testing/storyboard/request-signing/types.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/types.js +6 -0
- package/dist/lib/testing/storyboard/request-signing/types.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.d.ts +16 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.js +242 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.js.map +1 -0
- package/dist/lib/testing/storyboard/runner.d.ts +141 -0
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/runner.js +2349 -0
- package/dist/lib/testing/storyboard/runner.js.map +1 -0
- package/dist/lib/testing/storyboard/sandbox-entities.d.ts +56 -0
- package/dist/lib/testing/storyboard/sandbox-entities.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/sandbox-entities.js +222 -0
- package/dist/lib/testing/storyboard/sandbox-entities.js.map +1 -0
- package/dist/lib/testing/storyboard/seeding.d.ts +72 -0
- package/dist/lib/testing/storyboard/seeding.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/seeding.js +282 -0
- package/dist/lib/testing/storyboard/seeding.js.map +1 -0
- package/dist/lib/testing/storyboard/shape-drift-hints.d.ts +54 -0
- package/dist/lib/testing/storyboard/shape-drift-hints.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/shape-drift-hints.js +200 -0
- package/dist/lib/testing/storyboard/shape-drift-hints.js.map +1 -0
- package/dist/lib/testing/storyboard/signer-grader/grader.d.ts +56 -0
- package/dist/lib/testing/storyboard/signer-grader/grader.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/signer-grader/grader.js +270 -0
- package/dist/lib/testing/storyboard/signer-grader/grader.js.map +1 -0
- package/dist/lib/testing/storyboard/signer-grader/index.d.ts +3 -0
- package/dist/lib/testing/storyboard/signer-grader/index.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/signer-grader/index.js +6 -0
- package/dist/lib/testing/storyboard/signer-grader/index.js.map +1 -0
- package/dist/lib/testing/storyboard/signer-grader/types.d.ts +62 -0
- package/dist/lib/testing/storyboard/signer-grader/types.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/signer-grader/types.js +3 -0
- package/dist/lib/testing/storyboard/signer-grader/types.js.map +1 -0
- package/dist/lib/testing/storyboard/strict-validation-hints.d.ts +28 -0
- package/dist/lib/testing/storyboard/strict-validation-hints.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/strict-validation-hints.js +128 -0
- package/dist/lib/testing/storyboard/strict-validation-hints.js.map +1 -0
- package/dist/lib/testing/storyboard/task-map.d.ts +25 -0
- package/dist/lib/testing/storyboard/task-map.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/task-map.js +130 -0
- package/dist/lib/testing/storyboard/task-map.js.map +1 -0
- package/dist/lib/testing/storyboard/test-kit.d.ts +52 -0
- package/dist/lib/testing/storyboard/test-kit.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/test-kit.js +93 -0
- package/dist/lib/testing/storyboard/test-kit.js.map +1 -0
- package/dist/lib/testing/storyboard/types.d.ts +1404 -0
- package/dist/lib/testing/storyboard/types.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/types.js +35 -0
- package/dist/lib/testing/storyboard/types.js.map +1 -0
- package/dist/lib/testing/storyboard/validations.d.ts +103 -0
- package/dist/lib/testing/storyboard/validations.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/validations.js +1729 -0
- package/dist/lib/testing/storyboard/validations.js.map +1 -0
- package/dist/lib/testing/storyboard/webhook-assertions.d.ts +62 -0
- package/dist/lib/testing/storyboard/webhook-assertions.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/webhook-assertions.js +538 -0
- package/dist/lib/testing/storyboard/webhook-assertions.js.map +1 -0
- package/dist/lib/testing/storyboard/webhook-receiver.d.ts +104 -0
- package/dist/lib/testing/storyboard/webhook-receiver.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/webhook-receiver.js +402 -0
- package/dist/lib/testing/storyboard/webhook-receiver.js.map +1 -0
- package/dist/lib/testing/stubs/governance-agent-stub.d.ts +72 -0
- package/dist/lib/testing/stubs/governance-agent-stub.d.ts.map +1 -0
- package/dist/lib/testing/stubs/governance-agent-stub.js +297 -0
- package/dist/lib/testing/stubs/governance-agent-stub.js.map +1 -0
- package/dist/lib/testing/stubs/index.d.ts +3 -0
- package/dist/lib/testing/stubs/index.d.ts.map +1 -0
- package/dist/lib/testing/stubs/index.js +6 -0
- package/dist/lib/testing/stubs/index.js.map +1 -0
- package/dist/lib/testing/test-controller.d.ts +46 -0
- package/dist/lib/testing/test-controller.d.ts.map +1 -0
- package/dist/lib/testing/test-controller.js +143 -0
- package/dist/lib/testing/test-controller.js.map +1 -0
- package/dist/lib/testing/test-helpers.d.ts +213 -0
- package/dist/lib/testing/test-helpers.d.ts.map +1 -0
- package/dist/lib/testing/test-helpers.js +250 -0
- package/dist/lib/testing/test-helpers.js.map +1 -0
- package/dist/lib/testing/types.d.ts +222 -0
- package/dist/lib/testing/types.d.ts.map +1 -0
- package/dist/lib/testing/types.js +6 -0
- package/dist/lib/testing/types.js.map +1 -0
- package/dist/lib/types/adcp.d.ts +625 -0
- package/dist/lib/types/adcp.d.ts.map +1 -0
- package/dist/lib/types/adcp.js +20 -0
- package/dist/lib/types/adcp.js.map +1 -0
- package/dist/lib/types/asset-instances.d.ts +32 -0
- package/dist/lib/types/asset-instances.d.ts.map +1 -0
- package/dist/lib/types/asset-instances.js +24 -0
- package/dist/lib/types/asset-instances.js.map +1 -0
- package/dist/lib/types/compat.d.ts +105 -0
- package/dist/lib/types/compat.d.ts.map +1 -0
- package/dist/lib/types/compat.js +52 -0
- package/dist/lib/types/compat.js.map +1 -0
- package/dist/lib/types/core.generated.d.ts +15973 -0
- package/dist/lib/types/core.generated.d.ts.map +1 -0
- package/dist/lib/types/core.generated.js +5 -0
- package/dist/lib/types/core.generated.js.map +1 -0
- package/dist/lib/types/enums.generated.d.ts +139 -0
- package/dist/lib/types/enums.generated.d.ts.map +1 -0
- package/dist/lib/types/enums.generated.js +158 -0
- package/dist/lib/types/enums.generated.js.map +1 -0
- package/dist/lib/types/error-codes.d.ts +32 -0
- package/dist/lib/types/error-codes.d.ts.map +1 -0
- package/dist/lib/types/error-codes.js +146 -0
- package/dist/lib/types/error-codes.js.map +1 -0
- package/dist/lib/types/format-asset-slots.d.ts +117 -0
- package/dist/lib/types/format-asset-slots.d.ts.map +1 -0
- package/dist/lib/types/format-asset-slots.js +20 -0
- package/dist/lib/types/format-asset-slots.js.map +1 -0
- package/dist/lib/types/index.d.ts +20 -0
- package/dist/lib/types/index.d.ts.map +1 -0
- package/dist/lib/types/index.js +48 -0
- package/dist/lib/types/index.js.map +1 -0
- package/dist/lib/types/inline-enums.aliases.d.ts +53 -0
- package/dist/lib/types/inline-enums.aliases.d.ts.map +1 -0
- package/dist/lib/types/inline-enums.aliases.js +73 -0
- package/dist/lib/types/inline-enums.aliases.js.map +1 -0
- package/dist/lib/types/inline-enums.generated.d.ts +157 -0
- package/dist/lib/types/inline-enums.generated.d.ts.map +1 -0
- package/dist/lib/types/inline-enums.generated.js +239 -0
- package/dist/lib/types/inline-enums.generated.js.map +1 -0
- package/dist/lib/types/schemas.generated.d.ts +46531 -0
- package/dist/lib/types/schemas.generated.d.ts.map +1 -0
- package/dist/lib/types/schemas.generated.js +5867 -0
- package/dist/lib/types/schemas.generated.js.map +1 -0
- package/dist/lib/types/sync-rows.d.ts +37 -0
- package/dist/lib/types/sync-rows.d.ts.map +1 -0
- package/dist/lib/types/sync-rows.js +21 -0
- package/dist/lib/types/sync-rows.js.map +1 -0
- package/dist/lib/types/tools.generated.d.ts +13423 -0
- package/dist/lib/types/tools.generated.d.ts.map +1 -0
- package/dist/lib/types/tools.generated.js +5 -0
- package/dist/lib/types/tools.generated.js.map +1 -0
- package/dist/lib/types/wellknown-schemas.generated.d.ts +1363 -0
- package/dist/lib/types/wellknown-schemas.generated.d.ts.map +1 -0
- package/dist/lib/types/wellknown-schemas.generated.js +14 -0
- package/dist/lib/types/wellknown-schemas.generated.js.map +1 -0
- package/dist/lib/utils/a2a-discovery.d.ts +42 -0
- package/dist/lib/utils/a2a-discovery.d.ts.map +1 -0
- package/dist/lib/utils/a2a-discovery.js +68 -0
- package/dist/lib/utils/a2a-discovery.js.map +1 -0
- package/dist/lib/utils/adcp-version-config.d.ts +11 -0
- package/dist/lib/utils/adcp-version-config.d.ts.map +1 -0
- package/dist/lib/utils/adcp-version-config.js +44 -0
- package/dist/lib/utils/adcp-version-config.js.map +1 -0
- package/dist/lib/utils/asset-builders.d.ts +44 -0
- package/dist/lib/utils/asset-builders.d.ts.map +1 -0
- package/dist/lib/utils/asset-builders.js +84 -0
- package/dist/lib/utils/asset-builders.js.map +1 -0
- package/dist/lib/utils/capabilities.d.ts +259 -0
- package/dist/lib/utils/capabilities.d.ts.map +1 -0
- package/dist/lib/utils/capabilities.js +463 -0
- package/dist/lib/utils/capabilities.js.map +1 -0
- package/dist/lib/utils/creative-adapter.d.ts +91 -0
- package/dist/lib/utils/creative-adapter.d.ts.map +1 -0
- package/dist/lib/utils/creative-adapter.js +156 -0
- package/dist/lib/utils/creative-adapter.js.map +1 -0
- package/dist/lib/utils/deprecation.d.ts +11 -0
- package/dist/lib/utils/deprecation.d.ts.map +1 -0
- package/dist/lib/utils/deprecation.js +23 -0
- package/dist/lib/utils/deprecation.js.map +1 -0
- package/dist/lib/utils/error-extraction.d.ts +43 -0
- package/dist/lib/utils/error-extraction.d.ts.map +1 -0
- package/dist/lib/utils/error-extraction.js +225 -0
- package/dist/lib/utils/error-extraction.js.map +1 -0
- package/dist/lib/utils/extract-result.d.ts +45 -0
- package/dist/lib/utils/extract-result.d.ts.map +1 -0
- package/dist/lib/utils/extract-result.js +27 -0
- package/dist/lib/utils/extract-result.js.map +1 -0
- package/dist/lib/utils/format-asset-slot-builders.d.ts +76 -0
- package/dist/lib/utils/format-asset-slot-builders.d.ts.map +1 -0
- package/dist/lib/utils/format-asset-slot-builders.js +174 -0
- package/dist/lib/utils/format-asset-slot-builders.js.map +1 -0
- package/dist/lib/utils/format-assets.d.ts +100 -0
- package/dist/lib/utils/format-assets.d.ts.map +1 -0
- package/dist/lib/utils/format-assets.js +147 -0
- package/dist/lib/utils/format-assets.js.map +1 -0
- package/dist/lib/utils/format-render-builders.d.ts +76 -0
- package/dist/lib/utils/format-render-builders.d.ts.map +1 -0
- package/dist/lib/utils/format-render-builders.js +76 -0
- package/dist/lib/utils/format-render-builders.js.map +1 -0
- package/dist/lib/utils/format-renders.d.ts +96 -0
- package/dist/lib/utils/format-renders.d.ts.map +1 -0
- package/dist/lib/utils/format-renders.js +141 -0
- package/dist/lib/utils/format-renders.js.map +1 -0
- package/dist/lib/utils/idempotency.d.ts +96 -0
- package/dist/lib/utils/idempotency.d.ts.map +1 -0
- package/dist/lib/utils/idempotency.js +156 -0
- package/dist/lib/utils/idempotency.js.map +1 -0
- package/dist/lib/utils/index.d.ts +39 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +196 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/jcs.d.ts +30 -0
- package/dist/lib/utils/jcs.d.ts.map +1 -0
- package/dist/lib/utils/jcs.js +167 -0
- package/dist/lib/utils/jcs.js.map +1 -0
- package/dist/lib/utils/logger.d.ts +55 -0
- package/dist/lib/utils/logger.d.ts.map +1 -0
- package/dist/lib/utils/logger.js +100 -0
- package/dist/lib/utils/logger.js.map +1 -0
- package/dist/lib/utils/pagination.d.ts +31 -0
- package/dist/lib/utils/pagination.d.ts.map +1 -0
- package/dist/lib/utils/pagination.js +51 -0
- package/dist/lib/utils/pagination.js.map +1 -0
- package/dist/lib/utils/preview-normalizer.d.ts +109 -0
- package/dist/lib/utils/preview-normalizer.d.ts.map +1 -0
- package/dist/lib/utils/preview-normalizer.js +122 -0
- package/dist/lib/utils/preview-normalizer.js.map +1 -0
- package/dist/lib/utils/preview-utils.d.ts +87 -0
- package/dist/lib/utils/preview-utils.d.ts.map +1 -0
- package/dist/lib/utils/preview-utils.js +340 -0
- package/dist/lib/utils/preview-utils.js.map +1 -0
- package/dist/lib/utils/pricing-adapter.d.ts +144 -0
- package/dist/lib/utils/pricing-adapter.d.ts.map +1 -0
- package/dist/lib/utils/pricing-adapter.js +322 -0
- package/dist/lib/utils/pricing-adapter.js.map +1 -0
- package/dist/lib/utils/protocol-detection.d.ts +26 -0
- package/dist/lib/utils/protocol-detection.d.ts.map +1 -0
- package/dist/lib/utils/protocol-detection.js +62 -0
- package/dist/lib/utils/protocol-detection.js.map +1 -0
- package/dist/lib/utils/render-builders.d.ts +41 -0
- package/dist/lib/utils/render-builders.d.ts.map +1 -0
- package/dist/lib/utils/render-builders.js +52 -0
- package/dist/lib/utils/render-builders.js.map +1 -0
- package/dist/lib/utils/request-normalizer.d.ts +26 -0
- package/dist/lib/utils/request-normalizer.d.ts.map +1 -0
- package/dist/lib/utils/request-normalizer.js +175 -0
- package/dist/lib/utils/request-normalizer.js.map +1 -0
- package/dist/lib/utils/response-schemas.d.ts +9 -0
- package/dist/lib/utils/response-schemas.d.ts.map +1 -0
- package/dist/lib/utils/response-schemas.js +129 -0
- package/dist/lib/utils/response-schemas.js.map +1 -0
- package/dist/lib/utils/response-unwrapper.d.ts +54 -0
- package/dist/lib/utils/response-unwrapper.d.ts.map +1 -0
- package/dist/lib/utils/response-unwrapper.js +406 -0
- package/dist/lib/utils/response-unwrapper.js.map +1 -0
- package/dist/lib/utils/retry.d.ts +15 -0
- package/dist/lib/utils/retry.d.ts.map +1 -0
- package/dist/lib/utils/retry.js +22 -0
- package/dist/lib/utils/retry.js.map +1 -0
- package/dist/lib/utils/sync-creatives-adapter.d.ts +18 -0
- package/dist/lib/utils/sync-creatives-adapter.d.ts.map +1 -0
- package/dist/lib/utils/sync-creatives-adapter.js +46 -0
- package/dist/lib/utils/sync-creatives-adapter.js.map +1 -0
- package/dist/lib/utils/tool-request-schemas.d.ts +15 -0
- package/dist/lib/utils/tool-request-schemas.d.ts.map +1 -0
- package/dist/lib/utils/tool-request-schemas.js +129 -0
- package/dist/lib/utils/tool-request-schemas.js.map +1 -0
- package/dist/lib/utils/typeGuards.d.ts +147 -0
- package/dist/lib/utils/typeGuards.d.ts.map +1 -0
- package/dist/lib/utils/typeGuards.js +240 -0
- package/dist/lib/utils/typeGuards.js.map +1 -0
- package/dist/lib/utils/union-errors.d.ts +20 -0
- package/dist/lib/utils/union-errors.d.ts.map +1 -0
- package/dist/lib/utils/union-errors.js +38 -0
- package/dist/lib/utils/union-errors.js.map +1 -0
- package/dist/lib/utils/validate-user-agent.d.ts +8 -0
- package/dist/lib/utils/validate-user-agent.d.ts.map +1 -0
- package/dist/lib/utils/validate-user-agent.js +15 -0
- package/dist/lib/utils/validate-user-agent.js.map +1 -0
- package/dist/lib/validation/client-hooks.d.ts +49 -0
- package/dist/lib/validation/client-hooks.d.ts.map +1 -0
- package/dist/lib/validation/client-hooks.js +82 -0
- package/dist/lib/validation/client-hooks.js.map +1 -0
- package/dist/lib/validation/index.d.ts +37 -0
- package/dist/lib/validation/index.d.ts.map +1 -0
- package/dist/lib/validation/index.js +202 -0
- package/dist/lib/validation/index.js.map +1 -0
- package/dist/lib/validation/schema-errors.d.ts +67 -0
- package/dist/lib/validation/schema-errors.d.ts.map +1 -0
- package/dist/lib/validation/schema-errors.js +75 -0
- package/dist/lib/validation/schema-errors.js.map +1 -0
- package/dist/lib/validation/schema-loader.d.ts +24 -0
- package/dist/lib/validation/schema-loader.d.ts.map +1 -0
- package/dist/lib/validation/schema-loader.js +315 -0
- package/dist/lib/validation/schema-loader.js.map +1 -0
- package/dist/lib/validation/schema-validator.d.ts +83 -0
- package/dist/lib/validation/schema-validator.d.ts.map +1 -0
- package/dist/lib/validation/schema-validator.js +142 -0
- package/dist/lib/validation/schema-validator.js.map +1 -0
- package/dist/lib/validation/sync-creatives.d.ts +327 -0
- package/dist/lib/validation/sync-creatives.d.ts.map +1 -0
- package/dist/lib/validation/sync-creatives.js +72 -0
- package/dist/lib/validation/sync-creatives.js.map +1 -0
- package/dist/lib/version.d.ts +63 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +85 -0
- package/dist/lib/version.js.map +1 -0
- package/docs/README.md +42 -0
- package/docs/guides/BUILD-AN-AGENT.md +632 -0
- package/docs/llms.txt +1197 -0
- package/examples/README.md +117 -0
- package/examples/adcp.config.json +30 -0
- package/examples/basic-a2a.ts +76 -0
- package/examples/basic-mcp.ts +50 -0
- package/examples/batch-preview-test.ts +266 -0
- package/examples/comply-controller-seller.ts +146 -0
- package/examples/conversation-client.ts +291 -0
- package/examples/debug-preview-response.ts +73 -0
- package/examples/debug-preview-with-logging.ts +50 -0
- package/examples/easy-config-demo.ts +242 -0
- package/examples/env-config.ts +51 -0
- package/examples/error-compliant-server.ts +241 -0
- package/examples/gcp-kms-signing-provider.ts +281 -0
- package/examples/generative-creative-demo.ts +196 -0
- package/examples/inspect-card-formats.ts +161 -0
- package/examples/logger-usage.ts +165 -0
- package/examples/oauth-cli-example.ts +154 -0
- package/examples/pr78-async-patterns-demo.ts +247 -0
- package/examples/seller-test-controller.ts +320 -0
- package/examples/signals-agent.ts +201 -0
- package/examples/simple-getting-started.ts +225 -0
- package/examples/simple-protocol-demo.ts +75 -0
- package/examples/test-helpers-demo.ts +239 -0
- package/examples/zod-validation-example.ts +126 -0
- package/package.json +313 -0
- package/skills/adcp/SKILL.md +326 -0
- package/skills/adcp-brand/SKILL.md +202 -0
- package/skills/adcp-brand.previous/SKILL.md +202 -0
- package/skills/adcp-creative/SKILL.md +301 -0
- package/skills/adcp-creative.previous/SKILL.md +301 -0
- package/skills/adcp-governance/SKILL.md +566 -0
- package/skills/adcp-governance.previous/SKILL.md +566 -0
- package/skills/adcp-media-buy/SKILL.md +446 -0
- package/skills/adcp-media-buy.previous/SKILL.md +446 -0
- package/skills/adcp-si/SKILL.md +206 -0
- package/skills/adcp-si.previous/SKILL.md +206 -0
- package/skills/adcp-signals/SKILL.md +204 -0
- package/skills/adcp-signals.previous/SKILL.md +204 -0
- package/skills/build-brand-rights-agent/SKILL.md +528 -0
- package/skills/build-creative-agent/SKILL.md +824 -0
- package/skills/build-generative-seller-agent/SKILL.md +579 -0
- package/skills/build-governance-agent/SKILL.md +966 -0
- package/skills/build-retail-media-agent/SKILL.md +488 -0
- package/skills/build-seller-agent/SKILL.md +1407 -0
- package/skills/build-seller-agent/deployment.md +407 -0
- package/skills/build-seller-agent/specialisms/audience-sync.md +63 -0
- package/skills/build-seller-agent/specialisms/sales-broadcast-tv.md +71 -0
- package/skills/build-seller-agent/specialisms/sales-guaranteed.md +67 -0
- package/skills/build-seller-agent/specialisms/sales-non-guaranteed.md +39 -0
- package/skills/build-seller-agent/specialisms/sales-proposal-mode.md +51 -0
- package/skills/build-seller-agent/specialisms/sales-social.md +30 -0
- package/skills/build-seller-agent/specialisms/signed-requests.md +89 -0
- package/skills/build-si-agent/SKILL.md +347 -0
- package/skills/build-signals-agent/SKILL.md +527 -0
- package/skills/call-adcp-agent/SKILL.md +255 -0
- package/skills/call-adcp-agent.previous/SKILL.md +255 -0
|
@@ -0,0 +1,4080 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/3.0.1/bundled/media-buy/list-creative-formats-response.json",
|
|
4
|
+
"title": "List Creative Formats Response",
|
|
5
|
+
"description": "Response payload for list_creative_formats task",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"formats": {
|
|
9
|
+
"type": "array",
|
|
10
|
+
"description": "Full format definitions for all formats this agent supports. Each format's authoritative source is indicated by its agent_url field.",
|
|
11
|
+
"items": {
|
|
12
|
+
"title": "Format",
|
|
13
|
+
"description": "Represents a creative format with its requirements",
|
|
14
|
+
"type": "object",
|
|
15
|
+
"properties": {
|
|
16
|
+
"format_id": {
|
|
17
|
+
"title": "Format Reference (Structured Object)",
|
|
18
|
+
"description": "This format's own identifier — a structured object {agent_url, id}, not a string. See /schemas/core/format-id.json for the full shape.",
|
|
19
|
+
"x-entity": "creative_format",
|
|
20
|
+
"type": "object",
|
|
21
|
+
"properties": {
|
|
22
|
+
"agent_url": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"format": "uri",
|
|
25
|
+
"description": "URL of the agent that defines this format (e.g., 'https://creative.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats). Callers comparing two `format-id` values MUST canonicalize `agent_url` per the AdCP URL canonicalization rules before treating two formats as the same. See docs/reference/url-canonicalization."
|
|
26
|
+
},
|
|
27
|
+
"id": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
30
|
+
"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."
|
|
31
|
+
},
|
|
32
|
+
"width": {
|
|
33
|
+
"type": "integer",
|
|
34
|
+
"minimum": 1,
|
|
35
|
+
"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."
|
|
36
|
+
},
|
|
37
|
+
"height": {
|
|
38
|
+
"type": "integer",
|
|
39
|
+
"minimum": 1,
|
|
40
|
+
"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."
|
|
41
|
+
},
|
|
42
|
+
"duration_ms": {
|
|
43
|
+
"type": "number",
|
|
44
|
+
"minimum": 1,
|
|
45
|
+
"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."
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"required": [
|
|
49
|
+
"agent_url",
|
|
50
|
+
"id"
|
|
51
|
+
],
|
|
52
|
+
"additionalProperties": true,
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"width": [
|
|
55
|
+
"height"
|
|
56
|
+
],
|
|
57
|
+
"height": [
|
|
58
|
+
"width"
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"name": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"description": "Human-readable format name"
|
|
65
|
+
},
|
|
66
|
+
"description": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"description": "Plain text explanation of what this format does and what assets it requires"
|
|
69
|
+
},
|
|
70
|
+
"example_url": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"format": "uri",
|
|
73
|
+
"description": "Optional URL to showcase page with examples and interactive demos of this format"
|
|
74
|
+
},
|
|
75
|
+
"accepts_parameters": {
|
|
76
|
+
"type": "array",
|
|
77
|
+
"description": "List of parameters this format accepts in format_id. Template formats define which parameters (dimensions, duration, etc.) can be specified when instantiating the format. Empty or omitted means this is a concrete format with fixed parameters.",
|
|
78
|
+
"items": {
|
|
79
|
+
"title": "Format ID Parameter",
|
|
80
|
+
"description": "Types of parameters that template formats accept in format_id objects to create parameterized format identifiers",
|
|
81
|
+
"type": "string",
|
|
82
|
+
"enum": [
|
|
83
|
+
"dimensions",
|
|
84
|
+
"duration"
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
"uniqueItems": true
|
|
88
|
+
},
|
|
89
|
+
"renders": {
|
|
90
|
+
"type": "array",
|
|
91
|
+
"description": "Specification of rendered pieces for this format. Most formats produce a single render. Companion ad formats (video + banner), adaptive formats, and multi-placement formats produce multiple renders. Each render specifies its role and dimensions.",
|
|
92
|
+
"items": {
|
|
93
|
+
"type": "object",
|
|
94
|
+
"properties": {
|
|
95
|
+
"role": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"description": "Semantic role of this rendered piece (e.g., 'primary', 'companion', 'mobile_variant')"
|
|
98
|
+
},
|
|
99
|
+
"parameters_from_format_id": {
|
|
100
|
+
"type": "boolean",
|
|
101
|
+
"description": "When true, parameters for this render (dimensions and/or duration) are specified in the format_id. Used for template formats that accept parameters. Mutually exclusive with specifying dimensions object explicitly."
|
|
102
|
+
},
|
|
103
|
+
"dimensions": {
|
|
104
|
+
"type": "object",
|
|
105
|
+
"description": "Dimensions for this rendered piece. Defaults to pixels when unit is absent.",
|
|
106
|
+
"properties": {
|
|
107
|
+
"width": {
|
|
108
|
+
"type": "number",
|
|
109
|
+
"exclusiveMinimum": 0,
|
|
110
|
+
"description": "Fixed width. Interpretation depends on unit (default: pixels)."
|
|
111
|
+
},
|
|
112
|
+
"height": {
|
|
113
|
+
"type": "number",
|
|
114
|
+
"exclusiveMinimum": 0,
|
|
115
|
+
"description": "Fixed height. Interpretation depends on unit (default: pixels)."
|
|
116
|
+
},
|
|
117
|
+
"min_width": {
|
|
118
|
+
"type": "number",
|
|
119
|
+
"exclusiveMinimum": 0,
|
|
120
|
+
"description": "Minimum width for responsive renders"
|
|
121
|
+
},
|
|
122
|
+
"min_height": {
|
|
123
|
+
"type": "number",
|
|
124
|
+
"exclusiveMinimum": 0,
|
|
125
|
+
"description": "Minimum height for responsive renders"
|
|
126
|
+
},
|
|
127
|
+
"max_width": {
|
|
128
|
+
"type": "number",
|
|
129
|
+
"exclusiveMinimum": 0,
|
|
130
|
+
"description": "Maximum width for responsive renders"
|
|
131
|
+
},
|
|
132
|
+
"max_height": {
|
|
133
|
+
"type": "number",
|
|
134
|
+
"exclusiveMinimum": 0,
|
|
135
|
+
"description": "Maximum height for responsive renders"
|
|
136
|
+
},
|
|
137
|
+
"unit": {
|
|
138
|
+
"$ref": "#/$defs/DimensionUnit"
|
|
139
|
+
},
|
|
140
|
+
"responsive": {
|
|
141
|
+
"type": "object",
|
|
142
|
+
"description": "Indicates which dimensions are responsive/fluid",
|
|
143
|
+
"properties": {
|
|
144
|
+
"width": {
|
|
145
|
+
"type": "boolean"
|
|
146
|
+
},
|
|
147
|
+
"height": {
|
|
148
|
+
"type": "boolean"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"required": [
|
|
152
|
+
"width",
|
|
153
|
+
"height"
|
|
154
|
+
]
|
|
155
|
+
},
|
|
156
|
+
"aspect_ratio": {
|
|
157
|
+
"type": "string",
|
|
158
|
+
"description": "Fixed aspect ratio constraint (e.g., '16:9', '4:3', '1:1', '1.91:1')",
|
|
159
|
+
"pattern": "^\\d+(\\.\\d+)?:\\d+(\\.\\d+)?$"
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"required": [
|
|
165
|
+
"role"
|
|
166
|
+
],
|
|
167
|
+
"oneOf": [
|
|
168
|
+
{
|
|
169
|
+
"required": [
|
|
170
|
+
"dimensions"
|
|
171
|
+
],
|
|
172
|
+
"not": {
|
|
173
|
+
"required": [
|
|
174
|
+
"parameters_from_format_id"
|
|
175
|
+
]
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"required": [
|
|
180
|
+
"parameters_from_format_id"
|
|
181
|
+
],
|
|
182
|
+
"properties": {
|
|
183
|
+
"parameters_from_format_id": {
|
|
184
|
+
"const": true
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"not": {
|
|
188
|
+
"required": [
|
|
189
|
+
"dimensions"
|
|
190
|
+
]
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
"minItems": 1
|
|
196
|
+
},
|
|
197
|
+
"assets": {
|
|
198
|
+
"type": "array",
|
|
199
|
+
"description": "Array of all assets supported for this format. Each asset is identified by its asset_id, which must be used as the key in creative manifests. Use the 'required' boolean on each asset to indicate whether it's mandatory.",
|
|
200
|
+
"items": {
|
|
201
|
+
"oneOf": [
|
|
202
|
+
{
|
|
203
|
+
"title": "IndividualImageAsset",
|
|
204
|
+
"description": "Image asset",
|
|
205
|
+
"allOf": [
|
|
206
|
+
{
|
|
207
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
208
|
+
}
|
|
209
|
+
],
|
|
210
|
+
"properties": {
|
|
211
|
+
"item_type": {
|
|
212
|
+
"const": "individual"
|
|
213
|
+
},
|
|
214
|
+
"asset_type": {
|
|
215
|
+
"const": "image"
|
|
216
|
+
},
|
|
217
|
+
"requirements": {
|
|
218
|
+
"title": "Image Asset Requirements",
|
|
219
|
+
"description": "Requirements for image creative assets. These define the technical constraints for image files.",
|
|
220
|
+
"type": "object",
|
|
221
|
+
"properties": {
|
|
222
|
+
"min_width": {
|
|
223
|
+
"type": "number",
|
|
224
|
+
"exclusiveMinimum": 0,
|
|
225
|
+
"description": "Minimum width. Interpretation depends on unit (default: pixels). For exact dimensions, set min_width = max_width."
|
|
226
|
+
},
|
|
227
|
+
"max_width": {
|
|
228
|
+
"type": "number",
|
|
229
|
+
"exclusiveMinimum": 0,
|
|
230
|
+
"description": "Maximum width. Interpretation depends on unit (default: pixels). For exact dimensions, set min_width = max_width."
|
|
231
|
+
},
|
|
232
|
+
"min_height": {
|
|
233
|
+
"type": "number",
|
|
234
|
+
"exclusiveMinimum": 0,
|
|
235
|
+
"description": "Minimum height. Interpretation depends on unit (default: pixels). For exact dimensions, set min_height = max_height."
|
|
236
|
+
},
|
|
237
|
+
"max_height": {
|
|
238
|
+
"type": "number",
|
|
239
|
+
"exclusiveMinimum": 0,
|
|
240
|
+
"description": "Maximum height. Interpretation depends on unit (default: pixels). For exact dimensions, set min_height = max_height."
|
|
241
|
+
},
|
|
242
|
+
"unit": {
|
|
243
|
+
"$ref": "#/$defs/DimensionUnit"
|
|
244
|
+
},
|
|
245
|
+
"aspect_ratio": {
|
|
246
|
+
"type": "string",
|
|
247
|
+
"pattern": "^\\d+(\\.\\d+)?:\\d+(\\.\\d+)?$",
|
|
248
|
+
"description": "Required aspect ratio (e.g., '16:9', '1:1', '1.91:1')"
|
|
249
|
+
},
|
|
250
|
+
"formats": {
|
|
251
|
+
"type": "array",
|
|
252
|
+
"items": {
|
|
253
|
+
"type": "string",
|
|
254
|
+
"enum": [
|
|
255
|
+
"jpg",
|
|
256
|
+
"jpeg",
|
|
257
|
+
"png",
|
|
258
|
+
"gif",
|
|
259
|
+
"webp",
|
|
260
|
+
"svg",
|
|
261
|
+
"avif",
|
|
262
|
+
"tiff",
|
|
263
|
+
"pdf",
|
|
264
|
+
"eps"
|
|
265
|
+
]
|
|
266
|
+
},
|
|
267
|
+
"description": "Accepted image file formats"
|
|
268
|
+
},
|
|
269
|
+
"min_dpi": {
|
|
270
|
+
"type": "integer",
|
|
271
|
+
"minimum": 1,
|
|
272
|
+
"description": "Minimum resolution in dots per inch. Always in DPI regardless of the dimension unit. Standard print requires 300 DPI, newspaper 150 DPI."
|
|
273
|
+
},
|
|
274
|
+
"bleed": {
|
|
275
|
+
"type": "object",
|
|
276
|
+
"description": "Required bleed area beyond the trim size. The submitted image must be larger than the declared dimensions: total width = trim width + left bleed + right bleed, total height = trim height + top bleed + bottom bleed. For uniform bleed: total = trim + (2 * uniform). Uses the same unit as the parent dimensions.",
|
|
277
|
+
"oneOf": [
|
|
278
|
+
{
|
|
279
|
+
"properties": {
|
|
280
|
+
"uniform": {
|
|
281
|
+
"type": "number",
|
|
282
|
+
"minimum": 0,
|
|
283
|
+
"description": "Same bleed on all four sides"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"required": [
|
|
287
|
+
"uniform"
|
|
288
|
+
],
|
|
289
|
+
"additionalProperties": false
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"properties": {
|
|
293
|
+
"top": {
|
|
294
|
+
"type": "number",
|
|
295
|
+
"minimum": 0
|
|
296
|
+
},
|
|
297
|
+
"right": {
|
|
298
|
+
"type": "number",
|
|
299
|
+
"minimum": 0
|
|
300
|
+
},
|
|
301
|
+
"bottom": {
|
|
302
|
+
"type": "number",
|
|
303
|
+
"minimum": 0
|
|
304
|
+
},
|
|
305
|
+
"left": {
|
|
306
|
+
"type": "number",
|
|
307
|
+
"minimum": 0
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
"required": [
|
|
311
|
+
"top",
|
|
312
|
+
"right",
|
|
313
|
+
"bottom",
|
|
314
|
+
"left"
|
|
315
|
+
],
|
|
316
|
+
"additionalProperties": false
|
|
317
|
+
}
|
|
318
|
+
]
|
|
319
|
+
},
|
|
320
|
+
"color_space": {
|
|
321
|
+
"type": "string",
|
|
322
|
+
"enum": [
|
|
323
|
+
"rgb",
|
|
324
|
+
"cmyk",
|
|
325
|
+
"grayscale"
|
|
326
|
+
],
|
|
327
|
+
"description": "Required color space. Print typically requires CMYK."
|
|
328
|
+
},
|
|
329
|
+
"max_file_size_kb": {
|
|
330
|
+
"type": "integer",
|
|
331
|
+
"minimum": 1,
|
|
332
|
+
"description": "Maximum file size in kilobytes"
|
|
333
|
+
},
|
|
334
|
+
"transparency_required": {
|
|
335
|
+
"type": "boolean",
|
|
336
|
+
"description": "Whether the image must support transparency (requires PNG, WebP, or GIF)"
|
|
337
|
+
},
|
|
338
|
+
"animation_allowed": {
|
|
339
|
+
"type": "boolean",
|
|
340
|
+
"description": "Whether animated images (GIF, animated WebP) are accepted"
|
|
341
|
+
},
|
|
342
|
+
"max_animation_duration_ms": {
|
|
343
|
+
"type": "integer",
|
|
344
|
+
"minimum": 0,
|
|
345
|
+
"description": "Maximum animation duration in milliseconds (if animation_allowed is true)"
|
|
346
|
+
},
|
|
347
|
+
"max_weight_grams": {
|
|
348
|
+
"type": "integer",
|
|
349
|
+
"exclusiveMinimum": 0,
|
|
350
|
+
"description": "Maximum weight in grams for the finished physical piece (print inserts, flyers). Affects postage calculations and production constraints. Only applicable to print channels."
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
"if": {
|
|
354
|
+
"required": [
|
|
355
|
+
"min_dpi"
|
|
356
|
+
]
|
|
357
|
+
},
|
|
358
|
+
"then": {
|
|
359
|
+
"required": [
|
|
360
|
+
"unit"
|
|
361
|
+
]
|
|
362
|
+
},
|
|
363
|
+
"additionalProperties": true
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"title": "IndividualVideoAsset",
|
|
369
|
+
"description": "Video asset",
|
|
370
|
+
"allOf": [
|
|
371
|
+
{
|
|
372
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
373
|
+
}
|
|
374
|
+
],
|
|
375
|
+
"properties": {
|
|
376
|
+
"item_type": {
|
|
377
|
+
"const": "individual"
|
|
378
|
+
},
|
|
379
|
+
"asset_type": {
|
|
380
|
+
"const": "video"
|
|
381
|
+
},
|
|
382
|
+
"requirements": {
|
|
383
|
+
"title": "Video Asset Requirements",
|
|
384
|
+
"description": "Requirements for video creative assets. These define the technical constraints for video files.",
|
|
385
|
+
"type": "object",
|
|
386
|
+
"properties": {
|
|
387
|
+
"min_width": {
|
|
388
|
+
"type": "integer",
|
|
389
|
+
"minimum": 1,
|
|
390
|
+
"description": "Minimum width in pixels"
|
|
391
|
+
},
|
|
392
|
+
"max_width": {
|
|
393
|
+
"type": "integer",
|
|
394
|
+
"minimum": 1,
|
|
395
|
+
"description": "Maximum width in pixels"
|
|
396
|
+
},
|
|
397
|
+
"min_height": {
|
|
398
|
+
"type": "integer",
|
|
399
|
+
"minimum": 1,
|
|
400
|
+
"description": "Minimum height in pixels"
|
|
401
|
+
},
|
|
402
|
+
"max_height": {
|
|
403
|
+
"type": "integer",
|
|
404
|
+
"minimum": 1,
|
|
405
|
+
"description": "Maximum height in pixels"
|
|
406
|
+
},
|
|
407
|
+
"aspect_ratio": {
|
|
408
|
+
"type": "string",
|
|
409
|
+
"pattern": "^\\d+:\\d+$",
|
|
410
|
+
"description": "Required aspect ratio (e.g., '16:9', '9:16')"
|
|
411
|
+
},
|
|
412
|
+
"min_duration_ms": {
|
|
413
|
+
"type": "integer",
|
|
414
|
+
"minimum": 1,
|
|
415
|
+
"description": "Minimum duration in milliseconds"
|
|
416
|
+
},
|
|
417
|
+
"max_duration_ms": {
|
|
418
|
+
"type": "integer",
|
|
419
|
+
"minimum": 1,
|
|
420
|
+
"description": "Maximum duration in milliseconds"
|
|
421
|
+
},
|
|
422
|
+
"containers": {
|
|
423
|
+
"type": "array",
|
|
424
|
+
"items": {
|
|
425
|
+
"type": "string",
|
|
426
|
+
"enum": [
|
|
427
|
+
"mp4",
|
|
428
|
+
"webm",
|
|
429
|
+
"mov",
|
|
430
|
+
"avi",
|
|
431
|
+
"mkv"
|
|
432
|
+
]
|
|
433
|
+
},
|
|
434
|
+
"description": "Accepted video container formats"
|
|
435
|
+
},
|
|
436
|
+
"codecs": {
|
|
437
|
+
"type": "array",
|
|
438
|
+
"items": {
|
|
439
|
+
"type": "string",
|
|
440
|
+
"enum": [
|
|
441
|
+
"h264",
|
|
442
|
+
"h265",
|
|
443
|
+
"vp8",
|
|
444
|
+
"vp9",
|
|
445
|
+
"av1",
|
|
446
|
+
"prores"
|
|
447
|
+
]
|
|
448
|
+
},
|
|
449
|
+
"description": "Accepted video codecs"
|
|
450
|
+
},
|
|
451
|
+
"max_file_size_kb": {
|
|
452
|
+
"type": "integer",
|
|
453
|
+
"minimum": 1,
|
|
454
|
+
"description": "Maximum file size in kilobytes"
|
|
455
|
+
},
|
|
456
|
+
"min_bitrate_kbps": {
|
|
457
|
+
"type": "integer",
|
|
458
|
+
"minimum": 1,
|
|
459
|
+
"description": "Minimum video bitrate in kilobits per second"
|
|
460
|
+
},
|
|
461
|
+
"max_bitrate_kbps": {
|
|
462
|
+
"type": "integer",
|
|
463
|
+
"minimum": 1,
|
|
464
|
+
"description": "Maximum video bitrate in kilobits per second"
|
|
465
|
+
},
|
|
466
|
+
"frame_rates": {
|
|
467
|
+
"type": "array",
|
|
468
|
+
"items": {
|
|
469
|
+
"type": "number",
|
|
470
|
+
"minimum": 1
|
|
471
|
+
},
|
|
472
|
+
"description": "Accepted frame rates in frames per second (e.g., [24, 30, 60])"
|
|
473
|
+
},
|
|
474
|
+
"audio_required": {
|
|
475
|
+
"type": "boolean",
|
|
476
|
+
"description": "Whether the video must include an audio track"
|
|
477
|
+
},
|
|
478
|
+
"frame_rate_type": {
|
|
479
|
+
"$ref": "#/$defs/FrameRateType"
|
|
480
|
+
},
|
|
481
|
+
"scan_type": {
|
|
482
|
+
"$ref": "#/$defs/ScanType"
|
|
483
|
+
},
|
|
484
|
+
"gop_type": {
|
|
485
|
+
"$ref": "#/$defs/GOPType"
|
|
486
|
+
},
|
|
487
|
+
"min_gop_interval_seconds": {
|
|
488
|
+
"type": "number",
|
|
489
|
+
"minimum": 0,
|
|
490
|
+
"description": "Minimum keyframe interval in seconds"
|
|
491
|
+
},
|
|
492
|
+
"max_gop_interval_seconds": {
|
|
493
|
+
"type": "number",
|
|
494
|
+
"minimum": 0,
|
|
495
|
+
"description": "Maximum keyframe interval in seconds. SSAI typically requires 1-2 second intervals."
|
|
496
|
+
},
|
|
497
|
+
"moov_atom_position": {
|
|
498
|
+
"$ref": "#/$defs/MoovAtomPosition"
|
|
499
|
+
},
|
|
500
|
+
"audio_codecs": {
|
|
501
|
+
"type": "array",
|
|
502
|
+
"items": {
|
|
503
|
+
"type": "string",
|
|
504
|
+
"enum": [
|
|
505
|
+
"aac",
|
|
506
|
+
"pcm",
|
|
507
|
+
"ac3",
|
|
508
|
+
"eac3",
|
|
509
|
+
"mp3",
|
|
510
|
+
"opus",
|
|
511
|
+
"vorbis",
|
|
512
|
+
"flac"
|
|
513
|
+
]
|
|
514
|
+
},
|
|
515
|
+
"description": "Accepted audio codecs (e.g., ['aac', 'pcm', 'ac3'])"
|
|
516
|
+
},
|
|
517
|
+
"audio_sample_rates": {
|
|
518
|
+
"type": "array",
|
|
519
|
+
"items": {
|
|
520
|
+
"type": "integer",
|
|
521
|
+
"minimum": 1
|
|
522
|
+
},
|
|
523
|
+
"description": "Accepted audio sample rates in Hz (e.g., [44100, 48000])"
|
|
524
|
+
},
|
|
525
|
+
"audio_channels": {
|
|
526
|
+
"type": "array",
|
|
527
|
+
"items": {
|
|
528
|
+
"$ref": "#/$defs/AudioChannelLayout"
|
|
529
|
+
},
|
|
530
|
+
"description": "Accepted audio channel configurations"
|
|
531
|
+
},
|
|
532
|
+
"loudness_lufs": {
|
|
533
|
+
"type": "number",
|
|
534
|
+
"description": "Target integrated loudness in LUFS (e.g., -24 for broadcast, -16 for streaming)"
|
|
535
|
+
},
|
|
536
|
+
"loudness_tolerance_db": {
|
|
537
|
+
"type": "number",
|
|
538
|
+
"minimum": 0,
|
|
539
|
+
"description": "Acceptable deviation from loudness_lufs target in dB (e.g., 2 means -22 to -26 LUFS for a -24 target)"
|
|
540
|
+
},
|
|
541
|
+
"true_peak_dbfs": {
|
|
542
|
+
"type": "number",
|
|
543
|
+
"description": "Maximum true peak level in dBFS (e.g., -2 for broadcast)"
|
|
544
|
+
}
|
|
545
|
+
},
|
|
546
|
+
"additionalProperties": true
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
"title": "IndividualAudioAsset",
|
|
552
|
+
"description": "Audio asset",
|
|
553
|
+
"allOf": [
|
|
554
|
+
{
|
|
555
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
556
|
+
}
|
|
557
|
+
],
|
|
558
|
+
"properties": {
|
|
559
|
+
"item_type": {
|
|
560
|
+
"const": "individual"
|
|
561
|
+
},
|
|
562
|
+
"asset_type": {
|
|
563
|
+
"const": "audio"
|
|
564
|
+
},
|
|
565
|
+
"requirements": {
|
|
566
|
+
"title": "Audio Asset Requirements",
|
|
567
|
+
"description": "Requirements for audio creative assets.",
|
|
568
|
+
"type": "object",
|
|
569
|
+
"properties": {
|
|
570
|
+
"min_duration_ms": {
|
|
571
|
+
"type": "integer",
|
|
572
|
+
"minimum": 1,
|
|
573
|
+
"description": "Minimum duration in milliseconds"
|
|
574
|
+
},
|
|
575
|
+
"max_duration_ms": {
|
|
576
|
+
"type": "integer",
|
|
577
|
+
"minimum": 1,
|
|
578
|
+
"description": "Maximum duration in milliseconds"
|
|
579
|
+
},
|
|
580
|
+
"formats": {
|
|
581
|
+
"type": "array",
|
|
582
|
+
"items": {
|
|
583
|
+
"type": "string",
|
|
584
|
+
"enum": [
|
|
585
|
+
"mp3",
|
|
586
|
+
"aac",
|
|
587
|
+
"wav",
|
|
588
|
+
"ogg",
|
|
589
|
+
"flac"
|
|
590
|
+
]
|
|
591
|
+
},
|
|
592
|
+
"description": "Accepted audio file formats"
|
|
593
|
+
},
|
|
594
|
+
"max_file_size_kb": {
|
|
595
|
+
"type": "integer",
|
|
596
|
+
"minimum": 1,
|
|
597
|
+
"description": "Maximum file size in kilobytes"
|
|
598
|
+
},
|
|
599
|
+
"sample_rates": {
|
|
600
|
+
"type": "array",
|
|
601
|
+
"items": {
|
|
602
|
+
"type": "integer",
|
|
603
|
+
"minimum": 1
|
|
604
|
+
},
|
|
605
|
+
"description": "Accepted sample rates in Hz (e.g., [44100, 48000])"
|
|
606
|
+
},
|
|
607
|
+
"channels": {
|
|
608
|
+
"type": "array",
|
|
609
|
+
"items": {
|
|
610
|
+
"type": "string",
|
|
611
|
+
"enum": [
|
|
612
|
+
"mono",
|
|
613
|
+
"stereo"
|
|
614
|
+
]
|
|
615
|
+
},
|
|
616
|
+
"description": "Accepted audio channel configurations"
|
|
617
|
+
},
|
|
618
|
+
"min_bitrate_kbps": {
|
|
619
|
+
"type": "integer",
|
|
620
|
+
"minimum": 1,
|
|
621
|
+
"description": "Minimum audio bitrate in kilobits per second"
|
|
622
|
+
},
|
|
623
|
+
"max_bitrate_kbps": {
|
|
624
|
+
"type": "integer",
|
|
625
|
+
"minimum": 1,
|
|
626
|
+
"description": "Maximum audio bitrate in kilobits per second"
|
|
627
|
+
}
|
|
628
|
+
},
|
|
629
|
+
"additionalProperties": true
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
"title": "IndividualTextAsset",
|
|
635
|
+
"description": "Text asset",
|
|
636
|
+
"allOf": [
|
|
637
|
+
{
|
|
638
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
639
|
+
}
|
|
640
|
+
],
|
|
641
|
+
"properties": {
|
|
642
|
+
"item_type": {
|
|
643
|
+
"const": "individual"
|
|
644
|
+
},
|
|
645
|
+
"asset_type": {
|
|
646
|
+
"const": "text"
|
|
647
|
+
},
|
|
648
|
+
"requirements": {
|
|
649
|
+
"title": "Text Asset Requirements",
|
|
650
|
+
"description": "Requirements for text creative assets such as headlines, body copy, and CTAs.",
|
|
651
|
+
"type": "object",
|
|
652
|
+
"properties": {
|
|
653
|
+
"min_length": {
|
|
654
|
+
"type": "integer",
|
|
655
|
+
"minimum": 0,
|
|
656
|
+
"description": "Minimum character length"
|
|
657
|
+
},
|
|
658
|
+
"max_length": {
|
|
659
|
+
"type": "integer",
|
|
660
|
+
"minimum": 1,
|
|
661
|
+
"description": "Maximum character length"
|
|
662
|
+
},
|
|
663
|
+
"min_lines": {
|
|
664
|
+
"type": "integer",
|
|
665
|
+
"minimum": 1,
|
|
666
|
+
"description": "Minimum number of lines"
|
|
667
|
+
},
|
|
668
|
+
"max_lines": {
|
|
669
|
+
"type": "integer",
|
|
670
|
+
"minimum": 1,
|
|
671
|
+
"description": "Maximum number of lines"
|
|
672
|
+
},
|
|
673
|
+
"character_pattern": {
|
|
674
|
+
"type": "string",
|
|
675
|
+
"description": "Regex pattern defining allowed characters (e.g., '^[a-zA-Z0-9 .,!?-]+$')"
|
|
676
|
+
},
|
|
677
|
+
"prohibited_terms": {
|
|
678
|
+
"type": "array",
|
|
679
|
+
"items": {
|
|
680
|
+
"type": "string"
|
|
681
|
+
},
|
|
682
|
+
"description": "List of prohibited words or phrases"
|
|
683
|
+
}
|
|
684
|
+
},
|
|
685
|
+
"additionalProperties": true
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
"title": "IndividualMarkdownAsset",
|
|
691
|
+
"description": "Markdown asset",
|
|
692
|
+
"allOf": [
|
|
693
|
+
{
|
|
694
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
695
|
+
}
|
|
696
|
+
],
|
|
697
|
+
"properties": {
|
|
698
|
+
"item_type": {
|
|
699
|
+
"const": "individual"
|
|
700
|
+
},
|
|
701
|
+
"asset_type": {
|
|
702
|
+
"const": "markdown"
|
|
703
|
+
},
|
|
704
|
+
"requirements": {
|
|
705
|
+
"title": "Markdown Asset Requirements",
|
|
706
|
+
"description": "Requirements for markdown creative assets.",
|
|
707
|
+
"type": "object",
|
|
708
|
+
"properties": {
|
|
709
|
+
"max_length": {
|
|
710
|
+
"type": "integer",
|
|
711
|
+
"minimum": 1,
|
|
712
|
+
"description": "Maximum character length"
|
|
713
|
+
}
|
|
714
|
+
},
|
|
715
|
+
"additionalProperties": true
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
"title": "IndividualHtmlAsset",
|
|
721
|
+
"description": "HTML asset",
|
|
722
|
+
"allOf": [
|
|
723
|
+
{
|
|
724
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
725
|
+
}
|
|
726
|
+
],
|
|
727
|
+
"properties": {
|
|
728
|
+
"item_type": {
|
|
729
|
+
"const": "individual"
|
|
730
|
+
},
|
|
731
|
+
"asset_type": {
|
|
732
|
+
"const": "html"
|
|
733
|
+
},
|
|
734
|
+
"requirements": {
|
|
735
|
+
"title": "HTML Asset Requirements",
|
|
736
|
+
"description": "Requirements for HTML creative assets. These define the execution environment constraints that the HTML must be compatible with.",
|
|
737
|
+
"type": "object",
|
|
738
|
+
"properties": {
|
|
739
|
+
"max_file_size_kb": {
|
|
740
|
+
"type": "integer",
|
|
741
|
+
"minimum": 1,
|
|
742
|
+
"description": "Maximum file size in kilobytes for the HTML asset"
|
|
743
|
+
},
|
|
744
|
+
"sandbox": {
|
|
745
|
+
"type": "string",
|
|
746
|
+
"enum": [
|
|
747
|
+
"none",
|
|
748
|
+
"iframe",
|
|
749
|
+
"safeframe",
|
|
750
|
+
"fencedframe"
|
|
751
|
+
],
|
|
752
|
+
"default": "none",
|
|
753
|
+
"description": "Sandbox environment the HTML must be compatible with. 'none' = direct DOM access, 'iframe' = standard iframe isolation, 'safeframe' = IAB SafeFrame container, 'fencedframe' = Privacy Sandbox fenced frame"
|
|
754
|
+
},
|
|
755
|
+
"external_resources_allowed": {
|
|
756
|
+
"type": "boolean",
|
|
757
|
+
"description": "Whether the HTML creative can load external resources (scripts, images, fonts, etc.). When false, all resources must be inlined or bundled."
|
|
758
|
+
},
|
|
759
|
+
"allowed_external_domains": {
|
|
760
|
+
"type": "array",
|
|
761
|
+
"items": {
|
|
762
|
+
"type": "string",
|
|
763
|
+
"format": "hostname"
|
|
764
|
+
},
|
|
765
|
+
"description": "List of domains the HTML creative may reference for external resources. Only applicable when external_resources_allowed is true."
|
|
766
|
+
}
|
|
767
|
+
},
|
|
768
|
+
"additionalProperties": true
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
"title": "IndividualCssAsset",
|
|
774
|
+
"description": "CSS asset",
|
|
775
|
+
"allOf": [
|
|
776
|
+
{
|
|
777
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
778
|
+
}
|
|
779
|
+
],
|
|
780
|
+
"properties": {
|
|
781
|
+
"item_type": {
|
|
782
|
+
"const": "individual"
|
|
783
|
+
},
|
|
784
|
+
"asset_type": {
|
|
785
|
+
"const": "css"
|
|
786
|
+
},
|
|
787
|
+
"requirements": {
|
|
788
|
+
"title": "CSS Asset Requirements",
|
|
789
|
+
"description": "Requirements for CSS creative assets.",
|
|
790
|
+
"type": "object",
|
|
791
|
+
"properties": {
|
|
792
|
+
"max_file_size_kb": {
|
|
793
|
+
"type": "integer",
|
|
794
|
+
"minimum": 1,
|
|
795
|
+
"description": "Maximum file size in kilobytes"
|
|
796
|
+
}
|
|
797
|
+
},
|
|
798
|
+
"additionalProperties": true
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
},
|
|
802
|
+
{
|
|
803
|
+
"title": "IndividualJavaScriptAsset",
|
|
804
|
+
"description": "JavaScript asset",
|
|
805
|
+
"allOf": [
|
|
806
|
+
{
|
|
807
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
808
|
+
}
|
|
809
|
+
],
|
|
810
|
+
"properties": {
|
|
811
|
+
"item_type": {
|
|
812
|
+
"const": "individual"
|
|
813
|
+
},
|
|
814
|
+
"asset_type": {
|
|
815
|
+
"const": "javascript"
|
|
816
|
+
},
|
|
817
|
+
"requirements": {
|
|
818
|
+
"title": "JavaScript Asset Requirements",
|
|
819
|
+
"description": "Requirements for JavaScript creative assets. These define the execution environment constraints that the JavaScript must be compatible with.",
|
|
820
|
+
"type": "object",
|
|
821
|
+
"properties": {
|
|
822
|
+
"max_file_size_kb": {
|
|
823
|
+
"type": "integer",
|
|
824
|
+
"minimum": 1,
|
|
825
|
+
"description": "Maximum file size in kilobytes for the JavaScript asset"
|
|
826
|
+
},
|
|
827
|
+
"module_type": {
|
|
828
|
+
"type": "string",
|
|
829
|
+
"enum": [
|
|
830
|
+
"script",
|
|
831
|
+
"module",
|
|
832
|
+
"iife"
|
|
833
|
+
],
|
|
834
|
+
"description": "Required JavaScript module format. 'script' = classic script, 'module' = ES modules, 'iife' = immediately invoked function expression"
|
|
835
|
+
},
|
|
836
|
+
"strict_mode_required": {
|
|
837
|
+
"type": "boolean",
|
|
838
|
+
"description": "Whether the JavaScript must use strict mode"
|
|
839
|
+
},
|
|
840
|
+
"external_resources_allowed": {
|
|
841
|
+
"type": "boolean",
|
|
842
|
+
"description": "Whether the JavaScript can load external resources dynamically"
|
|
843
|
+
},
|
|
844
|
+
"allowed_external_domains": {
|
|
845
|
+
"type": "array",
|
|
846
|
+
"items": {
|
|
847
|
+
"type": "string",
|
|
848
|
+
"format": "hostname"
|
|
849
|
+
},
|
|
850
|
+
"description": "List of domains the JavaScript may reference for external resources. Only applicable when external_resources_allowed is true."
|
|
851
|
+
}
|
|
852
|
+
},
|
|
853
|
+
"additionalProperties": true
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
"title": "IndividualVastAsset",
|
|
859
|
+
"description": "VAST asset",
|
|
860
|
+
"allOf": [
|
|
861
|
+
{
|
|
862
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
863
|
+
}
|
|
864
|
+
],
|
|
865
|
+
"properties": {
|
|
866
|
+
"item_type": {
|
|
867
|
+
"const": "individual"
|
|
868
|
+
},
|
|
869
|
+
"asset_type": {
|
|
870
|
+
"const": "vast"
|
|
871
|
+
},
|
|
872
|
+
"requirements": {
|
|
873
|
+
"title": "VAST Asset Requirements",
|
|
874
|
+
"description": "Requirements for VAST (Video Ad Serving Template) creative assets.",
|
|
875
|
+
"type": "object",
|
|
876
|
+
"properties": {
|
|
877
|
+
"vast_version": {
|
|
878
|
+
"type": "string",
|
|
879
|
+
"enum": [
|
|
880
|
+
"2.0",
|
|
881
|
+
"3.0",
|
|
882
|
+
"4.0",
|
|
883
|
+
"4.1",
|
|
884
|
+
"4.2"
|
|
885
|
+
],
|
|
886
|
+
"description": "Required VAST version"
|
|
887
|
+
}
|
|
888
|
+
},
|
|
889
|
+
"additionalProperties": true
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"title": "IndividualDaastAsset",
|
|
895
|
+
"description": "DAAST asset",
|
|
896
|
+
"allOf": [
|
|
897
|
+
{
|
|
898
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
899
|
+
}
|
|
900
|
+
],
|
|
901
|
+
"properties": {
|
|
902
|
+
"item_type": {
|
|
903
|
+
"const": "individual"
|
|
904
|
+
},
|
|
905
|
+
"asset_type": {
|
|
906
|
+
"const": "daast"
|
|
907
|
+
},
|
|
908
|
+
"requirements": {
|
|
909
|
+
"title": "DAAST Asset Requirements",
|
|
910
|
+
"description": "Requirements for DAAST (Digital Audio Ad Serving Template) creative assets.",
|
|
911
|
+
"type": "object",
|
|
912
|
+
"properties": {
|
|
913
|
+
"daast_version": {
|
|
914
|
+
"type": "string",
|
|
915
|
+
"enum": [
|
|
916
|
+
"1.0"
|
|
917
|
+
],
|
|
918
|
+
"description": "Required DAAST version. DAAST 1.0 is the current IAB standard."
|
|
919
|
+
}
|
|
920
|
+
},
|
|
921
|
+
"additionalProperties": true
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
},
|
|
925
|
+
{
|
|
926
|
+
"title": "IndividualUrlAsset",
|
|
927
|
+
"description": "URL asset",
|
|
928
|
+
"allOf": [
|
|
929
|
+
{
|
|
930
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
931
|
+
}
|
|
932
|
+
],
|
|
933
|
+
"properties": {
|
|
934
|
+
"item_type": {
|
|
935
|
+
"const": "individual"
|
|
936
|
+
},
|
|
937
|
+
"asset_type": {
|
|
938
|
+
"const": "url"
|
|
939
|
+
},
|
|
940
|
+
"requirements": {
|
|
941
|
+
"title": "URL Asset Requirements",
|
|
942
|
+
"description": "Requirements for URL assets such as click-through URLs, tracking pixels, and landing pages.",
|
|
943
|
+
"type": "object",
|
|
944
|
+
"properties": {
|
|
945
|
+
"role": {
|
|
946
|
+
"type": "string",
|
|
947
|
+
"enum": [
|
|
948
|
+
"clickthrough",
|
|
949
|
+
"landing_page",
|
|
950
|
+
"impression_tracker",
|
|
951
|
+
"click_tracker",
|
|
952
|
+
"viewability_tracker",
|
|
953
|
+
"third_party_tracker"
|
|
954
|
+
],
|
|
955
|
+
"description": "Standard role for this URL asset. Use this to constrain which purposes are valid for this URL slot. Complements asset_role (which is a human-readable label) by providing a machine-readable enum."
|
|
956
|
+
},
|
|
957
|
+
"protocols": {
|
|
958
|
+
"type": "array",
|
|
959
|
+
"items": {
|
|
960
|
+
"type": "string",
|
|
961
|
+
"enum": [
|
|
962
|
+
"https",
|
|
963
|
+
"http"
|
|
964
|
+
]
|
|
965
|
+
},
|
|
966
|
+
"description": "Allowed URL protocols. HTTPS is recommended for all ad URLs."
|
|
967
|
+
},
|
|
968
|
+
"allowed_domains": {
|
|
969
|
+
"type": "array",
|
|
970
|
+
"items": {
|
|
971
|
+
"type": "string",
|
|
972
|
+
"format": "hostname"
|
|
973
|
+
},
|
|
974
|
+
"description": "List of allowed domains for the URL"
|
|
975
|
+
},
|
|
976
|
+
"max_length": {
|
|
977
|
+
"type": "integer",
|
|
978
|
+
"minimum": 1,
|
|
979
|
+
"description": "Maximum URL length in characters"
|
|
980
|
+
},
|
|
981
|
+
"macro_support": {
|
|
982
|
+
"type": "boolean",
|
|
983
|
+
"description": "Whether the URL supports macro substitution (e.g., ${CACHEBUSTER})"
|
|
984
|
+
}
|
|
985
|
+
},
|
|
986
|
+
"additionalProperties": true
|
|
987
|
+
}
|
|
988
|
+
}
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
"title": "IndividualWebhookAsset",
|
|
992
|
+
"description": "Webhook asset",
|
|
993
|
+
"allOf": [
|
|
994
|
+
{
|
|
995
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
996
|
+
}
|
|
997
|
+
],
|
|
998
|
+
"properties": {
|
|
999
|
+
"item_type": {
|
|
1000
|
+
"const": "individual"
|
|
1001
|
+
},
|
|
1002
|
+
"asset_type": {
|
|
1003
|
+
"const": "webhook"
|
|
1004
|
+
},
|
|
1005
|
+
"requirements": {
|
|
1006
|
+
"title": "Webhook Asset Requirements",
|
|
1007
|
+
"description": "Requirements for webhook creative assets.",
|
|
1008
|
+
"type": "object",
|
|
1009
|
+
"properties": {
|
|
1010
|
+
"methods": {
|
|
1011
|
+
"type": "array",
|
|
1012
|
+
"items": {
|
|
1013
|
+
"type": "string",
|
|
1014
|
+
"enum": [
|
|
1015
|
+
"GET",
|
|
1016
|
+
"POST"
|
|
1017
|
+
]
|
|
1018
|
+
},
|
|
1019
|
+
"description": "Allowed HTTP methods"
|
|
1020
|
+
}
|
|
1021
|
+
},
|
|
1022
|
+
"additionalProperties": true
|
|
1023
|
+
}
|
|
1024
|
+
}
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
"title": "IndividualBriefAsset",
|
|
1028
|
+
"description": "Brief asset",
|
|
1029
|
+
"allOf": [
|
|
1030
|
+
{
|
|
1031
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
1032
|
+
}
|
|
1033
|
+
],
|
|
1034
|
+
"properties": {
|
|
1035
|
+
"item_type": {
|
|
1036
|
+
"const": "individual"
|
|
1037
|
+
},
|
|
1038
|
+
"asset_type": {
|
|
1039
|
+
"const": "brief"
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
},
|
|
1043
|
+
{
|
|
1044
|
+
"title": "IndividualCatalogAsset",
|
|
1045
|
+
"description": "Catalog asset",
|
|
1046
|
+
"allOf": [
|
|
1047
|
+
{
|
|
1048
|
+
"$ref": "#/$defs/baseIndividualAsset"
|
|
1049
|
+
}
|
|
1050
|
+
],
|
|
1051
|
+
"properties": {
|
|
1052
|
+
"item_type": {
|
|
1053
|
+
"const": "individual"
|
|
1054
|
+
},
|
|
1055
|
+
"asset_type": {
|
|
1056
|
+
"const": "catalog"
|
|
1057
|
+
},
|
|
1058
|
+
"requirements": {
|
|
1059
|
+
"title": "Catalog Requirements",
|
|
1060
|
+
"description": "Format-level declaration of what catalog feeds a creative needs. Formats that render product listings, store locators, or promotional content declare which catalog types must be synced and what fields each catalog must provide. Buyers use this to ensure the right catalogs are synced before submitting creatives.",
|
|
1061
|
+
"type": "object",
|
|
1062
|
+
"properties": {
|
|
1063
|
+
"catalog_type": {
|
|
1064
|
+
"title": "Catalog Type",
|
|
1065
|
+
"description": "The catalog type this requirement applies to",
|
|
1066
|
+
"type": "string",
|
|
1067
|
+
"enum": [
|
|
1068
|
+
"offering",
|
|
1069
|
+
"product",
|
|
1070
|
+
"inventory",
|
|
1071
|
+
"store",
|
|
1072
|
+
"promotion",
|
|
1073
|
+
"hotel",
|
|
1074
|
+
"flight",
|
|
1075
|
+
"job",
|
|
1076
|
+
"vehicle",
|
|
1077
|
+
"real_estate",
|
|
1078
|
+
"education",
|
|
1079
|
+
"destination",
|
|
1080
|
+
"app"
|
|
1081
|
+
]
|
|
1082
|
+
},
|
|
1083
|
+
"required": {
|
|
1084
|
+
"type": "boolean",
|
|
1085
|
+
"description": "Whether this catalog type must be present. When true, creatives using this format must reference a synced catalog of this type.",
|
|
1086
|
+
"default": true
|
|
1087
|
+
},
|
|
1088
|
+
"min_items": {
|
|
1089
|
+
"type": "integer",
|
|
1090
|
+
"minimum": 1,
|
|
1091
|
+
"description": "Minimum number of items the catalog must contain for this format to render properly (e.g., a carousel might require at least 3 products)"
|
|
1092
|
+
},
|
|
1093
|
+
"max_items": {
|
|
1094
|
+
"type": "integer",
|
|
1095
|
+
"minimum": 1,
|
|
1096
|
+
"description": "Maximum number of items the format can render. Items beyond this limit are ignored. Useful for fixed-slot layouts (e.g., a 3-product card) or feed-size constraints."
|
|
1097
|
+
},
|
|
1098
|
+
"required_fields": {
|
|
1099
|
+
"type": "array",
|
|
1100
|
+
"description": "Fields that must be present and non-empty on every item in the catalog. Field names are catalog-type-specific (e.g., 'title', 'price', 'image_url' for product catalogs; 'store_id', 'quantity' for inventory feeds).",
|
|
1101
|
+
"items": {
|
|
1102
|
+
"type": "string"
|
|
1103
|
+
},
|
|
1104
|
+
"minItems": 1,
|
|
1105
|
+
"uniqueItems": true
|
|
1106
|
+
},
|
|
1107
|
+
"feed_formats": {
|
|
1108
|
+
"type": "array",
|
|
1109
|
+
"description": "Accepted feed formats for this catalog type. When specified, the synced catalog must use one of these formats. When omitted, any format is accepted.",
|
|
1110
|
+
"items": {
|
|
1111
|
+
"title": "Feed Format",
|
|
1112
|
+
"description": "Catalog feed formats. Determines how the platform parses items from an external feed URL.",
|
|
1113
|
+
"type": "string",
|
|
1114
|
+
"enum": [
|
|
1115
|
+
"google_merchant_center",
|
|
1116
|
+
"facebook_catalog",
|
|
1117
|
+
"shopify",
|
|
1118
|
+
"linkedin_jobs",
|
|
1119
|
+
"custom"
|
|
1120
|
+
]
|
|
1121
|
+
},
|
|
1122
|
+
"minItems": 1,
|
|
1123
|
+
"uniqueItems": true
|
|
1124
|
+
},
|
|
1125
|
+
"offering_asset_constraints": {
|
|
1126
|
+
"type": "array",
|
|
1127
|
+
"description": "Per-item creative asset requirements. Declares what asset groups (headlines, images, videos) each catalog item must provide in its assets array, along with count bounds and per-asset technical constraints. Applicable to 'offering' and all vertical catalog types (hotel, flight, job, etc.) whose items carry typed assets.",
|
|
1128
|
+
"items": {
|
|
1129
|
+
"title": "Offering Asset Constraint",
|
|
1130
|
+
"description": "Declares per-group creative requirements that each offering must satisfy. Allows formats to specify what asset groups (headlines, images, videos) offerings must provide, along with count and per-asset technical constraints.",
|
|
1131
|
+
"type": "object",
|
|
1132
|
+
"properties": {
|
|
1133
|
+
"asset_group_id": {
|
|
1134
|
+
"type": "string",
|
|
1135
|
+
"description": "The asset group this constraint applies to. Values are format-defined vocabulary — each format chooses its own group IDs (e.g., 'headlines', 'images', 'videos'). Buyers discover them via list_creative_formats."
|
|
1136
|
+
},
|
|
1137
|
+
"asset_type": {
|
|
1138
|
+
"title": "Asset Content Type",
|
|
1139
|
+
"description": "The expected content type for this group.",
|
|
1140
|
+
"type": "string",
|
|
1141
|
+
"enum": [
|
|
1142
|
+
"image",
|
|
1143
|
+
"video",
|
|
1144
|
+
"audio",
|
|
1145
|
+
"text",
|
|
1146
|
+
"markdown",
|
|
1147
|
+
"html",
|
|
1148
|
+
"css",
|
|
1149
|
+
"javascript",
|
|
1150
|
+
"vast",
|
|
1151
|
+
"daast",
|
|
1152
|
+
"url",
|
|
1153
|
+
"webhook",
|
|
1154
|
+
"brief",
|
|
1155
|
+
"catalog"
|
|
1156
|
+
]
|
|
1157
|
+
},
|
|
1158
|
+
"required": {
|
|
1159
|
+
"type": "boolean",
|
|
1160
|
+
"description": "Whether this asset group must be present in each offering. Defaults to true.",
|
|
1161
|
+
"default": true
|
|
1162
|
+
},
|
|
1163
|
+
"min_count": {
|
|
1164
|
+
"type": "integer",
|
|
1165
|
+
"minimum": 1,
|
|
1166
|
+
"description": "Minimum number of items required in this group."
|
|
1167
|
+
},
|
|
1168
|
+
"max_count": {
|
|
1169
|
+
"type": "integer",
|
|
1170
|
+
"minimum": 1,
|
|
1171
|
+
"description": "Maximum number of items allowed in this group."
|
|
1172
|
+
},
|
|
1173
|
+
"asset_requirements": {
|
|
1174
|
+
"title": "Asset Requirements",
|
|
1175
|
+
"description": "Technical requirements for each item in this group (e.g., max_length for text, min_width/aspect_ratio for images). Applies uniformly to all items in the group.",
|
|
1176
|
+
"anyOf": [
|
|
1177
|
+
{
|
|
1178
|
+
"title": "Image Asset Requirements",
|
|
1179
|
+
"description": "Requirements for image creative assets. These define the technical constraints for image files.",
|
|
1180
|
+
"type": "object",
|
|
1181
|
+
"properties": {
|
|
1182
|
+
"min_width": {
|
|
1183
|
+
"type": "number",
|
|
1184
|
+
"exclusiveMinimum": 0,
|
|
1185
|
+
"description": "Minimum width. Interpretation depends on unit (default: pixels). For exact dimensions, set min_width = max_width."
|
|
1186
|
+
},
|
|
1187
|
+
"max_width": {
|
|
1188
|
+
"type": "number",
|
|
1189
|
+
"exclusiveMinimum": 0,
|
|
1190
|
+
"description": "Maximum width. Interpretation depends on unit (default: pixels). For exact dimensions, set min_width = max_width."
|
|
1191
|
+
},
|
|
1192
|
+
"min_height": {
|
|
1193
|
+
"type": "number",
|
|
1194
|
+
"exclusiveMinimum": 0,
|
|
1195
|
+
"description": "Minimum height. Interpretation depends on unit (default: pixels). For exact dimensions, set min_height = max_height."
|
|
1196
|
+
},
|
|
1197
|
+
"max_height": {
|
|
1198
|
+
"type": "number",
|
|
1199
|
+
"exclusiveMinimum": 0,
|
|
1200
|
+
"description": "Maximum height. Interpretation depends on unit (default: pixels). For exact dimensions, set min_height = max_height."
|
|
1201
|
+
},
|
|
1202
|
+
"unit": {
|
|
1203
|
+
"$ref": "#/$defs/DimensionUnit"
|
|
1204
|
+
},
|
|
1205
|
+
"aspect_ratio": {
|
|
1206
|
+
"type": "string",
|
|
1207
|
+
"pattern": "^\\d+(\\.\\d+)?:\\d+(\\.\\d+)?$",
|
|
1208
|
+
"description": "Required aspect ratio (e.g., '16:9', '1:1', '1.91:1')"
|
|
1209
|
+
},
|
|
1210
|
+
"formats": {
|
|
1211
|
+
"type": "array",
|
|
1212
|
+
"items": {
|
|
1213
|
+
"type": "string",
|
|
1214
|
+
"enum": [
|
|
1215
|
+
"jpg",
|
|
1216
|
+
"jpeg",
|
|
1217
|
+
"png",
|
|
1218
|
+
"gif",
|
|
1219
|
+
"webp",
|
|
1220
|
+
"svg",
|
|
1221
|
+
"avif",
|
|
1222
|
+
"tiff",
|
|
1223
|
+
"pdf",
|
|
1224
|
+
"eps"
|
|
1225
|
+
]
|
|
1226
|
+
},
|
|
1227
|
+
"description": "Accepted image file formats"
|
|
1228
|
+
},
|
|
1229
|
+
"min_dpi": {
|
|
1230
|
+
"type": "integer",
|
|
1231
|
+
"minimum": 1,
|
|
1232
|
+
"description": "Minimum resolution in dots per inch. Always in DPI regardless of the dimension unit. Standard print requires 300 DPI, newspaper 150 DPI."
|
|
1233
|
+
},
|
|
1234
|
+
"bleed": {
|
|
1235
|
+
"type": "object",
|
|
1236
|
+
"description": "Required bleed area beyond the trim size. The submitted image must be larger than the declared dimensions: total width = trim width + left bleed + right bleed, total height = trim height + top bleed + bottom bleed. For uniform bleed: total = trim + (2 * uniform). Uses the same unit as the parent dimensions.",
|
|
1237
|
+
"oneOf": [
|
|
1238
|
+
{
|
|
1239
|
+
"properties": {
|
|
1240
|
+
"uniform": {
|
|
1241
|
+
"type": "number",
|
|
1242
|
+
"minimum": 0,
|
|
1243
|
+
"description": "Same bleed on all four sides"
|
|
1244
|
+
}
|
|
1245
|
+
},
|
|
1246
|
+
"required": [
|
|
1247
|
+
"uniform"
|
|
1248
|
+
],
|
|
1249
|
+
"additionalProperties": false
|
|
1250
|
+
},
|
|
1251
|
+
{
|
|
1252
|
+
"properties": {
|
|
1253
|
+
"top": {
|
|
1254
|
+
"type": "number",
|
|
1255
|
+
"minimum": 0
|
|
1256
|
+
},
|
|
1257
|
+
"right": {
|
|
1258
|
+
"type": "number",
|
|
1259
|
+
"minimum": 0
|
|
1260
|
+
},
|
|
1261
|
+
"bottom": {
|
|
1262
|
+
"type": "number",
|
|
1263
|
+
"minimum": 0
|
|
1264
|
+
},
|
|
1265
|
+
"left": {
|
|
1266
|
+
"type": "number",
|
|
1267
|
+
"minimum": 0
|
|
1268
|
+
}
|
|
1269
|
+
},
|
|
1270
|
+
"required": [
|
|
1271
|
+
"top",
|
|
1272
|
+
"right",
|
|
1273
|
+
"bottom",
|
|
1274
|
+
"left"
|
|
1275
|
+
],
|
|
1276
|
+
"additionalProperties": false
|
|
1277
|
+
}
|
|
1278
|
+
]
|
|
1279
|
+
},
|
|
1280
|
+
"color_space": {
|
|
1281
|
+
"type": "string",
|
|
1282
|
+
"enum": [
|
|
1283
|
+
"rgb",
|
|
1284
|
+
"cmyk",
|
|
1285
|
+
"grayscale"
|
|
1286
|
+
],
|
|
1287
|
+
"description": "Required color space. Print typically requires CMYK."
|
|
1288
|
+
},
|
|
1289
|
+
"max_file_size_kb": {
|
|
1290
|
+
"type": "integer",
|
|
1291
|
+
"minimum": 1,
|
|
1292
|
+
"description": "Maximum file size in kilobytes"
|
|
1293
|
+
},
|
|
1294
|
+
"transparency_required": {
|
|
1295
|
+
"type": "boolean",
|
|
1296
|
+
"description": "Whether the image must support transparency (requires PNG, WebP, or GIF)"
|
|
1297
|
+
},
|
|
1298
|
+
"animation_allowed": {
|
|
1299
|
+
"type": "boolean",
|
|
1300
|
+
"description": "Whether animated images (GIF, animated WebP) are accepted"
|
|
1301
|
+
},
|
|
1302
|
+
"max_animation_duration_ms": {
|
|
1303
|
+
"type": "integer",
|
|
1304
|
+
"minimum": 0,
|
|
1305
|
+
"description": "Maximum animation duration in milliseconds (if animation_allowed is true)"
|
|
1306
|
+
},
|
|
1307
|
+
"max_weight_grams": {
|
|
1308
|
+
"type": "integer",
|
|
1309
|
+
"exclusiveMinimum": 0,
|
|
1310
|
+
"description": "Maximum weight in grams for the finished physical piece (print inserts, flyers). Affects postage calculations and production constraints. Only applicable to print channels."
|
|
1311
|
+
}
|
|
1312
|
+
},
|
|
1313
|
+
"if": {
|
|
1314
|
+
"required": [
|
|
1315
|
+
"min_dpi"
|
|
1316
|
+
]
|
|
1317
|
+
},
|
|
1318
|
+
"then": {
|
|
1319
|
+
"required": [
|
|
1320
|
+
"unit"
|
|
1321
|
+
]
|
|
1322
|
+
},
|
|
1323
|
+
"additionalProperties": true
|
|
1324
|
+
},
|
|
1325
|
+
{
|
|
1326
|
+
"title": "Video Asset Requirements",
|
|
1327
|
+
"description": "Requirements for video creative assets. These define the technical constraints for video files.",
|
|
1328
|
+
"type": "object",
|
|
1329
|
+
"properties": {
|
|
1330
|
+
"min_width": {
|
|
1331
|
+
"type": "integer",
|
|
1332
|
+
"minimum": 1,
|
|
1333
|
+
"description": "Minimum width in pixels"
|
|
1334
|
+
},
|
|
1335
|
+
"max_width": {
|
|
1336
|
+
"type": "integer",
|
|
1337
|
+
"minimum": 1,
|
|
1338
|
+
"description": "Maximum width in pixels"
|
|
1339
|
+
},
|
|
1340
|
+
"min_height": {
|
|
1341
|
+
"type": "integer",
|
|
1342
|
+
"minimum": 1,
|
|
1343
|
+
"description": "Minimum height in pixels"
|
|
1344
|
+
},
|
|
1345
|
+
"max_height": {
|
|
1346
|
+
"type": "integer",
|
|
1347
|
+
"minimum": 1,
|
|
1348
|
+
"description": "Maximum height in pixels"
|
|
1349
|
+
},
|
|
1350
|
+
"aspect_ratio": {
|
|
1351
|
+
"type": "string",
|
|
1352
|
+
"pattern": "^\\d+:\\d+$",
|
|
1353
|
+
"description": "Required aspect ratio (e.g., '16:9', '9:16')"
|
|
1354
|
+
},
|
|
1355
|
+
"min_duration_ms": {
|
|
1356
|
+
"type": "integer",
|
|
1357
|
+
"minimum": 1,
|
|
1358
|
+
"description": "Minimum duration in milliseconds"
|
|
1359
|
+
},
|
|
1360
|
+
"max_duration_ms": {
|
|
1361
|
+
"type": "integer",
|
|
1362
|
+
"minimum": 1,
|
|
1363
|
+
"description": "Maximum duration in milliseconds"
|
|
1364
|
+
},
|
|
1365
|
+
"containers": {
|
|
1366
|
+
"type": "array",
|
|
1367
|
+
"items": {
|
|
1368
|
+
"type": "string",
|
|
1369
|
+
"enum": [
|
|
1370
|
+
"mp4",
|
|
1371
|
+
"webm",
|
|
1372
|
+
"mov",
|
|
1373
|
+
"avi",
|
|
1374
|
+
"mkv"
|
|
1375
|
+
]
|
|
1376
|
+
},
|
|
1377
|
+
"description": "Accepted video container formats"
|
|
1378
|
+
},
|
|
1379
|
+
"codecs": {
|
|
1380
|
+
"type": "array",
|
|
1381
|
+
"items": {
|
|
1382
|
+
"type": "string",
|
|
1383
|
+
"enum": [
|
|
1384
|
+
"h264",
|
|
1385
|
+
"h265",
|
|
1386
|
+
"vp8",
|
|
1387
|
+
"vp9",
|
|
1388
|
+
"av1",
|
|
1389
|
+
"prores"
|
|
1390
|
+
]
|
|
1391
|
+
},
|
|
1392
|
+
"description": "Accepted video codecs"
|
|
1393
|
+
},
|
|
1394
|
+
"max_file_size_kb": {
|
|
1395
|
+
"type": "integer",
|
|
1396
|
+
"minimum": 1,
|
|
1397
|
+
"description": "Maximum file size in kilobytes"
|
|
1398
|
+
},
|
|
1399
|
+
"min_bitrate_kbps": {
|
|
1400
|
+
"type": "integer",
|
|
1401
|
+
"minimum": 1,
|
|
1402
|
+
"description": "Minimum video bitrate in kilobits per second"
|
|
1403
|
+
},
|
|
1404
|
+
"max_bitrate_kbps": {
|
|
1405
|
+
"type": "integer",
|
|
1406
|
+
"minimum": 1,
|
|
1407
|
+
"description": "Maximum video bitrate in kilobits per second"
|
|
1408
|
+
},
|
|
1409
|
+
"frame_rates": {
|
|
1410
|
+
"type": "array",
|
|
1411
|
+
"items": {
|
|
1412
|
+
"type": "number",
|
|
1413
|
+
"minimum": 1
|
|
1414
|
+
},
|
|
1415
|
+
"description": "Accepted frame rates in frames per second (e.g., [24, 30, 60])"
|
|
1416
|
+
},
|
|
1417
|
+
"audio_required": {
|
|
1418
|
+
"type": "boolean",
|
|
1419
|
+
"description": "Whether the video must include an audio track"
|
|
1420
|
+
},
|
|
1421
|
+
"frame_rate_type": {
|
|
1422
|
+
"$ref": "#/$defs/FrameRateType"
|
|
1423
|
+
},
|
|
1424
|
+
"scan_type": {
|
|
1425
|
+
"$ref": "#/$defs/ScanType"
|
|
1426
|
+
},
|
|
1427
|
+
"gop_type": {
|
|
1428
|
+
"$ref": "#/$defs/GOPType"
|
|
1429
|
+
},
|
|
1430
|
+
"min_gop_interval_seconds": {
|
|
1431
|
+
"type": "number",
|
|
1432
|
+
"minimum": 0,
|
|
1433
|
+
"description": "Minimum keyframe interval in seconds"
|
|
1434
|
+
},
|
|
1435
|
+
"max_gop_interval_seconds": {
|
|
1436
|
+
"type": "number",
|
|
1437
|
+
"minimum": 0,
|
|
1438
|
+
"description": "Maximum keyframe interval in seconds. SSAI typically requires 1-2 second intervals."
|
|
1439
|
+
},
|
|
1440
|
+
"moov_atom_position": {
|
|
1441
|
+
"$ref": "#/$defs/MoovAtomPosition"
|
|
1442
|
+
},
|
|
1443
|
+
"audio_codecs": {
|
|
1444
|
+
"type": "array",
|
|
1445
|
+
"items": {
|
|
1446
|
+
"type": "string",
|
|
1447
|
+
"enum": [
|
|
1448
|
+
"aac",
|
|
1449
|
+
"pcm",
|
|
1450
|
+
"ac3",
|
|
1451
|
+
"eac3",
|
|
1452
|
+
"mp3",
|
|
1453
|
+
"opus",
|
|
1454
|
+
"vorbis",
|
|
1455
|
+
"flac"
|
|
1456
|
+
]
|
|
1457
|
+
},
|
|
1458
|
+
"description": "Accepted audio codecs (e.g., ['aac', 'pcm', 'ac3'])"
|
|
1459
|
+
},
|
|
1460
|
+
"audio_sample_rates": {
|
|
1461
|
+
"type": "array",
|
|
1462
|
+
"items": {
|
|
1463
|
+
"type": "integer",
|
|
1464
|
+
"minimum": 1
|
|
1465
|
+
},
|
|
1466
|
+
"description": "Accepted audio sample rates in Hz (e.g., [44100, 48000])"
|
|
1467
|
+
},
|
|
1468
|
+
"audio_channels": {
|
|
1469
|
+
"type": "array",
|
|
1470
|
+
"items": {
|
|
1471
|
+
"$ref": "#/$defs/AudioChannelLayout"
|
|
1472
|
+
},
|
|
1473
|
+
"description": "Accepted audio channel configurations"
|
|
1474
|
+
},
|
|
1475
|
+
"loudness_lufs": {
|
|
1476
|
+
"type": "number",
|
|
1477
|
+
"description": "Target integrated loudness in LUFS (e.g., -24 for broadcast, -16 for streaming)"
|
|
1478
|
+
},
|
|
1479
|
+
"loudness_tolerance_db": {
|
|
1480
|
+
"type": "number",
|
|
1481
|
+
"minimum": 0,
|
|
1482
|
+
"description": "Acceptable deviation from loudness_lufs target in dB (e.g., 2 means -22 to -26 LUFS for a -24 target)"
|
|
1483
|
+
},
|
|
1484
|
+
"true_peak_dbfs": {
|
|
1485
|
+
"type": "number",
|
|
1486
|
+
"description": "Maximum true peak level in dBFS (e.g., -2 for broadcast)"
|
|
1487
|
+
}
|
|
1488
|
+
},
|
|
1489
|
+
"additionalProperties": true
|
|
1490
|
+
},
|
|
1491
|
+
{
|
|
1492
|
+
"title": "Audio Asset Requirements",
|
|
1493
|
+
"description": "Requirements for audio creative assets.",
|
|
1494
|
+
"type": "object",
|
|
1495
|
+
"properties": {
|
|
1496
|
+
"min_duration_ms": {
|
|
1497
|
+
"type": "integer",
|
|
1498
|
+
"minimum": 1,
|
|
1499
|
+
"description": "Minimum duration in milliseconds"
|
|
1500
|
+
},
|
|
1501
|
+
"max_duration_ms": {
|
|
1502
|
+
"type": "integer",
|
|
1503
|
+
"minimum": 1,
|
|
1504
|
+
"description": "Maximum duration in milliseconds"
|
|
1505
|
+
},
|
|
1506
|
+
"formats": {
|
|
1507
|
+
"type": "array",
|
|
1508
|
+
"items": {
|
|
1509
|
+
"type": "string",
|
|
1510
|
+
"enum": [
|
|
1511
|
+
"mp3",
|
|
1512
|
+
"aac",
|
|
1513
|
+
"wav",
|
|
1514
|
+
"ogg",
|
|
1515
|
+
"flac"
|
|
1516
|
+
]
|
|
1517
|
+
},
|
|
1518
|
+
"description": "Accepted audio file formats"
|
|
1519
|
+
},
|
|
1520
|
+
"max_file_size_kb": {
|
|
1521
|
+
"type": "integer",
|
|
1522
|
+
"minimum": 1,
|
|
1523
|
+
"description": "Maximum file size in kilobytes"
|
|
1524
|
+
},
|
|
1525
|
+
"sample_rates": {
|
|
1526
|
+
"type": "array",
|
|
1527
|
+
"items": {
|
|
1528
|
+
"type": "integer",
|
|
1529
|
+
"minimum": 1
|
|
1530
|
+
},
|
|
1531
|
+
"description": "Accepted sample rates in Hz (e.g., [44100, 48000])"
|
|
1532
|
+
},
|
|
1533
|
+
"channels": {
|
|
1534
|
+
"type": "array",
|
|
1535
|
+
"items": {
|
|
1536
|
+
"type": "string",
|
|
1537
|
+
"enum": [
|
|
1538
|
+
"mono",
|
|
1539
|
+
"stereo"
|
|
1540
|
+
]
|
|
1541
|
+
},
|
|
1542
|
+
"description": "Accepted audio channel configurations"
|
|
1543
|
+
},
|
|
1544
|
+
"min_bitrate_kbps": {
|
|
1545
|
+
"type": "integer",
|
|
1546
|
+
"minimum": 1,
|
|
1547
|
+
"description": "Minimum audio bitrate in kilobits per second"
|
|
1548
|
+
},
|
|
1549
|
+
"max_bitrate_kbps": {
|
|
1550
|
+
"type": "integer",
|
|
1551
|
+
"minimum": 1,
|
|
1552
|
+
"description": "Maximum audio bitrate in kilobits per second"
|
|
1553
|
+
}
|
|
1554
|
+
},
|
|
1555
|
+
"additionalProperties": true
|
|
1556
|
+
},
|
|
1557
|
+
{
|
|
1558
|
+
"title": "Text Asset Requirements",
|
|
1559
|
+
"description": "Requirements for text creative assets such as headlines, body copy, and CTAs.",
|
|
1560
|
+
"type": "object",
|
|
1561
|
+
"properties": {
|
|
1562
|
+
"min_length": {
|
|
1563
|
+
"type": "integer",
|
|
1564
|
+
"minimum": 0,
|
|
1565
|
+
"description": "Minimum character length"
|
|
1566
|
+
},
|
|
1567
|
+
"max_length": {
|
|
1568
|
+
"type": "integer",
|
|
1569
|
+
"minimum": 1,
|
|
1570
|
+
"description": "Maximum character length"
|
|
1571
|
+
},
|
|
1572
|
+
"min_lines": {
|
|
1573
|
+
"type": "integer",
|
|
1574
|
+
"minimum": 1,
|
|
1575
|
+
"description": "Minimum number of lines"
|
|
1576
|
+
},
|
|
1577
|
+
"max_lines": {
|
|
1578
|
+
"type": "integer",
|
|
1579
|
+
"minimum": 1,
|
|
1580
|
+
"description": "Maximum number of lines"
|
|
1581
|
+
},
|
|
1582
|
+
"character_pattern": {
|
|
1583
|
+
"type": "string",
|
|
1584
|
+
"description": "Regex pattern defining allowed characters (e.g., '^[a-zA-Z0-9 .,!?-]+$')"
|
|
1585
|
+
},
|
|
1586
|
+
"prohibited_terms": {
|
|
1587
|
+
"type": "array",
|
|
1588
|
+
"items": {
|
|
1589
|
+
"type": "string"
|
|
1590
|
+
},
|
|
1591
|
+
"description": "List of prohibited words or phrases"
|
|
1592
|
+
}
|
|
1593
|
+
},
|
|
1594
|
+
"additionalProperties": true
|
|
1595
|
+
},
|
|
1596
|
+
{
|
|
1597
|
+
"title": "Markdown Asset Requirements",
|
|
1598
|
+
"description": "Requirements for markdown creative assets.",
|
|
1599
|
+
"type": "object",
|
|
1600
|
+
"properties": {
|
|
1601
|
+
"max_length": {
|
|
1602
|
+
"type": "integer",
|
|
1603
|
+
"minimum": 1,
|
|
1604
|
+
"description": "Maximum character length"
|
|
1605
|
+
}
|
|
1606
|
+
},
|
|
1607
|
+
"additionalProperties": true
|
|
1608
|
+
},
|
|
1609
|
+
{
|
|
1610
|
+
"title": "HTML Asset Requirements",
|
|
1611
|
+
"description": "Requirements for HTML creative assets. These define the execution environment constraints that the HTML must be compatible with.",
|
|
1612
|
+
"type": "object",
|
|
1613
|
+
"properties": {
|
|
1614
|
+
"max_file_size_kb": {
|
|
1615
|
+
"type": "integer",
|
|
1616
|
+
"minimum": 1,
|
|
1617
|
+
"description": "Maximum file size in kilobytes for the HTML asset"
|
|
1618
|
+
},
|
|
1619
|
+
"sandbox": {
|
|
1620
|
+
"type": "string",
|
|
1621
|
+
"enum": [
|
|
1622
|
+
"none",
|
|
1623
|
+
"iframe",
|
|
1624
|
+
"safeframe",
|
|
1625
|
+
"fencedframe"
|
|
1626
|
+
],
|
|
1627
|
+
"default": "none",
|
|
1628
|
+
"description": "Sandbox environment the HTML must be compatible with. 'none' = direct DOM access, 'iframe' = standard iframe isolation, 'safeframe' = IAB SafeFrame container, 'fencedframe' = Privacy Sandbox fenced frame"
|
|
1629
|
+
},
|
|
1630
|
+
"external_resources_allowed": {
|
|
1631
|
+
"type": "boolean",
|
|
1632
|
+
"description": "Whether the HTML creative can load external resources (scripts, images, fonts, etc.). When false, all resources must be inlined or bundled."
|
|
1633
|
+
},
|
|
1634
|
+
"allowed_external_domains": {
|
|
1635
|
+
"type": "array",
|
|
1636
|
+
"items": {
|
|
1637
|
+
"type": "string",
|
|
1638
|
+
"format": "hostname"
|
|
1639
|
+
},
|
|
1640
|
+
"description": "List of domains the HTML creative may reference for external resources. Only applicable when external_resources_allowed is true."
|
|
1641
|
+
}
|
|
1642
|
+
},
|
|
1643
|
+
"additionalProperties": true
|
|
1644
|
+
},
|
|
1645
|
+
{
|
|
1646
|
+
"title": "CSS Asset Requirements",
|
|
1647
|
+
"description": "Requirements for CSS creative assets.",
|
|
1648
|
+
"type": "object",
|
|
1649
|
+
"properties": {
|
|
1650
|
+
"max_file_size_kb": {
|
|
1651
|
+
"type": "integer",
|
|
1652
|
+
"minimum": 1,
|
|
1653
|
+
"description": "Maximum file size in kilobytes"
|
|
1654
|
+
}
|
|
1655
|
+
},
|
|
1656
|
+
"additionalProperties": true
|
|
1657
|
+
},
|
|
1658
|
+
{
|
|
1659
|
+
"title": "JavaScript Asset Requirements",
|
|
1660
|
+
"description": "Requirements for JavaScript creative assets. These define the execution environment constraints that the JavaScript must be compatible with.",
|
|
1661
|
+
"type": "object",
|
|
1662
|
+
"properties": {
|
|
1663
|
+
"max_file_size_kb": {
|
|
1664
|
+
"type": "integer",
|
|
1665
|
+
"minimum": 1,
|
|
1666
|
+
"description": "Maximum file size in kilobytes for the JavaScript asset"
|
|
1667
|
+
},
|
|
1668
|
+
"module_type": {
|
|
1669
|
+
"type": "string",
|
|
1670
|
+
"enum": [
|
|
1671
|
+
"script",
|
|
1672
|
+
"module",
|
|
1673
|
+
"iife"
|
|
1674
|
+
],
|
|
1675
|
+
"description": "Required JavaScript module format. 'script' = classic script, 'module' = ES modules, 'iife' = immediately invoked function expression"
|
|
1676
|
+
},
|
|
1677
|
+
"strict_mode_required": {
|
|
1678
|
+
"type": "boolean",
|
|
1679
|
+
"description": "Whether the JavaScript must use strict mode"
|
|
1680
|
+
},
|
|
1681
|
+
"external_resources_allowed": {
|
|
1682
|
+
"type": "boolean",
|
|
1683
|
+
"description": "Whether the JavaScript can load external resources dynamically"
|
|
1684
|
+
},
|
|
1685
|
+
"allowed_external_domains": {
|
|
1686
|
+
"type": "array",
|
|
1687
|
+
"items": {
|
|
1688
|
+
"type": "string",
|
|
1689
|
+
"format": "hostname"
|
|
1690
|
+
},
|
|
1691
|
+
"description": "List of domains the JavaScript may reference for external resources. Only applicable when external_resources_allowed is true."
|
|
1692
|
+
}
|
|
1693
|
+
},
|
|
1694
|
+
"additionalProperties": true
|
|
1695
|
+
},
|
|
1696
|
+
{
|
|
1697
|
+
"title": "VAST Asset Requirements",
|
|
1698
|
+
"description": "Requirements for VAST (Video Ad Serving Template) creative assets.",
|
|
1699
|
+
"type": "object",
|
|
1700
|
+
"properties": {
|
|
1701
|
+
"vast_version": {
|
|
1702
|
+
"type": "string",
|
|
1703
|
+
"enum": [
|
|
1704
|
+
"2.0",
|
|
1705
|
+
"3.0",
|
|
1706
|
+
"4.0",
|
|
1707
|
+
"4.1",
|
|
1708
|
+
"4.2"
|
|
1709
|
+
],
|
|
1710
|
+
"description": "Required VAST version"
|
|
1711
|
+
}
|
|
1712
|
+
},
|
|
1713
|
+
"additionalProperties": true
|
|
1714
|
+
},
|
|
1715
|
+
{
|
|
1716
|
+
"title": "DAAST Asset Requirements",
|
|
1717
|
+
"description": "Requirements for DAAST (Digital Audio Ad Serving Template) creative assets.",
|
|
1718
|
+
"type": "object",
|
|
1719
|
+
"properties": {
|
|
1720
|
+
"daast_version": {
|
|
1721
|
+
"type": "string",
|
|
1722
|
+
"enum": [
|
|
1723
|
+
"1.0"
|
|
1724
|
+
],
|
|
1725
|
+
"description": "Required DAAST version. DAAST 1.0 is the current IAB standard."
|
|
1726
|
+
}
|
|
1727
|
+
},
|
|
1728
|
+
"additionalProperties": true
|
|
1729
|
+
},
|
|
1730
|
+
{
|
|
1731
|
+
"title": "URL Asset Requirements",
|
|
1732
|
+
"description": "Requirements for URL assets such as click-through URLs, tracking pixels, and landing pages.",
|
|
1733
|
+
"type": "object",
|
|
1734
|
+
"properties": {
|
|
1735
|
+
"role": {
|
|
1736
|
+
"type": "string",
|
|
1737
|
+
"enum": [
|
|
1738
|
+
"clickthrough",
|
|
1739
|
+
"landing_page",
|
|
1740
|
+
"impression_tracker",
|
|
1741
|
+
"click_tracker",
|
|
1742
|
+
"viewability_tracker",
|
|
1743
|
+
"third_party_tracker"
|
|
1744
|
+
],
|
|
1745
|
+
"description": "Standard role for this URL asset. Use this to constrain which purposes are valid for this URL slot. Complements asset_role (which is a human-readable label) by providing a machine-readable enum."
|
|
1746
|
+
},
|
|
1747
|
+
"protocols": {
|
|
1748
|
+
"type": "array",
|
|
1749
|
+
"items": {
|
|
1750
|
+
"type": "string",
|
|
1751
|
+
"enum": [
|
|
1752
|
+
"https",
|
|
1753
|
+
"http"
|
|
1754
|
+
]
|
|
1755
|
+
},
|
|
1756
|
+
"description": "Allowed URL protocols. HTTPS is recommended for all ad URLs."
|
|
1757
|
+
},
|
|
1758
|
+
"allowed_domains": {
|
|
1759
|
+
"type": "array",
|
|
1760
|
+
"items": {
|
|
1761
|
+
"type": "string",
|
|
1762
|
+
"format": "hostname"
|
|
1763
|
+
},
|
|
1764
|
+
"description": "List of allowed domains for the URL"
|
|
1765
|
+
},
|
|
1766
|
+
"max_length": {
|
|
1767
|
+
"type": "integer",
|
|
1768
|
+
"minimum": 1,
|
|
1769
|
+
"description": "Maximum URL length in characters"
|
|
1770
|
+
},
|
|
1771
|
+
"macro_support": {
|
|
1772
|
+
"type": "boolean",
|
|
1773
|
+
"description": "Whether the URL supports macro substitution (e.g., ${CACHEBUSTER})"
|
|
1774
|
+
}
|
|
1775
|
+
},
|
|
1776
|
+
"additionalProperties": true
|
|
1777
|
+
},
|
|
1778
|
+
{
|
|
1779
|
+
"title": "Webhook Asset Requirements",
|
|
1780
|
+
"description": "Requirements for webhook creative assets.",
|
|
1781
|
+
"type": "object",
|
|
1782
|
+
"properties": {
|
|
1783
|
+
"methods": {
|
|
1784
|
+
"type": "array",
|
|
1785
|
+
"items": {
|
|
1786
|
+
"type": "string",
|
|
1787
|
+
"enum": [
|
|
1788
|
+
"GET",
|
|
1789
|
+
"POST"
|
|
1790
|
+
]
|
|
1791
|
+
},
|
|
1792
|
+
"description": "Allowed HTTP methods"
|
|
1793
|
+
}
|
|
1794
|
+
},
|
|
1795
|
+
"additionalProperties": true
|
|
1796
|
+
}
|
|
1797
|
+
]
|
|
1798
|
+
},
|
|
1799
|
+
"ext": {
|
|
1800
|
+
"title": "Extension Object",
|
|
1801
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
1802
|
+
"type": "object",
|
|
1803
|
+
"additionalProperties": true
|
|
1804
|
+
}
|
|
1805
|
+
},
|
|
1806
|
+
"required": [
|
|
1807
|
+
"asset_group_id",
|
|
1808
|
+
"asset_type"
|
|
1809
|
+
],
|
|
1810
|
+
"additionalProperties": true,
|
|
1811
|
+
"examples": [
|
|
1812
|
+
{
|
|
1813
|
+
"description": "Headline constraint with count bounds",
|
|
1814
|
+
"data": {
|
|
1815
|
+
"asset_group_id": "headlines",
|
|
1816
|
+
"asset_type": "text",
|
|
1817
|
+
"required": true,
|
|
1818
|
+
"min_count": 3,
|
|
1819
|
+
"max_count": 15
|
|
1820
|
+
}
|
|
1821
|
+
},
|
|
1822
|
+
{
|
|
1823
|
+
"description": "Landscape image constraint with count bounds",
|
|
1824
|
+
"data": {
|
|
1825
|
+
"asset_group_id": "images_landscape",
|
|
1826
|
+
"asset_type": "image",
|
|
1827
|
+
"required": true,
|
|
1828
|
+
"min_count": 1,
|
|
1829
|
+
"max_count": 20
|
|
1830
|
+
}
|
|
1831
|
+
}
|
|
1832
|
+
]
|
|
1833
|
+
},
|
|
1834
|
+
"minItems": 1,
|
|
1835
|
+
"uniqueItems": true
|
|
1836
|
+
},
|
|
1837
|
+
"field_bindings": {
|
|
1838
|
+
"type": "array",
|
|
1839
|
+
"description": "Explicit mappings from format template slots to catalog item fields or typed asset pools. Optional — creative agents can infer mappings without them, but bindings make the relationship self-describing and enable validation. Covers scalar fields (asset_id → catalog_field), asset pools (asset_id → asset_group_id on the catalog item), and repeatable groups that iterate over catalog items.",
|
|
1840
|
+
"items": {
|
|
1841
|
+
"title": "Catalog Field Binding",
|
|
1842
|
+
"description": "Maps a format template slot to a catalog item field or typed asset pool. The 'kind' field identifies the binding variant. All bindings are optional — agents can still infer mappings without them.",
|
|
1843
|
+
"oneOf": [
|
|
1844
|
+
{
|
|
1845
|
+
"$ref": "#/definitions/ScalarBinding"
|
|
1846
|
+
},
|
|
1847
|
+
{
|
|
1848
|
+
"$ref": "#/definitions/AssetPoolBinding"
|
|
1849
|
+
},
|
|
1850
|
+
{
|
|
1851
|
+
"type": "object",
|
|
1852
|
+
"description": "A format repeatable_group where each repetition corresponds to one catalog item. Iterates the group over catalog items in catalog item order.",
|
|
1853
|
+
"properties": {
|
|
1854
|
+
"kind": {
|
|
1855
|
+
"type": "string",
|
|
1856
|
+
"const": "catalog_group"
|
|
1857
|
+
},
|
|
1858
|
+
"format_group_id": {
|
|
1859
|
+
"type": "string",
|
|
1860
|
+
"description": "The asset_group_id of a repeatable_group in the format's assets array."
|
|
1861
|
+
},
|
|
1862
|
+
"catalog_item": {
|
|
1863
|
+
"type": "boolean",
|
|
1864
|
+
"const": true,
|
|
1865
|
+
"description": "Each repetition of the format's repeatable_group maps to one item from the catalog."
|
|
1866
|
+
},
|
|
1867
|
+
"per_item_bindings": {
|
|
1868
|
+
"type": "array",
|
|
1869
|
+
"description": "Scalar and asset pool bindings that apply within each repetition of the group. Nested catalog_group bindings are not permitted.",
|
|
1870
|
+
"items": {
|
|
1871
|
+
"oneOf": [
|
|
1872
|
+
{
|
|
1873
|
+
"$ref": "#/definitions/ScalarBinding"
|
|
1874
|
+
},
|
|
1875
|
+
{
|
|
1876
|
+
"$ref": "#/definitions/AssetPoolBinding"
|
|
1877
|
+
}
|
|
1878
|
+
]
|
|
1879
|
+
},
|
|
1880
|
+
"minItems": 1
|
|
1881
|
+
},
|
|
1882
|
+
"ext": {
|
|
1883
|
+
"title": "Extension Object",
|
|
1884
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
1885
|
+
"type": "object",
|
|
1886
|
+
"additionalProperties": true
|
|
1887
|
+
}
|
|
1888
|
+
},
|
|
1889
|
+
"required": [
|
|
1890
|
+
"kind",
|
|
1891
|
+
"format_group_id",
|
|
1892
|
+
"catalog_item"
|
|
1893
|
+
],
|
|
1894
|
+
"additionalProperties": true
|
|
1895
|
+
}
|
|
1896
|
+
],
|
|
1897
|
+
"examples": [
|
|
1898
|
+
{
|
|
1899
|
+
"description": "Scalar binding — hotel name to headline slot",
|
|
1900
|
+
"data": {
|
|
1901
|
+
"kind": "scalar",
|
|
1902
|
+
"asset_id": "headline",
|
|
1903
|
+
"catalog_field": "name"
|
|
1904
|
+
}
|
|
1905
|
+
},
|
|
1906
|
+
{
|
|
1907
|
+
"description": "Scalar binding — nested field (nightly rate)",
|
|
1908
|
+
"data": {
|
|
1909
|
+
"kind": "scalar",
|
|
1910
|
+
"asset_id": "price_badge",
|
|
1911
|
+
"catalog_field": "price.amount"
|
|
1912
|
+
}
|
|
1913
|
+
},
|
|
1914
|
+
{
|
|
1915
|
+
"description": "Asset pool binding — hero image from landscape pool",
|
|
1916
|
+
"data": {
|
|
1917
|
+
"kind": "asset_pool",
|
|
1918
|
+
"asset_id": "hero_image",
|
|
1919
|
+
"asset_group_id": "images_landscape"
|
|
1920
|
+
}
|
|
1921
|
+
},
|
|
1922
|
+
{
|
|
1923
|
+
"description": "Asset pool binding — Snap vertical background from vertical pool",
|
|
1924
|
+
"data": {
|
|
1925
|
+
"kind": "asset_pool",
|
|
1926
|
+
"asset_id": "snap_background",
|
|
1927
|
+
"asset_group_id": "images_vertical"
|
|
1928
|
+
}
|
|
1929
|
+
},
|
|
1930
|
+
{
|
|
1931
|
+
"description": "Catalog group binding — carousel where each slide is one hotel",
|
|
1932
|
+
"data": {
|
|
1933
|
+
"kind": "catalog_group",
|
|
1934
|
+
"format_group_id": "slide",
|
|
1935
|
+
"catalog_item": true,
|
|
1936
|
+
"per_item_bindings": [
|
|
1937
|
+
{
|
|
1938
|
+
"kind": "scalar",
|
|
1939
|
+
"asset_id": "title",
|
|
1940
|
+
"catalog_field": "name"
|
|
1941
|
+
},
|
|
1942
|
+
{
|
|
1943
|
+
"kind": "scalar",
|
|
1944
|
+
"asset_id": "price",
|
|
1945
|
+
"catalog_field": "price.amount"
|
|
1946
|
+
},
|
|
1947
|
+
{
|
|
1948
|
+
"kind": "asset_pool",
|
|
1949
|
+
"asset_id": "image",
|
|
1950
|
+
"asset_group_id": "images_landscape"
|
|
1951
|
+
}
|
|
1952
|
+
]
|
|
1953
|
+
}
|
|
1954
|
+
}
|
|
1955
|
+
]
|
|
1956
|
+
},
|
|
1957
|
+
"minItems": 1,
|
|
1958
|
+
"uniqueItems": true
|
|
1959
|
+
}
|
|
1960
|
+
},
|
|
1961
|
+
"required": [
|
|
1962
|
+
"catalog_type"
|
|
1963
|
+
],
|
|
1964
|
+
"additionalProperties": true
|
|
1965
|
+
}
|
|
1966
|
+
}
|
|
1967
|
+
},
|
|
1968
|
+
{
|
|
1969
|
+
"title": "RepeatableGroupAsset",
|
|
1970
|
+
"description": "Repeatable asset group (for carousels, slideshows, playlists, etc.)",
|
|
1971
|
+
"type": "object",
|
|
1972
|
+
"properties": {
|
|
1973
|
+
"item_type": {
|
|
1974
|
+
"type": "string",
|
|
1975
|
+
"const": "repeatable_group",
|
|
1976
|
+
"description": "Discriminator indicating this is a repeatable asset group"
|
|
1977
|
+
},
|
|
1978
|
+
"asset_group_id": {
|
|
1979
|
+
"type": "string",
|
|
1980
|
+
"description": "Identifier for this asset group (e.g., 'product', 'slide', 'card')"
|
|
1981
|
+
},
|
|
1982
|
+
"required": {
|
|
1983
|
+
"type": "boolean",
|
|
1984
|
+
"description": "Whether this asset group is required. If true, at least min_count repetitions must be provided."
|
|
1985
|
+
},
|
|
1986
|
+
"min_count": {
|
|
1987
|
+
"type": "integer",
|
|
1988
|
+
"description": "Minimum number of repetitions required (if group is required) or allowed (if optional)",
|
|
1989
|
+
"minimum": 0
|
|
1990
|
+
},
|
|
1991
|
+
"max_count": {
|
|
1992
|
+
"type": "integer",
|
|
1993
|
+
"description": "Maximum number of repetitions allowed",
|
|
1994
|
+
"minimum": 1
|
|
1995
|
+
},
|
|
1996
|
+
"selection_mode": {
|
|
1997
|
+
"type": "string",
|
|
1998
|
+
"description": "How the platform uses repetitions of this group. 'sequential' means all items display in order (carousels, playlists). 'optimize' means the platform selects the best-performing combination from alternatives (asset group optimization like Meta Advantage+ or Google Pmax).",
|
|
1999
|
+
"enum": [
|
|
2000
|
+
"sequential",
|
|
2001
|
+
"optimize"
|
|
2002
|
+
],
|
|
2003
|
+
"default": "sequential"
|
|
2004
|
+
},
|
|
2005
|
+
"assets": {
|
|
2006
|
+
"type": "array",
|
|
2007
|
+
"description": "Assets within each repetition of this group",
|
|
2008
|
+
"items": {
|
|
2009
|
+
"oneOf": [
|
|
2010
|
+
{
|
|
2011
|
+
"title": "GroupImageAsset",
|
|
2012
|
+
"description": "Image asset in group",
|
|
2013
|
+
"allOf": [
|
|
2014
|
+
{
|
|
2015
|
+
"$ref": "#/$defs/baseGroupAsset"
|
|
2016
|
+
}
|
|
2017
|
+
],
|
|
2018
|
+
"properties": {
|
|
2019
|
+
"asset_type": {
|
|
2020
|
+
"const": "image"
|
|
2021
|
+
},
|
|
2022
|
+
"requirements": {
|
|
2023
|
+
"title": "Image Asset Requirements",
|
|
2024
|
+
"description": "Requirements for image creative assets. These define the technical constraints for image files.",
|
|
2025
|
+
"type": "object",
|
|
2026
|
+
"properties": {
|
|
2027
|
+
"min_width": {
|
|
2028
|
+
"type": "number",
|
|
2029
|
+
"exclusiveMinimum": 0,
|
|
2030
|
+
"description": "Minimum width. Interpretation depends on unit (default: pixels). For exact dimensions, set min_width = max_width."
|
|
2031
|
+
},
|
|
2032
|
+
"max_width": {
|
|
2033
|
+
"type": "number",
|
|
2034
|
+
"exclusiveMinimum": 0,
|
|
2035
|
+
"description": "Maximum width. Interpretation depends on unit (default: pixels). For exact dimensions, set min_width = max_width."
|
|
2036
|
+
},
|
|
2037
|
+
"min_height": {
|
|
2038
|
+
"type": "number",
|
|
2039
|
+
"exclusiveMinimum": 0,
|
|
2040
|
+
"description": "Minimum height. Interpretation depends on unit (default: pixels). For exact dimensions, set min_height = max_height."
|
|
2041
|
+
},
|
|
2042
|
+
"max_height": {
|
|
2043
|
+
"type": "number",
|
|
2044
|
+
"exclusiveMinimum": 0,
|
|
2045
|
+
"description": "Maximum height. Interpretation depends on unit (default: pixels). For exact dimensions, set min_height = max_height."
|
|
2046
|
+
},
|
|
2047
|
+
"unit": {
|
|
2048
|
+
"$ref": "#/$defs/DimensionUnit"
|
|
2049
|
+
},
|
|
2050
|
+
"aspect_ratio": {
|
|
2051
|
+
"type": "string",
|
|
2052
|
+
"pattern": "^\\d+(\\.\\d+)?:\\d+(\\.\\d+)?$",
|
|
2053
|
+
"description": "Required aspect ratio (e.g., '16:9', '1:1', '1.91:1')"
|
|
2054
|
+
},
|
|
2055
|
+
"formats": {
|
|
2056
|
+
"type": "array",
|
|
2057
|
+
"items": {
|
|
2058
|
+
"type": "string",
|
|
2059
|
+
"enum": [
|
|
2060
|
+
"jpg",
|
|
2061
|
+
"jpeg",
|
|
2062
|
+
"png",
|
|
2063
|
+
"gif",
|
|
2064
|
+
"webp",
|
|
2065
|
+
"svg",
|
|
2066
|
+
"avif",
|
|
2067
|
+
"tiff",
|
|
2068
|
+
"pdf",
|
|
2069
|
+
"eps"
|
|
2070
|
+
]
|
|
2071
|
+
},
|
|
2072
|
+
"description": "Accepted image file formats"
|
|
2073
|
+
},
|
|
2074
|
+
"min_dpi": {
|
|
2075
|
+
"type": "integer",
|
|
2076
|
+
"minimum": 1,
|
|
2077
|
+
"description": "Minimum resolution in dots per inch. Always in DPI regardless of the dimension unit. Standard print requires 300 DPI, newspaper 150 DPI."
|
|
2078
|
+
},
|
|
2079
|
+
"bleed": {
|
|
2080
|
+
"type": "object",
|
|
2081
|
+
"description": "Required bleed area beyond the trim size. The submitted image must be larger than the declared dimensions: total width = trim width + left bleed + right bleed, total height = trim height + top bleed + bottom bleed. For uniform bleed: total = trim + (2 * uniform). Uses the same unit as the parent dimensions.",
|
|
2082
|
+
"oneOf": [
|
|
2083
|
+
{
|
|
2084
|
+
"properties": {
|
|
2085
|
+
"uniform": {
|
|
2086
|
+
"type": "number",
|
|
2087
|
+
"minimum": 0,
|
|
2088
|
+
"description": "Same bleed on all four sides"
|
|
2089
|
+
}
|
|
2090
|
+
},
|
|
2091
|
+
"required": [
|
|
2092
|
+
"uniform"
|
|
2093
|
+
],
|
|
2094
|
+
"additionalProperties": false
|
|
2095
|
+
},
|
|
2096
|
+
{
|
|
2097
|
+
"properties": {
|
|
2098
|
+
"top": {
|
|
2099
|
+
"type": "number",
|
|
2100
|
+
"minimum": 0
|
|
2101
|
+
},
|
|
2102
|
+
"right": {
|
|
2103
|
+
"type": "number",
|
|
2104
|
+
"minimum": 0
|
|
2105
|
+
},
|
|
2106
|
+
"bottom": {
|
|
2107
|
+
"type": "number",
|
|
2108
|
+
"minimum": 0
|
|
2109
|
+
},
|
|
2110
|
+
"left": {
|
|
2111
|
+
"type": "number",
|
|
2112
|
+
"minimum": 0
|
|
2113
|
+
}
|
|
2114
|
+
},
|
|
2115
|
+
"required": [
|
|
2116
|
+
"top",
|
|
2117
|
+
"right",
|
|
2118
|
+
"bottom",
|
|
2119
|
+
"left"
|
|
2120
|
+
],
|
|
2121
|
+
"additionalProperties": false
|
|
2122
|
+
}
|
|
2123
|
+
]
|
|
2124
|
+
},
|
|
2125
|
+
"color_space": {
|
|
2126
|
+
"type": "string",
|
|
2127
|
+
"enum": [
|
|
2128
|
+
"rgb",
|
|
2129
|
+
"cmyk",
|
|
2130
|
+
"grayscale"
|
|
2131
|
+
],
|
|
2132
|
+
"description": "Required color space. Print typically requires CMYK."
|
|
2133
|
+
},
|
|
2134
|
+
"max_file_size_kb": {
|
|
2135
|
+
"type": "integer",
|
|
2136
|
+
"minimum": 1,
|
|
2137
|
+
"description": "Maximum file size in kilobytes"
|
|
2138
|
+
},
|
|
2139
|
+
"transparency_required": {
|
|
2140
|
+
"type": "boolean",
|
|
2141
|
+
"description": "Whether the image must support transparency (requires PNG, WebP, or GIF)"
|
|
2142
|
+
},
|
|
2143
|
+
"animation_allowed": {
|
|
2144
|
+
"type": "boolean",
|
|
2145
|
+
"description": "Whether animated images (GIF, animated WebP) are accepted"
|
|
2146
|
+
},
|
|
2147
|
+
"max_animation_duration_ms": {
|
|
2148
|
+
"type": "integer",
|
|
2149
|
+
"minimum": 0,
|
|
2150
|
+
"description": "Maximum animation duration in milliseconds (if animation_allowed is true)"
|
|
2151
|
+
},
|
|
2152
|
+
"max_weight_grams": {
|
|
2153
|
+
"type": "integer",
|
|
2154
|
+
"exclusiveMinimum": 0,
|
|
2155
|
+
"description": "Maximum weight in grams for the finished physical piece (print inserts, flyers). Affects postage calculations and production constraints. Only applicable to print channels."
|
|
2156
|
+
}
|
|
2157
|
+
},
|
|
2158
|
+
"if": {
|
|
2159
|
+
"required": [
|
|
2160
|
+
"min_dpi"
|
|
2161
|
+
]
|
|
2162
|
+
},
|
|
2163
|
+
"then": {
|
|
2164
|
+
"required": [
|
|
2165
|
+
"unit"
|
|
2166
|
+
]
|
|
2167
|
+
},
|
|
2168
|
+
"additionalProperties": true
|
|
2169
|
+
}
|
|
2170
|
+
}
|
|
2171
|
+
},
|
|
2172
|
+
{
|
|
2173
|
+
"title": "GroupVideoAsset",
|
|
2174
|
+
"description": "Video asset in group",
|
|
2175
|
+
"allOf": [
|
|
2176
|
+
{
|
|
2177
|
+
"$ref": "#/$defs/baseGroupAsset"
|
|
2178
|
+
}
|
|
2179
|
+
],
|
|
2180
|
+
"properties": {
|
|
2181
|
+
"asset_type": {
|
|
2182
|
+
"const": "video"
|
|
2183
|
+
},
|
|
2184
|
+
"requirements": {
|
|
2185
|
+
"title": "Video Asset Requirements",
|
|
2186
|
+
"description": "Requirements for video creative assets. These define the technical constraints for video files.",
|
|
2187
|
+
"type": "object",
|
|
2188
|
+
"properties": {
|
|
2189
|
+
"min_width": {
|
|
2190
|
+
"type": "integer",
|
|
2191
|
+
"minimum": 1,
|
|
2192
|
+
"description": "Minimum width in pixels"
|
|
2193
|
+
},
|
|
2194
|
+
"max_width": {
|
|
2195
|
+
"type": "integer",
|
|
2196
|
+
"minimum": 1,
|
|
2197
|
+
"description": "Maximum width in pixels"
|
|
2198
|
+
},
|
|
2199
|
+
"min_height": {
|
|
2200
|
+
"type": "integer",
|
|
2201
|
+
"minimum": 1,
|
|
2202
|
+
"description": "Minimum height in pixels"
|
|
2203
|
+
},
|
|
2204
|
+
"max_height": {
|
|
2205
|
+
"type": "integer",
|
|
2206
|
+
"minimum": 1,
|
|
2207
|
+
"description": "Maximum height in pixels"
|
|
2208
|
+
},
|
|
2209
|
+
"aspect_ratio": {
|
|
2210
|
+
"type": "string",
|
|
2211
|
+
"pattern": "^\\d+:\\d+$",
|
|
2212
|
+
"description": "Required aspect ratio (e.g., '16:9', '9:16')"
|
|
2213
|
+
},
|
|
2214
|
+
"min_duration_ms": {
|
|
2215
|
+
"type": "integer",
|
|
2216
|
+
"minimum": 1,
|
|
2217
|
+
"description": "Minimum duration in milliseconds"
|
|
2218
|
+
},
|
|
2219
|
+
"max_duration_ms": {
|
|
2220
|
+
"type": "integer",
|
|
2221
|
+
"minimum": 1,
|
|
2222
|
+
"description": "Maximum duration in milliseconds"
|
|
2223
|
+
},
|
|
2224
|
+
"containers": {
|
|
2225
|
+
"type": "array",
|
|
2226
|
+
"items": {
|
|
2227
|
+
"type": "string",
|
|
2228
|
+
"enum": [
|
|
2229
|
+
"mp4",
|
|
2230
|
+
"webm",
|
|
2231
|
+
"mov",
|
|
2232
|
+
"avi",
|
|
2233
|
+
"mkv"
|
|
2234
|
+
]
|
|
2235
|
+
},
|
|
2236
|
+
"description": "Accepted video container formats"
|
|
2237
|
+
},
|
|
2238
|
+
"codecs": {
|
|
2239
|
+
"type": "array",
|
|
2240
|
+
"items": {
|
|
2241
|
+
"type": "string",
|
|
2242
|
+
"enum": [
|
|
2243
|
+
"h264",
|
|
2244
|
+
"h265",
|
|
2245
|
+
"vp8",
|
|
2246
|
+
"vp9",
|
|
2247
|
+
"av1",
|
|
2248
|
+
"prores"
|
|
2249
|
+
]
|
|
2250
|
+
},
|
|
2251
|
+
"description": "Accepted video codecs"
|
|
2252
|
+
},
|
|
2253
|
+
"max_file_size_kb": {
|
|
2254
|
+
"type": "integer",
|
|
2255
|
+
"minimum": 1,
|
|
2256
|
+
"description": "Maximum file size in kilobytes"
|
|
2257
|
+
},
|
|
2258
|
+
"min_bitrate_kbps": {
|
|
2259
|
+
"type": "integer",
|
|
2260
|
+
"minimum": 1,
|
|
2261
|
+
"description": "Minimum video bitrate in kilobits per second"
|
|
2262
|
+
},
|
|
2263
|
+
"max_bitrate_kbps": {
|
|
2264
|
+
"type": "integer",
|
|
2265
|
+
"minimum": 1,
|
|
2266
|
+
"description": "Maximum video bitrate in kilobits per second"
|
|
2267
|
+
},
|
|
2268
|
+
"frame_rates": {
|
|
2269
|
+
"type": "array",
|
|
2270
|
+
"items": {
|
|
2271
|
+
"type": "number",
|
|
2272
|
+
"minimum": 1
|
|
2273
|
+
},
|
|
2274
|
+
"description": "Accepted frame rates in frames per second (e.g., [24, 30, 60])"
|
|
2275
|
+
},
|
|
2276
|
+
"audio_required": {
|
|
2277
|
+
"type": "boolean",
|
|
2278
|
+
"description": "Whether the video must include an audio track"
|
|
2279
|
+
},
|
|
2280
|
+
"frame_rate_type": {
|
|
2281
|
+
"$ref": "#/$defs/FrameRateType"
|
|
2282
|
+
},
|
|
2283
|
+
"scan_type": {
|
|
2284
|
+
"$ref": "#/$defs/ScanType"
|
|
2285
|
+
},
|
|
2286
|
+
"gop_type": {
|
|
2287
|
+
"$ref": "#/$defs/GOPType"
|
|
2288
|
+
},
|
|
2289
|
+
"min_gop_interval_seconds": {
|
|
2290
|
+
"type": "number",
|
|
2291
|
+
"minimum": 0,
|
|
2292
|
+
"description": "Minimum keyframe interval in seconds"
|
|
2293
|
+
},
|
|
2294
|
+
"max_gop_interval_seconds": {
|
|
2295
|
+
"type": "number",
|
|
2296
|
+
"minimum": 0,
|
|
2297
|
+
"description": "Maximum keyframe interval in seconds. SSAI typically requires 1-2 second intervals."
|
|
2298
|
+
},
|
|
2299
|
+
"moov_atom_position": {
|
|
2300
|
+
"$ref": "#/$defs/MoovAtomPosition"
|
|
2301
|
+
},
|
|
2302
|
+
"audio_codecs": {
|
|
2303
|
+
"type": "array",
|
|
2304
|
+
"items": {
|
|
2305
|
+
"type": "string",
|
|
2306
|
+
"enum": [
|
|
2307
|
+
"aac",
|
|
2308
|
+
"pcm",
|
|
2309
|
+
"ac3",
|
|
2310
|
+
"eac3",
|
|
2311
|
+
"mp3",
|
|
2312
|
+
"opus",
|
|
2313
|
+
"vorbis",
|
|
2314
|
+
"flac"
|
|
2315
|
+
]
|
|
2316
|
+
},
|
|
2317
|
+
"description": "Accepted audio codecs (e.g., ['aac', 'pcm', 'ac3'])"
|
|
2318
|
+
},
|
|
2319
|
+
"audio_sample_rates": {
|
|
2320
|
+
"type": "array",
|
|
2321
|
+
"items": {
|
|
2322
|
+
"type": "integer",
|
|
2323
|
+
"minimum": 1
|
|
2324
|
+
},
|
|
2325
|
+
"description": "Accepted audio sample rates in Hz (e.g., [44100, 48000])"
|
|
2326
|
+
},
|
|
2327
|
+
"audio_channels": {
|
|
2328
|
+
"type": "array",
|
|
2329
|
+
"items": {
|
|
2330
|
+
"$ref": "#/$defs/AudioChannelLayout"
|
|
2331
|
+
},
|
|
2332
|
+
"description": "Accepted audio channel configurations"
|
|
2333
|
+
},
|
|
2334
|
+
"loudness_lufs": {
|
|
2335
|
+
"type": "number",
|
|
2336
|
+
"description": "Target integrated loudness in LUFS (e.g., -24 for broadcast, -16 for streaming)"
|
|
2337
|
+
},
|
|
2338
|
+
"loudness_tolerance_db": {
|
|
2339
|
+
"type": "number",
|
|
2340
|
+
"minimum": 0,
|
|
2341
|
+
"description": "Acceptable deviation from loudness_lufs target in dB (e.g., 2 means -22 to -26 LUFS for a -24 target)"
|
|
2342
|
+
},
|
|
2343
|
+
"true_peak_dbfs": {
|
|
2344
|
+
"type": "number",
|
|
2345
|
+
"description": "Maximum true peak level in dBFS (e.g., -2 for broadcast)"
|
|
2346
|
+
}
|
|
2347
|
+
},
|
|
2348
|
+
"additionalProperties": true
|
|
2349
|
+
}
|
|
2350
|
+
}
|
|
2351
|
+
},
|
|
2352
|
+
{
|
|
2353
|
+
"title": "GroupAudioAsset",
|
|
2354
|
+
"description": "Audio asset in group",
|
|
2355
|
+
"allOf": [
|
|
2356
|
+
{
|
|
2357
|
+
"$ref": "#/$defs/baseGroupAsset"
|
|
2358
|
+
}
|
|
2359
|
+
],
|
|
2360
|
+
"properties": {
|
|
2361
|
+
"asset_type": {
|
|
2362
|
+
"const": "audio"
|
|
2363
|
+
},
|
|
2364
|
+
"requirements": {
|
|
2365
|
+
"title": "Audio Asset Requirements",
|
|
2366
|
+
"description": "Requirements for audio creative assets.",
|
|
2367
|
+
"type": "object",
|
|
2368
|
+
"properties": {
|
|
2369
|
+
"min_duration_ms": {
|
|
2370
|
+
"type": "integer",
|
|
2371
|
+
"minimum": 1,
|
|
2372
|
+
"description": "Minimum duration in milliseconds"
|
|
2373
|
+
},
|
|
2374
|
+
"max_duration_ms": {
|
|
2375
|
+
"type": "integer",
|
|
2376
|
+
"minimum": 1,
|
|
2377
|
+
"description": "Maximum duration in milliseconds"
|
|
2378
|
+
},
|
|
2379
|
+
"formats": {
|
|
2380
|
+
"type": "array",
|
|
2381
|
+
"items": {
|
|
2382
|
+
"type": "string",
|
|
2383
|
+
"enum": [
|
|
2384
|
+
"mp3",
|
|
2385
|
+
"aac",
|
|
2386
|
+
"wav",
|
|
2387
|
+
"ogg",
|
|
2388
|
+
"flac"
|
|
2389
|
+
]
|
|
2390
|
+
},
|
|
2391
|
+
"description": "Accepted audio file formats"
|
|
2392
|
+
},
|
|
2393
|
+
"max_file_size_kb": {
|
|
2394
|
+
"type": "integer",
|
|
2395
|
+
"minimum": 1,
|
|
2396
|
+
"description": "Maximum file size in kilobytes"
|
|
2397
|
+
},
|
|
2398
|
+
"sample_rates": {
|
|
2399
|
+
"type": "array",
|
|
2400
|
+
"items": {
|
|
2401
|
+
"type": "integer",
|
|
2402
|
+
"minimum": 1
|
|
2403
|
+
},
|
|
2404
|
+
"description": "Accepted sample rates in Hz (e.g., [44100, 48000])"
|
|
2405
|
+
},
|
|
2406
|
+
"channels": {
|
|
2407
|
+
"type": "array",
|
|
2408
|
+
"items": {
|
|
2409
|
+
"type": "string",
|
|
2410
|
+
"enum": [
|
|
2411
|
+
"mono",
|
|
2412
|
+
"stereo"
|
|
2413
|
+
]
|
|
2414
|
+
},
|
|
2415
|
+
"description": "Accepted audio channel configurations"
|
|
2416
|
+
},
|
|
2417
|
+
"min_bitrate_kbps": {
|
|
2418
|
+
"type": "integer",
|
|
2419
|
+
"minimum": 1,
|
|
2420
|
+
"description": "Minimum audio bitrate in kilobits per second"
|
|
2421
|
+
},
|
|
2422
|
+
"max_bitrate_kbps": {
|
|
2423
|
+
"type": "integer",
|
|
2424
|
+
"minimum": 1,
|
|
2425
|
+
"description": "Maximum audio bitrate in kilobits per second"
|
|
2426
|
+
}
|
|
2427
|
+
},
|
|
2428
|
+
"additionalProperties": true
|
|
2429
|
+
}
|
|
2430
|
+
}
|
|
2431
|
+
},
|
|
2432
|
+
{
|
|
2433
|
+
"title": "GroupTextAsset",
|
|
2434
|
+
"description": "Text asset in group",
|
|
2435
|
+
"allOf": [
|
|
2436
|
+
{
|
|
2437
|
+
"$ref": "#/$defs/baseGroupAsset"
|
|
2438
|
+
}
|
|
2439
|
+
],
|
|
2440
|
+
"properties": {
|
|
2441
|
+
"asset_type": {
|
|
2442
|
+
"const": "text"
|
|
2443
|
+
},
|
|
2444
|
+
"requirements": {
|
|
2445
|
+
"title": "Text Asset Requirements",
|
|
2446
|
+
"description": "Requirements for text creative assets such as headlines, body copy, and CTAs.",
|
|
2447
|
+
"type": "object",
|
|
2448
|
+
"properties": {
|
|
2449
|
+
"min_length": {
|
|
2450
|
+
"type": "integer",
|
|
2451
|
+
"minimum": 0,
|
|
2452
|
+
"description": "Minimum character length"
|
|
2453
|
+
},
|
|
2454
|
+
"max_length": {
|
|
2455
|
+
"type": "integer",
|
|
2456
|
+
"minimum": 1,
|
|
2457
|
+
"description": "Maximum character length"
|
|
2458
|
+
},
|
|
2459
|
+
"min_lines": {
|
|
2460
|
+
"type": "integer",
|
|
2461
|
+
"minimum": 1,
|
|
2462
|
+
"description": "Minimum number of lines"
|
|
2463
|
+
},
|
|
2464
|
+
"max_lines": {
|
|
2465
|
+
"type": "integer",
|
|
2466
|
+
"minimum": 1,
|
|
2467
|
+
"description": "Maximum number of lines"
|
|
2468
|
+
},
|
|
2469
|
+
"character_pattern": {
|
|
2470
|
+
"type": "string",
|
|
2471
|
+
"description": "Regex pattern defining allowed characters (e.g., '^[a-zA-Z0-9 .,!?-]+$')"
|
|
2472
|
+
},
|
|
2473
|
+
"prohibited_terms": {
|
|
2474
|
+
"type": "array",
|
|
2475
|
+
"items": {
|
|
2476
|
+
"type": "string"
|
|
2477
|
+
},
|
|
2478
|
+
"description": "List of prohibited words or phrases"
|
|
2479
|
+
}
|
|
2480
|
+
},
|
|
2481
|
+
"additionalProperties": true
|
|
2482
|
+
}
|
|
2483
|
+
}
|
|
2484
|
+
},
|
|
2485
|
+
{
|
|
2486
|
+
"title": "GroupMarkdownAsset",
|
|
2487
|
+
"description": "Markdown asset in group",
|
|
2488
|
+
"allOf": [
|
|
2489
|
+
{
|
|
2490
|
+
"$ref": "#/$defs/baseGroupAsset"
|
|
2491
|
+
}
|
|
2492
|
+
],
|
|
2493
|
+
"properties": {
|
|
2494
|
+
"asset_type": {
|
|
2495
|
+
"const": "markdown"
|
|
2496
|
+
},
|
|
2497
|
+
"requirements": {
|
|
2498
|
+
"title": "Markdown Asset Requirements",
|
|
2499
|
+
"description": "Requirements for markdown creative assets.",
|
|
2500
|
+
"type": "object",
|
|
2501
|
+
"properties": {
|
|
2502
|
+
"max_length": {
|
|
2503
|
+
"type": "integer",
|
|
2504
|
+
"minimum": 1,
|
|
2505
|
+
"description": "Maximum character length"
|
|
2506
|
+
}
|
|
2507
|
+
},
|
|
2508
|
+
"additionalProperties": true
|
|
2509
|
+
}
|
|
2510
|
+
}
|
|
2511
|
+
},
|
|
2512
|
+
{
|
|
2513
|
+
"title": "GroupHtmlAsset",
|
|
2514
|
+
"description": "HTML asset in group",
|
|
2515
|
+
"allOf": [
|
|
2516
|
+
{
|
|
2517
|
+
"$ref": "#/$defs/baseGroupAsset"
|
|
2518
|
+
}
|
|
2519
|
+
],
|
|
2520
|
+
"properties": {
|
|
2521
|
+
"asset_type": {
|
|
2522
|
+
"const": "html"
|
|
2523
|
+
},
|
|
2524
|
+
"requirements": {
|
|
2525
|
+
"title": "HTML Asset Requirements",
|
|
2526
|
+
"description": "Requirements for HTML creative assets. These define the execution environment constraints that the HTML must be compatible with.",
|
|
2527
|
+
"type": "object",
|
|
2528
|
+
"properties": {
|
|
2529
|
+
"max_file_size_kb": {
|
|
2530
|
+
"type": "integer",
|
|
2531
|
+
"minimum": 1,
|
|
2532
|
+
"description": "Maximum file size in kilobytes for the HTML asset"
|
|
2533
|
+
},
|
|
2534
|
+
"sandbox": {
|
|
2535
|
+
"type": "string",
|
|
2536
|
+
"enum": [
|
|
2537
|
+
"none",
|
|
2538
|
+
"iframe",
|
|
2539
|
+
"safeframe",
|
|
2540
|
+
"fencedframe"
|
|
2541
|
+
],
|
|
2542
|
+
"default": "none",
|
|
2543
|
+
"description": "Sandbox environment the HTML must be compatible with. 'none' = direct DOM access, 'iframe' = standard iframe isolation, 'safeframe' = IAB SafeFrame container, 'fencedframe' = Privacy Sandbox fenced frame"
|
|
2544
|
+
},
|
|
2545
|
+
"external_resources_allowed": {
|
|
2546
|
+
"type": "boolean",
|
|
2547
|
+
"description": "Whether the HTML creative can load external resources (scripts, images, fonts, etc.). When false, all resources must be inlined or bundled."
|
|
2548
|
+
},
|
|
2549
|
+
"allowed_external_domains": {
|
|
2550
|
+
"type": "array",
|
|
2551
|
+
"items": {
|
|
2552
|
+
"type": "string",
|
|
2553
|
+
"format": "hostname"
|
|
2554
|
+
},
|
|
2555
|
+
"description": "List of domains the HTML creative may reference for external resources. Only applicable when external_resources_allowed is true."
|
|
2556
|
+
}
|
|
2557
|
+
},
|
|
2558
|
+
"additionalProperties": true
|
|
2559
|
+
}
|
|
2560
|
+
}
|
|
2561
|
+
},
|
|
2562
|
+
{
|
|
2563
|
+
"title": "GroupCssAsset",
|
|
2564
|
+
"description": "CSS asset in group",
|
|
2565
|
+
"allOf": [
|
|
2566
|
+
{
|
|
2567
|
+
"$ref": "#/$defs/baseGroupAsset"
|
|
2568
|
+
}
|
|
2569
|
+
],
|
|
2570
|
+
"properties": {
|
|
2571
|
+
"asset_type": {
|
|
2572
|
+
"const": "css"
|
|
2573
|
+
},
|
|
2574
|
+
"requirements": {
|
|
2575
|
+
"title": "CSS Asset Requirements",
|
|
2576
|
+
"description": "Requirements for CSS creative assets.",
|
|
2577
|
+
"type": "object",
|
|
2578
|
+
"properties": {
|
|
2579
|
+
"max_file_size_kb": {
|
|
2580
|
+
"type": "integer",
|
|
2581
|
+
"minimum": 1,
|
|
2582
|
+
"description": "Maximum file size in kilobytes"
|
|
2583
|
+
}
|
|
2584
|
+
},
|
|
2585
|
+
"additionalProperties": true
|
|
2586
|
+
}
|
|
2587
|
+
}
|
|
2588
|
+
},
|
|
2589
|
+
{
|
|
2590
|
+
"title": "GroupJavaScriptAsset",
|
|
2591
|
+
"description": "JavaScript asset in group",
|
|
2592
|
+
"allOf": [
|
|
2593
|
+
{
|
|
2594
|
+
"$ref": "#/$defs/baseGroupAsset"
|
|
2595
|
+
}
|
|
2596
|
+
],
|
|
2597
|
+
"properties": {
|
|
2598
|
+
"asset_type": {
|
|
2599
|
+
"const": "javascript"
|
|
2600
|
+
},
|
|
2601
|
+
"requirements": {
|
|
2602
|
+
"title": "JavaScript Asset Requirements",
|
|
2603
|
+
"description": "Requirements for JavaScript creative assets. These define the execution environment constraints that the JavaScript must be compatible with.",
|
|
2604
|
+
"type": "object",
|
|
2605
|
+
"properties": {
|
|
2606
|
+
"max_file_size_kb": {
|
|
2607
|
+
"type": "integer",
|
|
2608
|
+
"minimum": 1,
|
|
2609
|
+
"description": "Maximum file size in kilobytes for the JavaScript asset"
|
|
2610
|
+
},
|
|
2611
|
+
"module_type": {
|
|
2612
|
+
"type": "string",
|
|
2613
|
+
"enum": [
|
|
2614
|
+
"script",
|
|
2615
|
+
"module",
|
|
2616
|
+
"iife"
|
|
2617
|
+
],
|
|
2618
|
+
"description": "Required JavaScript module format. 'script' = classic script, 'module' = ES modules, 'iife' = immediately invoked function expression"
|
|
2619
|
+
},
|
|
2620
|
+
"strict_mode_required": {
|
|
2621
|
+
"type": "boolean",
|
|
2622
|
+
"description": "Whether the JavaScript must use strict mode"
|
|
2623
|
+
},
|
|
2624
|
+
"external_resources_allowed": {
|
|
2625
|
+
"type": "boolean",
|
|
2626
|
+
"description": "Whether the JavaScript can load external resources dynamically"
|
|
2627
|
+
},
|
|
2628
|
+
"allowed_external_domains": {
|
|
2629
|
+
"type": "array",
|
|
2630
|
+
"items": {
|
|
2631
|
+
"type": "string",
|
|
2632
|
+
"format": "hostname"
|
|
2633
|
+
},
|
|
2634
|
+
"description": "List of domains the JavaScript may reference for external resources. Only applicable when external_resources_allowed is true."
|
|
2635
|
+
}
|
|
2636
|
+
},
|
|
2637
|
+
"additionalProperties": true
|
|
2638
|
+
}
|
|
2639
|
+
}
|
|
2640
|
+
},
|
|
2641
|
+
{
|
|
2642
|
+
"title": "GroupVastAsset",
|
|
2643
|
+
"description": "VAST asset in group",
|
|
2644
|
+
"allOf": [
|
|
2645
|
+
{
|
|
2646
|
+
"$ref": "#/$defs/baseGroupAsset"
|
|
2647
|
+
}
|
|
2648
|
+
],
|
|
2649
|
+
"properties": {
|
|
2650
|
+
"asset_type": {
|
|
2651
|
+
"const": "vast"
|
|
2652
|
+
},
|
|
2653
|
+
"requirements": {
|
|
2654
|
+
"title": "VAST Asset Requirements",
|
|
2655
|
+
"description": "Requirements for VAST (Video Ad Serving Template) creative assets.",
|
|
2656
|
+
"type": "object",
|
|
2657
|
+
"properties": {
|
|
2658
|
+
"vast_version": {
|
|
2659
|
+
"type": "string",
|
|
2660
|
+
"enum": [
|
|
2661
|
+
"2.0",
|
|
2662
|
+
"3.0",
|
|
2663
|
+
"4.0",
|
|
2664
|
+
"4.1",
|
|
2665
|
+
"4.2"
|
|
2666
|
+
],
|
|
2667
|
+
"description": "Required VAST version"
|
|
2668
|
+
}
|
|
2669
|
+
},
|
|
2670
|
+
"additionalProperties": true
|
|
2671
|
+
}
|
|
2672
|
+
}
|
|
2673
|
+
},
|
|
2674
|
+
{
|
|
2675
|
+
"title": "GroupDaastAsset",
|
|
2676
|
+
"description": "DAAST asset in group",
|
|
2677
|
+
"allOf": [
|
|
2678
|
+
{
|
|
2679
|
+
"$ref": "#/$defs/baseGroupAsset"
|
|
2680
|
+
}
|
|
2681
|
+
],
|
|
2682
|
+
"properties": {
|
|
2683
|
+
"asset_type": {
|
|
2684
|
+
"const": "daast"
|
|
2685
|
+
},
|
|
2686
|
+
"requirements": {
|
|
2687
|
+
"title": "DAAST Asset Requirements",
|
|
2688
|
+
"description": "Requirements for DAAST (Digital Audio Ad Serving Template) creative assets.",
|
|
2689
|
+
"type": "object",
|
|
2690
|
+
"properties": {
|
|
2691
|
+
"daast_version": {
|
|
2692
|
+
"type": "string",
|
|
2693
|
+
"enum": [
|
|
2694
|
+
"1.0"
|
|
2695
|
+
],
|
|
2696
|
+
"description": "Required DAAST version. DAAST 1.0 is the current IAB standard."
|
|
2697
|
+
}
|
|
2698
|
+
},
|
|
2699
|
+
"additionalProperties": true
|
|
2700
|
+
}
|
|
2701
|
+
}
|
|
2702
|
+
},
|
|
2703
|
+
{
|
|
2704
|
+
"title": "GroupUrlAsset",
|
|
2705
|
+
"description": "URL asset in group",
|
|
2706
|
+
"allOf": [
|
|
2707
|
+
{
|
|
2708
|
+
"$ref": "#/$defs/baseGroupAsset"
|
|
2709
|
+
}
|
|
2710
|
+
],
|
|
2711
|
+
"properties": {
|
|
2712
|
+
"asset_type": {
|
|
2713
|
+
"const": "url"
|
|
2714
|
+
},
|
|
2715
|
+
"requirements": {
|
|
2716
|
+
"title": "URL Asset Requirements",
|
|
2717
|
+
"description": "Requirements for URL assets such as click-through URLs, tracking pixels, and landing pages.",
|
|
2718
|
+
"type": "object",
|
|
2719
|
+
"properties": {
|
|
2720
|
+
"role": {
|
|
2721
|
+
"type": "string",
|
|
2722
|
+
"enum": [
|
|
2723
|
+
"clickthrough",
|
|
2724
|
+
"landing_page",
|
|
2725
|
+
"impression_tracker",
|
|
2726
|
+
"click_tracker",
|
|
2727
|
+
"viewability_tracker",
|
|
2728
|
+
"third_party_tracker"
|
|
2729
|
+
],
|
|
2730
|
+
"description": "Standard role for this URL asset. Use this to constrain which purposes are valid for this URL slot. Complements asset_role (which is a human-readable label) by providing a machine-readable enum."
|
|
2731
|
+
},
|
|
2732
|
+
"protocols": {
|
|
2733
|
+
"type": "array",
|
|
2734
|
+
"items": {
|
|
2735
|
+
"type": "string",
|
|
2736
|
+
"enum": [
|
|
2737
|
+
"https",
|
|
2738
|
+
"http"
|
|
2739
|
+
]
|
|
2740
|
+
},
|
|
2741
|
+
"description": "Allowed URL protocols. HTTPS is recommended for all ad URLs."
|
|
2742
|
+
},
|
|
2743
|
+
"allowed_domains": {
|
|
2744
|
+
"type": "array",
|
|
2745
|
+
"items": {
|
|
2746
|
+
"type": "string",
|
|
2747
|
+
"format": "hostname"
|
|
2748
|
+
},
|
|
2749
|
+
"description": "List of allowed domains for the URL"
|
|
2750
|
+
},
|
|
2751
|
+
"max_length": {
|
|
2752
|
+
"type": "integer",
|
|
2753
|
+
"minimum": 1,
|
|
2754
|
+
"description": "Maximum URL length in characters"
|
|
2755
|
+
},
|
|
2756
|
+
"macro_support": {
|
|
2757
|
+
"type": "boolean",
|
|
2758
|
+
"description": "Whether the URL supports macro substitution (e.g., ${CACHEBUSTER})"
|
|
2759
|
+
}
|
|
2760
|
+
},
|
|
2761
|
+
"additionalProperties": true
|
|
2762
|
+
}
|
|
2763
|
+
}
|
|
2764
|
+
},
|
|
2765
|
+
{
|
|
2766
|
+
"title": "GroupWebhookAsset",
|
|
2767
|
+
"description": "Webhook asset in group",
|
|
2768
|
+
"allOf": [
|
|
2769
|
+
{
|
|
2770
|
+
"$ref": "#/$defs/baseGroupAsset"
|
|
2771
|
+
}
|
|
2772
|
+
],
|
|
2773
|
+
"properties": {
|
|
2774
|
+
"asset_type": {
|
|
2775
|
+
"const": "webhook"
|
|
2776
|
+
},
|
|
2777
|
+
"requirements": {
|
|
2778
|
+
"title": "Webhook Asset Requirements",
|
|
2779
|
+
"description": "Requirements for webhook creative assets.",
|
|
2780
|
+
"type": "object",
|
|
2781
|
+
"properties": {
|
|
2782
|
+
"methods": {
|
|
2783
|
+
"type": "array",
|
|
2784
|
+
"items": {
|
|
2785
|
+
"type": "string",
|
|
2786
|
+
"enum": [
|
|
2787
|
+
"GET",
|
|
2788
|
+
"POST"
|
|
2789
|
+
]
|
|
2790
|
+
},
|
|
2791
|
+
"description": "Allowed HTTP methods"
|
|
2792
|
+
}
|
|
2793
|
+
},
|
|
2794
|
+
"additionalProperties": true
|
|
2795
|
+
}
|
|
2796
|
+
}
|
|
2797
|
+
}
|
|
2798
|
+
]
|
|
2799
|
+
}
|
|
2800
|
+
}
|
|
2801
|
+
},
|
|
2802
|
+
"required": [
|
|
2803
|
+
"item_type",
|
|
2804
|
+
"asset_group_id",
|
|
2805
|
+
"required",
|
|
2806
|
+
"min_count",
|
|
2807
|
+
"max_count",
|
|
2808
|
+
"assets"
|
|
2809
|
+
]
|
|
2810
|
+
}
|
|
2811
|
+
]
|
|
2812
|
+
}
|
|
2813
|
+
},
|
|
2814
|
+
"delivery": {
|
|
2815
|
+
"type": "object",
|
|
2816
|
+
"description": "Delivery method specifications (e.g., hosted, VAST, third-party tags)",
|
|
2817
|
+
"additionalProperties": true
|
|
2818
|
+
},
|
|
2819
|
+
"supported_macros": {
|
|
2820
|
+
"type": "array",
|
|
2821
|
+
"description": "List of universal macros supported by this format (e.g., MEDIA_BUY_ID, CACHEBUSTER, DEVICE_ID). Used for validation and developer tooling. See docs/creative/universal-macros.mdx for full documentation.",
|
|
2822
|
+
"items": {
|
|
2823
|
+
"oneOf": [
|
|
2824
|
+
{
|
|
2825
|
+
"title": "Universal Macro",
|
|
2826
|
+
"description": "Standardized macro placeholders for dynamic value substitution in creative tracking URLs. Macros are replaced with actual values at impression time. See docs/creative/universal-macros.mdx for detailed documentation.",
|
|
2827
|
+
"type": "string",
|
|
2828
|
+
"enum": [
|
|
2829
|
+
"MEDIA_BUY_ID",
|
|
2830
|
+
"PACKAGE_ID",
|
|
2831
|
+
"CREATIVE_ID",
|
|
2832
|
+
"CACHEBUSTER",
|
|
2833
|
+
"TIMESTAMP",
|
|
2834
|
+
"CLICK_URL",
|
|
2835
|
+
"GDPR",
|
|
2836
|
+
"GDPR_CONSENT",
|
|
2837
|
+
"US_PRIVACY",
|
|
2838
|
+
"GPP_STRING",
|
|
2839
|
+
"GPP_SID",
|
|
2840
|
+
"IP_ADDRESS",
|
|
2841
|
+
"LIMIT_AD_TRACKING",
|
|
2842
|
+
"DEVICE_TYPE",
|
|
2843
|
+
"OS",
|
|
2844
|
+
"OS_VERSION",
|
|
2845
|
+
"DEVICE_MAKE",
|
|
2846
|
+
"DEVICE_MODEL",
|
|
2847
|
+
"USER_AGENT",
|
|
2848
|
+
"APP_BUNDLE",
|
|
2849
|
+
"APP_NAME",
|
|
2850
|
+
"COUNTRY",
|
|
2851
|
+
"REGION",
|
|
2852
|
+
"CITY",
|
|
2853
|
+
"ZIP",
|
|
2854
|
+
"DMA",
|
|
2855
|
+
"LAT",
|
|
2856
|
+
"LONG",
|
|
2857
|
+
"DEVICE_ID",
|
|
2858
|
+
"DEVICE_ID_TYPE",
|
|
2859
|
+
"DOMAIN",
|
|
2860
|
+
"PAGE_URL",
|
|
2861
|
+
"REFERRER",
|
|
2862
|
+
"KEYWORDS",
|
|
2863
|
+
"PLACEMENT_ID",
|
|
2864
|
+
"FOLD_POSITION",
|
|
2865
|
+
"AD_WIDTH",
|
|
2866
|
+
"AD_HEIGHT",
|
|
2867
|
+
"VIDEO_ID",
|
|
2868
|
+
"VIDEO_TITLE",
|
|
2869
|
+
"VIDEO_DURATION",
|
|
2870
|
+
"VIDEO_CATEGORY",
|
|
2871
|
+
"CONTENT_GENRE",
|
|
2872
|
+
"CONTENT_RATING",
|
|
2873
|
+
"PLAYER_WIDTH",
|
|
2874
|
+
"PLAYER_HEIGHT",
|
|
2875
|
+
"POD_POSITION",
|
|
2876
|
+
"POD_SIZE",
|
|
2877
|
+
"AD_BREAK_ID",
|
|
2878
|
+
"STATION_ID",
|
|
2879
|
+
"COLLECTION_NAME",
|
|
2880
|
+
"INSTALLMENT_ID",
|
|
2881
|
+
"AUDIO_DURATION",
|
|
2882
|
+
"TMPX",
|
|
2883
|
+
"AXEM",
|
|
2884
|
+
"CATALOG_ID",
|
|
2885
|
+
"SKU",
|
|
2886
|
+
"GTIN",
|
|
2887
|
+
"OFFERING_ID",
|
|
2888
|
+
"JOB_ID",
|
|
2889
|
+
"HOTEL_ID",
|
|
2890
|
+
"FLIGHT_ID",
|
|
2891
|
+
"VEHICLE_ID",
|
|
2892
|
+
"LISTING_ID",
|
|
2893
|
+
"STORE_ID",
|
|
2894
|
+
"PROGRAM_ID",
|
|
2895
|
+
"DESTINATION_ID",
|
|
2896
|
+
"CREATIVE_VARIANT_ID",
|
|
2897
|
+
"APP_ITEM_ID"
|
|
2898
|
+
],
|
|
2899
|
+
"enumDescriptions": {
|
|
2900
|
+
"MEDIA_BUY_ID": "AdCP media buy identifier",
|
|
2901
|
+
"PACKAGE_ID": "AdCP package identifier",
|
|
2902
|
+
"CREATIVE_ID": "AdCP creative identifier",
|
|
2903
|
+
"CACHEBUSTER": "Random number to prevent caching",
|
|
2904
|
+
"TIMESTAMP": "Unix timestamp in milliseconds",
|
|
2905
|
+
"CLICK_URL": "Publisher's click tracking URL (auto-inserted by sales agent)",
|
|
2906
|
+
"GDPR": "GDPR applicability flag (1=applies, 0=doesn't apply)",
|
|
2907
|
+
"GDPR_CONSENT": "IAB TCF 2.0 consent string",
|
|
2908
|
+
"US_PRIVACY": "US Privacy (CCPA) string",
|
|
2909
|
+
"GPP_STRING": "Global Privacy Platform consent string",
|
|
2910
|
+
"GPP_SID": "GPP Section ID(s) indicating applicable privacy framework sections",
|
|
2911
|
+
"IP_ADDRESS": "User IP address (often masked for privacy, may return empty)",
|
|
2912
|
+
"LIMIT_AD_TRACKING": "Limit Ad Tracking enabled (1=limited, 0=allowed)",
|
|
2913
|
+
"DEVICE_TYPE": "Device category (mobile, tablet, desktop, ctv, dooh)",
|
|
2914
|
+
"OS": "Operating system (iOS, Android, tvOS, Roku, etc.)",
|
|
2915
|
+
"OS_VERSION": "OS version number",
|
|
2916
|
+
"DEVICE_MAKE": "Device manufacturer",
|
|
2917
|
+
"DEVICE_MODEL": "Device model identifier",
|
|
2918
|
+
"USER_AGENT": "Full user agent string",
|
|
2919
|
+
"APP_BUNDLE": "App bundle ID (domain or numeric)",
|
|
2920
|
+
"APP_NAME": "Human-readable app name",
|
|
2921
|
+
"COUNTRY": "ISO 3166-1 alpha-2 country code",
|
|
2922
|
+
"REGION": "State/province/region code",
|
|
2923
|
+
"CITY": "City name",
|
|
2924
|
+
"ZIP": "Postal code",
|
|
2925
|
+
"DMA": "Nielsen DMA code (US TV markets)",
|
|
2926
|
+
"LAT": "Latitude coordinate",
|
|
2927
|
+
"LONG": "Longitude coordinate",
|
|
2928
|
+
"DEVICE_ID": "Mobile advertising ID (IDFA/AAID)",
|
|
2929
|
+
"DEVICE_ID_TYPE": "Type of device ID (idfa, aaid)",
|
|
2930
|
+
"DOMAIN": "Domain where ad is shown",
|
|
2931
|
+
"PAGE_URL": "Full page URL (encoded)",
|
|
2932
|
+
"REFERRER": "HTTP referrer URL",
|
|
2933
|
+
"KEYWORDS": "Page keywords (comma-separated)",
|
|
2934
|
+
"PLACEMENT_ID": "Global Placement ID (IAB standard)",
|
|
2935
|
+
"FOLD_POSITION": "Position relative to fold (above_fold, below_fold)",
|
|
2936
|
+
"AD_WIDTH": "Ad slot width in pixels",
|
|
2937
|
+
"AD_HEIGHT": "Ad slot height in pixels",
|
|
2938
|
+
"VIDEO_ID": "Content video identifier",
|
|
2939
|
+
"VIDEO_TITLE": "Content video title",
|
|
2940
|
+
"VIDEO_DURATION": "Content duration in seconds",
|
|
2941
|
+
"VIDEO_CATEGORY": "IAB content category",
|
|
2942
|
+
"CONTENT_GENRE": "Content genre (news, sports, comedy, etc.)",
|
|
2943
|
+
"CONTENT_RATING": "Content rating (G, PG, TV-14, etc.)",
|
|
2944
|
+
"PLAYER_WIDTH": "Video player width in pixels",
|
|
2945
|
+
"PLAYER_HEIGHT": "Video player height in pixels",
|
|
2946
|
+
"POD_POSITION": "Position within ad break",
|
|
2947
|
+
"POD_SIZE": "Total ads in the ad break",
|
|
2948
|
+
"AD_BREAK_ID": "Unique ad break identifier",
|
|
2949
|
+
"STATION_ID": "Radio station or podcast identifier",
|
|
2950
|
+
"COLLECTION_NAME": "Program or collection name",
|
|
2951
|
+
"INSTALLMENT_ID": "Installment identifier (podcast episode, print issue, etc.)",
|
|
2952
|
+
"AUDIO_DURATION": "Audio content duration in seconds",
|
|
2953
|
+
"TMPX": "TMP exposure token — HPKE-encrypted identity tokens for per-user exposure tracking. Produced by Identity Match, substituted into creative tracking URLs, received by the buyer's impression pixel.",
|
|
2954
|
+
"AXEM": "AXE contextual metadata (encoded blob). Legacy — in TMP, use Offer macros for dynamic creative values and TMPX for exposure tracking.",
|
|
2955
|
+
"CATALOG_ID": "Buyer-defined catalog identifier from the catalog's catalog_id field",
|
|
2956
|
+
"SKU": "Product SKU identifier for the catalog item being rendered",
|
|
2957
|
+
"GTIN": "Global Trade Item Number for the catalog item being rendered",
|
|
2958
|
+
"OFFERING_ID": "AdCP offering identifier for the catalog item being rendered",
|
|
2959
|
+
"JOB_ID": "Job posting identifier for the catalog item being rendered",
|
|
2960
|
+
"HOTEL_ID": "Hotel property identifier for the catalog item being rendered",
|
|
2961
|
+
"FLIGHT_ID": "Flight route identifier for the catalog item being rendered",
|
|
2962
|
+
"VEHICLE_ID": "Vehicle listing identifier for the catalog item being rendered",
|
|
2963
|
+
"LISTING_ID": "Real estate listing identifier for the catalog item being rendered",
|
|
2964
|
+
"STORE_ID": "Store location identifier for the catalog item being rendered",
|
|
2965
|
+
"PROGRAM_ID": "Education program identifier for the catalog item being rendered",
|
|
2966
|
+
"DESTINATION_ID": "Travel destination identifier for the catalog item being rendered",
|
|
2967
|
+
"CREATIVE_VARIANT_ID": "Seller-assigned creative variant identifier, passed through at serve time",
|
|
2968
|
+
"APP_ITEM_ID": "Mobile app identifier for the catalog item being rendered"
|
|
2969
|
+
}
|
|
2970
|
+
},
|
|
2971
|
+
{
|
|
2972
|
+
"type": "string",
|
|
2973
|
+
"description": "Custom or publisher-specific macro name"
|
|
2974
|
+
}
|
|
2975
|
+
]
|
|
2976
|
+
}
|
|
2977
|
+
},
|
|
2978
|
+
"input_format_ids": {
|
|
2979
|
+
"type": "array",
|
|
2980
|
+
"description": "Array of format IDs this format accepts as input creative manifests. When present, indicates this format can take existing creatives in these formats as input. Omit for formats that work from raw assets (images, text, etc.) rather than existing creatives.",
|
|
2981
|
+
"items": {
|
|
2982
|
+
"title": "Format Reference (Structured Object)",
|
|
2983
|
+
"description": "A JSON object — never a plain string — that identifies a creative format by its declaring agent and local slug. Required properties: agent_url (URI of the agent that owns the format) and id (slug matching [a-zA-Z0-9_-]+). Example: {\"agent_url\": \"https://creative.adcontextprotocol.org\", \"id\": \"display_300x250\"}. Can reference: (1) a concrete format with fixed dimensions (id only), (2) a template format without parameters (id only), or (3) a template format with parameters (id + dimensions/duration). Template formats accept parameters in format_id while concrete formats have fixed dimensions in their definition. Parameterized format IDs create unique, specific format variants. Using a plain string here is a schema violation.",
|
|
2984
|
+
"x-entity": "creative_format",
|
|
2985
|
+
"type": "object",
|
|
2986
|
+
"properties": {
|
|
2987
|
+
"agent_url": {
|
|
2988
|
+
"type": "string",
|
|
2989
|
+
"format": "uri",
|
|
2990
|
+
"description": "URL of the agent that defines this format (e.g., 'https://creative.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats). Callers comparing two `format-id` values MUST canonicalize `agent_url` per the AdCP URL canonicalization rules before treating two formats as the same. See docs/reference/url-canonicalization."
|
|
2991
|
+
},
|
|
2992
|
+
"id": {
|
|
2993
|
+
"type": "string",
|
|
2994
|
+
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
2995
|
+
"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."
|
|
2996
|
+
},
|
|
2997
|
+
"width": {
|
|
2998
|
+
"type": "integer",
|
|
2999
|
+
"minimum": 1,
|
|
3000
|
+
"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."
|
|
3001
|
+
},
|
|
3002
|
+
"height": {
|
|
3003
|
+
"type": "integer",
|
|
3004
|
+
"minimum": 1,
|
|
3005
|
+
"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."
|
|
3006
|
+
},
|
|
3007
|
+
"duration_ms": {
|
|
3008
|
+
"type": "number",
|
|
3009
|
+
"minimum": 1,
|
|
3010
|
+
"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."
|
|
3011
|
+
}
|
|
3012
|
+
},
|
|
3013
|
+
"required": [
|
|
3014
|
+
"agent_url",
|
|
3015
|
+
"id"
|
|
3016
|
+
],
|
|
3017
|
+
"additionalProperties": true,
|
|
3018
|
+
"dependencies": {
|
|
3019
|
+
"width": [
|
|
3020
|
+
"height"
|
|
3021
|
+
],
|
|
3022
|
+
"height": [
|
|
3023
|
+
"width"
|
|
3024
|
+
]
|
|
3025
|
+
}
|
|
3026
|
+
}
|
|
3027
|
+
},
|
|
3028
|
+
"output_format_ids": {
|
|
3029
|
+
"type": "array",
|
|
3030
|
+
"description": "Array of format IDs that this format can produce as output. When present, indicates this format can build creatives in these output formats (e.g., a multi-publisher template format might produce standard display formats across many publishers). Omit for formats that produce a single fixed output (the format itself).",
|
|
3031
|
+
"items": {
|
|
3032
|
+
"title": "Format Reference (Structured Object)",
|
|
3033
|
+
"description": "A JSON object — never a plain string — that identifies a creative format by its declaring agent and local slug. Required properties: agent_url (URI of the agent that owns the format) and id (slug matching [a-zA-Z0-9_-]+). Example: {\"agent_url\": \"https://creative.adcontextprotocol.org\", \"id\": \"display_300x250\"}. Can reference: (1) a concrete format with fixed dimensions (id only), (2) a template format without parameters (id only), or (3) a template format with parameters (id + dimensions/duration). Template formats accept parameters in format_id while concrete formats have fixed dimensions in their definition. Parameterized format IDs create unique, specific format variants. Using a plain string here is a schema violation.",
|
|
3034
|
+
"x-entity": "creative_format",
|
|
3035
|
+
"type": "object",
|
|
3036
|
+
"properties": {
|
|
3037
|
+
"agent_url": {
|
|
3038
|
+
"type": "string",
|
|
3039
|
+
"format": "uri",
|
|
3040
|
+
"description": "URL of the agent that defines this format (e.g., 'https://creative.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats). Callers comparing two `format-id` values MUST canonicalize `agent_url` per the AdCP URL canonicalization rules before treating two formats as the same. See docs/reference/url-canonicalization."
|
|
3041
|
+
},
|
|
3042
|
+
"id": {
|
|
3043
|
+
"type": "string",
|
|
3044
|
+
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
3045
|
+
"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."
|
|
3046
|
+
},
|
|
3047
|
+
"width": {
|
|
3048
|
+
"type": "integer",
|
|
3049
|
+
"minimum": 1,
|
|
3050
|
+
"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."
|
|
3051
|
+
},
|
|
3052
|
+
"height": {
|
|
3053
|
+
"type": "integer",
|
|
3054
|
+
"minimum": 1,
|
|
3055
|
+
"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."
|
|
3056
|
+
},
|
|
3057
|
+
"duration_ms": {
|
|
3058
|
+
"type": "number",
|
|
3059
|
+
"minimum": 1,
|
|
3060
|
+
"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."
|
|
3061
|
+
}
|
|
3062
|
+
},
|
|
3063
|
+
"required": [
|
|
3064
|
+
"agent_url",
|
|
3065
|
+
"id"
|
|
3066
|
+
],
|
|
3067
|
+
"additionalProperties": true,
|
|
3068
|
+
"dependencies": {
|
|
3069
|
+
"width": [
|
|
3070
|
+
"height"
|
|
3071
|
+
],
|
|
3072
|
+
"height": [
|
|
3073
|
+
"width"
|
|
3074
|
+
]
|
|
3075
|
+
}
|
|
3076
|
+
}
|
|
3077
|
+
},
|
|
3078
|
+
"format_card": {
|
|
3079
|
+
"type": "object",
|
|
3080
|
+
"description": "Optional standard visual card (300x400px) for displaying this format in user interfaces. Can be rendered via preview_creative or pre-generated.",
|
|
3081
|
+
"properties": {
|
|
3082
|
+
"format_id": {
|
|
3083
|
+
"title": "Format Reference (Structured Object)",
|
|
3084
|
+
"description": "Creative format defining the card layout (typically format_card_standard)",
|
|
3085
|
+
"x-entity": "creative_format",
|
|
3086
|
+
"type": "object",
|
|
3087
|
+
"properties": {
|
|
3088
|
+
"agent_url": {
|
|
3089
|
+
"type": "string",
|
|
3090
|
+
"format": "uri",
|
|
3091
|
+
"description": "URL of the agent that defines this format (e.g., 'https://creative.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats). Callers comparing two `format-id` values MUST canonicalize `agent_url` per the AdCP URL canonicalization rules before treating two formats as the same. See docs/reference/url-canonicalization."
|
|
3092
|
+
},
|
|
3093
|
+
"id": {
|
|
3094
|
+
"type": "string",
|
|
3095
|
+
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
3096
|
+
"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."
|
|
3097
|
+
},
|
|
3098
|
+
"width": {
|
|
3099
|
+
"type": "integer",
|
|
3100
|
+
"minimum": 1,
|
|
3101
|
+
"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."
|
|
3102
|
+
},
|
|
3103
|
+
"height": {
|
|
3104
|
+
"type": "integer",
|
|
3105
|
+
"minimum": 1,
|
|
3106
|
+
"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."
|
|
3107
|
+
},
|
|
3108
|
+
"duration_ms": {
|
|
3109
|
+
"type": "number",
|
|
3110
|
+
"minimum": 1,
|
|
3111
|
+
"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."
|
|
3112
|
+
}
|
|
3113
|
+
},
|
|
3114
|
+
"required": [
|
|
3115
|
+
"agent_url",
|
|
3116
|
+
"id"
|
|
3117
|
+
],
|
|
3118
|
+
"additionalProperties": true,
|
|
3119
|
+
"dependencies": {
|
|
3120
|
+
"width": [
|
|
3121
|
+
"height"
|
|
3122
|
+
],
|
|
3123
|
+
"height": [
|
|
3124
|
+
"width"
|
|
3125
|
+
]
|
|
3126
|
+
}
|
|
3127
|
+
},
|
|
3128
|
+
"manifest": {
|
|
3129
|
+
"type": "object",
|
|
3130
|
+
"description": "Asset manifest for rendering the card, structure defined by the format",
|
|
3131
|
+
"additionalProperties": true
|
|
3132
|
+
}
|
|
3133
|
+
},
|
|
3134
|
+
"required": [
|
|
3135
|
+
"format_id",
|
|
3136
|
+
"manifest"
|
|
3137
|
+
],
|
|
3138
|
+
"additionalProperties": true
|
|
3139
|
+
},
|
|
3140
|
+
"accessibility": {
|
|
3141
|
+
"type": "object",
|
|
3142
|
+
"description": "Accessibility posture of this format. Declares the WCAG conformance level that creatives produced by this format will meet.",
|
|
3143
|
+
"properties": {
|
|
3144
|
+
"wcag_level": {
|
|
3145
|
+
"title": "WCAG Level",
|
|
3146
|
+
"description": "WCAG conformance level that this format achieves. For format-rendered creatives, the format guarantees this level. For opaque creatives, the format requires assets that self-certify to this level.",
|
|
3147
|
+
"type": "string",
|
|
3148
|
+
"enum": [
|
|
3149
|
+
"A",
|
|
3150
|
+
"AA",
|
|
3151
|
+
"AAA"
|
|
3152
|
+
],
|
|
3153
|
+
"enumDescriptions": {
|
|
3154
|
+
"A": "Minimum level of conformance. Addresses the most basic accessibility barriers.",
|
|
3155
|
+
"AA": "Addresses the most common barriers for disabled users. Required by most accessibility regulations.",
|
|
3156
|
+
"AAA": "Highest level of conformance. Addresses the widest range of accessibility barriers."
|
|
3157
|
+
}
|
|
3158
|
+
},
|
|
3159
|
+
"requires_accessible_assets": {
|
|
3160
|
+
"type": "boolean",
|
|
3161
|
+
"description": "When true, all assets with x-accessibility fields must include those fields. For inspectable assets (image, video, audio), this means providing accessibility metadata like alt_text or captions. For opaque assets (HTML, JavaScript), this means providing self-declared accessibility properties."
|
|
3162
|
+
}
|
|
3163
|
+
},
|
|
3164
|
+
"required": [
|
|
3165
|
+
"wcag_level"
|
|
3166
|
+
]
|
|
3167
|
+
},
|
|
3168
|
+
"supported_disclosure_positions": {
|
|
3169
|
+
"type": "array",
|
|
3170
|
+
"description": "Disclosure positions this format can render. Buyers use this to determine whether a format can satisfy their compliance requirements before submitting a creative. When omitted, the format makes no disclosure rendering guarantees — creative agents SHOULD treat this as incompatible with briefs that require specific disclosure positions. Values correspond to positions on creative-brief.json required_disclosures.",
|
|
3171
|
+
"items": {
|
|
3172
|
+
"$ref": "#/$defs/DisclosurePosition"
|
|
3173
|
+
},
|
|
3174
|
+
"minItems": 1,
|
|
3175
|
+
"uniqueItems": true
|
|
3176
|
+
},
|
|
3177
|
+
"disclosure_capabilities": {
|
|
3178
|
+
"type": "array",
|
|
3179
|
+
"description": "Structured disclosure capabilities per position with persistence modes. Declares which persistence behaviors each disclosure position supports, enabling persistence-aware matching against provenance render guidance and brief requirements. When present, supersedes supported_disclosure_positions for persistence-aware queries. The flat supported_disclosure_positions field is retained for backward compatibility. Each position MUST appear at most once; validators and agents SHOULD reject duplicates.",
|
|
3180
|
+
"items": {
|
|
3181
|
+
"type": "object",
|
|
3182
|
+
"properties": {
|
|
3183
|
+
"position": {
|
|
3184
|
+
"$ref": "#/$defs/DisclosurePosition"
|
|
3185
|
+
},
|
|
3186
|
+
"persistence": {
|
|
3187
|
+
"type": "array",
|
|
3188
|
+
"description": "Persistence modes this position supports",
|
|
3189
|
+
"items": {
|
|
3190
|
+
"title": "Disclosure Persistence",
|
|
3191
|
+
"description": "How long a disclosure must persist during content playback or display. Different jurisdictions and regulations require different persistence behaviors for AI-generated content labels. When multiple sources specify persistence for the same jurisdiction (e.g., brief and provenance), the most restrictive mode applies: continuous > initial > flexible.",
|
|
3192
|
+
"type": "string",
|
|
3193
|
+
"enum": [
|
|
3194
|
+
"continuous",
|
|
3195
|
+
"initial",
|
|
3196
|
+
"flexible"
|
|
3197
|
+
],
|
|
3198
|
+
"enumDescriptions": {
|
|
3199
|
+
"continuous": "Disclosure must remain visible or audible throughout the entire content display duration. For video and audio, this means the full playback duration. For static formats (display, DOOH), this means the full display slot. For DOOH specifically, 'content duration' means the ad's display slot within the rotation, not the screen's full rotation cycle.",
|
|
3200
|
+
"initial": "Disclosure must appear at the start of content for a minimum duration before it may be removed. Pair with min_duration_ms in render_guidance or creative brief to specify the required duration.",
|
|
3201
|
+
"flexible": "Disclosure presence is sufficient; placement timing and duration are at the publisher's discretion"
|
|
3202
|
+
}
|
|
3203
|
+
},
|
|
3204
|
+
"minItems": 1,
|
|
3205
|
+
"uniqueItems": true
|
|
3206
|
+
}
|
|
3207
|
+
},
|
|
3208
|
+
"required": [
|
|
3209
|
+
"position",
|
|
3210
|
+
"persistence"
|
|
3211
|
+
],
|
|
3212
|
+
"additionalProperties": true
|
|
3213
|
+
},
|
|
3214
|
+
"minItems": 1
|
|
3215
|
+
},
|
|
3216
|
+
"format_card_detailed": {
|
|
3217
|
+
"type": "object",
|
|
3218
|
+
"description": "Optional detailed card with carousel and full specifications. Provides rich format documentation similar to ad spec pages.",
|
|
3219
|
+
"properties": {
|
|
3220
|
+
"format_id": {
|
|
3221
|
+
"title": "Format Reference (Structured Object)",
|
|
3222
|
+
"description": "Creative format defining the detailed card layout (typically format_card_detailed)",
|
|
3223
|
+
"x-entity": "creative_format",
|
|
3224
|
+
"type": "object",
|
|
3225
|
+
"properties": {
|
|
3226
|
+
"agent_url": {
|
|
3227
|
+
"type": "string",
|
|
3228
|
+
"format": "uri",
|
|
3229
|
+
"description": "URL of the agent that defines this format (e.g., 'https://creative.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats). Callers comparing two `format-id` values MUST canonicalize `agent_url` per the AdCP URL canonicalization rules before treating two formats as the same. See docs/reference/url-canonicalization."
|
|
3230
|
+
},
|
|
3231
|
+
"id": {
|
|
3232
|
+
"type": "string",
|
|
3233
|
+
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
3234
|
+
"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."
|
|
3235
|
+
},
|
|
3236
|
+
"width": {
|
|
3237
|
+
"type": "integer",
|
|
3238
|
+
"minimum": 1,
|
|
3239
|
+
"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."
|
|
3240
|
+
},
|
|
3241
|
+
"height": {
|
|
3242
|
+
"type": "integer",
|
|
3243
|
+
"minimum": 1,
|
|
3244
|
+
"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."
|
|
3245
|
+
},
|
|
3246
|
+
"duration_ms": {
|
|
3247
|
+
"type": "number",
|
|
3248
|
+
"minimum": 1,
|
|
3249
|
+
"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."
|
|
3250
|
+
}
|
|
3251
|
+
},
|
|
3252
|
+
"required": [
|
|
3253
|
+
"agent_url",
|
|
3254
|
+
"id"
|
|
3255
|
+
],
|
|
3256
|
+
"additionalProperties": true,
|
|
3257
|
+
"dependencies": {
|
|
3258
|
+
"width": [
|
|
3259
|
+
"height"
|
|
3260
|
+
],
|
|
3261
|
+
"height": [
|
|
3262
|
+
"width"
|
|
3263
|
+
]
|
|
3264
|
+
}
|
|
3265
|
+
},
|
|
3266
|
+
"manifest": {
|
|
3267
|
+
"type": "object",
|
|
3268
|
+
"description": "Asset manifest for rendering the detailed card, structure defined by the format",
|
|
3269
|
+
"additionalProperties": true
|
|
3270
|
+
}
|
|
3271
|
+
},
|
|
3272
|
+
"required": [
|
|
3273
|
+
"format_id",
|
|
3274
|
+
"manifest"
|
|
3275
|
+
],
|
|
3276
|
+
"additionalProperties": true
|
|
3277
|
+
},
|
|
3278
|
+
"reported_metrics": {
|
|
3279
|
+
"type": "array",
|
|
3280
|
+
"description": "Metrics this format can produce in delivery reporting. Buyers receive the intersection of format reported_metrics and product available_metrics. If omitted, the format defers entirely to product-level metric declarations.",
|
|
3281
|
+
"items": {
|
|
3282
|
+
"title": "Available Metric",
|
|
3283
|
+
"description": "Standard delivery and performance metrics available for reporting",
|
|
3284
|
+
"type": "string",
|
|
3285
|
+
"enum": [
|
|
3286
|
+
"impressions",
|
|
3287
|
+
"spend",
|
|
3288
|
+
"clicks",
|
|
3289
|
+
"ctr",
|
|
3290
|
+
"video_completions",
|
|
3291
|
+
"completion_rate",
|
|
3292
|
+
"conversions",
|
|
3293
|
+
"conversion_value",
|
|
3294
|
+
"roas",
|
|
3295
|
+
"cost_per_acquisition",
|
|
3296
|
+
"new_to_brand_rate",
|
|
3297
|
+
"viewability",
|
|
3298
|
+
"engagement_rate",
|
|
3299
|
+
"views",
|
|
3300
|
+
"completed_views",
|
|
3301
|
+
"leads",
|
|
3302
|
+
"reach",
|
|
3303
|
+
"frequency",
|
|
3304
|
+
"grps",
|
|
3305
|
+
"quartile_data",
|
|
3306
|
+
"dooh_metrics",
|
|
3307
|
+
"cost_per_click"
|
|
3308
|
+
]
|
|
3309
|
+
},
|
|
3310
|
+
"minItems": 1,
|
|
3311
|
+
"uniqueItems": true
|
|
3312
|
+
},
|
|
3313
|
+
"pricing_options": {
|
|
3314
|
+
"type": "array",
|
|
3315
|
+
"description": "Pricing options for this format. Used by transformation and generation agents that charge per format adapted, per image generated, or per unit of work. Present when the request included include_pricing=true and account. Ad servers and library-based agents expose pricing on list_creatives instead.",
|
|
3316
|
+
"items": {
|
|
3317
|
+
"title": "Vendor Pricing Option",
|
|
3318
|
+
"description": "A pricing option offered by a vendor agent (signals, creative, governance). Combines pricing_option_id with the pricing model fields. Pass pricing_option_id in report_usage for billing verification. All vendor discovery responses return pricing_options as an array — vendors may offer multiple options (volume tiers, context-specific rates, different models per product line).",
|
|
3319
|
+
"allOf": [
|
|
3320
|
+
{
|
|
3321
|
+
"type": "object",
|
|
3322
|
+
"properties": {
|
|
3323
|
+
"pricing_option_id": {
|
|
3324
|
+
"type": "string",
|
|
3325
|
+
"description": "Opaque identifier for this pricing option, unique within the vendor agent. Pass this in report_usage to identify which pricing option was applied.",
|
|
3326
|
+
"x-entity": "vendor_pricing_option"
|
|
3327
|
+
}
|
|
3328
|
+
},
|
|
3329
|
+
"required": [
|
|
3330
|
+
"pricing_option_id"
|
|
3331
|
+
]
|
|
3332
|
+
},
|
|
3333
|
+
{
|
|
3334
|
+
"title": "Vendor Pricing",
|
|
3335
|
+
"description": "Pricing model for a vendor service. Discriminated by model: 'cpm' (fixed CPM), 'percent_of_media' (percentage of spend with optional CPM cap), 'flat_fee' (fixed charge per reporting period), 'per_unit' (fixed price per unit of work), or 'custom' (escape hatch for models not covered by the enumerated forms — requires a description and structured metadata).",
|
|
3336
|
+
"type": "object",
|
|
3337
|
+
"oneOf": [
|
|
3338
|
+
{
|
|
3339
|
+
"title": "CpmPricing",
|
|
3340
|
+
"description": "Fixed cost per thousand impressions",
|
|
3341
|
+
"type": "object",
|
|
3342
|
+
"properties": {
|
|
3343
|
+
"model": {
|
|
3344
|
+
"type": "string",
|
|
3345
|
+
"const": "cpm"
|
|
3346
|
+
},
|
|
3347
|
+
"cpm": {
|
|
3348
|
+
"type": "number",
|
|
3349
|
+
"description": "Cost per thousand impressions",
|
|
3350
|
+
"minimum": 0
|
|
3351
|
+
},
|
|
3352
|
+
"currency": {
|
|
3353
|
+
"type": "string",
|
|
3354
|
+
"description": "ISO 4217 currency code",
|
|
3355
|
+
"pattern": "^[A-Z]{3}$"
|
|
3356
|
+
},
|
|
3357
|
+
"ext": {
|
|
3358
|
+
"title": "Extension Object",
|
|
3359
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3360
|
+
"type": "object",
|
|
3361
|
+
"additionalProperties": true
|
|
3362
|
+
}
|
|
3363
|
+
},
|
|
3364
|
+
"required": [
|
|
3365
|
+
"model",
|
|
3366
|
+
"cpm",
|
|
3367
|
+
"currency"
|
|
3368
|
+
],
|
|
3369
|
+
"additionalProperties": true
|
|
3370
|
+
},
|
|
3371
|
+
{
|
|
3372
|
+
"title": "PercentOfMediaPricing",
|
|
3373
|
+
"description": "Percentage of media spend charged for this signal. When max_cpm is set, the effective rate is capped at that CPM — useful for platforms like The Trade Desk that use percent-of-media pricing with a CPM ceiling.",
|
|
3374
|
+
"type": "object",
|
|
3375
|
+
"properties": {
|
|
3376
|
+
"model": {
|
|
3377
|
+
"type": "string",
|
|
3378
|
+
"const": "percent_of_media"
|
|
3379
|
+
},
|
|
3380
|
+
"percent": {
|
|
3381
|
+
"type": "number",
|
|
3382
|
+
"description": "Percentage of media spend, e.g. 15 = 15%",
|
|
3383
|
+
"minimum": 0,
|
|
3384
|
+
"maximum": 100
|
|
3385
|
+
},
|
|
3386
|
+
"max_cpm": {
|
|
3387
|
+
"type": "number",
|
|
3388
|
+
"description": "Optional CPM cap. When set, the effective charge is min(percent × media_spend_per_mille, max_cpm).",
|
|
3389
|
+
"minimum": 0
|
|
3390
|
+
},
|
|
3391
|
+
"currency": {
|
|
3392
|
+
"type": "string",
|
|
3393
|
+
"description": "ISO 4217 currency code for the resulting charge",
|
|
3394
|
+
"pattern": "^[A-Z]{3}$"
|
|
3395
|
+
},
|
|
3396
|
+
"ext": {
|
|
3397
|
+
"title": "Extension Object",
|
|
3398
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3399
|
+
"type": "object",
|
|
3400
|
+
"additionalProperties": true
|
|
3401
|
+
}
|
|
3402
|
+
},
|
|
3403
|
+
"required": [
|
|
3404
|
+
"model",
|
|
3405
|
+
"percent",
|
|
3406
|
+
"currency"
|
|
3407
|
+
],
|
|
3408
|
+
"additionalProperties": true
|
|
3409
|
+
},
|
|
3410
|
+
{
|
|
3411
|
+
"title": "FlatFeePricing",
|
|
3412
|
+
"description": "Fixed charge per billing period, regardless of impressions or spend. Used for licensed data bundles and audience subscriptions.",
|
|
3413
|
+
"type": "object",
|
|
3414
|
+
"properties": {
|
|
3415
|
+
"model": {
|
|
3416
|
+
"type": "string",
|
|
3417
|
+
"const": "flat_fee"
|
|
3418
|
+
},
|
|
3419
|
+
"amount": {
|
|
3420
|
+
"type": "number",
|
|
3421
|
+
"description": "Fixed charge for the billing period",
|
|
3422
|
+
"minimum": 0
|
|
3423
|
+
},
|
|
3424
|
+
"period": {
|
|
3425
|
+
"type": "string",
|
|
3426
|
+
"enum": [
|
|
3427
|
+
"monthly",
|
|
3428
|
+
"quarterly",
|
|
3429
|
+
"annual",
|
|
3430
|
+
"campaign"
|
|
3431
|
+
],
|
|
3432
|
+
"description": "Billing period for the flat fee."
|
|
3433
|
+
},
|
|
3434
|
+
"currency": {
|
|
3435
|
+
"type": "string",
|
|
3436
|
+
"description": "ISO 4217 currency code",
|
|
3437
|
+
"pattern": "^[A-Z]{3}$"
|
|
3438
|
+
},
|
|
3439
|
+
"ext": {
|
|
3440
|
+
"title": "Extension Object",
|
|
3441
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3442
|
+
"type": "object",
|
|
3443
|
+
"additionalProperties": true
|
|
3444
|
+
}
|
|
3445
|
+
},
|
|
3446
|
+
"required": [
|
|
3447
|
+
"model",
|
|
3448
|
+
"amount",
|
|
3449
|
+
"period",
|
|
3450
|
+
"currency"
|
|
3451
|
+
],
|
|
3452
|
+
"additionalProperties": true
|
|
3453
|
+
},
|
|
3454
|
+
{
|
|
3455
|
+
"title": "PerUnitPricing",
|
|
3456
|
+
"description": "Fixed price per unit of work. Used for creative transformation (per format), AI generation (per image, per token), and rendering (per variant). The unit field describes what is counted; unit_price is the cost per one unit.",
|
|
3457
|
+
"type": "object",
|
|
3458
|
+
"properties": {
|
|
3459
|
+
"model": {
|
|
3460
|
+
"type": "string",
|
|
3461
|
+
"const": "per_unit"
|
|
3462
|
+
},
|
|
3463
|
+
"unit": {
|
|
3464
|
+
"type": "string",
|
|
3465
|
+
"description": "What is counted — e.g. 'format', 'image', 'token', 'variant', 'render', 'evaluation'."
|
|
3466
|
+
},
|
|
3467
|
+
"unit_price": {
|
|
3468
|
+
"type": "number",
|
|
3469
|
+
"description": "Cost per one unit",
|
|
3470
|
+
"minimum": 0
|
|
3471
|
+
},
|
|
3472
|
+
"currency": {
|
|
3473
|
+
"type": "string",
|
|
3474
|
+
"description": "ISO 4217 currency code",
|
|
3475
|
+
"pattern": "^[A-Z]{3}$"
|
|
3476
|
+
},
|
|
3477
|
+
"ext": {
|
|
3478
|
+
"title": "Extension Object",
|
|
3479
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3480
|
+
"type": "object",
|
|
3481
|
+
"additionalProperties": true
|
|
3482
|
+
}
|
|
3483
|
+
},
|
|
3484
|
+
"required": [
|
|
3485
|
+
"model",
|
|
3486
|
+
"unit",
|
|
3487
|
+
"unit_price",
|
|
3488
|
+
"currency"
|
|
3489
|
+
],
|
|
3490
|
+
"additionalProperties": true
|
|
3491
|
+
},
|
|
3492
|
+
{
|
|
3493
|
+
"title": "CustomPricing",
|
|
3494
|
+
"description": "Escape hatch for pricing constructs that do not fit cpm, percent_of_media, flat_fee, or per_unit. Use when a vendor prices via performance kickers, tiered volume, hybrid formulas, outcome-sharing, or any other model the standard forms cannot express. Requires a human-readable description and a structured metadata object that captures the parameters a buyer needs to reason about the charge. Buyers SHOULD route custom pricing through operator review before commitment — automatic selection is not recommended.",
|
|
3495
|
+
"type": "object",
|
|
3496
|
+
"properties": {
|
|
3497
|
+
"model": {
|
|
3498
|
+
"type": "string",
|
|
3499
|
+
"const": "custom"
|
|
3500
|
+
},
|
|
3501
|
+
"description": {
|
|
3502
|
+
"type": "string",
|
|
3503
|
+
"description": "Human-readable description of the custom pricing model. Buyers display this to the operator when requesting approval.",
|
|
3504
|
+
"minLength": 1
|
|
3505
|
+
},
|
|
3506
|
+
"metadata": {
|
|
3507
|
+
"type": "object",
|
|
3508
|
+
"description": "Structured parameters for the custom model. Keys follow lowercase_snake_case. Values may be primitives, arrays, or nested objects. Must be sufficient for a human to understand the pricing basis and for a downstream system to reconstruct the charge. Vendors SHOULD include a `summary_for_operator` string (one or two sentences, suitable for display in a buyer's operator-review UI) so reviewers across vendors see a consistent prompt. Required operator-review fields (approver role, dollar threshold for automatic approval, escalation contact) MAY be surfaced via additional keys the buyer's review surface recognizes.",
|
|
3509
|
+
"additionalProperties": true,
|
|
3510
|
+
"minProperties": 1,
|
|
3511
|
+
"properties": {
|
|
3512
|
+
"summary_for_operator": {
|
|
3513
|
+
"type": "string",
|
|
3514
|
+
"description": "One or two sentences describing the pricing construct in plain language, displayed to the buyer's operator when requesting approval. Should not repeat the top-level `description` verbatim — summarize the charge mechanic instead (e.g., 'Base $12 CPM plus $0.50 per qualifying post-view conversion, capped at $45 CPM').",
|
|
3515
|
+
"minLength": 1
|
|
3516
|
+
}
|
|
3517
|
+
}
|
|
3518
|
+
},
|
|
3519
|
+
"currency": {
|
|
3520
|
+
"type": "string",
|
|
3521
|
+
"description": "ISO 4217 currency code. Present when the pricing resolves to a monetary charge in a specific currency.",
|
|
3522
|
+
"pattern": "^[A-Z]{3}$"
|
|
3523
|
+
},
|
|
3524
|
+
"ext": {
|
|
3525
|
+
"title": "Extension Object",
|
|
3526
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3527
|
+
"type": "object",
|
|
3528
|
+
"additionalProperties": true
|
|
3529
|
+
}
|
|
3530
|
+
},
|
|
3531
|
+
"required": [
|
|
3532
|
+
"model",
|
|
3533
|
+
"description",
|
|
3534
|
+
"metadata"
|
|
3535
|
+
],
|
|
3536
|
+
"additionalProperties": true
|
|
3537
|
+
}
|
|
3538
|
+
]
|
|
3539
|
+
}
|
|
3540
|
+
]
|
|
3541
|
+
},
|
|
3542
|
+
"minItems": 1
|
|
3543
|
+
}
|
|
3544
|
+
},
|
|
3545
|
+
"required": [
|
|
3546
|
+
"format_id",
|
|
3547
|
+
"name"
|
|
3548
|
+
],
|
|
3549
|
+
"additionalProperties": true
|
|
3550
|
+
}
|
|
3551
|
+
},
|
|
3552
|
+
"creative_agents": {
|
|
3553
|
+
"type": "array",
|
|
3554
|
+
"description": "Optional: Creative agents that provide additional formats. Buyers can recursively query these agents to discover more formats. No authentication required for list_creative_formats.",
|
|
3555
|
+
"items": {
|
|
3556
|
+
"type": "object",
|
|
3557
|
+
"properties": {
|
|
3558
|
+
"agent_url": {
|
|
3559
|
+
"type": "string",
|
|
3560
|
+
"format": "uri",
|
|
3561
|
+
"description": "Base URL for the creative agent (e.g., 'https://reference.adcp.org', 'https://dco.example.com'). Call list_creative_formats on this URL to get its formats."
|
|
3562
|
+
},
|
|
3563
|
+
"agent_name": {
|
|
3564
|
+
"type": "string",
|
|
3565
|
+
"description": "Human-readable name for the creative agent"
|
|
3566
|
+
},
|
|
3567
|
+
"capabilities": {
|
|
3568
|
+
"type": "array",
|
|
3569
|
+
"description": "Capabilities this creative agent provides",
|
|
3570
|
+
"items": {
|
|
3571
|
+
"title": "Creative Agent Capability",
|
|
3572
|
+
"description": "Capabilities supported by creative agents for format handling",
|
|
3573
|
+
"type": "string",
|
|
3574
|
+
"enum": [
|
|
3575
|
+
"validation",
|
|
3576
|
+
"assembly",
|
|
3577
|
+
"generation",
|
|
3578
|
+
"preview",
|
|
3579
|
+
"delivery"
|
|
3580
|
+
]
|
|
3581
|
+
}
|
|
3582
|
+
}
|
|
3583
|
+
},
|
|
3584
|
+
"required": [
|
|
3585
|
+
"agent_url"
|
|
3586
|
+
]
|
|
3587
|
+
}
|
|
3588
|
+
},
|
|
3589
|
+
"errors": {
|
|
3590
|
+
"type": "array",
|
|
3591
|
+
"description": "Task-specific errors and warnings (e.g., format availability issues)",
|
|
3592
|
+
"items": {
|
|
3593
|
+
"title": "Error",
|
|
3594
|
+
"description": "Standard error structure for task-specific errors and warnings",
|
|
3595
|
+
"type": "object",
|
|
3596
|
+
"properties": {
|
|
3597
|
+
"code": {
|
|
3598
|
+
"type": "string",
|
|
3599
|
+
"minLength": 1,
|
|
3600
|
+
"maxLength": 64,
|
|
3601
|
+
"description": "Error code for programmatic handling. Standard codes are defined in error-code.json and enable autonomous agent recovery. Sellers MAY use codes not in the standard vocabulary for platform-specific errors; agents MUST handle unknown codes gracefully by falling back to the recovery classification."
|
|
3602
|
+
},
|
|
3603
|
+
"message": {
|
|
3604
|
+
"type": "string",
|
|
3605
|
+
"description": "Human-readable error message"
|
|
3606
|
+
},
|
|
3607
|
+
"field": {
|
|
3608
|
+
"type": "string",
|
|
3609
|
+
"description": "Field path associated with the error (e.g., 'packages[0].targeting')"
|
|
3610
|
+
},
|
|
3611
|
+
"suggestion": {
|
|
3612
|
+
"type": "string",
|
|
3613
|
+
"description": "Suggested fix for the error"
|
|
3614
|
+
},
|
|
3615
|
+
"retry_after": {
|
|
3616
|
+
"type": "number",
|
|
3617
|
+
"description": "Seconds to wait before retrying the operation. Sellers MUST return values between 1 and 3600. Clients MUST clamp values outside this range.",
|
|
3618
|
+
"minimum": 1,
|
|
3619
|
+
"maximum": 3600
|
|
3620
|
+
},
|
|
3621
|
+
"details": {
|
|
3622
|
+
"type": "object",
|
|
3623
|
+
"description": "Additional task-specific error details",
|
|
3624
|
+
"additionalProperties": true
|
|
3625
|
+
},
|
|
3626
|
+
"recovery": {
|
|
3627
|
+
"type": "string",
|
|
3628
|
+
"enum": [
|
|
3629
|
+
"transient",
|
|
3630
|
+
"correctable",
|
|
3631
|
+
"terminal"
|
|
3632
|
+
],
|
|
3633
|
+
"description": "Agent recovery classification. transient: retry after delay (rate limit, service unavailable, timeout). correctable: fix the request and resend (invalid field, budget too low, creative rejected). terminal: requires human action (account suspended, payment required, account not found)."
|
|
3634
|
+
}
|
|
3635
|
+
},
|
|
3636
|
+
"required": [
|
|
3637
|
+
"code",
|
|
3638
|
+
"message"
|
|
3639
|
+
],
|
|
3640
|
+
"additionalProperties": true
|
|
3641
|
+
}
|
|
3642
|
+
},
|
|
3643
|
+
"pagination": {
|
|
3644
|
+
"title": "Pagination Response",
|
|
3645
|
+
"description": "Standard cursor-based pagination metadata for list responses",
|
|
3646
|
+
"type": "object",
|
|
3647
|
+
"properties": {
|
|
3648
|
+
"has_more": {
|
|
3649
|
+
"type": "boolean",
|
|
3650
|
+
"description": "Whether more results are available beyond this page"
|
|
3651
|
+
},
|
|
3652
|
+
"cursor": {
|
|
3653
|
+
"type": "string",
|
|
3654
|
+
"description": "Opaque cursor to pass in the next request to fetch the next page. Only present when has_more is true."
|
|
3655
|
+
},
|
|
3656
|
+
"total_count": {
|
|
3657
|
+
"type": "integer",
|
|
3658
|
+
"minimum": 0,
|
|
3659
|
+
"description": "Total number of items matching the query across all pages. Optional because not all backends can efficiently compute this."
|
|
3660
|
+
}
|
|
3661
|
+
},
|
|
3662
|
+
"required": [
|
|
3663
|
+
"has_more"
|
|
3664
|
+
],
|
|
3665
|
+
"additionalProperties": false
|
|
3666
|
+
},
|
|
3667
|
+
"sandbox": {
|
|
3668
|
+
"type": "boolean",
|
|
3669
|
+
"description": "When true, this response contains simulated data from sandbox mode."
|
|
3670
|
+
},
|
|
3671
|
+
"context": {
|
|
3672
|
+
"title": "Context Object",
|
|
3673
|
+
"description": "Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.",
|
|
3674
|
+
"type": "object",
|
|
3675
|
+
"additionalProperties": true
|
|
3676
|
+
},
|
|
3677
|
+
"ext": {
|
|
3678
|
+
"title": "Extension Object",
|
|
3679
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3680
|
+
"type": "object",
|
|
3681
|
+
"additionalProperties": true
|
|
3682
|
+
}
|
|
3683
|
+
},
|
|
3684
|
+
"required": [
|
|
3685
|
+
"formats"
|
|
3686
|
+
],
|
|
3687
|
+
"additionalProperties": true,
|
|
3688
|
+
"$defs": {
|
|
3689
|
+
"baseIndividualAsset": {
|
|
3690
|
+
"type": "object",
|
|
3691
|
+
"properties": {
|
|
3692
|
+
"item_type": {
|
|
3693
|
+
"type": "string",
|
|
3694
|
+
"const": "individual",
|
|
3695
|
+
"description": "Discriminator indicating this is an individual asset"
|
|
3696
|
+
},
|
|
3697
|
+
"asset_id": {
|
|
3698
|
+
"type": "string",
|
|
3699
|
+
"description": "Unique identifier for this asset. Creative manifests MUST use this exact value as the key in the assets object."
|
|
3700
|
+
},
|
|
3701
|
+
"asset_role": {
|
|
3702
|
+
"type": "string",
|
|
3703
|
+
"description": "Descriptive label for this asset's purpose (e.g., 'hero_image', 'logo', 'third_party_tracking'). For documentation and UI display only — manifests key assets by asset_id, not asset_role."
|
|
3704
|
+
},
|
|
3705
|
+
"required": {
|
|
3706
|
+
"type": "boolean",
|
|
3707
|
+
"description": "Whether this asset is required (true) or optional (false). Required assets must be provided for a valid creative. Optional assets enhance the creative but are not mandatory."
|
|
3708
|
+
},
|
|
3709
|
+
"overlays": {
|
|
3710
|
+
"type": "array",
|
|
3711
|
+
"description": "Publisher-controlled elements rendered on top of buyer content at this asset's position (e.g., video player controls, publisher logos). Creative agents should avoid placing critical content (CTAs, logos, key copy) within overlay bounds.",
|
|
3712
|
+
"items": {
|
|
3713
|
+
"title": "Overlay",
|
|
3714
|
+
"description": "A publisher-controlled element that renders on top of buyer creative content within the ad placement. Creative agents should avoid placing critical content (CTAs, logos, key copy) within overlay bounds.",
|
|
3715
|
+
"type": "object",
|
|
3716
|
+
"properties": {
|
|
3717
|
+
"id": {
|
|
3718
|
+
"type": "string",
|
|
3719
|
+
"description": "Identifier for this overlay (e.g., 'play_pause', 'volume', 'publisher_logo', 'carousel_prev', 'carousel_next')"
|
|
3720
|
+
},
|
|
3721
|
+
"description": {
|
|
3722
|
+
"type": "string",
|
|
3723
|
+
"description": "Human-readable explanation of what this overlay is and how buyers should account for it"
|
|
3724
|
+
},
|
|
3725
|
+
"visual": {
|
|
3726
|
+
"type": "object",
|
|
3727
|
+
"description": "Optional visual reference for this overlay element. Useful for creative agents compositing previews and for buyers understanding what will appear over their content. Must include at least one of: url, light, or dark.",
|
|
3728
|
+
"properties": {
|
|
3729
|
+
"url": {
|
|
3730
|
+
"type": "string",
|
|
3731
|
+
"format": "uri",
|
|
3732
|
+
"description": "URL to a theme-neutral overlay graphic (SVG or PNG). Use when a single file works for all backgrounds, e.g. an SVG using CSS custom properties or currentColor."
|
|
3733
|
+
},
|
|
3734
|
+
"light": {
|
|
3735
|
+
"type": "string",
|
|
3736
|
+
"format": "uri",
|
|
3737
|
+
"description": "URL to the overlay graphic for use on light/bright backgrounds (SVG or PNG)"
|
|
3738
|
+
},
|
|
3739
|
+
"dark": {
|
|
3740
|
+
"type": "string",
|
|
3741
|
+
"format": "uri",
|
|
3742
|
+
"description": "URL to the overlay graphic for use on dark backgrounds (SVG or PNG)"
|
|
3743
|
+
}
|
|
3744
|
+
},
|
|
3745
|
+
"minProperties": 1,
|
|
3746
|
+
"additionalProperties": false
|
|
3747
|
+
},
|
|
3748
|
+
"bounds": {
|
|
3749
|
+
"type": "object",
|
|
3750
|
+
"description": "Position and size of the overlay relative to the asset's own top-left corner. See 'unit' for coordinate interpretation.",
|
|
3751
|
+
"properties": {
|
|
3752
|
+
"x": {
|
|
3753
|
+
"type": "number",
|
|
3754
|
+
"description": "Horizontal offset from the asset's left edge"
|
|
3755
|
+
},
|
|
3756
|
+
"y": {
|
|
3757
|
+
"type": "number",
|
|
3758
|
+
"description": "Vertical offset from the asset's top edge"
|
|
3759
|
+
},
|
|
3760
|
+
"width": {
|
|
3761
|
+
"type": "number",
|
|
3762
|
+
"minimum": 0,
|
|
3763
|
+
"description": "Width of the overlay"
|
|
3764
|
+
},
|
|
3765
|
+
"height": {
|
|
3766
|
+
"type": "number",
|
|
3767
|
+
"minimum": 0,
|
|
3768
|
+
"description": "Height of the overlay"
|
|
3769
|
+
},
|
|
3770
|
+
"unit": {
|
|
3771
|
+
"type": "string",
|
|
3772
|
+
"enum": [
|
|
3773
|
+
"px",
|
|
3774
|
+
"fraction",
|
|
3775
|
+
"inches",
|
|
3776
|
+
"cm",
|
|
3777
|
+
"mm",
|
|
3778
|
+
"pt"
|
|
3779
|
+
],
|
|
3780
|
+
"description": "'px' = absolute pixels from asset top-left. 'fraction' = proportional to asset dimensions (0.0 = edge, 1.0 = opposite edge). 'inches', 'cm', 'mm', 'pt' (1/72 inch) = physical units for print overlays, measured from asset top-left."
|
|
3781
|
+
}
|
|
3782
|
+
},
|
|
3783
|
+
"required": [
|
|
3784
|
+
"x",
|
|
3785
|
+
"y",
|
|
3786
|
+
"width",
|
|
3787
|
+
"height",
|
|
3788
|
+
"unit"
|
|
3789
|
+
],
|
|
3790
|
+
"additionalProperties": false
|
|
3791
|
+
}
|
|
3792
|
+
},
|
|
3793
|
+
"required": [
|
|
3794
|
+
"id",
|
|
3795
|
+
"bounds"
|
|
3796
|
+
],
|
|
3797
|
+
"additionalProperties": false
|
|
3798
|
+
}
|
|
3799
|
+
}
|
|
3800
|
+
},
|
|
3801
|
+
"required": [
|
|
3802
|
+
"item_type",
|
|
3803
|
+
"asset_id",
|
|
3804
|
+
"asset_type",
|
|
3805
|
+
"required"
|
|
3806
|
+
]
|
|
3807
|
+
},
|
|
3808
|
+
"baseGroupAsset": {
|
|
3809
|
+
"type": "object",
|
|
3810
|
+
"properties": {
|
|
3811
|
+
"asset_id": {
|
|
3812
|
+
"type": "string",
|
|
3813
|
+
"description": "Identifier for this asset within the group"
|
|
3814
|
+
},
|
|
3815
|
+
"asset_role": {
|
|
3816
|
+
"type": "string",
|
|
3817
|
+
"description": "Descriptive label for this asset's purpose. For documentation and UI display only — manifests key assets by asset_id, not asset_role."
|
|
3818
|
+
},
|
|
3819
|
+
"required": {
|
|
3820
|
+
"type": "boolean",
|
|
3821
|
+
"description": "Whether this asset is required within each repetition of the group",
|
|
3822
|
+
"default": false
|
|
3823
|
+
},
|
|
3824
|
+
"overlays": {
|
|
3825
|
+
"type": "array",
|
|
3826
|
+
"description": "Publisher-controlled elements rendered on top of buyer content at this asset's position (e.g., carousel navigation arrows, slide indicators). Creative agents should avoid placing critical content within overlay bounds.",
|
|
3827
|
+
"items": {
|
|
3828
|
+
"title": "Overlay",
|
|
3829
|
+
"description": "A publisher-controlled element that renders on top of buyer creative content within the ad placement. Creative agents should avoid placing critical content (CTAs, logos, key copy) within overlay bounds.",
|
|
3830
|
+
"type": "object",
|
|
3831
|
+
"properties": {
|
|
3832
|
+
"id": {
|
|
3833
|
+
"type": "string",
|
|
3834
|
+
"description": "Identifier for this overlay (e.g., 'play_pause', 'volume', 'publisher_logo', 'carousel_prev', 'carousel_next')"
|
|
3835
|
+
},
|
|
3836
|
+
"description": {
|
|
3837
|
+
"type": "string",
|
|
3838
|
+
"description": "Human-readable explanation of what this overlay is and how buyers should account for it"
|
|
3839
|
+
},
|
|
3840
|
+
"visual": {
|
|
3841
|
+
"type": "object",
|
|
3842
|
+
"description": "Optional visual reference for this overlay element. Useful for creative agents compositing previews and for buyers understanding what will appear over their content. Must include at least one of: url, light, or dark.",
|
|
3843
|
+
"properties": {
|
|
3844
|
+
"url": {
|
|
3845
|
+
"type": "string",
|
|
3846
|
+
"format": "uri",
|
|
3847
|
+
"description": "URL to a theme-neutral overlay graphic (SVG or PNG). Use when a single file works for all backgrounds, e.g. an SVG using CSS custom properties or currentColor."
|
|
3848
|
+
},
|
|
3849
|
+
"light": {
|
|
3850
|
+
"type": "string",
|
|
3851
|
+
"format": "uri",
|
|
3852
|
+
"description": "URL to the overlay graphic for use on light/bright backgrounds (SVG or PNG)"
|
|
3853
|
+
},
|
|
3854
|
+
"dark": {
|
|
3855
|
+
"type": "string",
|
|
3856
|
+
"format": "uri",
|
|
3857
|
+
"description": "URL to the overlay graphic for use on dark backgrounds (SVG or PNG)"
|
|
3858
|
+
}
|
|
3859
|
+
},
|
|
3860
|
+
"minProperties": 1,
|
|
3861
|
+
"additionalProperties": false
|
|
3862
|
+
},
|
|
3863
|
+
"bounds": {
|
|
3864
|
+
"type": "object",
|
|
3865
|
+
"description": "Position and size of the overlay relative to the asset's own top-left corner. See 'unit' for coordinate interpretation.",
|
|
3866
|
+
"properties": {
|
|
3867
|
+
"x": {
|
|
3868
|
+
"type": "number",
|
|
3869
|
+
"description": "Horizontal offset from the asset's left edge"
|
|
3870
|
+
},
|
|
3871
|
+
"y": {
|
|
3872
|
+
"type": "number",
|
|
3873
|
+
"description": "Vertical offset from the asset's top edge"
|
|
3874
|
+
},
|
|
3875
|
+
"width": {
|
|
3876
|
+
"type": "number",
|
|
3877
|
+
"minimum": 0,
|
|
3878
|
+
"description": "Width of the overlay"
|
|
3879
|
+
},
|
|
3880
|
+
"height": {
|
|
3881
|
+
"type": "number",
|
|
3882
|
+
"minimum": 0,
|
|
3883
|
+
"description": "Height of the overlay"
|
|
3884
|
+
},
|
|
3885
|
+
"unit": {
|
|
3886
|
+
"type": "string",
|
|
3887
|
+
"enum": [
|
|
3888
|
+
"px",
|
|
3889
|
+
"fraction",
|
|
3890
|
+
"inches",
|
|
3891
|
+
"cm",
|
|
3892
|
+
"mm",
|
|
3893
|
+
"pt"
|
|
3894
|
+
],
|
|
3895
|
+
"description": "'px' = absolute pixels from asset top-left. 'fraction' = proportional to asset dimensions (0.0 = edge, 1.0 = opposite edge). 'inches', 'cm', 'mm', 'pt' (1/72 inch) = physical units for print overlays, measured from asset top-left."
|
|
3896
|
+
}
|
|
3897
|
+
},
|
|
3898
|
+
"required": [
|
|
3899
|
+
"x",
|
|
3900
|
+
"y",
|
|
3901
|
+
"width",
|
|
3902
|
+
"height",
|
|
3903
|
+
"unit"
|
|
3904
|
+
],
|
|
3905
|
+
"additionalProperties": false
|
|
3906
|
+
}
|
|
3907
|
+
},
|
|
3908
|
+
"required": [
|
|
3909
|
+
"id",
|
|
3910
|
+
"bounds"
|
|
3911
|
+
],
|
|
3912
|
+
"additionalProperties": false
|
|
3913
|
+
}
|
|
3914
|
+
}
|
|
3915
|
+
},
|
|
3916
|
+
"required": [
|
|
3917
|
+
"asset_id",
|
|
3918
|
+
"asset_type",
|
|
3919
|
+
"required"
|
|
3920
|
+
]
|
|
3921
|
+
},
|
|
3922
|
+
"DimensionUnit": {
|
|
3923
|
+
"title": "Dimension Unit",
|
|
3924
|
+
"description": "Unit of measurement for width/height values. Defaults to 'px' when absent. Print formats use 'inches' or 'cm'.",
|
|
3925
|
+
"type": "string",
|
|
3926
|
+
"enum": [
|
|
3927
|
+
"px",
|
|
3928
|
+
"dp",
|
|
3929
|
+
"inches",
|
|
3930
|
+
"cm",
|
|
3931
|
+
"mm",
|
|
3932
|
+
"pt"
|
|
3933
|
+
]
|
|
3934
|
+
},
|
|
3935
|
+
"FrameRateType": {
|
|
3936
|
+
"title": "Frame Rate Type",
|
|
3937
|
+
"description": "Required frame rate type. Broadcast and SSAI require constant frame rate for seamless splicing.",
|
|
3938
|
+
"type": "string",
|
|
3939
|
+
"enum": [
|
|
3940
|
+
"constant",
|
|
3941
|
+
"variable"
|
|
3942
|
+
],
|
|
3943
|
+
"enumDescriptions": {
|
|
3944
|
+
"constant": "Constant frame rate (CFR) — each frame occupies an identical time interval",
|
|
3945
|
+
"variable": "Variable frame rate (VFR) — frame intervals may differ"
|
|
3946
|
+
}
|
|
3947
|
+
},
|
|
3948
|
+
"ScanType": {
|
|
3949
|
+
"title": "Scan Type",
|
|
3950
|
+
"description": "Required scan type. Modern delivery requires progressive scan.",
|
|
3951
|
+
"type": "string",
|
|
3952
|
+
"enum": [
|
|
3953
|
+
"progressive",
|
|
3954
|
+
"interlaced"
|
|
3955
|
+
],
|
|
3956
|
+
"enumDescriptions": {
|
|
3957
|
+
"progressive": "All lines of each frame are drawn in sequence",
|
|
3958
|
+
"interlaced": "Alternating lines drawn in two passes per frame (legacy broadcast)"
|
|
3959
|
+
}
|
|
3960
|
+
},
|
|
3961
|
+
"GOPType": {
|
|
3962
|
+
"title": "GOP Type",
|
|
3963
|
+
"description": "Required GOP structure. SSAI and broadcast require closed GOPs for clean splice points.",
|
|
3964
|
+
"type": "string",
|
|
3965
|
+
"enum": [
|
|
3966
|
+
"closed",
|
|
3967
|
+
"open"
|
|
3968
|
+
],
|
|
3969
|
+
"enumDescriptions": {
|
|
3970
|
+
"closed": "Each GOP is independently decodable — required for SSAI and broadcast splicing",
|
|
3971
|
+
"open": "GOPs may reference frames from adjacent GOPs — not suitable for splicing"
|
|
3972
|
+
}
|
|
3973
|
+
},
|
|
3974
|
+
"MoovAtomPosition": {
|
|
3975
|
+
"title": "Moov Atom Position",
|
|
3976
|
+
"description": "Required moov atom position in MP4 container. 'start' enables progressive download without buffering the entire file.",
|
|
3977
|
+
"type": "string",
|
|
3978
|
+
"enum": [
|
|
3979
|
+
"start",
|
|
3980
|
+
"end"
|
|
3981
|
+
],
|
|
3982
|
+
"enumDescriptions": {
|
|
3983
|
+
"start": "moov atom at beginning of file — enables progressive download and streaming delivery",
|
|
3984
|
+
"end": "moov atom at end of file — requires full download before playback can begin"
|
|
3985
|
+
}
|
|
3986
|
+
},
|
|
3987
|
+
"AudioChannelLayout": {
|
|
3988
|
+
"title": "Audio Channel Layout",
|
|
3989
|
+
"description": "Audio channel configuration for audio and video assets",
|
|
3990
|
+
"type": "string",
|
|
3991
|
+
"enum": [
|
|
3992
|
+
"mono",
|
|
3993
|
+
"stereo",
|
|
3994
|
+
"5.1",
|
|
3995
|
+
"7.1"
|
|
3996
|
+
]
|
|
3997
|
+
},
|
|
3998
|
+
"DisclosurePosition": {
|
|
3999
|
+
"title": "Disclosure Position",
|
|
4000
|
+
"description": "Where a required disclosure should appear within a creative. Used by creative briefs to specify disclosure placement and by formats to declare which positions they can render.",
|
|
4001
|
+
"type": "string",
|
|
4002
|
+
"enum": [
|
|
4003
|
+
"prominent",
|
|
4004
|
+
"footer",
|
|
4005
|
+
"audio",
|
|
4006
|
+
"subtitle",
|
|
4007
|
+
"overlay",
|
|
4008
|
+
"end_card",
|
|
4009
|
+
"pre_roll",
|
|
4010
|
+
"companion"
|
|
4011
|
+
]
|
|
4012
|
+
}
|
|
4013
|
+
},
|
|
4014
|
+
"definitions": {
|
|
4015
|
+
"ScalarBinding": {
|
|
4016
|
+
"type": "object",
|
|
4017
|
+
"description": "Maps an individual format asset to a catalog item field via dot-notation path.",
|
|
4018
|
+
"properties": {
|
|
4019
|
+
"kind": {
|
|
4020
|
+
"type": "string",
|
|
4021
|
+
"const": "scalar"
|
|
4022
|
+
},
|
|
4023
|
+
"asset_id": {
|
|
4024
|
+
"type": "string",
|
|
4025
|
+
"description": "The asset_id from the format's assets array. Identifies which individual template slot this binding applies to."
|
|
4026
|
+
},
|
|
4027
|
+
"catalog_field": {
|
|
4028
|
+
"type": "string",
|
|
4029
|
+
"description": "Dot-notation path to the field on the catalog item (e.g., 'name', 'price.amount', 'location.city')."
|
|
4030
|
+
},
|
|
4031
|
+
"ext": {
|
|
4032
|
+
"title": "Extension Object",
|
|
4033
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
4034
|
+
"type": "object",
|
|
4035
|
+
"additionalProperties": true
|
|
4036
|
+
}
|
|
4037
|
+
},
|
|
4038
|
+
"required": [
|
|
4039
|
+
"kind",
|
|
4040
|
+
"asset_id",
|
|
4041
|
+
"catalog_field"
|
|
4042
|
+
],
|
|
4043
|
+
"additionalProperties": true
|
|
4044
|
+
},
|
|
4045
|
+
"AssetPoolBinding": {
|
|
4046
|
+
"type": "object",
|
|
4047
|
+
"description": "Maps an individual format asset to a typed asset pool on the catalog item (e.g., images_landscape, images_vertical, logo). The format slot receives the first item in the pool.",
|
|
4048
|
+
"properties": {
|
|
4049
|
+
"kind": {
|
|
4050
|
+
"type": "string",
|
|
4051
|
+
"const": "asset_pool"
|
|
4052
|
+
},
|
|
4053
|
+
"asset_id": {
|
|
4054
|
+
"type": "string",
|
|
4055
|
+
"description": "The asset_id from the format's assets array. Identifies which individual template slot this binding applies to."
|
|
4056
|
+
},
|
|
4057
|
+
"asset_group_id": {
|
|
4058
|
+
"type": "string",
|
|
4059
|
+
"description": "The asset_group_id on the catalog item's assets array to pull from (e.g., 'images_landscape', 'images_vertical', 'logo')."
|
|
4060
|
+
},
|
|
4061
|
+
"ext": {
|
|
4062
|
+
"title": "Extension Object",
|
|
4063
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
4064
|
+
"type": "object",
|
|
4065
|
+
"additionalProperties": true
|
|
4066
|
+
}
|
|
4067
|
+
},
|
|
4068
|
+
"required": [
|
|
4069
|
+
"kind",
|
|
4070
|
+
"asset_id",
|
|
4071
|
+
"asset_group_id"
|
|
4072
|
+
],
|
|
4073
|
+
"additionalProperties": true
|
|
4074
|
+
}
|
|
4075
|
+
},
|
|
4076
|
+
"_bundled": {
|
|
4077
|
+
"generatedAt": "2026-04-28T12:32:23.000Z",
|
|
4078
|
+
"note": "This is a bundled schema with all $ref resolved inline. For the modular version with references, use the parent directory."
|
|
4079
|
+
}
|
|
4080
|
+
}
|