Agent Compliance

Get agent compliance detail

Changed on

Returns detailed compliance status for a single agent, including track-level results, storyboard counts, timestamps, and owner-only grading comparisons. Exact badge-scope rows compare Legacy and Strict Spec grading for one role/version; Sandbox remains preview-only. Reading never contacts the agent.

If the agent has opted out of compliance monitoring, returns a minimal response with status: opted_out.

get/api/registry/agents/{encodedUrl}/compliance

Request

  • Base URL
    https://agenticadvertising.org
  • URL
    https://agenticadvertising.org/api/registry/agents/{encodedUrl}/compliance
  • Auth
    none required

Path parameters

encodedUrlstring required

URL-encoded agent URL

Example:https%3A%2F%2Fexample.com%2Fmcp

Response

Compliance detail

agent_urlstring required
requested_compliance_targetstring nullable

Requested compliance target before alias resolution, e.g. 3.0 or 3.1-beta. Null for legacy rows before target recording.

adcp_versionstring nullable

Concrete AdCP compliance bundle version used for the latest run, e.g. 3.0.12. Null for legacy rows before version recording.

status'passing' | 'degraded' | 'failing' | 'unknown' | 'opted_out' required
lifecycle_stage'development' | 'testing' | 'production' | 'deprecated' required
compliance_opt_outboolean
badge_requalification_requiredboolean

True when monitoring is enabled but badges remain suppressed until a fresh passing full-suite run completes.

tracksobject
streak_daysinteger
last_checked_atstring nullable
last_passed_atstring nullable
last_failed_atstring nullable
headlinestring nullable
status_changed_atstring nullable
storyboards_passinginteger
storyboards_totalinteger
check_interval_hoursinteger

How often the heartbeat re-tests this agent, in hours

declared_specialismsstring[]

Specialisms the agent declared in get_adcp_capabilities, from the latest run

specialism_statusobject

Per-specialism pass/fail/untested status — keyed on declared specialism, derived from the matching storyboard's status

membership_tierstring nullable

Owner-scoped: the agent owner's membership tier. Populated only when the authenticated viewer owns the agent; null otherwise. Field is always present so response shape doesn't reveal ownership.

membership_tier_labelstring nullable

Owner-scoped: human-readable label for membership_tier (e.g. 'Builder'). Null for non-owners.

subscription_statusstring nullable

Owner-scoped: the agent owner's subscription status (active, past_due, trialing, etc.). Null for non-owners.

is_api_access_tierboolean

Owner-scoped: true when the owner's tier and subscription status grant badge eligibility. False for non-owners. Single source of truth — UI should not re-derive.

verdict_source'heartbeat' | 'owner_test' | 'manual' | 'webhook' | 'null' nullable

Owner-scoped: triggered_by value of the most recent non-dry-run compliance check. Null for non-owners and when no run has been recorded. Operators use this as a UX cue ('did this verdict come from my recent test or the system heartbeat?').

verifiedboolean

Example response

{
  "eligibility": {
    "criteria_version": "2026-08"
  }
}

Changes

    • info

      added the required property // to the response with the status

    • warning

      added the new sales-exchange enum value to the /// response property for the response status

    • warning

      added the new sales-retail-media enum value to the /// response property for the response status

    • warning

      added the new sales-streaming-tv enum value to the /// response property for the response status