Skip to main content

Documentation Index

Fetch the complete documentation index at: https://agenticadvertisingorg-changeset-release-main.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

The AdCP registry catalog (/api/registry/agents, /api/registry/publishers) contains only AAO-attested, member-enrolled agents. To appear in the catalog, an AAO member must explicitly enroll the agent on their member profile.

How agents end up in the registry

There is one path: an AAO member adds the agent to their member profile via the dashboard or PUT /api/me/member-profile. End-to-end via the dashboard: under five minutes.
  1. Sign in or sign up. Go to agenticadvertising.org/auth/login. New here? Use Sign up to create your account, then accept your AAO organization invite (or start a membership if your org isn’t on AAO yet).
  2. Open the agents dashboard. Once signed in, go to agenticadvertising.org/dashboard/agents. The URL auto-resolves your org context.
  3. Click + Register agent in the top-right of the page. (On a brand-new org with no agents yet, the empty-state CTA reads Register your first agent and triggers the same flow.)
  4. Talk to Addie. The button drops you into chat with Addie pre-loaded with the prompt “Help me register my agent.” Addie will walk you through:
    • Agent URL — e.g. https://agent.yourcompany.com/mcp
    • Display name (optional)
    • Auth method — pick one: None · Static bearer · Static basic · OAuth client credentials. (Interactive OAuth user authorization is configured separately — register with None here, then click Authorize on the agent card to sign in.)
    • Auth fields — only the ones your chosen method needs (bearer token, or token_endpoint + client_id + client_secret for client credentials, etc.)
    • Protocol — defaults to MCP; Addie asks only if your URL is ambiguous
  5. Done. Addie calls save_agent and your agent lands in the registry catalog with visibility: "members_only" (visible to other paying AAO members — Professional, Builder, Member, or Leader; not publicly listed).
  6. Optional — go public. Back on /dashboard/agents, change the agent’s visibility from Members only to Public. Public visibility requires a paid AAO tier (Professional, Builder, Member, or Leader) and a primary brand domain on your member profile so the agent can be added to your brand.json.
Type is resolved server-side. You will not be asked for the agent’s type — type (brand, sales, buying, measurement, creative, signals, etc.) is resolved from the agent’s capability snapshot. resolveAgentTypes() reads the most recent snapshot from the crawler; if no snapshot exists yet, the type field saved is whatever the client supplied, and the next crawler probe overwrites it. Either way, you can’t pin a wrong type permanently. What this path attests: the member has signed AAO terms; the URL, name, and contact are explicitly declared; the type is probe-verified. Visibility can be public, members_only, or private — see Visibility below. There is no auto-population from crawled adagents.json files. Agents listed in third-party adagents.json files populate the publisher-authorization graph used by the Operator lookup endpoint (GET /api/registry/operator?domain=X), /api/registry/lookup/domain, and hasValidAdagents, but they do not create catalog entries.

Programmatic registration (for CI, scripts, agents)

To register agents from CI, a deploy hook, or your own agent — without the dashboard or Addie — use the per-agent REST endpoints under /api/me/agents. They share the same visibility gate, server-side type resolution, and audit log as the dashboard path, so the members_only default, the tier_required check on public, and the type smuggle-protection all apply identically. Authenticate with a WorkOS API key (Authorization: Bearer sk_…) or an OAuth user JWT. Mint an API key under agenticadvertising.org/dashboard/api-keys.
EndpointPurpose
GET /api/me/agentsList my registered agents
POST /api/me/agentsRegister an agent
PATCH /api/me/agents/{url}Update an agent
DELETE /api/me/agents/{url}Remove an agent
The path parameter on PATCH and DELETE is the agent’s url, URL-encoded (e.g. https%3A%2F%2Fagent.example.com%2Fmcp). POST is idempotent on url: new entries return 201; re-posting the same url updates the existing entry and returns 200. Each successful write returns { agent, warnings? }warnings lists any tier-driven visibility downgrades (e.g. an Explorer-tier caller asking for public is stored as members_only with a visibility_downgraded warning).

Prerequisites

  • An AAO member profile must already exist for your organization. Create one via the dashboard or POST /api/me/member-profile first; the agent endpoints return 404 until then.
  • For visibility: "public", your organization needs a paid AAO tier (Professional, Builder, Member, or Leader) and a primary_brand_domain set on the profile so the agent can be added to your brand.json. See Visibility below.

What this means if you are not an AAO member

You cannot self-register today. Your operator must be an AAO member to enroll your agent in the registry catalog. Crawl-discovered listings (your agent referenced in someone’s adagents.json) populate the authorization graph used for property-authorization checks but do not create a catalog entry — /api/registry/agents is members-only. Become a member to access the registration path.

Visibility

Member-enrolled agents have one of three visibility levels:
VisibilityWho sees it
publicAnyone — anonymous calls to /api/registry/agents and /api/registry/operator?domain=X
members_onlyAAO API-tier members on /api/registry/operator?domain=X
privateProfile owner only
The /api/registry/operator?domain=X endpoint is auth-aware: anonymous callers see only public agents; authenticated AAO API-tier callers see members_only agents; profile owners additionally see private agents.

Membership benefits

CapabilityDescription
Catalog visibilityYour agent appears in /api/registry/agents
Self-attest type, name, contactYou declare and edit the agent’s identity
Edit your own listingProfile owner controls all fields
members_only and private visibilityScope agent visibility beyond public
AAO Verified badgeEligible after passing storyboards
Storyboard test accessRun protocol-conformance tests against your agent
Compliance reportingReports against your agent’s protocol use
Trust signal to consumers”Member of AAO; signed terms; attested”
Become a member to access the registered path.

Verifying how your agent appears

Query the registry directly:
curl "https://agenticadvertising.org/api/registry/agents" \
  | jq '.agents[] | select(.url == "https://your-agent-url.example/mcp")'
If your agent’s URL is in the response, it is enrolled and member identifies the AAO organization that owns the listing. If it is not in the response, no AAO member has enrolled it — ask your operator to enroll it via their member profile, or become a member and self-enroll. To check whether your agent is referenced in a publisher’s adagents.json (for authorization purposes, separate from catalog enrollment), call /api/registry/lookup/domain/{domain} against the publisher’s domain.
  • Registry overview — endpoint catalog, lookup flows, and brand resolution.
  • GET /api/registry/operator?domain=X — auth-aware per-entity view of agents and authorizations.
  • GET /api/registry/agents — full registry catalog.
  • POST /api/registry/recrawl — refresh a publisher’s adagents.json mapping in the authorization graph.