@adcp/client API Reference - v4.19.0
    Preparing search index...

    Interface CheckGovernanceRequest

    Universal governance check for campaign actions. The governance agent infers the check type from the fields present: tool+payload (intent check, orchestrator) or media_buy_id+planned_delivery (execution check, seller).

    interface CheckGovernanceRequest {
        plan_id: string;
        caller: string;
        tool?: string;
        payload?: {};
        governance_context?: string;
        media_buy_id?: string;
        phase?: GovernancePhase;
        planned_delivery?: PlannedDelivery;
        delivery_metrics?: {
            reporting_period: { start: string; end: string };
            spend?: number;
            cumulative_spend?: number;
            impressions?: number;
            cumulative_impressions?: number;
            geo_distribution?: { [k: string]: number | undefined };
            channel_distribution?: { [k: string]: number | undefined };
            pacing?: "ahead" | "on_track" | "behind";
            audience_distribution?: {
                baseline: "custom" | "platform" | "census";
                baseline_description?: string;
                indices: { [k: string]: number | undefined };
                cumulative_indices?: { [k: string]: number | undefined };
            };
        };
        modification_summary?: string;
        invoice_recipient?: BusinessEntity;
    }
    Index

    Properties

    plan_id: string

    Campaign governance plan identifier.

    caller: string

    URL of the agent making the request.

    tool?: string

    The AdCP tool being checked (e.g., 'create_media_buy', 'get_products'). Present on intent checks (orchestrator). The governance agent uses the presence of tool+payload to identify an intent check.

    payload?: {}

    The full tool arguments as they would be sent to the seller. Present on intent checks. The governance agent can inspect any field to validate against the plan.

    governance_context?: string

    Opaque governance context from a prior check_governance response. Pass this on subsequent checks for the same media buy so the governance agent can maintain continuity across the lifecycle. Issued by the governance agent, never interpreted by callers.

    media_buy_id?: string

    The seller's identifier for the media buy. Present on execution checks (seller). The governance agent uses the presence of media_buy_id+planned_delivery to identify an execution check.

    planned_delivery?: PlannedDelivery
    delivery_metrics?: {
        reporting_period: { start: string; end: string };
        spend?: number;
        cumulative_spend?: number;
        impressions?: number;
        cumulative_impressions?: number;
        geo_distribution?: { [k: string]: number | undefined };
        channel_distribution?: { [k: string]: number | undefined };
        pacing?: "ahead" | "on_track" | "behind";
        audience_distribution?: {
            baseline: "custom" | "platform" | "census";
            baseline_description?: string;
            indices: { [k: string]: number | undefined };
            cumulative_indices?: { [k: string]: number | undefined };
        };
    }

    Actual delivery performance data. MUST be present for 'delivery' phase. The governance agent compares these metrics against the planned delivery to detect drift.

    Type Declaration

    • reporting_period: { start: string; end: string }

      Start and end timestamps for the reporting window.

    • Optionalspend?: number

      Total spend during the reporting period.

    • Optionalcumulative_spend?: number

      Total spend since the media buy started.

    • Optionalimpressions?: number

      Impressions delivered during the reporting period.

    • Optionalcumulative_impressions?: number

      Total impressions since the media buy started.

    • Optionalgeo_distribution?: { [k: string]: number | undefined }

      Actual geographic distribution. Keys are ISO 3166-1 alpha-2 codes, values are percentages.

    • Optionalchannel_distribution?: { [k: string]: number | undefined }

      Actual channel distribution. Keys are channel enum values, values are percentages.

    • Optionalpacing?: "ahead" | "on_track" | "behind"

      Whether delivery is ahead of, on track with, or behind the planned pace.

    • Optionalaudience_distribution?: {
          baseline: "custom" | "platform" | "census";
          baseline_description?: string;
          indices: { [k: string]: number | undefined };
          cumulative_indices?: { [k: string]: number | undefined };
      }

      Actual audience composition during the reporting period. Enables mid-flight drift detection when actual delivery skews from planned audience targeting.

      • baseline: "custom" | "platform" | "census"

        Population baseline used for index calculation. 'census': national census or equivalent population data. 'platform': the seller's active user base. 'custom': a custom baseline defined by the seller (describe in baseline_description).

      • Optionalbaseline_description?: string

        Description of the baseline when baseline is 'custom' (e.g., 'US adults 18+ with broadband access').

      • indices: { [k: string]: number | undefined }

        Audience index values for the current reporting period. Keys are seller-defined dimension:value strings (e.g., 'age:25-34', 'gender:female', 'income:high'). The protocol does not mandate a taxonomy — dimensions and value labels vary by seller. Values are index relative to the declared baseline (1.0 = at parity, >1.0 = over-indexed, <1.0 = under-indexed).

      • Optionalcumulative_indices?: { [k: string]: number | undefined }

        Cumulative audience index values since the media buy started. Same key format as indices (dimension:value). Use for detecting sustained bias drift that may not appear in a single reporting period.

    modification_summary?: string

    Human-readable summary of what changed. SHOULD be present for 'modification' phase.

    invoice_recipient?: BusinessEntity