---
title: "Get agent compliance history"
method: GET
path: "/api/registry/agents/{encodedUrl}/compliance/history"
tags: ["Agent Compliance"]
---

# Get agent compliance history

`GET /api/registry/agents/{encodedUrl}/compliance/history`

## Request

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

Returns a list of compliance test runs for an agent, ordered most recent first.

If the agent has opted out, returns an empty list.

## Path parameters

- `encodedUrl` string, required: URL-encoded agent URL

## Query parameters

- `limit` string: Max results (default 30, max 100)

## Response `200`

Compliance run history

- object
  - `agent_url` string, required
  - `runs` ComplianceRun[], required
    - `provenance` ComplianceRunProvenance, nullable
      - `grading_policy_version` string, required
      - `compliance_bundle_version` string, nullable, required
      - `sdk_version` string, required
      - `agent_build_version` string, nullable, required: Agent-reported adcp.build_version; null when not supplied. Never inferred from the endpoint.
      - `agent_library_version` string, nullable, required
      - `test_session_id` string, nullable, required
      - `timeout_ms` number, nullable, required
      - `storyboard_start_offset` number, nullable, required
      - `auth_type` string, nullable, required
    - `id` string, required
    - `completeness` 'complete' | 'timed_out' | 'not_completed'
    - `is_authoritative` boolean
    - `requested_compliance_target` string, nullable
    - `adcp_version` string, nullable
    - `runner_capability_version` string, nullable: Runner capability version recorded at execution time, separate from the AdCP version under test. Null when not recorded, including historical runs.
    - `overall_status` string, required
    - `headline` string, nullable, required
    - `tracks_passed` integer, required
    - `tracks_failed` integer, required
    - `tracks_skipped` integer, required
    - `tracks_partial` integer, required
    - `tracks_json` unknown
    - `total_duration_ms` number, nullable, required
    - `triggered_by` string, required
    - `tested_at` string, required
  - `count` integer, required

## Other responses

- `400`: Invalid agent URL
- `500`: Server error

## Changes

- **2026-09-24** `91bfb6660a72`: 1 info
  - added the optional property `runs/items/runner_capability_version` to the response with the `200` status
- **2026-09-13** `7b7f2a79e874`: 3 info
  - added the optional property `runs/items/completeness` to the response with the `200` status
  - added the optional property `runs/items/is_authoritative` to the response with the `200` status
  - added the optional property `runs/items/provenance` to the response with the `200` status

[Operation history](https://skmtc.dev/adcontextprotocol/apis/agenticadvertising-org-registry-api/changes/api/registry/agents/:encodedUrl/compliance/history/get.md)

---

[API](https://skmtc.dev/adcontextprotocol/apis/agenticadvertising-org-registry-api.md) - [All operations](https://skmtc.dev/adcontextprotocol/apis/agenticadvertising-org-registry-api/llms.txt) - [OpenAPI document](https://skmtc.dev/adcontextprotocol/apis/agenticadvertising-org-registry-api/revisions/d8f6af89f253?raw)
