@adcp/sdk 6.9.0 → 6.11.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/bin/adcp.js +285 -5
- package/compliance/cache/3.0.6.previous/domains/brand/index.yaml +163 -0
- package/compliance/cache/3.0.6.previous/domains/creative/index.yaml +412 -0
- package/compliance/cache/3.0.6.previous/domains/governance/index.yaml +683 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/index.yaml +769 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/create_media_buy_async.yaml +232 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/delivery_reporting.yaml +205 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/governance_approved.yaml +211 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/governance_conditions.yaml +196 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/governance_denied.yaml +192 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/invalid_transitions.yaml +284 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/inventory_list_targeting.yaml +271 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/proposal_finalize.yaml +243 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.6.previous/domains/media-buy/state-machine.yaml +442 -0
- package/compliance/cache/3.0.6.previous/domains/signals/index.yaml +266 -0
- package/compliance/cache/3.0.6.previous/domains/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.6.previous/index.json +324 -0
- package/compliance/cache/3.0.6.previous/protocols/brand/index.yaml +163 -0
- package/compliance/cache/3.0.6.previous/protocols/creative/index.yaml +412 -0
- package/compliance/cache/3.0.6.previous/protocols/governance/index.yaml +683 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/index.yaml +769 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/create_media_buy_async.yaml +232 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/delivery_reporting.yaml +205 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/governance_approved.yaml +211 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/governance_conditions.yaml +196 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/governance_denied.yaml +192 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/invalid_transitions.yaml +284 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/inventory_list_targeting.yaml +271 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/proposal_finalize.yaml +243 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.6.previous/protocols/media-buy/state-machine.yaml +442 -0
- package/compliance/cache/3.0.6.previous/protocols/signals/index.yaml +266 -0
- package/compliance/cache/3.0.6.previous/protocols/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.6.previous/specialisms/audience-sync/index.yaml +280 -0
- package/compliance/cache/3.0.6.previous/specialisms/brand-rights/index.yaml +350 -0
- package/compliance/cache/3.0.6.previous/specialisms/brand-rights/scenarios/governance_denied.yaml +204 -0
- package/compliance/cache/3.0.6.previous/specialisms/collection-lists/index.yaml +359 -0
- package/compliance/cache/3.0.6.previous/specialisms/content-standards/index.yaml +572 -0
- package/compliance/cache/3.0.6.previous/specialisms/creative-ad-server/index.yaml +383 -0
- package/compliance/cache/3.0.6.previous/specialisms/creative-generative/generative-seller.yaml +758 -0
- package/compliance/cache/3.0.6.previous/specialisms/creative-generative/index.yaml +746 -0
- package/compliance/cache/3.0.6.previous/specialisms/creative-template/index.yaml +413 -0
- package/compliance/cache/3.0.6.previous/specialisms/governance-aware-seller/index.yaml +136 -0
- package/compliance/cache/3.0.6.previous/specialisms/governance-delivery-monitor/index.yaml +441 -0
- package/compliance/cache/3.0.6.previous/specialisms/governance-spend-authority/denied.yaml +221 -0
- package/compliance/cache/3.0.6.previous/specialisms/governance-spend-authority/index.yaml +330 -0
- package/compliance/cache/3.0.6.previous/specialisms/property-lists/index.yaml +482 -0
- package/compliance/cache/3.0.6.previous/specialisms/sales-broadcast-tv/index.yaml +689 -0
- package/compliance/cache/3.0.6.previous/specialisms/sales-catalog-driven/index.yaml +779 -0
- package/compliance/cache/3.0.6.previous/specialisms/sales-guaranteed/index.yaml +504 -0
- package/compliance/cache/3.0.6.previous/specialisms/sales-non-guaranteed/index.yaml +428 -0
- package/compliance/cache/3.0.6.previous/specialisms/sales-proposal-mode/index.yaml +520 -0
- package/compliance/cache/3.0.6.previous/specialisms/sales-social/index.yaml +584 -0
- package/compliance/cache/3.0.6.previous/specialisms/signal-marketplace/index.yaml +415 -0
- package/compliance/cache/3.0.6.previous/specialisms/signal-marketplace/scenarios/governance_denied.yaml +207 -0
- package/compliance/cache/3.0.6.previous/specialisms/signal-owned/index.yaml +316 -0
- package/compliance/cache/3.0.6.previous/test-kits/acme-outdoor.yaml +210 -0
- package/compliance/cache/3.0.6.previous/test-kits/bistro-oranje.yaml +126 -0
- package/compliance/cache/3.0.6.previous/test-kits/nova-motors.yaml +262 -0
- package/compliance/cache/3.0.6.previous/test-kits/osei-natural.yaml +126 -0
- package/compliance/cache/3.0.6.previous/test-kits/signed-requests-runner.yaml +155 -0
- package/compliance/cache/3.0.6.previous/test-kits/substitution-observer-runner.yaml +690 -0
- package/compliance/cache/3.0.6.previous/test-kits/summit-foods.yaml +125 -0
- package/compliance/cache/3.0.6.previous/test-kits/webhook-receiver-runner.yaml +265 -0
- package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/001-minimal-plan.json +43 -0
- package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/002-full-plan.json +217 -0
- package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
- package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
- package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
- package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
- package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
- package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
- package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
- package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
- package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/README.md +219 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/canonicalization.json +241 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/keys.json +60 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/001-basic-post.json +30 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/003-es256-post.json +30 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
- package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/README.md +211 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/keys.json +61 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
- package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
- package/compliance/cache/3.0.6.previous/universal/capability-discovery.yaml +125 -0
- package/compliance/cache/3.0.6.previous/universal/collection-lists-pagination-integrity.yaml +306 -0
- package/compliance/cache/3.0.6.previous/universal/content-standards-pagination-integrity.yaml +326 -0
- package/compliance/cache/3.0.6.previous/universal/deterministic-testing.yaml +1343 -0
- package/compliance/cache/3.0.6.previous/universal/error-compliance.yaml +474 -0
- package/compliance/cache/3.0.6.previous/universal/fictional-entities.yaml +307 -0
- package/compliance/cache/3.0.6.previous/universal/get-media-buys-pagination-integrity.yaml +160 -0
- package/compliance/cache/3.0.6.previous/universal/get-signals-pagination-integrity.yaml +211 -0
- package/compliance/cache/3.0.6.previous/universal/idempotency.yaml +593 -0
- package/compliance/cache/3.0.6.previous/universal/pagination-integrity-creative-formats.yaml +258 -0
- package/compliance/cache/3.0.6.previous/universal/pagination-integrity-list-accounts.yaml +262 -0
- package/compliance/cache/3.0.6.previous/universal/pagination-integrity.yaml +263 -0
- package/compliance/cache/3.0.6.previous/universal/property-lists-pagination-integrity.yaml +307 -0
- package/compliance/cache/3.0.6.previous/universal/runner-output-contract.yaml +358 -0
- package/compliance/cache/3.0.6.previous/universal/schema-validation.yaml +526 -0
- package/compliance/cache/3.0.6.previous/universal/security.yaml +431 -0
- package/compliance/cache/3.0.6.previous/universal/signed-requests.yaml +205 -0
- package/compliance/cache/3.0.6.previous/universal/storyboard-schema.yaml +1176 -0
- package/compliance/cache/3.0.6.previous/universal/v3-envelope-integrity.yaml +106 -0
- package/compliance/cache/3.0.6.previous/universal/webhook-emission.yaml +337 -0
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/create-adcp-server.d.ts +33 -0
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +127 -1
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/server/credential-policy.d.ts +221 -0
- package/dist/lib/server/credential-policy.d.ts.map +1 -0
- package/dist/lib/server/credential-policy.js +260 -0
- package/dist/lib/server/credential-policy.js.map +1 -0
- package/dist/lib/server/decisioning/async-outcome.d.ts +17 -0
- package/dist/lib/server/decisioning/async-outcome.d.ts.map +1 -1
- package/dist/lib/server/decisioning/async-outcome.js +23 -18
- package/dist/lib/server/decisioning/async-outcome.js.map +1 -1
- package/dist/lib/server/decisioning/context.d.ts +8 -2
- package/dist/lib/server/decisioning/context.d.ts.map +1 -1
- package/dist/lib/server/decisioning/index.d.ts +1 -0
- package/dist/lib/server/decisioning/index.d.ts.map +1 -1
- package/dist/lib/server/decisioning/index.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.js +6 -4
- package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/postgres-task-registry.d.ts.map +1 -1
- package/dist/lib/server/decisioning/runtime/postgres-task-registry.js +5 -2
- package/dist/lib/server/decisioning/runtime/postgres-task-registry.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/task-registry.d.ts +5 -0
- package/dist/lib/server/decisioning/runtime/task-registry.d.ts.map +1 -1
- package/dist/lib/server/decisioning/runtime/task-registry.js +4 -1
- package/dist/lib/server/decisioning/runtime/task-registry.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/to-context.d.ts.map +1 -1
- package/dist/lib/server/decisioning/runtime/to-context.js +10 -2
- package/dist/lib/server/decisioning/runtime/to-context.js.map +1 -1
- package/dist/lib/server/dynamic-registry.d.ts +219 -0
- package/dist/lib/server/dynamic-registry.d.ts.map +1 -0
- package/dist/lib/server/dynamic-registry.js +245 -0
- package/dist/lib/server/dynamic-registry.js.map +1 -0
- package/dist/lib/server/index.d.ts +8 -0
- package/dist/lib/server/index.d.ts.map +1 -1
- package/dist/lib/server/index.js +15 -4
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/server/operational-platform.d.ts +239 -0
- package/dist/lib/server/operational-platform.d.ts.map +1 -0
- package/dist/lib/server/operational-platform.js +94 -0
- package/dist/lib/server/operational-platform.js.map +1 -0
- package/dist/lib/server/test-controller.d.ts +2 -0
- package/dist/lib/server/test-controller.d.ts.map +1 -1
- package/dist/lib/server/test-controller.js +6 -11
- package/dist/lib/server/test-controller.js.map +1 -1
- package/dist/lib/server/wire-safe.d.ts +211 -0
- package/dist/lib/server/wire-safe.d.ts.map +1 -0
- package/dist/lib/server/wire-safe.js +231 -0
- package/dist/lib/server/wire-safe.js.map +1 -0
- package/dist/lib/server/wire-spec-fields.generated.d.ts +168 -0
- package/dist/lib/server/wire-spec-fields.generated.d.ts.map +1 -0
- package/dist/lib/server/wire-spec-fields.generated.js +172 -0
- package/dist/lib/server/wire-spec-fields.generated.js.map +1 -0
- package/dist/lib/testing/compliance/index.d.ts +2 -0
- package/dist/lib/testing/compliance/index.d.ts.map +1 -1
- package/dist/lib/testing/compliance/index.js +6 -1
- package/dist/lib/testing/compliance/index.js.map +1 -1
- package/dist/lib/testing/compliance/summary.d.ts +77 -0
- package/dist/lib/testing/compliance/summary.d.ts.map +1 -0
- package/dist/lib/testing/compliance/summary.js +176 -0
- package/dist/lib/testing/compliance/summary.js.map +1 -0
- package/dist/lib/testing/comply-controller.d.ts +2 -0
- package/dist/lib/testing/comply-controller.d.ts.map +1 -1
- package/dist/lib/testing/comply-controller.js.map +1 -1
- package/dist/lib/testing/storyboard/compliance.d.ts +26 -0
- package/dist/lib/testing/storyboard/compliance.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/compliance.js +51 -0
- package/dist/lib/testing/storyboard/compliance.js.map +1 -1
- package/dist/lib/testing/storyboard/index.d.ts +2 -2
- package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/index.js +4 -2
- package/dist/lib/testing/storyboard/index.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +58 -5
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +3 -3
- package/dist/lib/version.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
id: property_lists
|
|
2
|
+
version: "1.0.0"
|
|
3
|
+
title: "Property lists"
|
|
4
|
+
protocol: governance
|
|
5
|
+
category: property_lists
|
|
6
|
+
summary: "Curated property lists for inventory grouping, targeting governance, and delivery compliance — create, query, update, delete, and validate."
|
|
7
|
+
track: governance
|
|
8
|
+
required_tools:
|
|
9
|
+
- create_property_list
|
|
10
|
+
|
|
11
|
+
# Cross-step assertion (adcp#2664). status.monotonic rejects resource
|
|
12
|
+
# status transitions observed across steps that aren't on the spec
|
|
13
|
+
# lifecycle graph. Silent on property-list-only runs (no tracked
|
|
14
|
+
# lifecycle resource), but wired so phases that touch media_buy /
|
|
15
|
+
# account status (e.g. via a validation run against delivery) are
|
|
16
|
+
# automatically gated.
|
|
17
|
+
invariants:
|
|
18
|
+
- status.monotonic
|
|
19
|
+
|
|
20
|
+
narrative: |
|
|
21
|
+
You run a governance agent that manages property lists for brand safety. Buyers create
|
|
22
|
+
inclusion and exclusion lists that define where their ads can and cannot appear. Your
|
|
23
|
+
agent stores these lists, lets buyers query and update them, and validates that actual
|
|
24
|
+
ad delivery complied with the property constraints.
|
|
25
|
+
|
|
26
|
+
Property governance is how brands control their environment. An inclusion list says
|
|
27
|
+
"only show my ads on these properties." An exclusion list says "never show my ads here."
|
|
28
|
+
The validation step checks after the fact: did the seller actually respect the lists?
|
|
29
|
+
|
|
30
|
+
This storyboard covers the full property list lifecycle: creating lists, querying them,
|
|
31
|
+
updating and deleting, and validating that delivery matched the constraints.
|
|
32
|
+
|
|
33
|
+
agent:
|
|
34
|
+
interaction_model: governance_agent
|
|
35
|
+
capabilities:
|
|
36
|
+
- property_lists
|
|
37
|
+
- brand_safety
|
|
38
|
+
examples:
|
|
39
|
+
- "IAS"
|
|
40
|
+
- "DoubleVerify"
|
|
41
|
+
- "GARM-aligned platforms"
|
|
42
|
+
- "Brand safety services"
|
|
43
|
+
|
|
44
|
+
caller:
|
|
45
|
+
role: buyer_agent
|
|
46
|
+
example: "Pinnacle Agency (buyer)"
|
|
47
|
+
|
|
48
|
+
prerequisites:
|
|
49
|
+
description: |
|
|
50
|
+
The caller needs a brand identity and property domain knowledge. The test kit
|
|
51
|
+
provides a sample brand with campaign context.
|
|
52
|
+
test_kit: "test-kits/acme-outdoor.yaml"
|
|
53
|
+
|
|
54
|
+
phases:
|
|
55
|
+
- id: capability_discovery
|
|
56
|
+
title: "Capability discovery"
|
|
57
|
+
narrative: |
|
|
58
|
+
The buyer calls get_adcp_capabilities to confirm the agent supports governance before registering plans or checking compliance.
|
|
59
|
+
|
|
60
|
+
steps:
|
|
61
|
+
- id: get_capabilities
|
|
62
|
+
title: "Check agent capabilities"
|
|
63
|
+
narrative: |
|
|
64
|
+
Verify that the agent declares the expected protocol support before
|
|
65
|
+
proceeding with domain-specific operations.
|
|
66
|
+
task: get_adcp_capabilities
|
|
67
|
+
schema_ref: "protocol/get-adcp-capabilities-request.json"
|
|
68
|
+
response_schema_ref: "protocol/get-adcp-capabilities-response.json"
|
|
69
|
+
doc_ref: "/protocol/get_adcp_capabilities"
|
|
70
|
+
comply_scenario: capability_discovery
|
|
71
|
+
stateful: false
|
|
72
|
+
expected: |
|
|
73
|
+
Return capabilities declaring governance in supported_protocols, confirming the agent provides governance services.
|
|
74
|
+
sample_request:
|
|
75
|
+
context:
|
|
76
|
+
correlation_id: "property_lists--get_capabilities"
|
|
77
|
+
validations:
|
|
78
|
+
- check: response_schema
|
|
79
|
+
description: "Response matches get-adcp-capabilities-response.json schema"
|
|
80
|
+
- check: field_present
|
|
81
|
+
path: "supported_protocols"
|
|
82
|
+
description: "Agent declares supported protocols"
|
|
83
|
+
|
|
84
|
+
- check: field_present
|
|
85
|
+
path: "context"
|
|
86
|
+
description: "Response echoes back the context object"
|
|
87
|
+
- check: field_value
|
|
88
|
+
path: "context.correlation_id"
|
|
89
|
+
value: "property_lists--get_capabilities"
|
|
90
|
+
description: "Context correlation_id returned unchanged"
|
|
91
|
+
- id: create_list
|
|
92
|
+
title: "Create property lists"
|
|
93
|
+
narrative: |
|
|
94
|
+
The buyer creates inclusion and exclusion property lists for the campaign. These
|
|
95
|
+
define the safe and unsafe environments for the brand's ads.
|
|
96
|
+
|
|
97
|
+
steps:
|
|
98
|
+
- id: create_inclusion_list
|
|
99
|
+
title: "Create an inclusion list"
|
|
100
|
+
narrative: |
|
|
101
|
+
The buyer creates an inclusion list specifying which properties (domains,
|
|
102
|
+
apps, channels) are approved for ad placement.
|
|
103
|
+
task: create_property_list
|
|
104
|
+
schema_ref: "property/create-property-list-request.json"
|
|
105
|
+
response_schema_ref: "property/create-property-list-response.json"
|
|
106
|
+
doc_ref: "/governance/property/tasks/property_lists"
|
|
107
|
+
comply_scenario: governance_property_lists
|
|
108
|
+
stateful: true
|
|
109
|
+
expected: |
|
|
110
|
+
Return the created property list:
|
|
111
|
+
- list_id: platform-assigned identifier
|
|
112
|
+
- list_type: inclusion
|
|
113
|
+
- Properties registered
|
|
114
|
+
- Status: active
|
|
115
|
+
|
|
116
|
+
sample_request:
|
|
117
|
+
account:
|
|
118
|
+
brand:
|
|
119
|
+
domain: "acmeoutdoor.example"
|
|
120
|
+
operator: "pinnacle-agency.example"
|
|
121
|
+
brand:
|
|
122
|
+
domain: "acmeoutdoor.example"
|
|
123
|
+
name: "Acme Outdoor approved properties"
|
|
124
|
+
base_properties:
|
|
125
|
+
- selection_type: "identifiers"
|
|
126
|
+
identifiers:
|
|
127
|
+
- type: "domain"
|
|
128
|
+
value: "outdoormagazine.example"
|
|
129
|
+
- type: "domain"
|
|
130
|
+
value: "hikingtrails.example"
|
|
131
|
+
- type: "domain"
|
|
132
|
+
value: "campinggear.example"
|
|
133
|
+
|
|
134
|
+
idempotency_key: "$generate:uuid_v4#property_lists_create_list_create_inclusion_list"
|
|
135
|
+
context:
|
|
136
|
+
correlation_id: "property_lists--create_inclusion_list"
|
|
137
|
+
context_outputs:
|
|
138
|
+
- path: "list.list_id"
|
|
139
|
+
key: "property_list_id"
|
|
140
|
+
|
|
141
|
+
validations:
|
|
142
|
+
- check: response_schema
|
|
143
|
+
description: "Response matches create-property-list-response.json schema"
|
|
144
|
+
|
|
145
|
+
- check: field_present
|
|
146
|
+
path: "context"
|
|
147
|
+
description: "Response echoes back the context object"
|
|
148
|
+
- check: field_value
|
|
149
|
+
path: "context.correlation_id"
|
|
150
|
+
value: "property_lists--create_inclusion_list"
|
|
151
|
+
description: "Context correlation_id returned unchanged"
|
|
152
|
+
- check: field_present
|
|
153
|
+
path: "list.list_id"
|
|
154
|
+
description: "Governance agent assigns list_id — must be echoed in get/update/delete"
|
|
155
|
+
- id: list_and_get
|
|
156
|
+
title: "Query property lists"
|
|
157
|
+
narrative: |
|
|
158
|
+
The buyer lists all property lists for the account and retrieves a specific list
|
|
159
|
+
to inspect its contents.
|
|
160
|
+
|
|
161
|
+
steps:
|
|
162
|
+
- id: list_property_lists
|
|
163
|
+
title: "List all property lists"
|
|
164
|
+
narrative: |
|
|
165
|
+
The buyer lists all property lists for the brand. The response includes list
|
|
166
|
+
metadata (name, type, property count) without full property details.
|
|
167
|
+
task: list_property_lists
|
|
168
|
+
schema_ref: "property/list-property-lists-request.json"
|
|
169
|
+
response_schema_ref: "property/list-property-lists-response.json"
|
|
170
|
+
doc_ref: "/governance/property/tasks/property_lists"
|
|
171
|
+
comply_scenario: property_list_filters
|
|
172
|
+
stateful: true
|
|
173
|
+
expected: |
|
|
174
|
+
Return property list summaries:
|
|
175
|
+
- Array of lists with list_id, name, list_type, property_count
|
|
176
|
+
- Includes both inclusion and exclusion lists
|
|
177
|
+
|
|
178
|
+
sample_request:
|
|
179
|
+
account:
|
|
180
|
+
brand:
|
|
181
|
+
domain: "acmeoutdoor.example"
|
|
182
|
+
operator: "pinnacle-agency.example"
|
|
183
|
+
name_contains: "Acme Outdoor"
|
|
184
|
+
|
|
185
|
+
context:
|
|
186
|
+
correlation_id: "property_lists--list_property_lists"
|
|
187
|
+
validations:
|
|
188
|
+
- check: response_schema
|
|
189
|
+
description: "Response matches list-property-lists-response.json schema"
|
|
190
|
+
|
|
191
|
+
- check: field_present
|
|
192
|
+
path: "context"
|
|
193
|
+
description: "Response echoes back the context object"
|
|
194
|
+
- check: field_value
|
|
195
|
+
path: "context.correlation_id"
|
|
196
|
+
value: "property_lists--list_property_lists"
|
|
197
|
+
description: "Context correlation_id returned unchanged"
|
|
198
|
+
- id: get_property_list
|
|
199
|
+
title: "Get a specific property list"
|
|
200
|
+
narrative: |
|
|
201
|
+
The buyer retrieves the full details of a specific property list, including
|
|
202
|
+
all properties in the list.
|
|
203
|
+
task: get_property_list
|
|
204
|
+
schema_ref: "property/get-property-list-request.json"
|
|
205
|
+
response_schema_ref: "property/get-property-list-response.json"
|
|
206
|
+
doc_ref: "/governance/property/tasks/property_lists"
|
|
207
|
+
comply_scenario: governance_property_lists
|
|
208
|
+
stateful: true
|
|
209
|
+
expected: |
|
|
210
|
+
Return the full property list:
|
|
211
|
+
- list_id, name, list_type
|
|
212
|
+
- All properties in the list with their details
|
|
213
|
+
|
|
214
|
+
sample_request:
|
|
215
|
+
list_id: "$context.property_list_id"
|
|
216
|
+
account:
|
|
217
|
+
brand:
|
|
218
|
+
domain: "acmeoutdoor.example"
|
|
219
|
+
operator: "pinnacle-agency.example"
|
|
220
|
+
|
|
221
|
+
context:
|
|
222
|
+
correlation_id: "property_lists--get_property_list"
|
|
223
|
+
validations:
|
|
224
|
+
- check: response_schema
|
|
225
|
+
description: "Response matches get-property-list-response.json schema"
|
|
226
|
+
|
|
227
|
+
- check: field_present
|
|
228
|
+
path: "context"
|
|
229
|
+
description: "Response echoes back the context object"
|
|
230
|
+
- check: field_value
|
|
231
|
+
path: "context.correlation_id"
|
|
232
|
+
value: "property_lists--get_property_list"
|
|
233
|
+
description: "Context correlation_id returned unchanged"
|
|
234
|
+
- id: update_list
|
|
235
|
+
title: "Update property lists"
|
|
236
|
+
narrative: |
|
|
237
|
+
The buyer modifies an existing property list — replacing the base properties
|
|
238
|
+
as brand safety requirements evolve.
|
|
239
|
+
|
|
240
|
+
steps:
|
|
241
|
+
- id: update_property_list
|
|
242
|
+
title: "Update a property list"
|
|
243
|
+
narrative: |
|
|
244
|
+
The buyer replaces the base properties on an existing list with a new set.
|
|
245
|
+
task: update_property_list
|
|
246
|
+
schema_ref: "property/update-property-list-request.json"
|
|
247
|
+
response_schema_ref: "property/update-property-list-response.json"
|
|
248
|
+
doc_ref: "/governance/property/tasks/property_lists"
|
|
249
|
+
comply_scenario: governance_property_lists
|
|
250
|
+
stateful: true
|
|
251
|
+
expected: |
|
|
252
|
+
Return the updated property list:
|
|
253
|
+
- Updated property count
|
|
254
|
+
- Confirmation of the replaced base properties
|
|
255
|
+
|
|
256
|
+
sample_request:
|
|
257
|
+
list_id: "$context.property_list_id"
|
|
258
|
+
account:
|
|
259
|
+
brand:
|
|
260
|
+
domain: "acmeoutdoor.example"
|
|
261
|
+
operator: "pinnacle-agency.example"
|
|
262
|
+
base_properties:
|
|
263
|
+
- selection_type: "identifiers"
|
|
264
|
+
identifiers:
|
|
265
|
+
- type: "domain"
|
|
266
|
+
value: "outdoormagazine.example"
|
|
267
|
+
- type: "domain"
|
|
268
|
+
value: "hikingtrails.example"
|
|
269
|
+
- type: "domain"
|
|
270
|
+
value: "mountaineering.example"
|
|
271
|
+
|
|
272
|
+
idempotency_key: "$generate:uuid_v4#property_lists_update_list_update_property_list"
|
|
273
|
+
context:
|
|
274
|
+
correlation_id: "property_lists--update_property_list"
|
|
275
|
+
validations:
|
|
276
|
+
- check: response_schema
|
|
277
|
+
description: "Response matches update-property-list-response.json schema"
|
|
278
|
+
|
|
279
|
+
- check: field_present
|
|
280
|
+
path: "context"
|
|
281
|
+
description: "Response echoes back the context object"
|
|
282
|
+
- check: field_value
|
|
283
|
+
path: "context.correlation_id"
|
|
284
|
+
value: "property_lists--update_property_list"
|
|
285
|
+
description: "Context correlation_id returned unchanged"
|
|
286
|
+
- id: delivery_validation
|
|
287
|
+
title: "Validate delivery compliance"
|
|
288
|
+
narrative: |
|
|
289
|
+
After ads have been delivered, the buyer validates that the seller respected the
|
|
290
|
+
property lists. The governance agent checks actual delivery data against the
|
|
291
|
+
inclusion/exclusion constraints.
|
|
292
|
+
|
|
293
|
+
steps:
|
|
294
|
+
- id: validate_property_delivery
|
|
295
|
+
title: "Validate property compliance"
|
|
296
|
+
narrative: |
|
|
297
|
+
The buyer submits delivery data and the governance agent checks whether all
|
|
298
|
+
placements complied with the property lists. Non-compliant placements are
|
|
299
|
+
flagged with details.
|
|
300
|
+
task: validate_property_delivery
|
|
301
|
+
schema_ref: "property/validate-property-delivery-request.json"
|
|
302
|
+
response_schema_ref: "property/validate-property-delivery-response.json"
|
|
303
|
+
doc_ref: "/governance/property/tasks/validate_property_delivery"
|
|
304
|
+
comply_scenario: governance_property_lists
|
|
305
|
+
stateful: true
|
|
306
|
+
expected: |
|
|
307
|
+
Return validation results:
|
|
308
|
+
- compliant: boolean overall status
|
|
309
|
+
- summary aggregates compliant/non_compliant/not_covered/unidentified counts
|
|
310
|
+
- Per-placement compliance status
|
|
311
|
+
- features[] entries on each non_compliant record explaining the breach
|
|
312
|
+
|
|
313
|
+
sample_request:
|
|
314
|
+
account:
|
|
315
|
+
brand:
|
|
316
|
+
domain: "acmeoutdoor.example"
|
|
317
|
+
operator: "pinnacle-agency.example"
|
|
318
|
+
list_id: "$context.property_list_id"
|
|
319
|
+
records:
|
|
320
|
+
- record_id: "delivery_outdoor_001"
|
|
321
|
+
identifier:
|
|
322
|
+
type: "domain"
|
|
323
|
+
value: "outdoormagazine.example"
|
|
324
|
+
impressions: 50000
|
|
325
|
+
- record_id: "delivery_random_001"
|
|
326
|
+
identifier:
|
|
327
|
+
type: "domain"
|
|
328
|
+
value: "randomsite.example"
|
|
329
|
+
impressions: 200
|
|
330
|
+
|
|
331
|
+
context:
|
|
332
|
+
correlation_id: "property_lists--validate_property_delivery"
|
|
333
|
+
validations:
|
|
334
|
+
- check: response_schema
|
|
335
|
+
description: "Response matches validate-property-delivery-response.json schema"
|
|
336
|
+
- check: field_value
|
|
337
|
+
path: "compliant"
|
|
338
|
+
value: false
|
|
339
|
+
description: "Overall compliance is false when randomsite.example violates inclusion list"
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
- check: field_present
|
|
343
|
+
path: "context"
|
|
344
|
+
description: "Response echoes back the context object"
|
|
345
|
+
- check: field_value
|
|
346
|
+
path: "context.correlation_id"
|
|
347
|
+
value: "property_lists--validate_property_delivery"
|
|
348
|
+
description: "Context correlation_id returned unchanged"
|
|
349
|
+
|
|
350
|
+
- id: enforcement
|
|
351
|
+
title: "Property list enforcement"
|
|
352
|
+
narrative: |
|
|
353
|
+
These steps test behavioral compliance beyond schema validation. An agent that
|
|
354
|
+
returns well-shaped responses but does not actually enforce property constraints
|
|
355
|
+
would pass CRUD tests but fail here.
|
|
356
|
+
|
|
357
|
+
steps:
|
|
358
|
+
- id: validate_all_compliant_delivery
|
|
359
|
+
title: "Validate fully compliant delivery"
|
|
360
|
+
narrative: |
|
|
361
|
+
The buyer submits delivery data where all properties are on the inclusion list.
|
|
362
|
+
The governance agent must return records with status: compliant and no failed features.
|
|
363
|
+
task: validate_property_delivery
|
|
364
|
+
schema_ref: "property/validate-property-delivery-request.json"
|
|
365
|
+
response_schema_ref: "property/validate-property-delivery-response.json"
|
|
366
|
+
doc_ref: "/governance/property/tasks/validate_property_delivery"
|
|
367
|
+
comply_scenario: governance_property_lists
|
|
368
|
+
stateful: true
|
|
369
|
+
expected: |
|
|
370
|
+
Return validation results:
|
|
371
|
+
- record status: compliant
|
|
372
|
+
- No failed or warning features
|
|
373
|
+
|
|
374
|
+
sample_request:
|
|
375
|
+
account:
|
|
376
|
+
brand:
|
|
377
|
+
domain: "acmeoutdoor.example"
|
|
378
|
+
operator: "pinnacle-agency.example"
|
|
379
|
+
list_id: "$context.property_list_id"
|
|
380
|
+
records:
|
|
381
|
+
- record_id: "delivery_outdoor_001"
|
|
382
|
+
identifier:
|
|
383
|
+
type: "domain"
|
|
384
|
+
value: "outdoormagazine.example"
|
|
385
|
+
impressions: 50000
|
|
386
|
+
- record_id: "delivery_hiking_001"
|
|
387
|
+
identifier:
|
|
388
|
+
type: "domain"
|
|
389
|
+
value: "hikingtrails.example"
|
|
390
|
+
impressions: 30000
|
|
391
|
+
|
|
392
|
+
validations:
|
|
393
|
+
- check: response_schema
|
|
394
|
+
description: "Response matches validate-property-delivery-response.json schema"
|
|
395
|
+
- check: field_value
|
|
396
|
+
path: "compliant"
|
|
397
|
+
value: true
|
|
398
|
+
description: "Delivery is compliant when all properties are on inclusion list"
|
|
399
|
+
|
|
400
|
+
- id: validate_unauthorized_publisher
|
|
401
|
+
title: "Reject delivery on unlisted domain"
|
|
402
|
+
narrative: |
|
|
403
|
+
The buyer submits delivery data that includes randomsite.example — a domain
|
|
404
|
+
not on the inclusion list. The governance agent must flag this as a violation
|
|
405
|
+
with specific violation details, not just return a generic failure.
|
|
406
|
+
task: validate_property_delivery
|
|
407
|
+
schema_ref: "property/validate-property-delivery-request.json"
|
|
408
|
+
response_schema_ref: "property/validate-property-delivery-response.json"
|
|
409
|
+
doc_ref: "/governance/property/tasks/validate_property_delivery"
|
|
410
|
+
comply_scenario: governance_property_lists
|
|
411
|
+
stateful: true
|
|
412
|
+
expected: |
|
|
413
|
+
Return validation results:
|
|
414
|
+
- record status: non_compliant
|
|
415
|
+
- features array with at least one failed feature entry for randomsite.example
|
|
416
|
+
- feature entry references the inclusion list that was breached (via policy_id or code)
|
|
417
|
+
|
|
418
|
+
sample_request:
|
|
419
|
+
account:
|
|
420
|
+
brand:
|
|
421
|
+
domain: "acmeoutdoor.example"
|
|
422
|
+
operator: "pinnacle-agency.example"
|
|
423
|
+
list_id: "$context.property_list_id"
|
|
424
|
+
records:
|
|
425
|
+
- record_id: "delivery_random_001"
|
|
426
|
+
identifier:
|
|
427
|
+
type: "domain"
|
|
428
|
+
value: "randomsite.example"
|
|
429
|
+
impressions: 500
|
|
430
|
+
|
|
431
|
+
validations:
|
|
432
|
+
- check: response_schema
|
|
433
|
+
description: "Response matches validate-property-delivery-response.json schema"
|
|
434
|
+
- check: field_value
|
|
435
|
+
path: "compliant"
|
|
436
|
+
value: false
|
|
437
|
+
description: "Delivery is non-compliant for unlisted domain"
|
|
438
|
+
|
|
439
|
+
- id: delete_list
|
|
440
|
+
title: "Delete a property list"
|
|
441
|
+
narrative: |
|
|
442
|
+
The buyer removes a property list that is no longer needed. Delete runs after
|
|
443
|
+
validation phases so they can reference the list created earlier.
|
|
444
|
+
|
|
445
|
+
steps:
|
|
446
|
+
- id: delete_property_list
|
|
447
|
+
title: "Delete a property list"
|
|
448
|
+
narrative: |
|
|
449
|
+
The buyer deletes a property list. The governance agent removes the list and
|
|
450
|
+
returns confirmation.
|
|
451
|
+
task: delete_property_list
|
|
452
|
+
schema_ref: "property/delete-property-list-request.json"
|
|
453
|
+
response_schema_ref: "property/delete-property-list-response.json"
|
|
454
|
+
doc_ref: "/governance/property/tasks/property_lists"
|
|
455
|
+
comply_scenario: governance_property_lists
|
|
456
|
+
stateful: true
|
|
457
|
+
expected: |
|
|
458
|
+
Confirm deletion:
|
|
459
|
+
- list_id: the deleted list
|
|
460
|
+
- status: deleted
|
|
461
|
+
|
|
462
|
+
sample_request:
|
|
463
|
+
list_id: "$context.property_list_id"
|
|
464
|
+
account:
|
|
465
|
+
brand:
|
|
466
|
+
domain: "acmeoutdoor.example"
|
|
467
|
+
operator: "pinnacle-agency.example"
|
|
468
|
+
|
|
469
|
+
idempotency_key: "$generate:uuid_v4#property_lists_delete_list_delete_property_list"
|
|
470
|
+
context:
|
|
471
|
+
correlation_id: "property_lists--delete_property_list"
|
|
472
|
+
validations:
|
|
473
|
+
- check: response_schema
|
|
474
|
+
description: "Response matches delete-property-list-response.json schema"
|
|
475
|
+
|
|
476
|
+
- check: field_present
|
|
477
|
+
path: "context"
|
|
478
|
+
description: "Response echoes back the context object"
|
|
479
|
+
- check: field_value
|
|
480
|
+
path: "context.correlation_id"
|
|
481
|
+
value: "property_lists--delete_property_list"
|
|
482
|
+
description: "Context correlation_id returned unchanged"
|