plans | array | Audit data for each requested plan. |
plans[].plan_id | string | Plan identifier. |
plans[].plan_version | number | Current plan version. |
plans[].status | enum | active, suspended, or completed. |
plans[].budget | object | Budget state. |
plans[].budget.authorized | number | Total authorized budget from the plan. |
plans[].budget.accounting_mode | enum | gross_commitment or verified_net_cost; controls which verified records restore headroom. |
plans[].budget.gross_committed | number | Authoritative commitment from completed outcomes before adjustments. |
plans[].budget.adjustments_reported | number | Sum of all seller-reported adjustment amounts, regardless of review state. |
plans[].budget.adjustments_verified | number | Sum of buyer-accepted economic reductions in plan currency; accepted makegoods contribute zero. |
plans[].budget.net_cost | number | Gross commitment minus verified economic reductions. |
plans[].budget.headroom_restored | number | Verified reductions eligible to restore headroom under the accounting mode. |
plans[].budget.ledger_committed | number | Amount currently charged against plan headroom. |
plans[].budget.net_committed | number | Legacy alias for ledger_committed. |
plans[].budget.committed | number | Legacy 3.x alias for net_committed. |
plans[].budget.remaining | number | Authorized minus committed. |
plans[].budget.utilization_pct | number | Committed as a percentage of authorized. |
plans[].channel_allocation | object | Current channel mix. Keyed by channel ID. |
plans[].channel_allocation[channel].committed | number | Budget committed to this channel. |
plans[].channel_allocation[channel].pct | number | Channel’s share of the authorized total budget. |
plans[].governed_actions | array | Per-action breakdown joined by the stable opaque action binding. |
plans[].governed_actions[].governance_context | string | Original intent context exposed for correlation. |
plans[].governed_actions[].purchase_type | enum | media_buy, rights_license, signal_activation, or creative_services. |
plans[].governed_actions[].status | enum | active, suspended, or completed. |
plans[].governed_actions[].committed | number | Gross authoritative commitment for this governed action. |
plans[].governed_actions[].adjustments_reported | number | Sum of all adjustment amounts for this action. |
plans[].governed_actions[].adjustments_verified | number | Buyer-accepted economic reductions for this action. |
plans[].governed_actions[].net_cost | number | Gross commitment minus verified economic reductions. |
plans[].governed_actions[].headroom_restored | number | Verified amount eligible under the plan accounting mode. |
plans[].governed_actions[].net_committed | number | Current ledger obligation after restored headroom. |
plans[].governed_actions[].seller_reported_spend | number | Latest canonical seller cumulative spend. |
plans[].governed_actions[].buyer_observed_spend | number | Latest buyer-attributed cumulative spend. |
plans[].governed_actions[].delivery_reporting_period | object | Current seller reporting period summarized for this action. |
plans[].governed_actions[].conservative_exposure | number | Greater of seller-reported and buyer-observed spend while evidence disagrees. |
plans[].governed_actions[].delivery_reconciliation_status | enum | consistent, measurement_variance, disputed, unmatched, or closed_unresolved. |
plans[].governed_actions[].delivery_period_state | enum | open or closed; closure is operational and does not settle billing. |
plans[].governed_actions[].check_count | integer | Number of governance checks performed. |
plans[].summary | object | Aggregate validation and outcome statistics. |
plans[].summary.checks_performed | number | Total governance checks performed. |
plans[].summary.outcomes_reported | number | Total outcomes reported. |
plans[].summary.adjustments_reported | number | Total append-only adjustment records reported. |
plans[].summary.adjustments_verified | number | Count of adjustment records accepted by the plan owner, including makegoods. |
plans[].summary.statuses | object | Count of each governance check status (approved, denied, conditions). Also includes human_reviewed as a supplementary count — checks that required human review before resolving. Always a subset of approved + denied; conditions is an agent-issued flow-control state and is never counted here. |
plans[].summary.findings_count | number | Total findings across all checks and outcomes. |
plans[].summary.escalations | array | Checks that were escalated for human review and their resolutions. |
plans[].summary.escalations[].check_id | string | The governance check that was escalated. |
plans[].summary.escalations[].reason | string | Why the check was escalated. |
plans[].summary.escalations[].resolution | string | How it was resolved (e.g., approved_by_human, rejected_by_human). |
plans[].summary.escalations[].resolved_at | string | ISO 8601 resolution timestamp. |
plans[].summary.drift_metrics | object | Aggregate governance metrics for detecting oversight drift. See specification. |
plans[].summary.drift_metrics.escalation_rate | number | Fraction of checks that were escalated for human review (0-1). |
plans[].summary.drift_metrics.escalation_rate_trend | enum | increasing, stable, or declining. |
plans[].summary.drift_metrics.auto_approval_rate | number | Fraction of checks approved without human intervention (0-1). |
plans[].summary.drift_metrics.human_override_rate | number | Fraction of escalations where the human overrode the governance agent’s recommendation (0-1). |
plans[].summary.drift_metrics.mean_confidence | number | Average confidence score across findings (0-1). Present when findings include confidence. |
plans[].summary.drift_metrics.thresholds | object | Organization-defined thresholds for drift metrics. When a metric crosses its threshold, the governance agent includes a finding. |
plans[].summary.drift_metrics.thresholds.escalation_rate_max | number | Maximum acceptable escalation rate. A rate above this may indicate policy miscalibration. |
plans[].summary.drift_metrics.thresholds.escalation_rate_min | number | Minimum acceptable escalation rate. A rate below this may indicate eroding oversight. |
plans[].summary.drift_metrics.thresholds.auto_approval_rate_max | number | Maximum acceptable auto-approval rate. |
plans[].summary.drift_metrics.thresholds.human_override_rate_max | number | Maximum acceptable human override rate. |
plans[].entries | array | Ordered audit trail (only when include_entries is true). |
plans[].entries[].id | string | Entry identifier. |
plans[].entries[].type | enum | check, outcome, or adjustment. |
plans[].entries[].timestamp | string | ISO 8601 timestamp. |
plans[].entries[].plan_id | string | Plan this entry belongs to. Present when querying multiple plans or a portfolio. |
plans[].entries[].caller | string | URL of the agent that made the request. Resolved from the credentials used on the governance callback. |
plans[].entries[].tool | string | The AdCP tool (present for check entries). |
plans[].entries[].status | enum | Governance check status (present for check entries). |
plans[].entries[].check_type | enum | intent or execution (present for check entries). Inferred from the fields present on the original check request. |
plans[].entries[].mode | enum | audit, advisory, or enforce — governance mode active when this check was evaluated. Recorded by the governance agent from its runtime configuration at check time, not from a plan field. Present on check entries; absent on outcome entries and on governance agents that have not yet adopted this field. Lets auditors distinguish approved decisions made under enforce from those made under audit (where the agent could not have blocked anything). |
plans[].entries[].explanation | string | Human-readable explanation of the governance decision (present for check entries). |
plans[].entries[].policies_evaluated | array | Registry policy IDs evaluated during this check. |
plans[].entries[].categories_evaluated | array | Governance categories evaluated (e.g., budget_authority, regulatory_compliance). Agent-internal labels, not a protocol-level enum — each string is defined by the governance agent’s policy model. Since one governance agent per account composes all specialist review (legal, brand safety, category-specialist reviewers) behind its single endpoint, categories_evaluated and findings[].details are how internal decomposition surfaces for audit. Consumers MUST treat values as opaque labels: pattern-matching against a fixed list is not safe across agents. |
plans[].entries[].findings | array | Findings from this check, mirroring the complete check_governance finding shape so binding-digest inputs round-trip without loss, including source_plan_id, details, and uncertainty_reason when present. |
plans[].entries[].governance_context | string | Opaque governance context identifying the governed action this entry belongs to. |
plans[].entries[].plan_hash | string | Audit-layer binding to the plan revision this attestation was evaluated over — base64url_no_pad(SHA-256(JCS(plan_payload))) per Plan binding and audit. Present on check entries. Auditors and buyer-side compliance tooling verify by recomputing over the retained plan revision and byte-comparing the decoded 32-byte digests. |
plans[].entries[].runtime_attestations | array | Ordered { reference, evaluation } pairs retained for a runtime-attestation check. Recompute each evaluation.reference_digest from RFC 8785 JCS of its paired reference before recomputing the binding digest. |
plans[].entries[].runtime_attestation_binding_digest | string | Digest copied from the check response and signed governance context. Recompute it from ordered runtime_attestations[].evaluation values and findings carrying attestation_reference_digest. |
plans[].entries[].purchase_type | enum | media_buy, rights_license, signal_activation, or creative_services. Present when the entry is associated with a specific governed action. |
plans[].entries[].outcome | enum | Outcome type (present for outcome entries). |
plans[].entries[].committed_budget | number | Governance-authorized budget reserved for the action (present for completed outcome entries). This is the ledger-authoritative amount, not a caller assertion. |
plans[].entries[].reported_committed_budget | number | Caller-reported seller amount retained for reconciliation. Never ledger authority. |
plans[].entries[].seller_reference | string | Seller resource identifier retained with the outcome, such as a media-buy ID. |
plans[].entries[].delivery_statement | object | Canonical seller-attributed statement retained on a delivery check, including ID, digest, sequence, period, cumulative spend, currency, and the exact digest-verifiable payload. |
plans[].entries[].delivery | object | Buyer-attributed observation retained on a delivery outcome. It never overwrites the seller statement. |
plans[].entries[].delivery_reconciliation_status | enum | consistent, measurement_variance, disputed, unmatched, or closed_unresolved. Only an open dispute blocks adjustment verification; measurement variance is recorded and priced into conservative exposure. |
plans[].entries[].delivery_period_state | enum | open or closed. Closed evidence is immutable but not a final billing record. |
plans[].entries[].outcome_status | string | Outcome status (present for outcome entries). |
plans[].entries[].outcome_id | string | Source completed outcome (present for adjustment entries). |
plans[].entries[].seller_adjustment_id | string | Seller-issued source record (present for adjustment entries). |
plans[].entries[].adjustment_type | enum | decommitment, refund, credit, or makegood. |
plans[].entries[].amount | object | Positive adjustment amount and plan currency. |
plans[].entries[].adjustment_state | enum | reported, verified, or disputed. |
plans[].entries[].verified_amount | number | Buyer-accepted economic reduction; zero while reported, disputed, or for makegoods. |
plans[].entries[].evidence | object | Seller evidence ID, type, digest, and issue time. |
plans[].entries[].headroom_restored | number | Headroom restored by this record under the plan accounting mode. |
plans[].entries[].reviewed_by | string | Authenticated plan owner that reviewed the record. |
plans[].entries[].reviewed_at | string | Review timestamp. |
plans[].entries[].review_reason | string | Optional acceptance reason or required dispute reason. |
plans[].entries[].reason | string | Seller-supplied adjustment reason. |
plans[].entries[].effective_at | string | When the seller adjustment became effective. |