Optionaladcp_Release-precision AdCP version (VERSION.RELEASE, e.g. "3.0", "3.1", "3.1-beta"). On a request: the buyer's release pin — the seller validates against its supported_versions and returns VERSION_UNSUPPORTED on cross-major mismatch, or downshifts to the highest supported release within the same major. On a response: the release the seller actually served — clients SHOULD validate the response against that release's schema, not against their pin. Patches are not negotiated; surface them as build_version on capabilities for operational visibility. When omitted, falls back to adcp_major_version (deprecated) or server default. Buyers SHOULD emit both adcp_version and adcp_major_version through 3.x to remain compatible with sellers that only read the legacy field. NORMALIZATION: SDKs that read full-semver values from bundle metadata (e.g. ComplianceIndex.published_version = "3.1.0-beta.1") MUST normalize to release-precision ("3.1-beta.1") before emitting on the wire — meta-field values are NOT valid wire values.
Optionaladcp_DEPRECATED in favor of adcp_version (release-precision string). Servers MUST continue to honor this field through 3.x. Removed in 4.0. Original semantics: 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.
The plan this outcome is for. 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.
Optionalcheck_The check_id from check_governance. Links the outcome to the governance check that authorized it. Required for 'completed' and 'failed' outcomes.
Client-generated unique key for this request. Prevents duplicate outcome reports on retries. MUST be unique per (seller, request) pair to prevent cross-seller correlation. Use a fresh UUID v4 for each request.
Optionalpurchase_Optionalseller_The seller's full response. Required when outcome is 'completed'.
Optionalseller_reference?: stringThe seller's identifier for the created resource (e.g., media_buy_id, rights_grant_id, deployment_id). Not interpreted by the governance agent — included in audit logs for human-readable traceability alongside the opaque governance_context.
Optionalcommitted_budget?: numberTotal budget committed across all confirmed packages. When present, the governance agent uses this directly instead of summing package budgets.
Optionalpackages?: { budget?: number }[]Confirmed packages with actual budget and targeting.
Optionalplanned_delivery?: PlannedDeliveryOptionalcreative_deadline?: stringISO 8601 deadline for creative submission.
OptionaldeliveryDelivery metrics. Required when outcome is 'delivery'.
Optionalreporting_period?: { start: string; end: string }Start and end timestamps for the reporting window.
Optionalimpressions?: numberImpressions delivered in the period.
Optionalspend?: numberSpend in the period.
Optionalcpm?: numberEffective CPM for the period.
Optionalviewability_rate?: numberViewability rate (0-1).
Optionalcompletion_rate?: numberVideo completion rate (0-1).
OptionalerrorError details. Required when outcome is 'failed'.
Optionalcode?: stringError code from the seller.
Optionalmessage?: stringHuman-readable error description.
Opaque governance context from the check_governance response that authorized this action. Enables the governance agent to correlate the outcome to the original check.
OptionalcontextOptionalext
Report the outcome of an action to the governance agent. Called by the orchestrator (buyer-side agent) after a seller responds. This is the 'after' half of the governance loop. Sellers do not call this task -- they report delivery data via check_governance with phase 'delivery'.