OptionalmodeOptionalenforceWhen true, a get_products request carrying property_list is resolved
and used as an allow-list for the returned products. Defaults to true.
OptionalpropertyResolver options for request-derived property-list validation. The default uses the SDK's process-local resolved-list cache.
OptionalmessageMessage surfaced in debug logs and failed results when the policy rejects products.
OptionalallowedDomains the buyer will accept in returned products.
OptionalallowedResolved property-list identifiers the buyer will accept in returned
products. Domain identifiers are matched with AdCP property-list domain
semantics (example.com matches www.example.com and m.example.com;
*.example.com matches subdomains only).
OptionalrequireRequire products to match the allowed domain/identifier set even when that set is empty. Used when a request property_list resolves successfully to zero identifiers; the safe interpretation is that no properties are eligible.
OptionalexcludedDomains the buyer will not accept in returned products.
OptionalexcludedPublisher-scoped property IDs the buyer will not accept in returned products.
OptionalstrictShorthand for strict brand-safety evaluation. Defaults unresolved tag
selectors and missing publisher_properties to rejection unless the more
specific behavior fields override it.
OptionalunknownHow to handle selectors the SDK cannot confidently evaluate, such as
selection_type: "by_tag" without resolved property metadata.
Default: reject when strict is true, otherwise flag.
OptionalmissingHow to handle products that omit publisher_properties.
Default: reject when strict is true, otherwise allow.
Enforcement mode for completed
get_productsresponses.filter(default): remove rejected products before handlers/callers see themreject_response: fail the task when any product violates the policyaudit: keep products but attach diagnostics