# AdCP - Ad Context Protocol: 3.1

> AdCP (Ad Context Protocol) is the open standard for agentic advertising. It defines how AI agents buy media, generate creatives, activate audiences, and enforce governance across platforms. Current stable documentation index: https://docs.adcontextprotocol.org/llms-current.md.

## 3.1

- [3.1 / Protocol (161 pages)](https://docs.adcontextprotocol.org/_llms/3-1/protocol.md): Documentation for 3.1 / Protocol.

### Getting Started

- [Introduction to AdCP](https://docs.adcontextprotocol.org/dist/docs/3.1.24/intro.md): AdCP is an open agentic advertising standard. Follow Alex's team from fragmentation to a unified workflow across all protocol domains.
- [Quickstart](https://docs.adcontextprotocol.org/dist/docs/3.1.24/quickstart.md): Pick your path — buyers call an AdCP agent in 5 minutes, publishers and sellers stand up their own agent.

### Building with AdCP

- [Building with AdCP](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/index.md): Single decision page for AdCP implementers. Pick the right entry point — caller, agent, or migration — based on what you're building and how much of the protocol you want to inherit.
- [Schemas & SDKs](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/schemas-and-sdks.md): Quick-start reference for AdCP schemas and client SDKs: installation, schema URLs, version discovery, and where to go next.
- [Protocol architecture](https://docs.adcontextprotocol.org/dist/docs/3.1.24/protocol/architecture.md): AdCP protocol architecture: identity layer (brand, registry, accounts), transaction domains (media buy, creative, signals, sponsored intelligence), and cross-cutting governance.
- [How AdCP is designed](https://docs.adcontextprotocol.org/dist/docs/3.1.24/protocol/design-principles.md): The load-bearing principles behind AdCP's design — what they rule out, when you'd be right to push back, and where the surface doesn't yet follow them.
- [Capabilities explorer](https://docs.adcontextprotocol.org/dist/docs/3.1.24/protocol/capabilities-explorer.md): Browsable view of the get_adcp_capabilities response schema — every top-level domain, every sub-namespace, with anchors and 'propose extension here' links so new flags land in the right home.
- [Specification Guidelines](https://docs.adcontextprotocol.org/dist/docs/3.1.24/spec-guidelines.md): AdCP specification guidelines: type naming rules, discriminated union patterns, field naming conventions, and style standards for writing protocol spec pages.
- [Required tasks by protocol](https://docs.adcontextprotocol.org/dist/docs/3.1.24/protocol/required-tasks.md): Consolidated reference of required and optional tasks for each AdCP protocol, organized by agent role.
- [Calling an AdCP agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/protocol/calling-an-agent.md): Wire-level invariants every AdCP buyer must follow: idempotency_key replay, account oneOf variants, async status:'submitted' polling, and error recovery from adcp_error.issues[].
- [Format References](https://docs.adcontextprotocol.org/dist/docs/3.1.24/protocol/format-references.md): Normative reference for format_id (structured identifier object) vs format (full definition object) in AdCP.
- [Snapshot and log](https://docs.adcontextprotocol.org/dist/docs/3.1.24/protocol/snapshot-and-log.md): The contract that ties every read API to its push channel — what a snapshot is, what a log is, how they share an id space, and why pulling the snapshot is the only replay primitive AdCP commits to.

#### AdCP 3.x

- [AdCP 3.0](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/whats-new-in-v3.md): What's new in AdCP 3.0: brand identity and rights, creative workflow upgrades, governance, sponsored intelligence, collections and installments, 20 media channels, and migration guides from v2.
- [What's New in AdCP 3.1](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/whats-new-in-3-1.md): Adopter overview of AdCP 3.1 — distributed brand.json, dependency-impact webhooks, wholesale feed mirroring, release-precision version negotiation, brand response signing, canonical creative formats, vendor-attested measurement, action discovery, and more. Additive over 3.0; use wire pin 3.1 for the…
- [v3 readiness checklist](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/v3-readiness.md): The 8 minimum requirements for seller agents to pass AdCP v3 storyboard testing.
- [Migrating from v2 to v3](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/index.md): A complete guide to migrating AdCP integrations from v2.x to v3.0, with breaking changes, effort estimates, and deep-dive pages for each area.
- [Migrating from 3.0 to 3.1](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/3-0-to-3-1.md): A focused upgrade guide for moving AdCP 3.0 integrations to the 3.1 stable release.
- [Prerelease upgrade notes](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/prerelease-upgrades.md): Breaking and additive changes between AdCP 3.0.0 release candidates.
- [Migrating channels](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/channels.md): Migrate AdCP channels from v2 to v3. Maps v2's 9 format-oriented channels to v3's 20 planning-oriented media channels with field-by-field examples.
- [Migrating pricing](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/pricing.md): Migrate AdCP pricing from v2 to v3. Covers field renames, the hard constraint vs soft hint separation, and updated pricing option schemas.
- [Migrating geo targeting](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/geo-targeting.md): Migrate AdCP geo targeting from v2 to v3. Replaces implicit US-centric targeting with named systems (Nielsen DMA, postal codes) for global market support.
- [Migrating creatives](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/creatives.md): Migrate AdCP creatives from v2 to v3. Replaces creative_ids with weighted assignments and assets_required with a unified assets array for format discovery.
- [Migrating to creative transformers (3.1)](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/creative-transformers.md): Move build-capability discovery and creative pricing off Format fields onto transformers (list_transformers). Additive in 3.1; deprecated Format fields removed at 4.0.
- [Migrating catalogs](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/catalogs.md): Migrate AdCP catalogs from v2 to v3. Replaces promoted_offerings with first-class catalog objects, sync_catalogs task, and format-level catalog requirements.
- [Migrating optimization goals](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/optimization-goals.md): Migrate AdCP optimization goals from beta.3 to rc.1. Replaces singular optimization_goal with a multi-goal array using discriminated unions and priority ordering.
- [Migrating brand identity](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/brand-identity.md): Migrate AdCP brand identity from beta.3 to rc.1. Replaces inline brand_manifest objects with BrandRef references resolved via brand.json or the community registry.
- [Migrating signals](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/signals.md): Migrate AdCP signals from beta.3 to rc.1. Covers deliver_to flattening, structured pricing options, and simplified usage reporting fields.
- [Migrating audiences](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/audiences.md): Migrate AdCP audiences from beta.3 to rc.1. Promotes external_id to a required top-level field on AudienceMember with stable buyer-assigned identifiers.
- [Migrating attribution windows](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/attribution.md): Migrate AdCP attribution windows from v2 to v3. Replaces integer day counts with structured Duration objects and adds required attribution model field.
- [Migrating to `media_buy_status` (3.1)](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/migration/media-buy-status.md): Move from body-level `status` to `media_buy_status` on create_media_buy and update_media_buy success responses. Additive in 3.1; legacy field removed in 3.2; nested status cascade follows in 4.0.

#### Concepts

- [Why AdCP](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/concepts/index.md): Why AdCP exists: the fragmentation problem across RTB, platform APIs, and direct IO — and how a universal agent protocol for advertising solves it.
- [Protocol Comparison](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/concepts/protocol-comparison.md): MCP vs A2A for AdCP: side-by-side comparison of transport formats, async handling, status systems, and when to use each protocol for advertising agent integration.
- [AdCP and OpenRTB](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/concepts/adcp-vs-openrtb.md): AdCP vs OpenRTB: how they differ and work together. AdCP handles agent workflows, OpenRTB handles impression-time decisions, and the Trusted Match Protocol connects the two for use cases like cross-publisher frequency capping.
- [How AI agents communicate ad specs across platforms](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/concepts/how-agents-communicate.md): How AI advertising agents discover inventory, exchange campaign data, and execute buys across platforms using AdCP's standardized task schemas and MCP transport.
- [Security Model](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/concepts/security-model.md): Why agentic advertising raises the stakes for security, the threats AdCP is designed to defend against, and a checklist for security and IT leaders evaluating an AdCP deployment.
- [AI advertising standards landscape](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/concepts/industry-landscape.md): AI advertising standards landscape: how AdCP, OpenRTB, MCP, and A2A relate. Comparison of protocols, standards bodies, and their roles in agentic advertising.
- [Managing Response Size](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/concepts/managing-response-size.md): How to keep AdCP responses lean: field selection, pagination, buying modes, truncation flags, and the wire-vs-context distinction that matters most.

#### Build by layer

##### L4 — Business logic

- [L4 — Business logic](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L4/index.md): Business-logic layer of the AdCP stack. What an SDK leaves to you: inventory and pricing on the agent side, planning and buying on the caller side. The default starting layer for ~95% of adopters.
- [Choose your SDK](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L4/choose-your-sdk.md): Pick the AdCP SDK for your language. Coverage matrix, install commands, and what each SDK ships at L0–L3 so you can focus on L4 business logic.
- [Build an Agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L4/build-an-agent.md): Use AdCP SDK skill files to generate storyboard-compliant agents with a coding agent in minutes.
- [Build a caller](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L4/build-a-caller.md): Client-side guide for AdCP buyers and demand-side applications. Install the SDK, discover an agent's capabilities, make calls, handle async responses and errors, and ingest reporting. Weeks of handler glue, not months.
- [Migrate from a hand-rolled agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L4/migrate-from-hand-rolled.md): Incremental migration path for adopters with a working AdCP agent in production. Inventory step, lowest-risk-first swap order, conflict modes (idempotency, account-mode, webhook signing, state-machine drift), per-step rollback playbook, intermediate states that pass conformance, and when not to migr…

##### L3 — Protocol semantics

- [L3 — Protocol semantics](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L3/index.md): Protocol-semantics layer of the AdCP stack. Lifecycle state machines, idempotency, error catalog, async-task contract, conformance test surface, webhook emission. Where most of an SDK's value lives.
- [Task Lifecycle](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L3/task-lifecycle.md): AdCP task lifecycle: status values (submitted, working, input-required, completed, failed), state transitions, response structure, and polling patterns for all operations.
- [Async Operations](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L3/async-operations.md): AdCP async operations guide: handling synchronous, asynchronous, and interactive (input-required) task types with polling, SSE streaming, and timeout strategies.
- [Push Notifications](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L3/webhooks.md): AdCP push notifications: how sellers deliver async task status updates to your webhook endpoint via RFC 9421–signed POST requests (with legacy HMAC fallback). Setup, URL templates, and idempotency.
- [Error Handling](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L3/error-handling.md): AdCP error handling: protocol errors, task failures, and validation errors with standard error codes, recovery strategies, and exponential backoff retry logic.
- [Compliance test controller](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L3/comply-test-controller.md): Optional sandbox tool that lets the storyboard runner walk full lifecycle state machines by triggering seller-side transitions deterministically.

##### L2 — Auth & registry

- [L2 — Auth & registry](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L2/index.md): Auth-and-registry layer of the AdCP stack. Turns a verified identity into a scoped principal — which buyer, which brand, which advertiser account, which sandbox-vs-live tier.
- [Authentication](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L2/authentication.md): AdCP authentication guide: public vs authenticated operations, static credential implementation, and credential management for buyer and seller agents.
- [Account state](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L2/account-state.md): AdCP account state model: how accounts hold catalogs, creatives, audiences, event sources, and campaigns. Sync tasks, upsert semantics, and async approval workflows.
- [Accounts and agents](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L2/accounts-and-agents.md): AdCP accounts and agents: the four entities in every transaction (brand, account, operator, agent), account-id namespaces, buyer-declared accounts, and billing configuration.
- [Context & Sessions](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L2/context-sessions.md): AdCP context_id vs task_id explained. How to manage conversation state, session continuity, and extension fields across MCP and A2A protocol requests.

##### L1 — Identity & signing

- [L1 — Identity & signing](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L1/index.md): Identity-and-signing layer of the AdCP stack. RFC 9421 HTTP message signatures, public-key resolution, replay-window enforcement, key rotation.
- [Security](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L1/security.md): AdCP security guide: risk classification for financial operations, webhook HMAC verification, replay prevention, access control, and credential management for production deployments.
- [Request Signing Guide](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L1/request-signing.md): Step-by-step guide to RFC 9421 request signing in AdCP: key generation, JWKS publication, brand.json setup, client-side signing, server-side verification, webhook signing, key rotation, and conformance testing.
- [Webhook Verifier Tuning Guide](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L1/webhook-verifier-tuning.md): Non-normative tuning recipes for webhook verifier thresholds — starting values, baselining methodology, and attack-scenario walkthroughs.

##### L0 — Wire & transport

- [L0 — Wire & transport](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L0/index.md): Wire-and-transport layer of the AdCP stack. JSON-over-HTTP framing, MCP message envelopes, A2A SSE streams, schema validation, language-native type generation.
- [Schemas](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L0/schemas.md): AdCP JSON schemas: where to fetch them, the protocol tarball, schema versioning, bundled vs $ref-resolving variants, and how to verify supply-chain provenance via Sigstore.
- [MCP Guide](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L0/mcp-guide.md): AdCP MCP integration guide: tool call patterns, context_id management, response parsing, and wire format for Model Context Protocol implementations.
- [A2A Guide](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L0/a2a-guide.md): AdCP A2A integration guide: client setup, agent card verification, SSE streaming for async tasks, artifact handling, and response format for Agent-to-Agent Protocol.
- [A2A Response Format](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L0/a2a-response-format.md): A2A response format for AdCP: required DataPart structure, artifact layout for completed and async tasks, and status-specific response patterns over Agent-to-Agent Protocol.
- [get_adcp_capabilities](https://docs.adcontextprotocol.org/dist/docs/3.1.24/protocol/get_adcp_capabilities.md): get_adcp_capabilities is the first call a buyer makes to discover an AdCP seller's supported protocols, auth model, version, and feature capabilities. Request and response schema reference.
- [MCP Response Extraction](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L0/mcp-response-extraction.md): How to extract AdCP success response data from MCP tool results: structuredContent, text fallback, and client implementation requirements.
- [A2A Response Extraction](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/by-layer/L0/a2a-response-extraction.md): How to extract AdCP response data from A2A Task objects: status-based branching, last-DataPart authority, wrapper rejection, and client implementation requirements.

#### Cross-cutting

- [The AdCP stack](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/cross-cutting/sdk-stack.md): Layered reference for AdCP implementers. The five layers (L0 wire, L1 signing, L2 auth, L3 protocol semantics, L4 business logic), what each layer contains, what an SDK at each layer should provide, how SDKs absorb version drift, and what 'from scratch' actually signs you up for.
- [Version Adaptation](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/cross-cutting/version-adaptation.md): Three version axes move at the same time when you ship an AdCP agent — spec version, SDK version, and per-peer version. SDKs ship three concrete mechanisms (per-call pinning, co-existence imports, on-wire negotiation) so adopters don't carry the translation matrix in handler code.
- [Known spec ambiguities](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/cross-cutting/known-ambiguities.md): Open AdCP spec gaps that affect compliance testing — with workarounds and issue links. Entries are removed as the underlying issues close.

#### Verification & trust

- [Conformance Specification](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/verification/conformance.md): What 'AdCP-conformant' means, defined by the storyboards that verify it. Conformance is what the spec requires; verified is what the suite attests.
- [Compliance Catalog](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/verification/compliance-catalog.md): Full index of AdCP protocols and specialisms an agent can claim — what each one means, which compliance storyboards run, and where to find the source YAML.
- [Storyboards vs. scenarios — which is which](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/verification/storyboards-vs-scenarios.md): Three things in AdCP share the word 'scenarios' and they aren't the same. Here's how to tell them apart.
- [How grading works](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/verification/how-grading-works.md): How the AdCP compliance runner translates specialism declarations into a concrete set of graded storyboards — and how capability flags alter that set.
- [Validate your agent using storyboards](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/verification/validate-your-agent.md): Test your AdCP agent with storyboards — from the CLI or through Addie.
- [Validate adapter agents with mock upstream fixtures](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/verification/validate-with-mock-fixtures.md): Pre-staging gate for AdCP adapter agents — published mock upstreams plus traffic counters surface integration gaps before staging tests.
- [Pair-program with Addie (Socket Mode)](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/verification/addie-socket-mode.md): Connect your dev/staging AdCP agent to Addie via outbound WebSocket so she can run storyboards against it conversationally. No public DNS, no ngrok, no inbound exposure.
- [Auth Graders](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/verification/grading.md): AdCP CLI graders for RFC 9421 request-signing conformance, OAuth handshake diagnosis, and Ed25519/P-256 signing key generation and verification.
- [Get Test-Ready](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/verification/get-test-ready.md): What a sales agent operator must have in place before running storyboards — capabilities, sandbox accounts, and the compliance test controller.
- [AAO Verified](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/verification/aao-verified.md): The public trust mark for AdCP agents. Two qualifiers — Verified (Spec) for wire-format conformance, Verified (Sandbox) for production-surface sandbox tolerance. Earn either or both.

#### Operating

- [Operating an Agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/operating/operating-an-agent.md): What sits behind a protocol-compliant agent — products, activation, hosting, and whether to partner, self-host, or build.
- [Orchestrator Design](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/operating/orchestrator-design.md): AdCP orchestrator design: state machine patterns, persistent operation tracking, async-first architecture, and reconciliation for multi-vendor campaign workflows.
- [Transport Error Mapping](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/operating/transport-errors.md): How AdCP structured errors travel over MCP and A2A transports: extraction paths, JSON-RPC codes, recovery behavior, and client implementation requirements.
- [Making your inventory available to AI agents](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/operating/seller-integration.md): Seller integration guide for AdCP. How publishers, SSPs, and ad platforms expose inventory to AI buyer agents through standardized product discovery and media buy tasks.
- [Storyboard troubleshooting](https://docs.adcontextprotocol.org/dist/docs/3.1.24/building/operating/storyboard-troubleshooting.md): Common failure patterns when running AdCP compliance storyboards — missing fixtures, signature challenges, envelope drift, context echo, capability mismatches, and state-machine error codes.

#### Accounts

- [Accounts Protocol](https://docs.adcontextprotocol.org/dist/docs/3.1.24/accounts/overview.md): AdCP Accounts Protocol defines the commercial layer for advertising transactions — billing, operator authorization, and usage reporting between buyers, brands, and vendor agents.
- [sync_accounts](https://docs.adcontextprotocol.org/dist/docs/3.1.24/accounts/tasks/sync_accounts.md): sync_accounts provisions buyer-declared accounts or updates settings on existing accounts with an AdCP seller agent.
- [list_accounts](https://docs.adcontextprotocol.org/dist/docs/3.1.24/accounts/tasks/list_accounts.md): list_accounts returns all advertiser accounts an authenticated agent can operate on an AdCP vendor agent. Works across media buy, signals, governance, and creative protocols.
- [report_usage](https://docs.adcontextprotocol.org/dist/docs/3.1.24/accounts/tasks/report_usage.md): report_usage sends consumption data to AdCP vendor agents after campaign delivery — impressions served, signals queried, governance checks run — so vendors can track revenue and verify billing.
- [sync_governance](https://docs.adcontextprotocol.org/dist/docs/3.1.24/accounts/tasks/sync_governance.md): sync_governance syncs governance agent endpoints to specific accounts. The seller persists these agents and calls them via check_governance during media buy lifecycle events.
- [get_account_financials](https://docs.adcontextprotocol.org/dist/docs/3.1.24/accounts/tasks/get_account_financials.md): get_account_financials returns spend summaries, credit balances, payment status, and invoice history for operator-billed AdCP accounts. Requires account_financials capability.

### FAQ

- [Frequently asked questions](https://docs.adcontextprotocol.org/dist/docs/3.1.24/faq.md): Answers to common questions about AdCP — licensing (Apache 2.0, free to use), how it relates to OpenRTB and IAB standards, who maintains it (AgenticAdvertising.org), and how to start implementing.

### Trust & Security

- [Trust & Security](https://docs.adcontextprotocol.org/dist/docs/3.1.24/trust.md): How AdCP structures decisions for verifiability and oversight — the seams the protocol provides, and what deployers are responsible for.
- [Seller verification](https://docs.adcontextprotocol.org/dist/docs/3.1.24/verification/overview.md): How a buyer verifies an unfamiliar seller end-to-end — brand.json, adagents.json, and request signing as one chain, with bounded honesty about what the chain does not prove.
- [AI Disclosure](https://docs.adcontextprotocol.org/dist/docs/3.1.24/ai-disclosure.md): How AdCP and AgenticAdvertising.org use AI — what's AI-authored, what's AI-assisted, model and provider disclosure, and how to request human review.
- [Privacy Considerations](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/privacy-considerations.md): Cross-protocol privacy entry point for AdCP implementers, compliance reviewers, and CISOs — what each protocol carries, what it does not, and where implementers must handle privacy themselves.
- [Known Limitations](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/known-limitations.md): Explicit non-goals and deferred items in AdCP 3.0 — what the protocol does not do, so implementers and reviewers can plan accordingly.

### Reference

- [GMSF Reference](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/gmsf-reference.md): GMSF reference for AdCP: Global Media Sustainability Framework carbon measurement standards, metrics, and how they apply to agentic advertising campaigns.
- [Media Channel Taxonomy](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/media-channel-taxonomy.md): AdCP media channel taxonomy: the 19 standardized channel types (CTV, OLV, DOOH, podcasts, retail media, etc.) used for media planning and budget allocation.
- [Measurement Taxonomy](https://docs.adcontextprotocol.org/dist/docs/3.1.24/measurement/taxonomy.md): Three-layer model for AdCP measurement — metrics (delivery), verification (quality), attribution (outcomes) — and how each layer differs in source of truth, protocol home, and rate of change.
- [Roadmap](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/roadmap.md): AdCP protocol roadmap: RFCs, epics, and development milestones tracked on our public GitHub Project board.
- [Versions & Compatibility](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/versions.md): Every published AdCP version, its status, and its end-of-life date. Start here if you're choosing or upgrading a version.
- [Versioning & Governance](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/versioning.md): How AdCP versions releases, manages schema changes, and governs protocol evolution.
- [Specification lifecycle](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/specification-lifecycle.md): How AdCP specification sections move from Draft to Final, who decides each transition, and what stability contract each stage carries for implementers.
- [URL Canonicalization](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/url-canonicalization.md): The canonicalization rules AdCP uses everywhere two URLs are compared as identifiers — request signing, authorization matching, and registry lookups.
- [Verifying protocol tarballs](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/verifying-protocol-tarballs.md): Verify AdCP protocol bundle publisher identity with cosign keyless and the Sigstore transparency log.
- [Reference Test Vectors](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/test-vectors/index.md): Machine-readable fixtures SDKs and implementations diff against to confirm wire-format agreement. Versioned alongside the spec; frozen at each release.
- [Experimental Status](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/experimental-status.md): How AdCP marks surfaces that are in the spec but not yet frozen. What experimental means for implementers, what changes inside 3.x, and how an experimental surface graduates to stable.
- [Schema Extensions](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/schema-extensions.md): Reference for AdCP-specific `x-` prefixed schema annotations.
- [v2 Sunset](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/v2-sunset.md): AdCP v2 is unsupported as of 3.0 GA. Security-only patches through August 1, 2026 (UTC); full deprecation thereafter. Begin migration to 3.0 now.
- [Release Notes](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/release-notes.md): Authoritative AdCP version-by-version release record with cumulative change detail, migration guidance, and per-version adoption notes.
- [Changelog](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/changelog.md): Link to the AdCP changelog on GitHub, covering breaking changes, new features, and schema updates for every release.
- [Implementor FAQ](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/implementor-faq.md): AdCP implementor FAQ: answers to common questions about get_products parameters, creative sync, delivery reporting, and building sales agents.
- [Glossary](https://docs.adcontextprotocol.org/dist/docs/3.1.24/reference/glossary.md): AdCP glossary: definitions of agents, accounts, audiences, signals, governance, media buys, creatives, and other Ad Context Protocol terms.
- [Working Group](https://docs.adcontextprotocol.org/dist/docs/3.1.24/community/working-group.md): AdCP working group: join the open community of platforms, agencies, and developers shaping the Ad Context Protocol. Collaborate on Slack and GitHub.
- [Joining the Community Slack](https://docs.adcontextprotocol.org/dist/docs/3.1.24/community/joining-slack.md): How to join the AgenticAdvertising.org Slack community — public invite link, domain allowlist policy, and what to do if the link doesn't work.

#### Registry API

- [Registry API](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/index.md): Public REST API for brand resolution, property lookup, agent discovery, and authorization in the AdCP ecosystem.
- [Registering an agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/registering-an-agent.md): How agents appear in the AAO registry — the single enrollment path and what AAO membership unlocks.
- [Maintaining your agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/maintaining-your-agent.md): Operator lifecycle guide — how AAO Verified heartbeats work, how to read dashboard status, how to re-probe, and how to interpret comply reports.

##### Search

- [API discovery](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/search/api-discovery.md): Returns links to the main API entry points and documentation.
- [Search](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/search/search.md): Search across brands, publishers, and properties. Returns up to 5 results per category.
- [Manifest reference lookup](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/search/manifest-reference-lookup.md): Find the best manifest reference (brand.json URL or agent) for a domain.

##### Brand Resolution

- [Resolve brand](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/brand-resolution/resolve-brand.md): Resolve a domain to its canonical brand identity. Follows brand.json redirects and returns the resolved brand with its house, architecture type, and optional manifest.
- [Bulk resolve brands](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/brand-resolution/bulk-resolve-brands.md): Resolve up to 100 domains to their canonical brand identities in a single request.
- [Get brand.json](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/brand-resolution/get-brandjson.md): Fetch the raw brand.json file for a domain.
- [Save brand](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/brand-resolution/save-brand.md): Save or update a brand in the registry. Requires authentication. For existing brands, creates a revision-tracked edit. For new brands, creates the brand directly. Cannot edit authoritative brands managed via brand.json.
- [List brands](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/brand-resolution/list-brands.md): List all brands in the registry with optional search, pagination, and source filter.
- [Brand activity history](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/brand-resolution/brand-activity-history.md): Returns the edit history for a brand in the registry, newest first. Only brands with community or enriched edits have history; brand.json-sourced brands are authoritative and do not generate revisions.
- [Enrich brand](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/brand-resolution/enrich-brand.md): Enrich brand data using Brandfetch. Returns logo, colors, and company information. Authenticated callers may also receive ephemeral Brand Context API identity/positioning/voice data.
- [Find brands by name](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/brand-resolution/find-brands-by-name.md): Search for brands by name or domain. Returns matching results with basic identity info.
- [Set up a hosted brand.json](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/brand-resolution/set-up-a-hosted-brandjson.md): Create or update a hosted brand.json for a domain owned by the authenticated user's organization. Returns the hosted URL and a pointer snippet for DNS setup.

##### Property Resolution

- [Property activity history](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/property-resolution/property-activity-history.md): Returns the edit history for a property in the registry, newest first.
- [Resolve property](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/property-resolution/resolve-property.md): Resolve a publisher domain to its property information. Checks hosted properties, discovered properties, then live adagents.json validation.
- [Bulk resolve properties](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/property-resolution/bulk-resolve-properties.md): Resolve up to 100 publisher domains at once.
- [List properties](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/property-resolution/list-properties.md): List all properties in the registry with optional search, pagination.
- [Validate adagents.json](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/property-resolution/validate-adagentsjson.md): Validate a domain's adagents.json file and return the validation result.
- [Save property](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/property-resolution/save-property.md): Save or update a hosted property in the registry. Requires authentication. For existing properties, creates a revision-tracked edit. For new properties, creates the property directly. Cannot edit authoritative properties managed via adagents.json.
- [Claim a domain for bind-on-verify](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/property-resolution/claim-a-domain-for-bind-on-verify.md): Issue a pending domain claim for the caller's organization and return a claim-specific `authoritative_location` URL (`…/adagents.json?adcp_claim=<token>`). The caller places that single pointer at their own origin `/.well-known/adagents.json`; a subsequent verify-origin reads the token and binds the…
- [Verify AAO-hosted publisher origin](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/property-resolution/verify-aao-hosted-publisher-origin.md): Trigger origin verification for an AAO-hosted publisher: fetches the publisher's own `/.well-known/adagents.json` and checks for an `authoritative_location` field pointing at the AAO-hosted URL. On success, promotes `agent_publisher_authorizations` rows from `source='aao_hosted'` to `source='adagent…
- [Check property list](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/property-resolution/check-property-list.md): Check a list of publisher domains against the AAO registry. Normalizes domains (strips www/m prefixes), removes duplicates, flags known ad tech infrastructure, and identifies domains not yet in the registry.
- [Get property check report](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/property-resolution/get-property-check-report.md): Retrieve a previously stored property check report by ID. Reports expire after 7 days.
- [Bulk property identifier check](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/property-resolution/bulk-property-identifier-check.md): Check up to 10,000 property identifiers (domains, app bundle IDs, CTV store URLs) against the registry catalog. Returns a verdict for each identifier and a summary.
- [Get bulk check report](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/property-resolution/get-bulk-check-report.md): Retrieve a previously generated bulk property check report by ID.

##### Agent Discovery

- [List agents](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-discovery/list-agents.md): List all agents in the registry. Optionally enrich with health checks, capabilities, and property summaries via query parameters. Measurement-vendor filters (`metric_id`, `accreditation`, `q`) imply `type=measurement` when `type` is unset; an explicit `type` other than `measurement` returns 400.
- [List publishers](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-discovery/list-publishers.md): List all registered publishers.
- [Registry statistics](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-discovery/registry-statistics.md): Get aggregate statistics about the registry.
- [Search agent inventory profiles](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-discovery/search-agent-inventory-profiles.md): Search agents by inventory profile — channels, markets, content categories, property types, and more. Filters use AND across dimensions and OR within a dimension. Results are ranked by relevance score.
- [Request domain re-crawl](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-discovery/request-domain-re-crawl.md): Trigger an immediate re-crawl of a publisher domain after updating adagents.json. The crawl runs asynchronously — returns 202 immediately.
- [Request manager fan-out re-validation](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-discovery/request-manager-fan-out-re-validation.md): Trigger re-validation of every publisher delegating to a manager domain via ads.txt `MANAGERDOMAIN`. Use after rotating the manager's `adagents.json` so the change propagates to delegating publishers without waiting for the next routine crawl cycle. Work is queued and drained at a bounded rate (≈50…

##### Authorization Lookups

- [Domain lookup (deprecated)](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/authorization-lookups/domain-lookup-deprecated.md): **Deprecated.** Use `/api/registry/publisher?domain=X` for richer data including hosting state, per-agent rollup, and brand.json fallback. This endpoint will be removed in a future release.
- [Property identifier lookup](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/authorization-lookups/property-identifier-lookup.md): Find agents that hold a specific property identifier.
- [Agent domain lookup](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/authorization-lookups/agent-domain-lookup.md): Get all publisher domains associated with an agent.
- [AAO directory inverse-lookup](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/authorization-lookups/aao-directory-inverse-lookup.md): Given a percent-encoded `agent_url`, returns the publishers whose adagents.json authorizes that agent, with provenance (`discovery_method`, `manager_domain`), per-publisher property counts (`properties_authorized`, `properties_total`, scoped to this publisher only — never network-wide), signing-key…
- [AAO directory inverse-lookup](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/authorization-lookups/aao-directory-inverse-lookup-1.md): Given a percent-encoded `agent_url`, returns the publishers whose adagents.json authorizes that agent, with provenance (`discovery_method`, `manager_domain`), per-publisher property counts (`properties_authorized`, `properties_total`, scoped to this publisher only — never network-wide), signing-key…
- [Operator lookup](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/authorization-lookups/operator-lookup.md): Given a domain, returns the agents this entity operates and which publishers trust them.
- [Publisher lookup](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/authorization-lookups/publisher-lookup.md): Given a domain, returns the inventory this entity publishes and which agents it authorizes.
- [Revalidate publisher adagents.json](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/authorization-lookups/revalidate-publisher-adagentsjson.md): Admin-only endpoint for support/operator tooling to synchronously fetch a publisher's live `/.well-known/adagents.json`, run the registry validator, persist the refreshed verdict and fetch metadata, and return the validation result. `force=true` is accepted for operator tooling; the current validato…
- [Per-agent authorization rollup](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/authorization-lookups/per-agent-authorization-rollup.md): Returns whether a given agent is authorized for a publisher domain and how many of the publisher's properties it can sell. When the agent has property-level authorization rows, the count is the intersection with the publisher's property set; when it only has a publisher-wide row, the count equals th…
- [Validate product authorization](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/authorization-lookups/validate-product-authorization.md): Check whether an agent is authorized to sell a product based on its publisher_properties.
- [Expand product identifiers](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/authorization-lookups/expand-product-identifiers.md): Expand publisher_properties selectors into concrete property identifiers for caching.
- [Property authorization check](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/authorization-lookups/property-authorization-check.md): Quick check if a property identifier is authorized for an agent. Optimized for real-time ad request validation.

##### Validation Tools

- [Validate adagents.json](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/validation-tools/validate-adagentsjson.md): Validate a domain's adagents.json file and optionally validate referenced agent cards.
- [Generate adagents.json](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/validation-tools/generate-adagentsjson.md): Generate a valid adagents.json file from authorized agents and/or catalog content. `authorized_agents` may be empty for a catalog-only community mirror that publishes formats/properties/placements for a platform that has not adopted AdCP.

##### Community Mirrors

- [List community mirrors](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/community-mirrors/list-community-mirrors.md): List persisted catalog-only adagents.json community mirrors. The list projection includes presence and freshness metadata but omits the full `adagents_json` body; fetch a platform-specific mirror for the full document.
- [Get community mirror](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/community-mirrors/get-community-mirror.md): Fetch one persisted community mirror by platform. A present mirror returns the platform metadata plus the stored catalog-only `adagents_json` document; absent mirrors return 404.
- [Publish community mirror](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/community-mirrors/publish-community-mirror.md): Publish or update a catalog-only adagents.json community mirror. Requires a registry moderator or AgenticAdvertising.org admin. The service validates the assembled document against adagents.json, forces `authorized_agents: []`, regenerates `$schema` and `last_updated`, and updates derived publisher-…
- [Delete community mirror](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/community-mirrors/delete-community-mirror.md): Delete a persisted community mirror and retire derived publisher-domain catalog rows. Requires a registry moderator or AgenticAdvertising.org admin. Without `force=true`, the service refuses to delete a mirror that has not first published a `superseded_by` migration URL.

##### Agent Probing

- [Discover agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-probing/discover-agent.md): Probe an agent URL to discover its name, type, supported protocols, and basic statistics.
- [Get agent formats](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-probing/get-agent-formats.md): Fetch creative formats from a creative agent.
- [Get agent products](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-probing/get-agent-products.md): Fetch products from a sales agent.
- [Validate publisher](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-probing/validate-publisher.md): Validate a publisher domain's adagents.json and return summary statistics.

##### Policy Registry

- [List policies](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/policy-registry/list-policies.md): Browse and search the governance policy registry. Returns approved policies with optional filtering by category, enforcement level, jurisdiction, policy category, and governance domain.
- [Resolve policy](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/policy-registry/resolve-policy.md): Resolve a single policy by ID. Optionally pin to a specific version — returns null if the version does not match.
- [Bulk resolve policies](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/policy-registry/bulk-resolve-policies.md): Resolve up to 100 policies by ID in a single request. Returns a map of policy_id to Policy (or null if not found).
- [Policy revision history](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/policy-registry/policy-revision-history.md): Retrieve the edit history for a policy. Each revision records who made the change, a summary, and whether it was a rollback.
- [Save policy](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/policy-registry/save-policy.md): Create or update a community-contributed policy. Requires authentication. Registry-sourced and pending-review policies cannot be edited (returns 409). Updates automatically create a revision record.

##### Change Feed

- [Registry change feed](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/change-feed/registry-change-feed.md): Poll a cursor-based feed of registry changes. Events are ordered by UUID v7 event_id for monotonic cursor progression. The feed retains events for 90 days. The `freshness` object reports when the response was generated, the newest matching event currently visible to the feed, and the resulting feed…
- [Registry change feed stream](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/change-feed/registry-change-feed-stream.md): Subscribe to registry feed pages over Server-Sent Events. This is a push-friendly transport for the same cursor contract as `/api/registry/feed`: clients still persist `cursor`, apply only feed events, and recover from `cursor_expired` by re-bootstrapping. The stream emits `feed` events containing a…
- [Per-agent authorization pull](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/change-feed/per-agent-authorization-pull.md): Default endpoint for verification consumers (DSPs, sales houses, agencies). Returns the rows where the requested agent appears as `agent_url` — typically ≤ a few hundred. Pair with `/api/registry/feed?entity_type=authorization` to tail subsequent changes via the `X-Sync-Cursor` header.
- [Bootstrap snapshot for inline verifiers](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/change-feed/bootstrap-snapshot-for-inline-verifiers.md): Streams the full effective authorization set as gzipped NDJSON (one JSON object per line). Consumers persist `X-Sync-Cursor` and tail `/api/registry/feed?entity_type=authorization&cursor=<value>` for deltas.

##### Brand Discovery

- [Request brand.json re-crawl](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/brand-discovery/request-brandjson-re-crawl.md): Trigger an immediate re-crawl of a domain's brand.json. The crawl runs asynchronously — returns 202 immediately.

##### Agent Compliance

- [Get agent compliance detail](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-agent-compliance-detail.md): Returns detailed compliance status for a single agent, including track-level results, storyboard counts, and timestamps.
- [AAO public key set](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/aao-public-key-set.md): Returns the JSON Web Key Set (JWKS) containing AAO's public verification keys. Use these to verify AAO Verified badge tokens without calling AAO's API.
- [Get agent AAO Verified status](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-agent-aao-verified-status.md): Returns AAO Verified badge status for a single agent. Public and cacheable. Includes role badges, verified storyboards, and a link to the agent's registry listing.
- [Get agent verification badge SVG](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-agent-verification-badge-svg.md): Returns an SVG badge image for the specified agent and role. Shows 'AAO Verified | Sales Agent' (teal) when verified, or 'AAO Verified | Not Verified' (grey) when not. Cacheable, suitable for embedding in websites.
- [Get embeddable badge code](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-embeddable-badge-code.md): Returns HTML and Markdown embed snippets for displaying an AAO Verified badge on websites, social profiles, and documentation. The badge links to the agent's AAO registry listing.
- [Get version-pinned agent verification badge SVG](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-version-pinned-agent-verification-badge-svg.md): Returns an SVG badge image scoped to a specific AdCP release (MAJOR.MINOR, e.g. '3.0'). Buyers who want to call out 'verified for 3.0' embed this instead of the legacy `/badge/{role}.svg` (which auto-upgrades to the highest active version). Renders 'Not Verified' when the agent never earned a badge…
- [Get version-pinned embeddable badge code](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-version-pinned-embeddable-badge-code.md): Returns HTML and Markdown embed snippets that point at the version-pinned SVG. Alt text includes the version (e.g. 'AAO Verified Media Buy Agent 3.0'). Buyers who want to freeze on a specific AdCP release embed these instead of the legacy `/badge/{role}/embed`.
- [Get agent storyboard status](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-agent-storyboard-status.md): Returns per-storyboard test results for an agent. Includes title, category, track, pass/fail status, and step counts.
- [Bulk storyboard status](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/bulk-storyboard-status.md): Returns per-storyboard test results for multiple agents in a single request.
- [Get agent compliance history](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-agent-compliance-history.md): Returns a list of compliance test runs for an agent, ordered most recent first.
- [Update agent lifecycle stage](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/update-agent-lifecycle-stage.md): Set the lifecycle stage for an agent. Requires authentication and ownership of the agent.
- [Update compliance opt-out](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/update-compliance-opt-out.md): Opt an agent in or out of public compliance reporting. Requires authentication and ownership of the agent.
- [Get monitoring settings](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-monitoring-settings.md): Returns the monitoring configuration for an agent. Requires authentication and ownership.
- [Pause or resume monitoring](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/pause-or-resume-monitoring.md): Pause or resume automated compliance monitoring for an agent. Requires authentication and ownership.
- [Update monitoring interval](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/update-monitoring-interval.md): Set the check interval for automated compliance monitoring (6–168 hours). Requires authentication and ownership.
- [Requeue agent for compliance heartbeat](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/requeue-agent-for-compliance-heartbeat.md): Clears the agent's last_checked_at timestamp so it is picked up on the next heartbeat cycle (within ~1 hour). This is queued-async; it does not run the compliance suite synchronously or change the current verdict until the heartbeat completes. Requires authentication and ownership.
- [Get per-step diagnostics for a compliance run](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-per-step-diagnostics-for-a-compliance-run.md): Returns the exact request and response payloads the runner captured for failing storyboard steps on a single compliance run.
- [Get outbound request log](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-outbound-request-log.md): Returns the outbound request log for an agent (compliance checks, health probes, etc.). Requires authentication and ownership, or the static admin API key for support/debugging.
- [Refresh agent snapshot](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/refresh-agent-snapshot.md): Re-probe the agent and update its registry health (online, tools_count, response_time_ms), capability snapshot (inferred type, discovered tools), and compliance verdict (storyboard pass/fail counts). Use after fixing your agent so the registry shows fresh data without waiting for the periodic heartb…
- [Get agent auth status](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-agent-auth-status.md): Returns whether an agent has stored authentication credentials and OAuth token status. Requires authentication.
- [Connect agent credentials](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/connect-agent-credentials.md): Store authentication credentials for an agent. Requires authentication and ownership.
- [Save OAuth 2.0 client-credentials for an agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/save-oauth-20-client-credentials-for-an-agent.md): Store a machine-to-machine OAuth 2.0 client-credentials configuration (RFC 6749 §4.4) for this agent. The SDK exchanges at the token endpoint before every call and refreshes on 401. `client_secret` may be a `$ENV:VAR_NAME` reference — the SDK resolves at exchange time, the server stores it as writte…
- [Dry-run the saved OAuth 2.0 client-credentials config](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/dry-run-the-saved-oauth-20-client-credentials-config.md): Exchange the saved client_credentials at the token endpoint and discard the resulting access token. Returns success + latency on a 2xx exchange, or the SDK's `ClientCredentialsExchangeError` kind (`oauth`, `malformed`, `network`) on failure so operators get same-second feedback instead of waiting fo…
- [Get applicable storyboards for agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-applicable-storyboards-for-agent.md): Probe the agent's get_adcp_capabilities and resolve its declared supported_protocols and specialisms to the compliance bundles that will run. Requires authentication and ownership.
- [List storyboards](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/list-storyboards.md): Returns the catalog of compliance storyboards. Optionally filter by category.
- [Get storyboard detail](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-storyboard-detail.md): Returns a single storyboard with its full phase and step structure, plus its test kit if available.
- [Run a single storyboard step](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/run-a-single-storyboard-step.md): Execute a single storyboard step against an agent. Requires authentication and ownership.
- [Get first step preview](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/get-first-step-preview.md): Returns a preview of the first step of a storyboard. No agent call needed.
- [Run full storyboard evaluation](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/run-full-storyboard-evaluation.md): Execute all steps of a storyboard against an agent and record the compliance result. Requires authentication and ownership.
- [Compare storyboard against reference agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/agent-compliance/compare-storyboard-against-reference-agent.md): Run a storyboard against both the target agent and the public reference agent, returning side-by-side results. Requires authentication and ownership.

##### Member Agents

- [List my registered agents](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/member-agents/list-my-registered-agents.md): List the agents registered on the caller's organization member profile. Returns the same `agents[]` array stored on the profile, in the order members registered them.
- [Register an agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/member-agents/register-an-agent.md): Register an agent on the caller's organization member profile.
- [Remove an agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/member-agents/remove-an-agent.md): Remove one registered agent identified by its `url`.
- [Update an agent](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/member-agents/update-an-agent.md): Update one registered agent identified by its `url`. The `url` field itself cannot be changed via PATCH — supplying a `url` in the body that differs from the path returns `400 url_immutable`; re-register at the new URL and DELETE the old entry to migrate. All other fields accept partial updates.

##### Onboarding

- [Create or adopt my organization](https://docs.adcontextprotocol.org/dist/docs/3.1.24/registry/api-reference/onboarding/create-or-adopt-my-organization.md): Bootstrap the caller's organization explicitly. Use this when the caller wants to control the organization name, `company_type`, `revenue_tier`, or `is_personal` flag before any agents are registered.

### Certification

- [AdCP certification program](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/overview.md): AdCP certification program: three tiers (Basics, Practitioner, Specialist) taught by Addie, an AI teaching assistant. Free foundational modules, member-only advanced tracks.
- [Instructional design framework](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/instructional-design.md): AdCP certification instructional design: teaching methodology, adaptive assessment, AI-guided learning, and IACET-aligned quality processes.
- [Failure-mode competency scope](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/failure-mode-scope.md): Curriculum scoping document — which failure modes belong in which certification modules, depth target, and assessment approach. Authoring is a follow-up issue per module.

#### Basics (free)

- [A1: Why AdCP](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/foundations/a1-agentic-advertising.md): Module A1: What is agentic advertising and why does AdCP exist? Free 15-minute interactive module covering platform fragmentation and the case for a shared protocol.
- [A2: Your first media buy](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/foundations/a2-protocol-architecture.md): Module A2: Execute your first AdCP media buy. Free 20-minute hands-on module walking through discovery, purchase, creative sync, and delivery with a live sandbox agent.
- [A2B: Testing your first agent call](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/foundations/a2b-testing-your-first-agent.md): Module A2B: Hands-on lab — initialize an MCP session, call get_products, place a media buy, attach creatives, and handle real response shapes with copy-paste curl examples.
- [A3: The AdCP landscape](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/foundations/a3-ecosystem-governance.md): Module A3: Survey of every AdCP domain — media buy, creative, catalogs, accounts, signals, governance, sponsored intelligence, and the Trusted Match Protocol. Free 15-minute interactive overview.

#### Role tracks

- [Publisher / seller track](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/tracks/publisher.md): AdCP publisher track (B1-B4): build and operate a sales agent. Product catalog design, creative specs, delivery reporting, and a sales agent build project.
- [Buyer / brand track](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/tracks/buyer.md): AdCP buyer track (C1-C4): multi-agent buying orchestration, brand identity protocols, creative workflows, sponsored intelligence, and a buyer agent build project.
- [Platform / intermediary track](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/tracks/platform.md): AdCP platform track (D1-D4): MCP server architecture, supply path verification, agent trust, RTB-to-AdCP migration patterns, and an infrastructure build project.

#### Specialist modules

- [S1: Media buy mastery](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/specialist/media-buy.md): AdCP specialist module S1: Media buy mastery. Full transaction lifecycle, pricing models, proposals, forecasting, and multi-agent orchestration with live sandbox agents.
- [S2: Creative mastery](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/specialist/creative.md): AdCP specialist module S2: Creative mastery. Format taxonomy across 20 channels, creative manifest spec, AI generation, compliance checks, and asset sync workflows.
- [S3: Signals and audiences](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/specialist/signals.md): AdCP specialist module S3: Signals and audiences. Signal discovery, activation, privacy controls, and optimization loops with sandbox data providers across six industries.
- [S4: Governance](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/specialist/governance.md): AdCP specialist module S4: Governance protocol mastery. Content standards, property lists, campaign governance lifecycle, policy registry, and compliance automation with sandbox agents.
- [S5: Sponsored Intelligence](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/specialist/sponsored-intelligence.md): AdCP specialist module S5: Sponsored Intelligence. Monetizing AI chat — generative creative, the reversed data flow, and SI Chat Protocol for conversational brand experiences.
- [S6: Security](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/specialist/security.md): AdCP specialist module S6: Security mastery. Threat model, five-layer defense model, idempotency semantics, governance token verification, SSRF discipline, and operational incident response.

#### Policies

- [Nondiscrimination policy](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/policies/nondiscrimination.md): AdCP certification nondiscrimination policy: equal access, inclusion standards, and accommodation procedures for all learners regardless of protected characteristics.
- [Learner records and privacy](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/policies/learner-records.md): AdCP certification learner records policy: data retention, privacy protections, transcript access rights, and deletion procedures for program participants.
- [Recertification and protocol-change updates](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/policies/recertification.md): AdCP certification recertification policy: targeted protocol-change updates, delta assessments, learner notifications, and the AdCP 3.1 canonical formats S2 rationale.
- [Complaints and grievances](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/policies/complaints.md): AdCP certification complaints policy: how to file grievances, investigation procedures, and resolution timelines for learners and stakeholders.
- [Conflict of interest](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/policies/conflict-of-interest.md): AdCP certification conflict of interest policy: disclosure requirements and separation of commercial interests from curriculum and assessment decisions.
- [Intellectual property](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/policies/intellectual-property.md): AdCP certification intellectual property policy: ownership and usage rights for curriculum materials, assessments, and learner-created content.
- [Personnel qualifications](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/policies/personnel-qualifications.md): AdCP certification personnel qualifications: standards for curriculum designers, content reviewers, and the Sage AI teaching assistant.
- [Refund and cancellation](https://docs.adcontextprotocol.org/dist/docs/3.1.24/learning/policies/refund.md): AdCP certification refund and cancellation policy: terms for membership fees, module access, and credential issuance.

## OpenAPI Specs

- [registry](https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.1.24/static/openapi/registry.yaml)
