Documentation Index
Fetch the complete documentation index at: https://agenticadvertisingorg-changeset-release-main.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
report_plan_outcome
Experimental. Campaign governance (
sync_plans, check_governance, report_plan_outcome, get_plan_audit_logs) is part of AdCP 3.0 as an experimental surface — it may change between 3.x releases with at least 6 weeks’ notice. Sellers implementing it MUST declare governance.campaign in experimental_features. See experimental status for the full contract.check_governance with phase: "delivery".
Seller response (after create_media_buy)
Response (no issues)
Response (discrepancy found)
In this alternative scenario for the same action, the seller modified the request:Delivery data (periodic reporting)
Response (on track)
Response (anomaly detected)
Failed actions
If the seller rejected the request, report it so the governance agent can update plan state:Fields
Request
| Field | Type | Required | Description |
|---|---|---|---|
plan_id | string | Yes | The plan this outcome is for. |
check_id | string | Conditional | The check_id from check_governance. Links the outcome to the governance check that authorized it. Required for completed and failed outcomes. |
purchase_type | enum | No | The kind of financial commitment: media_buy (default), rights_license, signal_activation, or creative_services. When omitted, the governance agent assumes media_buy. |
outcome | enum | Yes | completed, failed, or delivery. |
seller_response | object | No | The seller’s full response. Required when outcome is completed. |
seller_response.seller_reference | string | No | The 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. |
seller_response.committed_budget | number | No | Total budget committed across all confirmed packages. When present, the governance agent uses this directly instead of summing individual package budgets. |
seller_response.packages | array | No | Confirmed packages with actual budget and targeting. |
seller_response.planned_delivery | object | No | What the seller said it will deliver. When seller-side governance is not configured, this is the governance agent’s only view of the seller’s delivery parameters. |
seller_response.creative_deadline | string | No | ISO 8601 deadline for creative submission. |
delivery | object | No | Delivery metrics. Required when outcome is delivery. The governance_context (already required on all governance calls) is the sole lifecycle correlator. |
delivery.reporting_period | object | No | Start and end timestamps for the reporting window. |
delivery.impressions | integer | No | Impressions delivered in the period. |
delivery.spend | number | No | Spend in the period. |
delivery.cpm | number | No | Effective CPM for the period. |
delivery.viewability_rate | number | No | Viewability rate (0-1). |
delivery.completion_rate | number | No | Video completion rate (0-1). |
error | object | No | Error details. Required when outcome is failed. |
error.code | string | No | Error code from the seller. |
error.message | string | No | Human-readable error description. |
Response
| Field | Type | Description |
|---|---|---|
outcome_id | string | Unique identifier for this outcome record. |
outcome_state | enum | accepted (state updated, no issues) or findings (issues detected). |
committed_budget | number | Budget committed from this outcome (present for completed/failed outcomes). |
findings | array | Present only when outcome_state is findings. |
findings[].category_id | string | Which validation category flagged the issue. |
findings[].severity | enum | info, warning, or critical. |
findings[].explanation | string | Human-readable description of the issue. |
findings[].details | object | Structured details for programmatic consumption. |
plan_summary | object | Updated plan budget state (present for completed/failed outcomes). |
Error codes
| Code | Recovery | Description |
|---|---|---|
PLAN_NOT_FOUND | correctable | No plan with this ID, or the plan is not accessible to the calling account. |
REFERENCE_NOT_FOUND | correctable | check_id does not resolve to a governance check, or governance_context does not resolve to a campaign in the plan. error.field MUST identify which typed parameter failed to resolve. |
CAMPAIGN_SUSPENDED | correctable | Plan is suspended pending human review. Outcome reporting is blocked until the escalation is resolved. |
Related tasks
check_governance— The governance check that authorized the actionsync_plans— Push or update the planget_plan_audit_logs— View plan state and audit trail