@adcp/sdk API Reference - v7.9.0
    Preparing search index...

    Interface CheckGovernanceResponse

    Governance agent's response to a check request. Returns whether the action is approved under the governance plan.

    interface CheckGovernanceResponse {
        check_id: string;
        status: GovernanceDecision;
        plan_id: string;
        explanation: string;
        findings?: {
            category_id: string;
            policy_id?: string;
            source_plan_id?: string;
            severity: EscalationSeverity;
            explanation: string;
            details?: {};
            confidence?: number;
            uncertainty_reason?: string;
        }[];
        conditions?: { field: string; required_value?: unknown; reason: string }[];
        expires_at?: string;
        next_check?: string;
        categories_evaluated?: string[];
        policies_evaluated?: string[];
        mode?: GovernanceMode;
        governance_context?: string;
        context?: ContextObject;
        ext?: ExtensionObject;
    }
    Index

    Properties

    check_id: string

    Unique identifier for this governance check record. Use in report_plan_outcome to link outcomes to the check that authorized them.

    status: GovernanceDecision
    plan_id: string

    Echoed from request.

    explanation: string

    Human-readable explanation of the governance decision.

    findings?: {
        category_id: string;
        policy_id?: string;
        source_plan_id?: string;
        severity: EscalationSeverity;
        explanation: string;
        details?: {};
        confidence?: number;
        uncertainty_reason?: string;
    }[]

    Specific issues found during the governance check. Present when status is 'denied' or 'conditions'. MAY also be present on 'approved' for informational findings (e.g., budget approaching limit).

    Type Declaration

    • category_id: string

      Validation category that flagged the issue (e.g., 'budget_compliance', 'regulatory_compliance', 'brand_safety').

    • Optionalpolicy_id?: string

      ID of the policy that triggered this finding. May reference a registry policy (with source: registry) or a bespoke inline policy (with source: inline). Bespoke policy_ids are unique within their authoring container; use source_plan_id when findings aggregate across multiple plans (e.g., portfolio evaluations).

    • Optionalsource_plan_id?: string

      For portfolio or aggregated evaluations where findings draw on bespoke policies from multiple member plans: identifies the plan whose policy triggered this finding. Omit when the finding's policy_id is unambiguous within the response context (e.g., single-plan check_governance).

    • severity: EscalationSeverity
    • explanation: string

      Human-readable description of the issue.

    • Optionaldetails?: {}

      Structured details for programmatic consumption.

    • Optionalconfidence?: number

      Confidence score (0-1) in this finding. Distinguishes 'this definitely violates the policy' (0.95) from 'this might violate depending on how audience segments resolve' (0.6). When absent, the finding is presented without a confidence qualifier.

      0

      1

    • Optionaluncertainty_reason?: string

      Explanation of why confidence is below 1.0 (e.g., 'Targeting includes regions that partially overlap jurisdiction boundaries'). Present when confidence is below a governance-agent-defined threshold.

    conditions?: { field: string; required_value?: unknown; reason: string }[]

    Present when status is 'conditions'. Specific adjustments the caller must make. After applying conditions, the caller MUST re-call check_governance with the adjusted parameters before proceeding.

    Type Declaration

    • field: string

      Dot-path to the field that needs adjustment (in payload for proposed, in planned_delivery for committed).

    • Optionalrequired_value?: unknown

      The value the field must have for approval. When present, the condition is machine-actionable. When absent, the condition is advisory.

    • reason: string

      Why this condition is required.

    expires_at?: string

    When this approval expires. Present when status is 'approved' or 'conditions'. The caller must act before this time or re-call check_governance. A lapsed approval is no approval.

    date-time

    next_check?: string

    When the seller should next call check_governance with delivery metrics. Present when the governance agent expects ongoing delivery reporting.

    date-time

    categories_evaluated?: string[]

    Governance categories evaluated during this check.

    policies_evaluated?: string[]

    Policy IDs evaluated during this check. Includes registry policy IDs (resolved via the policy registry) and any inline policy_ids declared in the plan's custom_policies.

    mode?: GovernanceMode
    governance_context?: string

    Governance context token for this governed action. The buyer MUST attach this to the protocol envelope when sending the purchase request (media buy, rights acquisition, signal activation) to the seller. The seller MUST persist it and include it on all subsequent check_governance calls for this action's lifecycle.

    Value format: in 3.0 governance agents MUST emit a compact JWS per the AdCP JWS profile (see Security — Signed Governance Context). Sellers MAY verify; sellers that do not verify MUST persist and forward the token unchanged so auditors can verify downstream. In 3.1 all sellers MUST verify per the checklist. Non-JWS values from pre-3.0 governance agents are deprecated and will be rejected in 3.1.

    Sellers that implement verification MUST verify signature, aud, exp, jti replay, and revocation per the profile before treating the request as governance-approved. This is the primary correlation key for audit and reporting across the governance lifecycle — the governance agent decodes its own signed token to look up internal plan state (buyer correlation IDs, policy decision log, etc.).

    1

    4096

    ^[\x20-\x7E]+$

    context?: ContextObject
    ext?: ExtensionObject