🎉 AdCP 3.0 is now GA — see what's new
curl --request GET \
--url https://agenticadvertising.org/api/registry/publisher{
"domain": "voxmedia.com",
"member": {
"slug": "<string>",
"display_name": "<string>"
},
"adagents_valid": true,
"hosting": {
"mode": "self",
"expected_url": "<string>",
"hosted_url": "<string>",
"origin_verified_at": "<string>",
"origin_last_checked_at": "<string>"
},
"properties": [
{
"id": "<string>",
"type": "<string>",
"name": "<string>",
"identifiers": [
{
"type": "domain",
"value": "examplepub.com"
}
],
"tags": [
"<string>"
],
"source": "adagents_json",
"delegation_type": "direct"
}
],
"authorized_agents": [
{
"url": "<string>",
"source": "adagents_json",
"authorized_for": "<string>",
"properties_authorized": 1,
"properties_total": 1,
"publisher_wide": true
}
],
"files": {
"adagents_json": {
"status": "valid",
"expected_url": "<string>"
},
"brand_json": {
"status": "present",
"name": "<string>"
}
},
"rollup_truncated": {
"cap": 123,
"total_agents": 1
},
"auto_crawl_triggered": true
}Given a domain, returns the inventory this entity publishes and which agents it authorizes.
This endpoint is unauthenticated and returns the same response shape for every caller. Compare to /api/registry/operator, where AAO membership tier and profile ownership unlock additional agent visibility (members_only, private). AAO membership does not change the /publisher response today.
Property source precedence: authoritative adagents.json properties win over crawler-discovered rows; both win over brand.json hydration. Each property carries a source field (adagents_json / discovered / brand_json).
Per-agent rollup: each entry in authorized_agents may carry properties_authorized + properties_total + publisher_wide. The rollup is suppressed (fields absent) when (a) properties are entirely brand.json-hydrated — no adagents.json claim has been made — or (b) the publisher has more than 50 authorized agents (above-cap entries are returned without rollup; rollup_truncated is set with { cap, total_agents }). Use /api/registry/publisher/authorization?domain=X&agent=Y for the per-agent count when the index rollup is absent.
curl --request GET \
--url https://agenticadvertising.org/api/registry/publisher{
"domain": "voxmedia.com",
"member": {
"slug": "<string>",
"display_name": "<string>"
},
"adagents_valid": true,
"hosting": {
"mode": "self",
"expected_url": "<string>",
"hosted_url": "<string>",
"origin_verified_at": "<string>",
"origin_last_checked_at": "<string>"
},
"properties": [
{
"id": "<string>",
"type": "<string>",
"name": "<string>",
"identifiers": [
{
"type": "domain",
"value": "examplepub.com"
}
],
"tags": [
"<string>"
],
"source": "adagents_json",
"delegation_type": "direct"
}
],
"authorized_agents": [
{
"url": "<string>",
"source": "adagents_json",
"authorized_for": "<string>",
"properties_authorized": 1,
"properties_total": 1,
"publisher_wide": true
}
],
"files": {
"adagents_json": {
"status": "valid",
"expected_url": "<string>"
},
"brand_json": {
"status": "present",
"name": "<string>"
}
},
"rollup_truncated": {
"cap": 123,
"total_agents": 1
},
"auto_crawl_triggered": true
}Documentation Index
Fetch the complete documentation index at: https://docs.adcontextprotocol.org/llms.txt
Use this file to discover all available pages before exploring further.
"voxmedia.com"
Publisher lookup result
"voxmedia.com"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Plain-English summary of what AAO has found at the publisher's origin. The publisher page leads with this — you have a valid adagents.json is the primary signal, not mode === self. Optional in the schema for backwards compatibility; the handler always populates it.
Show child attributes
Set when the publisher has more authorized agents than the per-agent rollup cap. Above the cap, agents beyond cap are returned without properties_authorized / properties_total / publisher_wide; call /api/registry/publisher/authorization?domain=X&agent=Y for the per-agent count. Lets a caller decide whether to fan out individual calls or stop reading.
Show child attributes
Set to true when this request triggered a background crawl of the publisher's origin (we hadn't crawled before). The client should refetch in ~3-5s to pick up fresh data. Debounced per-domain so a tight refresh loop won't keep firing crawls.
Was this page helpful?