@adcp/sdk API Reference - v10.0.1
    Preparing search index...

    Function getSignalActivationId

    • Return the canonical activation handle from one get_signals row.

      Parameters

      • signal: {
            restricted_attributes?: RestrictedAttribute[];
            policy_categories?: string[];
            taxonomy?: {
                ref: string;
                version?: string;
                segtax?: number;
                etag?: string;
                values: { id: string; path?: string; modifiers?: string[] }[];
                value_mappings?: {
                    value: string;
                    taxonomy_value_id: string;
                    path?: string;
                    modifiers?: string[];
                }[];
                parent_match_behavior?: "unknown"
                | "exact_only"
                | "descendants_supported";
            };
            segmentation_criteria?: string;
            criteria_url?: string;
            data_sources?: (
                | "email"
                | "app_behavior"
                | "app_usage"
                | "web_usage"
                | "geo_location"
                | "tv_ott_or_stb_device"
                | "panel"
                | "online_ecommerce"
                | "credit_data"
                | "loyalty_card"
                | "transaction"
                | "online_survey"
                | "offline_survey"
                | "public_record_census"
                | "public_record_voter_file"
                | "public_record_other"
                | "offline_transaction"
            )[];
            methodology?: "modeled"
            | "observed"
            | "declared"
            | "derived"
            | "inferred";
            audience_expansion?: boolean;
            device_expansion?: boolean;
            refresh_cadence?:
                | "daily"
                | "weekly"
                | "monthly"
                | "quarterly"
                | "intra_day"
                | "bi_monthly"
                | "bi_annually"
                | "annually";
            lookback_window?: | "daily"
            | "weekly"
            | "monthly"
            | "quarterly"
            | "intra_day"
            | "bi_monthly"
            | "bi_annually"
            | "annually";
            onboarder?: {
                match_keys: (
                    | "email"
                    | "name"
                    | "address"
                    | "postal"
                    | "lat_long"
                    | "mobile_id"
                    | "cookie_id"
                    | "ip"
                    | "customer_id"
                    | "phone"
                )[];
                pre_onboarding_audience_expansion?: boolean;
                pre_onboarding_device_expansion?: boolean;
                pre_onboarding_precision_level?: | "individual"
                | "household"
                | "business"
                | "geography";
            };
            countries?: string[];
            consent_basis?: ConsentBasis[];
            art9_basis?: | "explicit_consent"
            | "manifestly_made_public"
            | "substantial_public_interest"
            | "vital_interests";
            modeling?: {
                method: "lookalike"
                | "supervised"
                | "embedding"
                | "rules";
                seed_source: {
                    type:
                        | "panel"
                        | "first_party_crm"
                        | "declared_survey"
                        | "transactional"
                        | "behavioral";
                    provider_signed: boolean;
                };
                training_data_jurisdictions: string[];
                ai_act_risk_class: "minimal"
                | "limited"
                | "high_risk";
                disclosure?: SignalModelingDisclosure;
            };
            data_subject_rights?: {
                upstream_source_domain?: string;
                channels: {
                    rights: (
                        "access"
                        | "rectification"
                        | "erasure"
                        | "portability"
                        | "objection"
                    )[];
                    url?: string;
                    email?: string;
                    languages?: string[];
                    countries?: string[];
                }[];
                response_sla_days?: number;
                ccpa_opt_out_url?: string;
            };
            last_updated?: string;
            dts_compliant_version?: string;
            signal_ref?: SignalRef;
            signal_id?: SignalID;
            name: string;
            description: string;
            methodology_url?: string;
            value_type?: SignalValueType;
            categories?: string[];
            range?: { min: number; max: number };
            signal_agent_segment_id: string;
            signal_type: SignalAvailabilityType;
            data_provider?: string;
            coverage_percentage?: number;
            coverage_forecast?: SignalCoverageForecast;
            deployments: Deployment[];
            pricing_options?: VendorPricingOption[];
        }
        • Optionalrestricted_attributes?: RestrictedAttribute[]

          Restricted attribute categories this signal touches.

        • Optionalpolicy_categories?: string[]

          Policy categories this signal is sensitive for.

        • Optionaltaxonomy?: {
              ref: string;
              version?: string;
              segtax?: number;
              etag?: string;
              values: { id: string; path?: string; modifiers?: string[] }[];
              value_mappings?: {
                  value: string;
                  taxonomy_value_id: string;
                  path?: string;
                  modifiers?: string[];
              }[];
              parent_match_behavior?: "unknown"
              | "exact_only"
              | "descendants_supported";
          }

          Optional taxonomy metadata describing what this signal means in an external audience, content, retail-media, or provider-owned taxonomy.

        • Optionalsegmentation_criteria?: string
        • Optionalcriteria_url?: string
        • Optionaldata_sources?: (
              | "email"
              | "app_behavior"
              | "app_usage"
              | "web_usage"
              | "geo_location"
              | "tv_ott_or_stb_device"
              | "panel"
              | "online_ecommerce"
              | "credit_data"
              | "loyalty_card"
              | "transaction"
              | "online_survey"
              | "offline_survey"
              | "public_record_census"
              | "public_record_voter_file"
              | "public_record_other"
              | "offline_transaction"
          )[]
        • Optionalmethodology?: "modeled" | "observed" | "declared" | "derived" | "inferred"
        • Optionalaudience_expansion?: boolean
        • Optionaldevice_expansion?: boolean
        • Optionalrefresh_cadence?:
              | "daily"
              | "weekly"
              | "monthly"
              | "quarterly"
              | "intra_day"
              | "bi_monthly"
              | "bi_annually"
              | "annually"
        • Optionallookback_window?:
              | "daily"
              | "weekly"
              | "monthly"
              | "quarterly"
              | "intra_day"
              | "bi_monthly"
              | "bi_annually"
              | "annually"
        • Optionalonboarder?: {
              match_keys: (
                  | "email"
                  | "name"
                  | "address"
                  | "postal"
                  | "lat_long"
                  | "mobile_id"
                  | "cookie_id"
                  | "ip"
                  | "customer_id"
                  | "phone"
              )[];
              pre_onboarding_audience_expansion?: boolean;
              pre_onboarding_device_expansion?: boolean;
              pre_onboarding_precision_level?: | "individual"
              | "household"
              | "business"
              | "geography";
          }
        • 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?:
              | "explicit_consent"
              | "manifestly_made_public"
              | "substantial_public_interest"
              | "vital_interests"

          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?: {
              method: "lookalike" | "supervised" | "embedding" | "rules";
              seed_source: {
                  type:
                      | "panel"
                      | "first_party_crm"
                      | "declared_survey"
                      | "transactional"
                      | "behavioral";
                  provider_signed: boolean;
              };
              training_data_jurisdictions: string[];
              ai_act_risk_class: "minimal"
              | "limited"
              | "high_risk";
              disclosure?: SignalModelingDisclosure;
          }
          • method: "lookalike" | "supervised" | "embedding" | "rules"
          • seed_source: {
                type:
                    | "panel"
                    | "first_party_crm"
                    | "declared_survey"
                    | "transactional"
                    | "behavioral";
                provider_signed: boolean;
            }
            • type: "panel" | "first_party_crm" | "declared_survey" | "transactional" | "behavioral"
            • provider_signed: boolean

              Provider assertion that the seed source carries a signed attestation. Consumers MUST NOT treat this boolean alone as cryptographic proof.

          • training_data_jurisdictions: string[]
          • ai_act_risk_class: "minimal" | "limited" | "high_risk"
          • Optionaldisclosure?: SignalModelingDisclosure
        • Optionaldata_subject_rights?: {
              upstream_source_domain?: string;
              channels: {
                  rights: (
                      "access"
                      | "rectification"
                      | "erasure"
                      | "portability"
                      | "objection"
                  )[];
                  url?: string;
                  email?: string;
                  languages?: string[];
                  countries?: string[];
              }[];
              response_sla_days?: number;
              ccpa_opt_out_url?: string;
          }

          Per-signal data-subject-rights routing. This is a contact/routing reference, not a machine-callable AdCP API.

        • Optionallast_updated?: string

          When 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?: string
        • Optionalsignal_ref?: SignalRef
        • Optionalsignal_id?: SignalID
        • name: string

          Human-readable signal name

        • description: string

          Detailed signal description

        • Optionalmethodology_url?: string

          Optional 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?: SignalValueType
        • Optionalcategories?: 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'.

          • min: number

            Minimum value (inclusive)

          • max: number

            Maximum value (inclusive)

        • signal_agent_segment_id: string

          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.

        • signal_type: SignalAvailabilityType
        • Optionaldata_provider?: string

          Human-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?: number

          DEPRECATED 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).

          0

          100

        • Optionalcoverage_forecast?: SignalCoverageForecast
        • deployments: Deployment[]

          Array 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.

      Returns string