@adcp/sdk API Reference - v10.0.1
    Preparing search index...

    Interface ReportPlanOutcomeRequest

    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'.

    interface ReportPlanOutcomeRequest {
        adcp_version?: string;
        adcp_major_version?: number;
        plan_id: string;
        check_id?: string;
        idempotency_key: string;
        purchase_type?: PurchaseType;
        outcome: OutcomeType;
        seller_response?: {
            seller_reference?: string;
            committed_budget?: number;
            packages?: { budget?: number }[];
            planned_delivery?: PlannedDelivery;
            creative_deadline?: string;
        };
        delivery?: {
            reporting_period?: { start: string; end: string };
            impressions?: number;
            spend?: number;
            cpm?: number;
            viewability_rate?: number;
            completion_rate?: number;
        };
        error?: { code?: string; message?: string };
        governance_context: string;
        context?: ContextObject;
        ext?: ExtensionObject;
    }
    Index

    Properties

    adcp_version?: string

    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.

    adcp_major_version?: number

    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.

    plan_id: string

    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.

    check_id?: string

    The check_id from check_governance. Links the outcome to the governance check that authorized it. Required for 'completed' and 'failed' outcomes.

    idempotency_key: string

    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.

    16

    255

    ^[A-Za-z0-9_.:-]{16,255}$

    purchase_type?: PurchaseType
    outcome: OutcomeType
    seller_response?: {
        seller_reference?: string;
        committed_budget?: number;
        packages?: { budget?: number }[];
        planned_delivery?: PlannedDelivery;
        creative_deadline?: string;
    }

    The seller's full response. Required when outcome is 'completed'.

    Type Declaration

    • Optionalseller_reference?: string

      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.

      255

    • Optionalcommitted_budget?: number

      Total budget committed across all confirmed packages. When present, the governance agent uses this directly instead of summing package budgets.

      0

    • Optionalpackages?: { budget?: number }[]

      Confirmed packages with actual budget and targeting.

    • Optionalplanned_delivery?: PlannedDelivery
    • Optionalcreative_deadline?: string

      ISO 8601 deadline for creative submission.

      date-time

    delivery?: {
        reporting_period?: { start: string; end: string };
        impressions?: number;
        spend?: number;
        cpm?: number;
        viewability_rate?: number;
        completion_rate?: number;
    }

    Delivery metrics. Required when outcome is 'delivery'.

    Type Declaration

    • Optionalreporting_period?: { start: string; end: string }

      Start and end timestamps for the reporting window.

      • start: string

        date-time

      • end: string

        date-time

    • Optionalimpressions?: number

      Impressions delivered in the period.

      0

    • Optionalspend?: number

      Spend in the period.

    • Optionalcpm?: number

      Effective CPM for the period.

    • Optionalviewability_rate?: number

      Viewability rate (0-1).

    • Optionalcompletion_rate?: number

      Video completion rate (0-1).

    error?: { code?: string; message?: string }

    Error details. Required when outcome is 'failed'.

    Type Declaration

    • Optionalcode?: string

      Error code from the seller.

    • Optionalmessage?: string

      Human-readable error description.

    governance_context: string

    Opaque governance context from the check_governance response that authorized this action. Enables the governance agent to correlate the outcome to the original check.

    1

    4096

    ^[\x20-\x7E]+$

    context?: ContextObject
    ext?: ExtensionObject