Optionaladcp_The AdCP major version the buyer's payloads conform to. Sellers validate against their supported major_versions and return VERSION_UNSUPPORTED if unsupported. When omitted, the seller assumes its highest supported version.
Campaign governance plan identifier. The plan uniquely scopes the account and operator; do not include a separate account field — the governance agent resolves account from the plan. Including account is rejected by additionalProperties: false.
URL of the agent making the request.
Optionalpurchase_OptionaltoolThe AdCP tool being checked (e.g., 'create_media_buy', 'acquire_rights', 'activate_signal'). Present on intent checks (orchestrator). The governance agent uses the presence of tool+payload to identify an intent check.
OptionalpayloadThe 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.
Optionalgovernance_Governance context token from a prior check_governance response. Pass this on subsequent checks for the same governed action so the governance agent can maintain continuity across the lifecycle. In 3.0 governance agents MUST emit a compact JWS per the AdCP JWS profile (see Security — Signed Governance Context); callers persist and forward the value verbatim.
OptionalphaseOptionalplanned_Optionaldelivery_Actual delivery performance data. MUST be present for 'delivery' phase. The governance agent compares these metrics against the planned delivery to detect drift.
Start and end timestamps for the reporting window.
Optionalspend?: numberTotal spend during the reporting period.
Optionalcumulative_spend?: numberTotal spend since the governed action started.
Optionalimpressions?: numberImpressions delivered during the reporting period.
Optionalcumulative_impressions?: numberTotal impressions since the governed action 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?: {Actual audience composition during the reporting period. Enables mid-flight drift detection when actual delivery skews from planned audience targeting.
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?: stringDescription of the baseline when baseline is 'custom' (e.g., 'US adults 18+ with broadband access').
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 governed action started. Same key format as indices (dimension:value). Use for detecting sustained bias drift that may not appear in a single reporting period.
Optionalmodification_Human-readable summary of what changed. SHOULD be present for 'modification' phase.
Optionalinvoice_OptionalcontextOptionalext
Universal governance check for campaign actions. The governance agent infers the check type from the fields present: tool+payload = intent check (proposed, orchestrator-side). planned_delivery = execution check (committed, seller-side). governance_context maintains lifecycle continuity across either check type — its presence alone does not determine binding. To check budget availability without a specific action, omit tool and payload.