Skip to main content
The AgenticAdvertising.org registry provides a public REST API for resolving brands and properties, discovering agents, and validating authorization in the AdCP ecosystem.

Base URL

Most endpoints are public and require no authentication. Authenticated endpoints require a Bearer token. The full OpenAPI 3.1 specification is available for code generation and tooling.

Quick Start

Resolve a brand domain to its canonical identity:
Response

Rate Limits

Rate-limited endpoints return 429 Too Many Requests when the limit is exceeded.

Endpoint Groups

Brand Resolution

Resolve domains to canonical brand identities, fetch brand.json files, and browse the brand registry.

Property Resolution

Resolve publisher domains to property information, validate adagents.json, and browse properties.

Agent Discovery

List registered and discovered agents, publishers, and view registry statistics.

Lookups & Authorization

Look up agents by domain, validate product authorization, and check property authorization in real time.

Brand Resolution

These endpoints resolve domains to brand identities. The source field in the response indicates where the data came from: All sources produce the same resolution response structure. To get full brand identity data (logos, colors, tone), use /api/brands/enrich or look up the brand in the registry.

Property Resolution

Agent Discovery

Lookups & Authorization

Validation Tools

Agent Probing

Activity history

GET /api/brands/history?domain={domain} and GET /api/properties/history?domain={domain} return the edit history for a registry entry, newest first. These are public endpoints — no authentication required.
Response
Entries with editor_name: "system" were written by automated enrichment. When is_rollback is true, rolled_back_to contains the revision number that was restored. Pagination uses limit (max 100) and offset query parameters.

Authentication

Public endpoints (resolution, discovery, search) require no authentication. Write endpoints require a Bearer token issued to an AgenticAdvertising.org member organization.

Obtaining an API key

  1. Sign in at agenticadvertising.org/dashboard/api-keys
  2. Click Create key and copy the generated key

Using the API key

Pass the key in the Authorization header:

Authenticated endpoints

These endpoints require a valid API key. Rate-limited to 60 requests per hour per user.

Save brand

POST /api/brands/save Save or update a community brand in the registry. For existing brands, creates a revision-tracked edit. Cannot edit authoritative brands managed via brand.json — those return 409 Conflict. Request body:
domain and brand_name are required. brand_manifest (brand identity data) is optional. The brand’s source is set to "community" by the server. Domains are normalized (protocol stripped, lowercased).
Response (create)
Response (update)

Save property

POST /api/properties/save Save or update a hosted property in the registry. For existing properties, creates a revision-tracked edit. Cannot edit authoritative properties managed via adagents.json — those return 409 Conflict. Request body:
publisher_domain and authorized_agents (each with a required url and optional authorized_for) are required. properties (each requiring type and name) and contact are optional. Domains are normalized (protocol stripped, lowercased).
Response (create)
Response (update)

Submit brand (legacy)

POST /api/brands/discovered/community Submit a brand for review. This endpoint predates /api/brands/save — prefer the save endpoint for new integrations.

Error responses

Protocol vs REST API

The AdCP protocol defines MCP and A2A tasks for agent-to-agent communication (e.g. get_products, create_media_buy). The registry REST API is separate — it provides HTTP endpoints for looking up entities in the AgenticAdvertising.org registry. Use the REST API for discovery and authorization:
  • Resolve brand or property domains before making protocol calls
  • Discover which agents exist and what they’re authorized for
  • Validate authorization in real time during ad serving
  • Build integrations that browse or search the registry
Use MCP/A2A tasks for transactional operations:
  • Fetching products from a sales agent (get_products)
  • Creating media buys (create_media_buy)
  • Building creatives (build_creative)
  • Getting signals (get_signals)
A typical integration uses both: resolve a publisher domain via the registry API, then call the authorized agent’s MCP endpoint to transact.