Optionalrestricted_attributes?: RestrictedAttribute[]Restricted attribute categories this signal touches.
Optionalpolicy_categories?: string[]Policy categories this signal is sensitive for.
Optionaltaxonomy?: {Optional taxonomy metadata describing what this signal means in an external audience, content, retail-media, or provider-owned taxonomy.
Optionalsegmentation_criteria?: stringOptionalcriteria_url?: stringOptionaldata_sources?: (Optionalmethodology?: "modeled" | "observed" | "declared" | "derived" | "inferred"Optionalaudience_expansion?: booleanOptionaldevice_expansion?: booleanOptionalrefresh_cadence?: Optionallookback_window?: Optionalonboarder?: {Optionalcountries?: string[]Optionalconsent_basis?: ConsentBasis[]Data provider's declared GDPR Article 6 lawful basis or consent basis for the underlying signal definition, projected into this get_signals response row when requested. Sellers and federating agents that pass through another provider's signal MUST NOT substitute their own processing basis for the provider-declared basis.
Optionalart9_basis?: Data provider's declared GDPR Article 9 basis for the underlying signal definition when special-category data is involved and Article 9 applies, projected into this get_signals response row when requested. Sellers and federating agents that pass through another provider's signal MUST NOT substitute their own Article 9 basis for the provider-declared basis.
Optionalmodeling?: {Provider assertion that the seed source carries a signed attestation. Consumers MUST NOT treat this boolean alone as cryptographic proof.
Optionaldisclosure?: SignalModelingDisclosureOptionaldata_subject_rights?: {Per-signal data-subject-rights routing. This is a contact/routing reference, not a machine-callable AdCP API.
Optionallast_updated?: stringWhen this listing record was last updated. This indicates freshness of the listing record, not an attestation that the underlying data or model was refreshed at that time.
Optionaldts_compliant_version?: stringOptionalsignal_ref?: SignalRefOptionalsignal_id?: SignalIDHuman-readable signal name
Detailed signal description
Optionalmethodology_url?: stringOptional link to published methodology, media-kit, or data documentation. For data_provider and signal_source refs, this SHOULD match or supplement the referenced definition.
Optionalvalue_type?: SignalValueTypeOptionalcategories?: string[]Valid values for categorical signals. Present when value_type is 'categorical'. Buyers must use one of these values in SignalTargeting.values.
Optionalrange?: { min: number; max: number }Valid range for numeric signals. Present when value_type is 'numeric'.
Minimum value (inclusive)
Maximum value (inclusive)
Opaque resolved-segment handle issued by this signal source. Pass this string verbatim to activate_signal.signal_agent_segment_id, and echo it in package signal targeting when the selected product option exposes the same handle. Treat the value as provider-scoped and opaque: providers MAY namespace it so two providers can expose similarly named signals without relying on a shared taxonomy. Do not pass the signal_id object as this handle, and do not reconstruct a segment handle from categorical values when get_signals returned a resolved segment.
Optionaldata_provider?: stringHuman-readable source name for the signal, when applicable. For data_provider-scoped signals this is the data provider name; for signal_source-scoped signals it may identify the signal source or proprietary origin.
Optionalcoverage_percentage?: numberDEPRECATED for detailed planning. Optional legacy scalar percentage of audience coverage retained only as a fallback for clients that do not consume coverage_forecast. When coverage_forecast is present, coverage_forecast is authoritative for signal-level discovery and coverage_percentage is fallback-only. If coverage_forecast includes an absent bucket over the same denominator, coverage_percentage SHOULD align with 100 * (1 - absent coverage_rate.mid).
Optionalcoverage_forecast?: SignalCoverageForecastArray of deployment targets
Optionalpricing_options?: VendorPricingOption[]Pricing options available for this signal when it has an incremental price. The buyer selects one and passes its pricing_option_id in report_usage or package-level signal_targeting_groups for billing verification. Omit when pricing is unavailable to the caller, bundled into the destination product, or has no incremental cost.
Return the canonical activation handle from one
get_signalsrow.