curl --request GET \
--url https://agenticadvertising.org/api/registry/publisher{
"domain": "voxmedia.com",
"member": {
"slug": "<string>",
"display_name": "<string>",
"membership_tier": "<string>",
"membership_tier_label": "<string>",
"is_founding_member": true
},
"adagents_valid": true,
"hosting": {
"expected_url": "<string>",
"hosted_url": "<string>",
"resolved_url": "<string>",
"last_validated": "<string>",
"last_http_status": 349,
"last_bytes": 1,
"origin_verified_at": "<string>",
"origin_last_checked_at": "<string>"
},
"properties": [
{
"id": "<string>",
"type": "<string>",
"name": "<string>",
"identifiers": [
{
"type": "domain",
"value": "examplepub.com"
}
],
"tags": [
"<string>"
]
}
],
"authorized_agents": [
{
"url": "<string>",
"authorized_for": "<string>",
"properties_authorized": 1,
"properties_total": 1,
"publisher_wide": true
}
],
"manager_domain": "<string>",
"files": {
"adagents_json": {
"expected_url": "<string>"
},
"brand_json": {
"name": "<string>"
}
},
"rollup_truncated": {
"cap": 123,
"total_agents": 1
},
"auto_crawl_triggered": true
}Publisher lookup
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>",
"membership_tier": "<string>",
"membership_tier_label": "<string>",
"is_founding_member": true
},
"adagents_valid": true,
"hosting": {
"expected_url": "<string>",
"hosted_url": "<string>",
"resolved_url": "<string>",
"last_validated": "<string>",
"last_http_status": 349,
"last_bytes": 1,
"origin_verified_at": "<string>",
"origin_last_checked_at": "<string>"
},
"properties": [
{
"id": "<string>",
"type": "<string>",
"name": "<string>",
"identifiers": [
{
"type": "domain",
"value": "examplepub.com"
}
],
"tags": [
"<string>"
]
}
],
"authorized_agents": [
{
"url": "<string>",
"authorized_for": "<string>",
"properties_authorized": 1,
"properties_total": 1,
"publisher_wide": true
}
],
"manager_domain": "<string>",
"files": {
"adagents_json": {
"expected_url": "<string>"
},
"brand_json": {
"name": "<string>"
}
},
"rollup_truncated": {
"cap": 123,
"total_agents": 1
},
"auto_crawl_triggered": true
}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.
Query Parameters
"voxmedia.com"
Response
Publisher lookup result
"voxmedia.com"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
How the publisher's adagents.json was discovered on the most recent successful crawl. direct: publisher's own /.well-known/ served the document. authoritative_location: publisher's stub redirected to a canonical URL. ads_txt_managerdomain: manifest was discovered via ads.txt MANAGERDOMAIN delegation — see manager_domain for which manager served it. Null until first crawl after migration 470.
direct, authoritative_location, ads_txt_managerdomain, null The manager domain whose adagents.json was used to authorize this publisher's agents. Non-null only when discovery_method is ads_txt_managerdomain. Matches the MANAGERDOMAIN value from the publisher's ads.txt.
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
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
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.