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: publisher-attested adagents.json properties win first. When no publisher-attested adagents properties exist for the domain, brand.json properties supplement and override lower-trust rows, followed by approved community catalogs, then crawler-discovered rows. Each property carries a source field (adagents_json / brand_json / community / discovered).
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.
GET
/
api
/
registry
/
publisher
Publisher lookup
curl --request GET \ --url https://agenticadvertising.org/api/registry/publisher
How the publisher's adagents.json was discovered on the most recent successful crawl or registry write. 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. adagents_authoritative: manager file named this publisher through publisher_properties fan-out. community_catalog: moderator-approved community catalog. Null until first crawl after migration 470.
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.
Display-oriented brand identity summary from brand.json. The full raw document remains available from the publisher's /.well-known/brand.json or hosted registry URL.
Lossy display-oriented summary of top-level adagents.json formats[], normalized for publisher pages and eligibility discovery. It preserves format_kind, format_option_id, params, property scope, preference, and experimental status, but omits reference_renderer, v1_format_ref, canonical_formats_only, applies_to_channels, publisher_domain, and custom format_shape/format_schema. Fetch the canonical document at hosting.resolved_url (or hosting.expected_url when self-hosted) for creative validation or reference-renderer discovery.
Eligibility-oriented publisher placement summaries. Present only when the request includes include=placements; format references are resolved to canonical kind/params so callers can join property → placement → format without a second origin fetch. The lossy summary omits placement presentation_ref and preview_provider; fetch the resolved raw adagents.json for publisher presentation metadata and preview delegation.
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.
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?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/schema.json","name":"AdCP - Ad Context Protocol","description":"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.","colors":{"primary":"#047857","light":"#34D399","dark":"#065F46"},"logo":{"light":"https://mintcdn.com/agenticadvertisingorg/cnoy0Xiq2i_jSWzz/logo/sage.svg?fit=max\u0026auto=format\u0026n=cnoy0Xiq2i_jSWzz\u0026q=85\u0026s=f393829d8ccdabe856cf9c8362e66b96","dark":"https://mintcdn.com/agenticadvertisingorg/cnoy0Xiq2i_jSWzz/logo/sage.svg?fit=max\u0026auto=format\u0026n=cnoy0Xiq2i_jSWzz\u0026q=85\u0026s=f393829d8ccdabe856cf9c8362e66b96","href":"https://agenticadvertising.org"},"favicon":"https://mintcdn.com/agenticadvertisingorg/cnoy0Xiq2i_jSWzz/logo/sage.svg?fit=max\u0026auto=format\u0026n=cnoy0Xiq2i_jSWzz\u0026q=85\u0026s=f393829d8ccdabe856cf9c8362e66b96","api":{},"navbar":{"links":[{"href":"https://adcontextprotocol.org","label":"AdCP Home"},{"href":"https://agenticadvertising.org/members","label":"Members"},{"href":"https://agenticadvertising.org/perspectives","label":"Perspectives"},{"href":"https://agenticadvertising.org","label":"Join"}],"primary":{"type":"github","href":"https://github.com/adcontextprotocol/adcp"}},"footer":{"links":[{"header":"Legal","items":[{"label":"Privacy Policy","href":"https://agenticadvertising.org/api/agreement?type=privacy_policy"},{"label":"Terms of Use","href":"https://agenticadvertising.org/api/agreement?type=terms_of_service"}]},{"header":"Transparency","items":[{"label":"AI Disclosure","href":"/docs/ai-disclosure"},{"label":"Governance Charter","href":"https://github.com/adcontextprotocol/adcp/blob/main/CHARTER.md"},{"label":"Working Group","href":"/docs/community/working-group"}]}]},"seo":{},"banner":{"content":"AdCP 3.3 beta is open: scheduled, human-gated, and offline media in the same buy as programmatic — [see what's new →](/3.3)","dismissible":true},"metadata":{"timestamp":false},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"agenticadvertisingorg","hasAudioNarration":false,"actualSubdomain":"agenticadvertisingorg","customDomains":["docs.adcontextprotocol.org"],"gitSource":{"type":"github","owner":"adcontextprotocol","repo":"adcp","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adc13b6c8fac8fb63b0e787","collectionId":"1ec7d179-1da6-4f95-9d5a-a423a89aeacd","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adc13b6c8fac8fb63b0e787"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{},"buildId":"6adc13b6c8fac8fb63b0e787","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"Protocol","count":716},{"language":"default","tag":"Reference","count":639},{"language":"default","tag":"Registry API","count":405},{"language":"default","tag":"Building with AdCP","count":392},{"language":"default","tag":"Media Buy","count":199},{"language":"default","tag":"Creative","count":182},{"language":"default","tag":"Governance","count":169},{"language":"default","tag":"Concepts","count":136},{"language":"default","tag":"Build by layer","count":125},{"language":"default","tag":"Certification","count":116}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"apps/web/src/styles/app.css","content":"@import \"tailwindcss\";@import \"tw-animate-css\";@source \"../\";@source \"../../.ladle\";:root{--radius:0.25rem;--background:var(--color-white);--foreground:var(--color-neutral-950);--card:var(--color-white);--card-foreground:var(--color-neutral-950);--popover:var(--color-white);--popover-foreground:var(--color-neutral-950);--primary:var(--color-blue-600);--primary-foreground:var(--color-white);--secondary:oklch(from var(--color-slate-900) l c h / 6%);--secondary-foreground:var(--color-neutral-900);--muted:var(--color-slate-100);--muted-foreground:var(--color-slate-500);--body-foreground:var(--color-neutral-600);--accent:var(--color-slate-100);--accent-foreground:var(--color-slate-900);--destructive:var(--color-red-600);--destructive-foreground:var(--color-red-700);--destructive-on-color:var(--color-white);--success:var(--color-emerald-600);--success-foreground:var(--color-emerald-700);--warning:var(--color-yellow-400);--warning-foreground:var(--color-yellow-700);--info:var(--color-blue-600);--info-foreground:var(--color-blue-700);--border:var(--color-neutral-200);--input:var(--color-neutral-200);--ring:var(--color-neutral-400);--chart-1:var(--color-orange-500);--chart-2:var(--color-cyan-500);--chart-3:var(--color-blue-700);--chart-4:var(--color-yellow-400);--chart-5:var(--color-amber-500)}@media (prefers-color-scheme:dark){:root{--background:var(--color-slate-950);--foreground:var(--color-slate-50);--card:var(--color-slate-900);--card-foreground:var(--color-slate-50);--popover:var(--color-slate-900);--popover-foreground:var(--color-slate-50);--primary:var(--color-blue-600);--primary-foreground:var(--color-white);--secondary:oklch(1 0 0 / 12%);--secondary-foreground:var(--color-slate-50);--muted:var(--color-slate-800);--muted-foreground:var(--color-slate-400);--body-foreground:var(--color-slate-300);--accent:var(--color-slate-800);--accent-foreground:var(--color-slate-50);--destructive:var(--color-red-400);--destructive-foreground:var(--color-red-400);--destructive-on-color:var(--color-white);--success:var(--color-emerald-400);--success-foreground:var(--color-emerald-300);--warning:var(--color-yellow-400);--warning-foreground:var(--color-yellow-300);--info:var(--color-blue-400);--info-foreground:var(--color-blue-300);--border:oklch(1 0 0 / 10%);--input:oklch(1 0 0 / 15%);--ring:var(--color-slate-500)}}:root[data-theme=dark],:root[data-theme=light]{--primary:var(--color-blue-600);--primary-foreground:var(--color-white);--destructive-on-color:var(--color-white);--warning:var(--color-yellow-400)}:root[data-theme=light]{--background:var(--color-white);--foreground:var(--color-neutral-950);--card:var(--color-white);--card-foreground:var(--color-neutral-950);--popover:var(--color-white);--popover-foreground:var(--color-neutral-950);--secondary:oklch(from var(--color-slate-900) l c h / 6%);--secondary-foreground:var(--color-neutral-900);--muted:var(--color-slate-100);--muted-foreground:var(--color-slate-500);--body-foreground:var(--color-neutral-600);--accent:var(--color-slate-100);--accent-foreground:var(--color-slate-900);--destructive:var(--color-red-600);--destructive-foreground:var(--color-red-700);--success:var(--color-emerald-600);--success-foreground:var(--color-emerald-700);--warning-foreground:var(--color-yellow-700);--info:var(--color-blue-600);--info-foreground:var(--color-blue-700);--border:var(--color-neutral-200);--input:var(--color-neutral-200);--ring:var(--color-neutral-400)}:root[data-theme=dark]{--background:var(--color-slate-950);--foreground:var(--color-slate-50);--card:var(--color-slate-900);--card-foreground:var(--color-slate-50);--popover:var(--color-slate-900);--popover-foreground:var(--color-slate-50);--secondary:oklch(1 0 0 / 12%);--secondary-foreground:var(--color-slate-50);--muted:var(--color-slate-800);--muted-foreground:var(--color-slate-400);--body-foreground:var(--color-slate-300);--accent:var(--color-slate-800);--accent-foreground:var(--color-slate-50);--destructive:var(--color-red-400);--destructive-foreground:var(--color-red-400);--success:var(--color-emerald-400);--success-foreground:var(--color-emerald-300);--warning-foreground:var(--color-yellow-300);--info:var(--color-blue-400);--info-foreground:var(--color-blue-300);--border:oklch(1 0 0 / 10%);--input:oklch(1 0 0 / 15%);--ring:var(--color-slate-500)}@theme{--font-sans:'Inter Variable', 'Inter', -apple-system, BlinkMacSystemFont,\n 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--font-mono:'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas,\n monospace;--color-blue-50:oklch(0.970 0.012 258);--color-blue-100:oklch(0.928 0.028 260);--color-blue-200:oklch(0.878 0.055 262);--color-blue-300:oklch(0.802 0.100 264);--color-blue-400:oklch(0.700 0.175 266);--color-blue-500:oklch(0.620 0.215 267);--color-blue-600:oklch(0.5358 0.2447 266.97);--color-blue-700:oklch(0.465 0.225 268);--color-blue-800:oklch(0.395 0.190 268);--color-blue-900:oklch(0.330 0.145 268);--color-blue-950:oklch(0.270 0.120 268);--color-blue-1000:oklch(0.2102 0.0975 268.06);--color-slate-1000:oklch(0.069 0.038 265);--color-gray-1000:oklch(0.070 0.026 261);--color-neutral-1000:oklch(0.080 0 0);--color-cyan-1000:oklch(0.242 0.045 230);--color-green-1000:oklch(0.206 0.052 153);--color-emerald-1000:oklch(0.205 0.030 173);--color-red-1000:oklch(0.198 0.074 26);--color-orange-1000:oklch(0.206 0.063 36);--color-amber-1000:oklch(0.219 0.048 46);--color-yellow-1000:oklch(0.226 0.053 54)}@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-body-foreground:var(--body-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-destructive-foreground:var(--destructive-foreground);--color-destructive-on-color:var(--destructive-on-color);--color-success:var(--success);--color-success-foreground:var(--success-foreground);--color-warning:var(--warning);--color-warning-foreground:var(--warning-foreground);--color-info:var(--info);--color-info-foreground:var(--info-foreground);--color-border:var(--border);--color-input:var(--input);--color-ring:var(--ring);--color-chart-1:var(--chart-1);--color-chart-2:var(--chart-2);--color-chart-3:var(--chart-3);--color-chart-4:var(--chart-4);--color-chart-5:var(--chart-5);--radius-sm:max(0px, calc(var(--radius) - 4px));--radius-md:var(--radius);--radius-lg:calc(var(--radius) + 4px);--radius-xl:calc(var(--radius) + 8px)}@layer base{*,::after,::backdrop,::before,::file-selector-button{border-color:var(--color-border, currentColor)}body{background:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans)}[data-sonner-toast][data-styled=true] [data-description]{color:var(--body-foreground)}}"}],"page":{"pagePath":"dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup","slug":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup","pageMetadata":{"title":"Publisher lookup","description":"Given a domain, returns the inventory this entity publishes and which agents it authorizes.\n\n**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.\n\n**Property source precedence:** publisher-attested adagents.json properties win first. When no publisher-attested adagents properties exist for the domain, brand.json properties supplement and override lower-trust rows, followed by approved community catalogs, then crawler-discovered rows. Each property carries a `source` field (`adagents_json` / `brand_json` / `community` / `discovered`).\n\n**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\u0026agent=Y` for the per-agent count when the index rollup is absent.","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/publisher","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Given a domain, returns the inventory this entity publishes and which agents it authorizes.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"This endpoint is unauthenticated and returns the same response shape for every caller.\"\n }), \" Compare to \", _jsx(_components.code, {\n children: \"/api/registry/operator\"\n }), \", where AAO membership tier and profile ownership unlock additional agent visibility (\", _jsx(_components.code, {\n children: \"members_only\"\n }), \", \", _jsx(_components.code, {\n children: \"private\"\n }), \"). AAO membership does not change the \", _jsx(_components.code, {\n children: \"/publisher\"\n }), \" response today.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Property source precedence:\"\n }), \" publisher-attested adagents.json properties win first. When no publisher-attested adagents properties exist for the domain, brand.json properties supplement and override lower-trust rows, followed by approved community catalogs, then crawler-discovered rows. Each property carries a \", _jsx(_components.code, {\n children: \"source\"\n }), \" field (\", _jsx(_components.code, {\n children: \"adagents_json\"\n }), \" / \", _jsx(_components.code, {\n children: \"brand_json\"\n }), \" / \", _jsx(_components.code, {\n children: \"community\"\n }), \" / \", _jsx(_components.code, {\n children: \"discovered\"\n }), \").\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Per-agent rollup:\"\n }), \" each entry in \", _jsx(_components.code, {\n children: \"authorized_agents\"\n }), \" may carry \", _jsx(_components.code, {\n children: \"properties_authorized\"\n }), \" + \", _jsx(_components.code, {\n children: \"properties_total\"\n }), \" + \", _jsx(_components.code, {\n children: \"publisher_wide\"\n }), \". 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; \", _jsx(_components.code, {\n children: \"rollup_truncated\"\n }), \" is set with \", _jsx(_components.code, {\n children: \"{ cap, total_agents }\"\n }), \"). Use \", _jsx(_components.code, {\n children: \"/api/registry/publisher/authorization?domain=X\u0026agent=Y\"\n }), \" for the per-agent count when the index rollup is absent.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Publisher lookup","description":"Given a domain, returns the inventory this entity publishes and which agents it authorizes.\n\n**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.\n\n**Property source precedence:** publisher-attested adagents.json properties win first. When no publisher-attested adagents properties exist for the domain, brand.json properties supplement and override lower-trust rows, followed by approved community catalogs, then crawler-discovered rows. Each property carries a `source` field (`adagents_json` / `brand_json` / `community` / `discovered`).\n\n**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\u0026agent=Y` for the per-agent count when the index rollup is absent.","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/publisher","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/agenticadvertisingorg/1a1b50531e8add0f/dist/compliance/storyboard-runner-options.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.0.23/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.1.14/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.0.24/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-beta.0/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-beta.2/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-beta.3/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.1.17/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.1.18/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.0.26/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.1.19/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.1.15/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.1.16/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-beta.4/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.0.25/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-beta.1/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-beta.5/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-beta.6/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-beta.7/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-beta.8/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-beta.9/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/docs/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/3d9934cdcf6b6ce6/workers/artifact-cdn/src/index.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-beta.10/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.1.20/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-beta.11/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-rc.0/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-rc.1/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.1.21/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-rc.2/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-rc.6/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.1.24/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-rc.3/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-rc.4/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.0-rc.7/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.1/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.2/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.3/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.1.27/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.0.27/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.0.28/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.3.0-beta.0/slack-invite-recovery.js","/_mintlify/custom/agenticadvertisingorg/bd3bc019124ed96c/dist/docs/3.2.6/slack-invite-recovery.js"],"openApiReferenceData":{"operation":{"operationId":"lookupPublisher","summary":"Publisher lookup","description":"Given a domain, returns the inventory this entity publishes and which agents it authorizes.\n\n**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.\n\n**Property source precedence:** publisher-attested adagents.json properties win first. When no publisher-attested adagents properties exist for the domain, brand.json properties supplement and override lower-trust rows, followed by approved community catalogs, then crawler-discovered rows. Each property carries a `source` field (`adagents_json` / `brand_json` / `community` / `discovered`).\n\n**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\u0026agent=Y` for the per-agent count when the index rollup is absent.","tags":["Authorization Lookups"],"parameters":["312ad0a5-ade0-4aa5-921b-4ad8b38ae95f","ebc2d337-c39c-4a60-8ca9-72442c612a14"],"responses":{"200":"e6400e17-19bc-4958-a2ee-81e898c27e6f","400":"2b5e8a7e-dfac-4132-97be-a82aab614336","503":"aac06f28-6f5d-48f5-9179-50639bfd9078"},"method":"get","type":"path","servers":["46d4de70-6166-4b1c-b556-bb3af90d3a0c"],"security":[],"path":"/api/registry/publisher","baseUrlOptions":["https://agenticadvertising.org"],"title":"Publisher lookup","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"312ad0a5-ade0-4aa5-921b-4ad8b38ae95f":{"schema":{"type":"string","example":"voxmedia.com","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"name":"domain","in":"query"},"ebc2d337-c39c-4a60-8ca9-72442c612a14":{"schema":{"type":"string","enum":["placements"],"description":"Set to placements to include eligibility-oriented placement summaries with resolved canonical format options.","isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring>"},"required":false,"description":"Set to placements to include eligibility-oriented placement summaries with resolved canonical format options.","name":"include","in":"query"}},"responses":{"e6400e17-19bc-4958-a2ee-81e898c27e6f":{"description":"Publisher lookup result","content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string","example":"voxmedia.com","isRequired":true,"uniqueKey":"domain","typeLabel":"string"},"member":{"oneOf":[{"type":"object","properties":{"slug":{"type":"string","uniqueKey":"member.oneOf.0.slug","typeLabel":"string"},"display_name":{"type":"string","uniqueKey":"member.oneOf.0.display_name","typeLabel":"string"},"membership_tier":{"type":"string","description":"Raw AAO membership tier enum (e.g. `individual_professional`, `company_leader`). Present only when the profile owner has set their member card to public (`is_public=true`) AND the org has a resolvable tier. Absent for private profiles and for orgs without an active tier-bearing subscription.","uniqueKey":"member.oneOf.0.membership_tier","typeLabel":"string"},"membership_tier_label":{"type":"string","description":"Human-readable label for `membership_tier` (e.g. `Professional`, `Partner`, `Leader`). Matches the AAO pricing page. Use this for UI display; the raw enum is for programmatic gating. Presence rules match `membership_tier`.","uniqueKey":"member.oneOf.0.membership_tier_label","typeLabel":"string"},"is_founding_member":{"type":"boolean","description":"True when the profile owner carries the Founding Member badge (joined before the founding-cohort cutoff). Surfaced when the profile owner has set their member card to public (`is_public=true`). Absent for private profiles. Founding Member is orthogonal to tier — founding orgs typically display both (e.g. Scope3 shows `Partner` + `Founding Member`).","uniqueKey":"member.oneOf.0.is_founding_member","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"member.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"slug":{"type":"string"},"display_name":{"type":"string"},"membership_tier":{"type":"string","description":"Raw AAO membership tier enum (e.g. `individual_professional`, `company_leader`). Present only when the profile owner has set their member card to public (`is_public=true`) AND the org has a resolvable tier. Absent for private profiles and for orgs without an active tier-bearing subscription."},"membership_tier_label":{"type":"string","description":"Human-readable label for `membership_tier` (e.g. `Professional`, `Partner`, `Leader`). Matches the AAO pricing page. Use this for UI display; the raw enum is for programmatic gating. Presence rules match `membership_tier`."},"is_founding_member":{"type":"boolean","description":"True when the profile owner carries the Founding Member badge (joined before the founding-cohort cutoff). Surfaced when the profile owner has set their member card to public (`is_public=true`). Absent for private profiles. Founding Member is orthogonal to tier — founding orgs typically display both (e.g. Scope3 shows `Partner` + `Founding Member`)."}},"isRequired":true,"uniqueKey":"member.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"member","typeLabel":"object | null"},"adagents_valid":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"adagents_valid.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"adagents_valid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"adagents_valid","typeLabel":"boolean | null"},"hosting":{"type":"object","properties":{"mode":{"type":"string","enum":["self","self_invalid","aao_hosted","self_redirected","none"],"description":"Where this publisher's adagents.json lives. `self` = publisher hosts a valid file at their own /.well-known. `self_invalid` = publisher's /.well-known returns a file that fails validation (fixable misconfiguration, not absence). `aao_hosted` = the publisher hosts a stub at their own /.well-known whose `authoritative_location` points at AAO's canonical document. `self_redirected` = the publisher's stub `authoritative_location` resolves to a third-party HTTPS origin (a CDN, partner CMS, or sibling host) — verifiers should audit the TLS chain at `resolved_url`, not at the publisher's own origin. `none` = no adagents.json configured yet.","isRequired":true,"uniqueKey":"hosting.mode","typeLabel":"enum\u003cstring>"},"expected_url":{"type":"string","description":"Where adagents.json *should* live for this domain — the publisher's own /.well-known path. Always populated, regardless of `mode`.","isRequired":true,"uniqueKey":"hosting.expected_url","typeLabel":"string"},"hosted_url":{"type":"string","description":"Canonical AAO-hosted adagents.json URL. Present iff `mode === 'aao_hosted'`. Publishers reference this URL from their own /.well-known stub via the `authoritative_location` field (see https://docs.adcontextprotocol.org/docs/governance/property/adagents).","uniqueKey":"hosting.hosted_url","typeLabel":"string"},"resolved_url":{"oneOf":[{"type":"string","description":"Where the canonical adagents.json document actually lives after following the publisher's `authoritative_location` stub or any HTTP-layer redirects. Populated when `mode === 'self_redirected'` (the third-party HTTPS origin verifiers should audit) and when `mode === 'aao_hosted'` AND the publisher has actively set up the redirect (`authoritative_location` in the manifest body or a network-layer redirect to AAO's hosted URL). NULL when there's no resolved-URL evidence to report.","uniqueKey":"hosting.resolved_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Where the canonical adagents.json document actually lives after following the publisher's `authoritative_location` stub or any HTTP-layer redirects. Populated when `mode === 'self_redirected'` (the third-party HTTPS origin verifiers should audit) and when `mode === 'aao_hosted'` AND the publisher has actively set up the redirect (`authoritative_location` in the manifest body or a network-layer redirect to AAO's hosted URL). NULL when there's no resolved-URL evidence to report.","uniqueKey":"hosting.resolved_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"hosting.resolved_url","typeLabel":"string | null"},"last_validated":{"oneOf":[{"type":"string","description":"ISO timestamp of the last successful validation crawl. Lets verifiers sanity-check freshness. NULL when never crawled.","uniqueKey":"hosting.last_validated.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO timestamp of the last successful validation crawl. Lets verifiers sanity-check freshness. NULL when never crawled.","uniqueKey":"hosting.last_validated.oneOf.1","typeLabel":"null"}],"uniqueKey":"hosting.last_validated","typeLabel":"string | null"},"last_http_status":{"oneOf":[{"type":"integer","minimum":100,"maximum":599,"description":"HTTP status code returned by AAO's most recent fetch attempt of the publisher's `/.well-known/adagents.json`. Verifier-grade chrome — lets a buy-side scraper confirm they see the same response AAO does. NULL until the first crawl records or for transient errors that never produced an HTTP response.","uniqueKey":"hosting.last_http_status.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":100,"maximum":599,"description":"HTTP status code returned by AAO's most recent fetch attempt of the publisher's `/.well-known/adagents.json`. Verifier-grade chrome — lets a buy-side scraper confirm they see the same response AAO does. NULL until the first crawl records or for transient errors that never produced an HTTP response.","uniqueKey":"hosting.last_http_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"hosting.last_http_status","typeLabel":"integer | null"},"last_bytes":{"oneOf":[{"type":"integer","minimum":0,"description":"Response body byte length from the most recent fetch (post-decompression). When `authoritative_location` was followed, measures the canonical document body, not the stub. NULL until the first crawl records.","uniqueKey":"hosting.last_bytes.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Response body byte length from the most recent fetch (post-decompression). When `authoritative_location` was followed, measures the canonical document body, not the stub. NULL until the first crawl records.","uniqueKey":"hosting.last_bytes.oneOf.1","typeLabel":"null"}],"uniqueKey":"hosting.last_bytes","typeLabel":"integer | null"},"origin_verified_at":{"oneOf":[{"type":"string","description":"ISO timestamp of the last successful origin verification — AAO fetched the publisher's own /.well-known/adagents.json and confirmed `authoritative_location` points at our hosted URL. When set, the publisher's authorization rows have been promoted to `source='adagents_json'` (origin-attested). NULL when never verified or last attempt failed. Only populated when `mode === 'aao_hosted'`.","uniqueKey":"hosting.origin_verified_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO timestamp of the last successful origin verification — AAO fetched the publisher's own /.well-known/adagents.json and confirmed `authoritative_location` points at our hosted URL. When set, the publisher's authorization rows have been promoted to `source='adagents_json'` (origin-attested). NULL when never verified or last attempt failed. Only populated when `mode === 'aao_hosted'`.","uniqueKey":"hosting.origin_verified_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"hosting.origin_verified_at","typeLabel":"string | null"},"origin_last_checked_at":{"oneOf":[{"type":"string","description":"ISO timestamp of the last verification attempt regardless of result. Lets a caller render \"checked X minutes ago, not yet verified\" vs \"never checked.\" Only populated when `mode === 'aao_hosted'`.","uniqueKey":"hosting.origin_last_checked_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO timestamp of the last verification attempt regardless of result. Lets a caller render \"checked X minutes ago, not yet verified\" vs \"never checked.\" Only populated when `mode === 'aao_hosted'`.","uniqueKey":"hosting.origin_last_checked_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"hosting.origin_last_checked_at","typeLabel":"string | null"}},"required":["mode","expected_url"],"isRequired":true,"uniqueKey":"hosting","typeLabel":"object"},"properties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","uniqueKey":"properties.items.[INDEX].id","typeLabel":"string"},"type":{"type":"string","uniqueKey":"properties.items.[INDEX].type","typeLabel":"string"},"name":{"type":"string","uniqueKey":"properties.items.[INDEX].name","typeLabel":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","example":"domain","isRequired":true,"uniqueKey":"properties.items.[INDEX].identifiers.items.[INDEX].type","typeLabel":"string"},"value":{"type":"string","example":"examplepub.com","isRequired":true,"uniqueKey":"properties.items.[INDEX].identifiers.items.[INDEX].value","typeLabel":"string"}},"required":["type","value"],"uniqueKey":"properties.items.[INDEX].identifiers.items.[INDEX]","typeLabel":"object"},"uniqueKey":"properties.items.[INDEX].identifiers","typeLabel":"object[]"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"properties.items.[INDEX].tags.items.[INDEX]","typeLabel":"string"},"description":"Arbitrary string tags on this property. The `relationship:` prefix tag (e.g. `relationship:owned`) is deprecated in favour of the `delegation_type` field and will be removed in a future release.","uniqueKey":"properties.items.[INDEX].tags","typeLabel":"string[]"},"source":{"type":"string","enum":["adagents_json","community","discovered","brand_json"],"description":"Where this property came from. `adagents_json` comes from the publisher's own adagents.json, `community` from an approved community adagents.json catalog, `discovered` from crawler or third-party signals, and `brand_json` from the publisher's brand.json when no federated-index data exists yet.","uniqueKey":"properties.items.[INDEX].source","typeLabel":"enum\u003cstring>"},"delegation_type":{"type":"string","enum":["direct","delegated","ad_network"],"description":"Delegation relationship declared in brand.json. Populated only when `source` is `brand_json` — for `adagents_json` and `discovered` sources the authoritative value is on the matching `authorized_agents` entry. Mirrors adagents.json `delegation_type` for bilateral verification: `direct` = publisher treats this as a direct buying path, even if a third party operates the software; `delegated` = a rep firm or manager is authorized to sell on the publisher's behalf (operator-declared, unilateral until corroborated by the publisher's adagents.json); `ad_network` = sold as part of a network/exchange package. `owned` properties have no `delegation_type` — ownership is implicit and has no adagents.json counterpart.","uniqueKey":"properties.items.[INDEX].delegation_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"properties.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"properties","typeLabel":"object[]"},"authorized_agents":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","isRequired":true,"uniqueKey":"authorized_agents.items.[INDEX].url","typeLabel":"string"},"source":{"type":"string","enum":["adagents_json","aao_hosted","agent_claim"],"description":"How strongly this authorization is attested. `adagents_json`: the publisher's origin actually serves a valid adagents.json (origin-verified). `aao_hosted`: AAO is hosting the canonical document on the publisher's behalf — represents publisher intent but origin has NOT been verified to redirect to AAO. `agent_claim`: the agent claimed it; publisher has not confirmed.","isRequired":true,"uniqueKey":"authorized_agents.items.[INDEX].source","typeLabel":"enum\u003cstring>"},"authorized_for":{"type":"string","uniqueKey":"authorized_agents.items.[INDEX].authorized_for","typeLabel":"string"},"properties_authorized":{"type":"integer","minimum":0,"description":"Count of this publisher's properties the agent is authorized to sell. Absent when `rollup_truncated` is set (call `/api/registry/publisher/authorization` for the per-agent count) or when properties are entirely brand.json-hydrated (no adagents.json claim has actually been made about them).","uniqueKey":"authorized_agents.items.[INDEX].properties_authorized","typeLabel":"integer"},"properties_total":{"type":"integer","minimum":0,"description":"Total number of properties this publisher exposes through the registry. Same value across all agents in the response. Absent when `properties_authorized` is absent.","uniqueKey":"authorized_agents.items.[INDEX].properties_total","typeLabel":"integer"},"publisher_wide":{"type":"boolean","description":"True when the agent has only a publisher-wide authorization row and `properties_authorized` was synthesized as `properties_total`. False when the agent has property-level authorization rows. Absent when the rollup is absent.","uniqueKey":"authorized_agents.items.[INDEX].publisher_wide","typeLabel":"boolean"}},"required":["url","source"],"uniqueKey":"authorized_agents.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"authorized_agents","typeLabel":"object[]"},"discovery_method":{"oneOf":[{"type":"string","enum":["direct","authoritative_location","ads_txt_managerdomain","adagents_authoritative","community_catalog",null],"description":"How the publisher's adagents.json was discovered on the most recent successful crawl or registry write. `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. `adagents_authoritative`: manager file named this publisher through publisher_properties fan-out. `community_catalog`: moderator-approved community catalog. Null until first crawl after migration 470.","uniqueKey":"discovery_method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["direct","authoritative_location","ads_txt_managerdomain","adagents_authoritative","community_catalog",null],"description":"How the publisher's adagents.json was discovered on the most recent successful crawl or registry write. `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. `adagents_authoritative`: manager file named this publisher through publisher_properties fan-out. `community_catalog`: moderator-approved community catalog. Null until first crawl after migration 470.","uniqueKey":"discovery_method.oneOf.1","typeLabel":"null"}],"uniqueKey":"discovery_method","typeLabel":"enum\u003cstring> | null"},"manager_domain":{"oneOf":[{"type":"string","description":"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.","uniqueKey":"manager_domain.oneOf.0","typeLabel":"string"},{"type":"null","description":"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.","uniqueKey":"manager_domain.oneOf.1","typeLabel":"null"}],"uniqueKey":"manager_domain","typeLabel":"string | null"},"files":{"type":"object","properties":{"adagents_json":{"type":"object","properties":{"status":{"type":"string","enum":["valid","community","invalid","unknown","checking"],"description":"What we know about the publisher's adagents.json right now. `valid` = crawler fetched a parsing-and-shape-valid file from the publisher origin. `community` = moderators approved a community adagents.json catalog for this domain. `invalid` = crawler fetched a file that failed validation. `unknown` = never crawled or last result is stale. `checking` = an auto-crawl was kicked off by this request; the page should poll for fresh data shortly.","isRequired":true,"uniqueKey":"files.adagents_json.status","typeLabel":"enum\u003cstring>"},"expected_url":{"type":"string","description":"Where adagents.json should live on the publisher's own origin.","isRequired":true,"uniqueKey":"files.adagents_json.expected_url","typeLabel":"string"},"registry_url":{"type":"string","description":"Registry-served adagents.json URL when the document is community or AgenticAdvertising.org hosted rather than served by the publisher origin.","uniqueKey":"files.adagents_json.registry_url","typeLabel":"string"}},"required":["status","expected_url"],"isRequired":true,"uniqueKey":"files.adagents_json","typeLabel":"object"},"brand_json":{"type":"object","properties":{"status":{"type":"string","enum":["present","unknown","checking"],"description":"What we know about the publisher's brand.json. `present` = a brand record with manifest data exists. `unknown` = no record yet. `checking` = an auto-crawl was kicked off.","isRequired":true,"uniqueKey":"files.brand_json.status","typeLabel":"enum\u003cstring>"},"name":{"type":"string","uniqueKey":"files.brand_json.name","typeLabel":"string"}},"required":["status"],"isRequired":true,"uniqueKey":"files.brand_json","typeLabel":"object"}},"required":["adagents_json","brand_json"],"description":"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.","uniqueKey":"files","typeLabel":"object"},"brand":{"type":"object","properties":{"name":{"type":"string","description":"Display name from brand.json or the registered brand row.","uniqueKey":"brand.name","typeLabel":"string"},"description":{"type":"string","description":"Short brand or house description when present in brand.json.","uniqueKey":"brand.description","typeLabel":"string"},"logo_url":{"type":"string","description":"First usable logo URL from brand.json.","uniqueKey":"brand.logo_url","typeLabel":"string"},"colors":{"type":"array","items":{"type":"string","uniqueKey":"brand.colors.items.[INDEX]","typeLabel":"string"},"description":"Representative hex colors from brand.json, capped for display.","uniqueKey":"brand.colors","typeLabel":"string[]"},"industries":{"type":"array","items":{"type":"string","uniqueKey":"brand.industries.items.[INDEX]","typeLabel":"string"},"description":"Industry labels from brand.json when present.","uniqueKey":"brand.industries","typeLabel":"string[]"}},"description":"Display-oriented brand identity summary from brand.json. The full raw document remains available from the publisher's /.well-known/brand.json or hosted registry URL.","uniqueKey":"brand","typeLabel":"object"},"formats":{"type":"array","items":{"type":"object","properties":{"display_name":{"type":"string","description":"Human-readable format label for catalog and publisher UI display.","isRequired":true,"uniqueKey":"formats.items.[INDEX].display_name","typeLabel":"string"},"format_kind":{"type":"string","description":"Canonical format discriminator, such as `image`, `video_hosted`, `native_in_feed`, or `custom`.","isRequired":true,"uniqueKey":"formats.items.[INDEX].format_kind","typeLabel":"string"},"format_option_id":{"type":"string","description":"Stable format option identifier from adagents.json `formats[]`.","uniqueKey":"formats.items.[INDEX].format_option_id","typeLabel":"string"},"sample_render_url":{"type":"string","pattern":"^https:\\/\\/","description":"Optional public HTTPS page where a human can inspect a sample render of this catalog format using publisher- or community-mirror-provided example assets. Informational only; this is not a renderer endpoint, buyer-asset preview, validation result, creative approval, proof of publisher acceptance, or live delivery guarantee.","uniqueKey":"formats.items.[INDEX].sample_render_url","typeLabel":"string"},"params":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"formats.items.[INDEX].params.additionalProperties","typeLabel":"any"},"description":"Canonical format params from the publisher's adagents.json declaration.","uniqueKey":"formats.items.[INDEX].params","typeLabel":"object"},"applies_to_property_ids":{"type":"array","items":{"type":"string","uniqueKey":"formats.items.[INDEX].applies_to_property_ids.items.[INDEX]","typeLabel":"string"},"description":"Property IDs this format applies to; absent means all properties.","uniqueKey":"formats.items.[INDEX].applies_to_property_ids","typeLabel":"string[]"},"applies_to_property_tags":{"type":"array","items":{"type":"string","uniqueKey":"formats.items.[INDEX].applies_to_property_tags.items.[INDEX]","typeLabel":"string"},"description":"Property tags this format applies to; absent means all properties.","uniqueKey":"formats.items.[INDEX].applies_to_property_tags","typeLabel":"string[]"},"seller_preference":{"type":"string","description":"Seller preference hint from the format declaration, when present.","uniqueKey":"formats.items.[INDEX].seller_preference","typeLabel":"string"},"experimental":{"type":"boolean","description":"Whether this seller's format declaration is marked experimental.","uniqueKey":"formats.items.[INDEX].experimental","typeLabel":"boolean"}},"required":["display_name","format_kind"],"uniqueKey":"formats.items.[INDEX]","typeLabel":"object"},"description":"Lossy display-oriented summary of top-level adagents.json `formats[]`, normalized for publisher pages and eligibility discovery. It preserves `format_kind`, `format_option_id`, params, property scope, preference, and experimental status, but omits `reference_renderer`, `v1_format_ref`, `canonical_formats_only`, `applies_to_channels`, `publisher_domain`, and custom `format_shape`/`format_schema`. Fetch the canonical document at hosting.resolved_url (or hosting.expected_url when self-hosted) for creative validation or reference-renderer discovery.","uniqueKey":"formats","typeLabel":"object[]"},"placements":{"type":"array","items":{"type":"object","properties":{"placement_id":{"type":"string","isRequired":true,"uniqueKey":"placements.items.[INDEX].placement_id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"placements.items.[INDEX].name","typeLabel":"string"},"source":{"type":"string","enum":["adagents_json","community"],"description":"Publisher-origin placements are adagents_json; moderator-maintained catalog placements are community.","isRequired":true,"uniqueKey":"placements.items.[INDEX].source","typeLabel":"enum\u003cstring>"},"description":{"type":"string","uniqueKey":"placements.items.[INDEX].description","typeLabel":"string"},"property_ids":{"type":"array","items":{"type":"string","uniqueKey":"placements.items.[INDEX].property_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"placements.items.[INDEX].property_ids","typeLabel":"string[]"},"property_tags":{"type":"array","items":{"type":"string","uniqueKey":"placements.items.[INDEX].property_tags.items.[INDEX]","typeLabel":"string"},"uniqueKey":"placements.items.[INDEX].property_tags","typeLabel":"string[]"},"collection_ids":{"type":"array","items":{"type":"string","uniqueKey":"placements.items.[INDEX].collection_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"placements.items.[INDEX].collection_ids","typeLabel":"string[]"},"channels":{"type":"array","items":{"type":"string","uniqueKey":"placements.items.[INDEX].channels.items.[INDEX]","typeLabel":"string"},"uniqueKey":"placements.items.[INDEX].channels","typeLabel":"string[]"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"placements.items.[INDEX].tags.items.[INDEX]","typeLabel":"string"},"uniqueKey":"placements.items.[INDEX].tags","typeLabel":"string[]"},"format_options":{"type":"array","items":{"type":"object","properties":{"format_kind":{"type":"string","description":"Resolved canonical format kind accepted by this placement.","isRequired":true,"uniqueKey":"placements.items.[INDEX].format_options.items.[INDEX].format_kind","typeLabel":"string"},"format_option_id":{"type":"string","uniqueKey":"placements.items.[INDEX].format_options.items.[INDEX].format_option_id","typeLabel":"string"},"params":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"placements.items.[INDEX].format_options.items.[INDEX].params.additionalProperties","typeLabel":"any"},"description":"Resolved canonical narrowing for this placement format.","uniqueKey":"placements.items.[INDEX].format_options.items.[INDEX].params","typeLabel":"object"}},"required":["format_kind"],"uniqueKey":"placements.items.[INDEX].format_options.items.[INDEX]","typeLabel":"object"},"description":"Placement format references resolved against the same response's top-level formats plus any inline canonical declarations.","uniqueKey":"placements.items.[INDEX].format_options","typeLabel":"object[]"}},"required":["placement_id","name","source"],"uniqueKey":"placements.items.[INDEX]","typeLabel":"object"},"description":"Eligibility-oriented publisher placement summaries. Present only when the request includes `include=placements`; format references are resolved to canonical kind/params so callers can join property → placement → format without a second origin fetch. The lossy summary omits placement `presentation_ref` and `preview_provider`; fetch the resolved raw adagents.json for publisher presentation metadata and preview delegation.","uniqueKey":"placements","typeLabel":"object[]"},"rollup_truncated":{"type":"object","properties":{"cap":{"type":"integer","exclusiveMinimum":0,"description":"Maximum number of agents for which the rollup is computed in a single response.","isRequired":true,"uniqueKey":"rollup_truncated.cap","typeLabel":"integer"},"total_agents":{"type":"integer","minimum":0,"description":"Total authorized-agent count for this publisher (the full population the cap was applied to).","isRequired":true,"uniqueKey":"rollup_truncated.total_agents","typeLabel":"integer"}},"required":["cap","total_agents"],"description":"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\u0026agent=Y` for the per-agent count. Lets a caller decide whether to fan out individual calls or stop reading.","uniqueKey":"rollup_truncated","typeLabel":"object"},"auto_crawl_triggered":{"type":"boolean","description":"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.","uniqueKey":"auto_crawl_triggered","typeLabel":"boolean"}},"required":["domain","member","adagents_valid","hosting","properties","authorized_agents"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"domain":"voxmedia.com","member":{"slug":"\u003cstring>","display_name":"\u003cstring>","membership_tier":"\u003cstring>","membership_tier_label":"\u003cstring>","is_founding_member":true},"adagents_valid":true,"hosting":{"mode":"self","expected_url":"\u003cstring>","hosted_url":"\u003cstring>","resolved_url":"\u003cstring>","last_validated":"\u003cstring>","last_http_status":349,"last_bytes":1,"origin_verified_at":"\u003cstring>","origin_last_checked_at":"\u003cstring>"},"properties":[{"id":"\u003cstring>","type":"\u003cstring>","name":"\u003cstring>","identifiers":[{"type":"domain","value":"examplepub.com"}],"tags":["\u003cstring>"],"source":"adagents_json","delegation_type":"direct"}],"authorized_agents":[{"url":"\u003cstring>","source":"adagents_json","authorized_for":"\u003cstring>","properties_authorized":1,"properties_total":1,"publisher_wide":true}],"discovery_method":"direct","manager_domain":"\u003cstring>","files":{"adagents_json":{"status":"valid","expected_url":"\u003cstring>","registry_url":"\u003cstring>"},"brand_json":{"status":"present","name":"\u003cstring>"}},"brand":{"name":"\u003cstring>","description":"\u003cstring>","logo_url":"\u003cstring>","colors":["\u003cstring>"],"industries":["\u003cstring>"]},"formats":[{"display_name":"\u003cstring>","format_kind":"\u003cstring>","format_option_id":"\u003cstring>","sample_render_url":"\u003cstring>","params":{},"applies_to_property_ids":["\u003cstring>"],"applies_to_property_tags":["\u003cstring>"],"seller_preference":"\u003cstring>","experimental":true}],"placements":[{"placement_id":"\u003cstring>","name":"\u003cstring>","source":"adagents_json","description":"\u003cstring>","property_ids":["\u003cstring>"],"property_tags":["\u003cstring>"],"collection_ids":["\u003cstring>"],"channels":["\u003cstring>"],"tags":["\u003cstring>"],"format_options":[{"format_kind":"\u003cstring>","format_option_id":"\u003cstring>","params":{}}]}],"rollup_truncated":{"cap":123,"total_agents":1},"auto_crawl_triggered":true}}},"exampleType":"generated"}},"exampleType":"generated"},"2b5e8a7e-dfac-4132-97be-a82aab614336":{"description":"Missing domain","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"aac06f28-6f5d-48f5-9179-50639bfd9078":{"description":"Publisher lookup exceeded its bounded read deadline","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["publisher_lookup_timeout"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"retry_after":{"type":"integer","isRequired":true,"uniqueKey":"retry_after","typeLabel":"integer"}},"required":["error","code","retry_after"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"publisher_lookup_timeout","retry_after":123}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"46d4de70-6166-4b1c-b556-bb3af90d3a0c":{"url":"https://agenticadvertising.org","description":"Production"}}},"originalFileLocation":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml"},"subdomain":"agenticadvertisingorg","siteName":"AdCP - Ad Context Protocol","title":"Publisher lookup - AdCP - Ad Context Protocol","navMaps":{"firstHrefInVersion":{"3.2":{"href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup","matchLevel":0},"3.3-beta":{"href":"/dist/docs/3.3.0-beta.0/registry/api-reference/authorization-lookups/publisher-lookup","matchLevel":1},"3.1":{"href":"/dist/docs/3.1.27/registry/api-reference/authorization-lookups/publisher-lookup","matchLevel":1},"3.0":{"href":"/dist/docs/3.0.28/registry/index","matchLevel":2},"2.5 (archived)":{"href":"/dist/docs/2.5.3/reference/media-buy-quick-reference","matchLevel":2}},"firstHrefInLanguage":{}},"lastModified":"2026-10-24T02:22:35.945Z","originalFileLocation":"dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"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: publisher-attested adagents.json properties win first. When no publisher-attested adagents properties exist for the domain, brand.json properties supplement and override lower-trust rows, followed by approved community catalogs, then crawler-discovered rows. Each property carries a source field (adagents_json / brand_json / community / discovered). 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\u0026amp;agent=Y for the per-agent count when the index rollup is absent.\">\u003cmeta data-mint-head name=\"application-name\" content=\"AdCP - Ad Context Protocol\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/agenticadvertisingorg/JomSeQ4JKmdJww4Y/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/agenticadvertisingorg/JomSeQ4JKmdJww4Y/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/agenticadvertisingorg/JomSeQ4JKmdJww4Y/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/agenticadvertisingorg/JomSeQ4JKmdJww4Y/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/agenticadvertisingorg/JomSeQ4JKmdJww4Y/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/agenticadvertisingorg/JomSeQ4JKmdJww4Y/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/agenticadvertisingorg/JomSeQ4JKmdJww4Y/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/agenticadvertisingorg/JomSeQ4JKmdJww4Y/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/agenticadvertisingorg/JomSeQ4JKmdJww4Y/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Publisher lookup - AdCP - Ad Context Protocol\">\u003cmeta data-mint-head property=\"og:description\" content=\"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: publisher-attested adagents.json properties win first. When no publisher-attested adagents properties exist for the domain, brand.json properties supplement and override lower-trust rows, followed by approved community catalogs, then crawler-discovered rows. Each property carries a source field (adagents_json / brand_json / community / discovered). 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\u0026amp;agent=Y for the per-agent count when the index rollup is absent.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"AdCP - Ad Context Protocol\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://agenticadvertisingorg.mintlify.app/_mintlify/api/og/v2?division=Authorization+Lookups\u0026amp;title=Publisher+lookup\u0026amp;description=Given+a+domain%2C+returns+the+inventory+this+entity+publishes+and+which+agents+it+authorizes.%0A%0A**This+endpoint+is+unauthenticated+and+returns+the+same+response+sh\u0026amp;theme=be64ae0b59577dd8c09f9173\u0026amp;signature=985ed4d2a5b6da1f329f7af6ae8d1ab3174dfc3a22992ed404c14c50b5bb81a7\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Publisher lookup - AdCP - Ad Context Protocol\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"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: publisher-attested adagents.json properties win first. When no publisher-attested adagents properties exist for the domain, brand.json properties supplement and override lower-trust rows, followed by approved community catalogs, then crawler-discovered rows. Each property carries a source field (adagents_json / brand_json / community / discovered). 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\u0026amp;agent=Y for the per-agent count when the index rollup is absent.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://agenticadvertisingorg.mintlify.app/_mintlify/api/og/v2?division=Authorization+Lookups\u0026amp;title=Publisher+lookup\u0026amp;description=Given+a+domain%2C+returns+the+inventory+this+entity+publishes+and+which+agents+it+authorizes.%0A%0A**This+endpoint+is+unauthenticated+and+returns+the+same+response+sh\u0026amp;theme=be64ae0b59577dd8c09f9173\u0026amp;signature=985ed4d2a5b6da1f329f7af6ae8d1ab3174dfc3a22992ed404c14c50b5bb81a7\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/agenticadvertisingorg/JomSeQ4JKmdJww4Y/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"AdCP - Ad Context Protocol\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#047857\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.adcontextprotocol.org/#organization\",\"name\":\"AdCP - Ad Context Protocol\",\"url\":\"https://docs.adcontextprotocol.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/agenticadvertisingorg/cnoy0Xiq2i_jSWzz/logo/sage.svg?fit=max\u0026auto=format\u0026n=cnoy0Xiq2i_jSWzz\u0026q=85\u0026s=f393829d8ccdabe856cf9c8362e66b96\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.adcontextprotocol.org#website\",\"name\":\"AdCP - Ad Context Protocol\",\"url\":\"https://docs.adcontextprotocol.org\",\"publisher\":{\"@id\":\"https://docs.adcontextprotocol.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup#webpage\",\"url\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup\",\"name\":\"Publisher lookup\",\"description\":\"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: publisher-attested adagents.json properties win first. When no publisher-attested adagents properties exist for the domain, brand.json properties supplement and override lower-trust rows, followed by approved community catalogs, then crawler-discovered rows. Each property carries a source field (adagents_json / brand_json / community / discovered). 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\u0026agent=Y for the per-agent count when the index rollup is absent.\",\"dateModified\":\"2026-10-24T02:22:35.945Z\",\"isPartOf\":{\"@id\":\"https://docs.adcontextprotocol.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reference\",\"item\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Registry API\",\"item\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/index\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Authorization Lookups\",\"item\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/authorization-lookups/domain-lookup-deprecated\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Publisher lookup\",\"item\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup#apireference\",\"headline\":\"Publisher lookup\",\"name\":\"Publisher lookup\",\"description\":\"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: publisher-attested adagents.json properties win first. When no publisher-attested adagents properties exist for the domain, brand.json properties supplement and override lower-trust rows, followed by approved community catalogs, then crawler-discovered rows. Each property carries a source field (adagents_json / brand_json / community / discovered). 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\u0026agent=Y for the per-agent count when the index rollup is absent.\",\"url\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup\",\"mainEntityOfPage\":{\"@id\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup#webpage\"},\"dateModified\":\"2026-10-24T02:22:35.945Z\",\"publisher\":{\"@id\":\"https://docs.adcontextprotocol.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.adcontextprotocol.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"AdCP - Ad Context Protocol\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"AdCP - Ad Context Protocol","nav":{"global":null,"versions":[{"version":"3.2","default":true,"tag":"Latest","groups":[{"group":"Getting Started","pages":[{"title":"Introduction to AdCP","sidebarTitle":"Introduction","href":"/dist/docs/3.2.6/intro"},{"title":"Quickstart","href":"/dist/docs/3.2.6/quickstart"}]},{"group":"Building with AdCP","expanded":false,"pages":[{"title":"Building with AdCP","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/building/index"},{"title":"Schemas \u0026 SDKs","sidebarTitle":"Schemas \u0026 SDKs","href":"/dist/docs/3.2.6/building/schemas-and-sdks"},{"group":"Release notes \u0026 migration","expanded":false,"pages":[{"title":"AdCP 3.0","href":"/dist/docs/3.2.6/reference/whats-new-in-v3"},{"title":"What's New in AdCP 3.1","href":"/dist/docs/3.2.6/reference/whats-new-in-3-1"},{"title":"What's new in AdCP 3.2","sidebarTitle":"What's new in 3.2","href":"/dist/docs/3.2.6/reference/whats-new-in-3-2"},{"title":"AdCP 3.2 prerelease history","sidebarTitle":"3.2 prerelease history","href":"/dist/docs/3.2.6/reference/3-2-beta"},{"group":"3.3 preview","pages":[{"title":"What's new in AdCP 3.3","sidebarTitle":"What's new in 3.3","href":"/dist/docs/3.2.6/reference/whats-new-in-3-3"},{"title":"AdCP 3.3 beta program","sidebarTitle":"3.3 beta program","href":"/dist/docs/3.2.6/reference/3-3-beta"},{"title":"Migrating from 3.2 to 3.3","sidebarTitle":"3.2 to 3.3","href":"/dist/docs/3.2.6/reference/migration/3-2-to-3-3"}]},{"title":"v3 readiness checklist","sidebarTitle":"Readiness checklist","href":"/dist/docs/3.2.6/reference/migration/v3-readiness"},{"title":"Migration guides","sidebarTitle":"Migration guides","href":"/dist/docs/3.2.6/reference/migration/index"},{"title":"Migrating from 3.0 to 3.1","sidebarTitle":"3.0 to 3.1","href":"/dist/docs/3.2.6/reference/migration/3-0-to-3-1"},{"title":"Migrating from 3.1 to 3.2","sidebarTitle":"3.1 to 3.2","href":"/dist/docs/3.2.6/reference/migration/3-1-to-3-2"},{"title":"Reliable Reporting consumer-status loop","href":"/dist/docs/3.2.6/reference/migration/reliable-reporting-status-loop"},{"title":"Prerelease upgrade notes","sidebarTitle":"Prerelease upgrades","href":"/dist/docs/3.2.6/reference/migration/prerelease-upgrades"},{"title":"Migrating channels","href":"/dist/docs/3.2.6/reference/migration/channels"},{"title":"Migrating pricing","href":"/dist/docs/3.2.6/reference/migration/pricing"},{"title":"Migrating geo targeting","href":"/dist/docs/3.2.6/reference/migration/geo-targeting"},{"title":"Migrating creatives","href":"/dist/docs/3.2.6/reference/migration/creatives"},{"title":"Migrating to creative transformers (3.1)","href":"/dist/docs/3.2.6/reference/migration/creative-transformers"},{"title":"Migrating catalogs","href":"/dist/docs/3.2.6/reference/migration/catalogs"},{"title":"Migrating optimization goals","href":"/dist/docs/3.2.6/reference/migration/optimization-goals"},{"title":"Migrating brand identity","href":"/dist/docs/3.2.6/reference/migration/brand-identity"},{"title":"Migrating signals","href":"/dist/docs/3.2.6/reference/migration/signals"},{"title":"Migrating audiences","href":"/dist/docs/3.2.6/reference/migration/audiences"},{"title":"Migrating attribution windows","href":"/dist/docs/3.2.6/reference/migration/attribution"},{"title":"Migrating to `media_buy_status` (3.1 → 3.2)","href":"/dist/docs/3.2.6/reference/migration/media-buy-status"},{"title":"Targeting-aware product discovery","href":"/dist/docs/3.2.6/reference/migration/targeting-aware-discovery"},{"title":"Migrating secured asset access (3.2)","href":"/dist/docs/3.2.6/reference/migration/asset-access"},{"title":"Cross-role governance enforcement","href":"/dist/docs/3.2.6/reference/migration/cross-role-governance-enforcement"}]},{"title":"Protocol architecture","sidebarTitle":"Architecture","href":"/dist/docs/3.2.6/protocol/architecture"},{"title":"How AdCP is designed","sidebarTitle":"Design principles","href":"/dist/docs/3.2.6/protocol/design-principles"},{"title":"Language and localization","sidebarTitle":"Language and localization","href":"/dist/docs/3.2.6/protocol/language-and-localization"},{"title":"Capabilities explorer","sidebarTitle":"Capabilities explorer","href":"/dist/docs/3.2.6/protocol/capabilities-explorer"},{"title":"Specification Guidelines","href":"/dist/docs/3.2.6/spec-guidelines"},{"title":"Required tasks by protocol","sidebarTitle":"Required tasks","href":"/dist/docs/3.2.6/protocol/required-tasks"},{"title":"Calling an AdCP agent","sidebarTitle":"Calling an agent","href":"/dist/docs/3.2.6/protocol/calling-an-agent"},{"title":"Format References","href":"/dist/docs/3.2.6/protocol/format-references"},{"title":"Snapshot and log","href":"/dist/docs/3.2.6/protocol/snapshot-and-log"},{"group":"Concepts","expanded":false,"pages":[{"title":"Why AdCP","href":"/dist/docs/3.2.6/building/concepts/index"},{"title":"Protocol Comparison","href":"/dist/docs/3.2.6/building/concepts/protocol-comparison"},{"title":"AdCP and OpenRTB","sidebarTitle":"AdCP vs OpenRTB","href":"/dist/docs/3.2.6/building/concepts/adcp-vs-openrtb"},{"title":"How AI agents communicate ad specs across platforms","sidebarTitle":"How agents communicate","href":"/dist/docs/3.2.6/building/concepts/how-agents-communicate"},{"title":"Security Model","sidebarTitle":"Security Model","href":"/dist/docs/3.2.6/building/concepts/security-model"},{"title":"AI advertising standards landscape","sidebarTitle":"Industry landscape","href":"/dist/docs/3.2.6/building/concepts/industry-landscape"},{"title":"Managing Response Size","sidebarTitle":"Managing Response Size","href":"/dist/docs/3.2.6/building/concepts/managing-response-size"}]},{"group":"Build by layer","pages":[{"group":"L4 — Business logic","pages":[{"title":"L4 — Business logic","sidebarTitle":"L4 — Business logic","href":"/dist/docs/3.2.6/building/by-layer/L4/index"},{"title":"Choose your SDK","sidebarTitle":"Choose your SDK","href":"/dist/docs/3.2.6/building/by-layer/L4/choose-your-sdk"},{"title":"Build an Agent","sidebarTitle":"Build an Agent","href":"/dist/docs/3.2.6/building/by-layer/L4/build-an-agent"},{"title":"Build a caller","sidebarTitle":"Build a caller","href":"/dist/docs/3.2.6/building/by-layer/L4/build-a-caller"},{"title":"Migrate from a hand-rolled agent","sidebarTitle":"Migrate from hand-rolled","href":"/dist/docs/3.2.6/building/by-layer/L4/migrate-from-hand-rolled"}]},{"group":"L3 — Protocol semantics","expanded":false,"pages":[{"title":"L3 — Protocol semantics","sidebarTitle":"L3 — Protocol semantics","href":"/dist/docs/3.2.6/building/by-layer/L3/index"},{"title":"Task Lifecycle","href":"/dist/docs/3.2.6/building/by-layer/L3/task-lifecycle"},{"title":"Async Operations","href":"/dist/docs/3.2.6/building/by-layer/L3/async-operations"},{"title":"Async identity and convergence","href":"/dist/docs/3.2.6/building/by-layer/L3/async-identity-and-convergence"},{"title":"Push Notifications","href":"/dist/docs/3.2.6/building/by-layer/L3/webhooks"},{"title":"Error Handling","href":"/dist/docs/3.2.6/building/by-layer/L3/error-handling"},{"title":"Compliance test controller","href":"/dist/docs/3.2.6/building/by-layer/L3/comply-test-controller"}]},{"group":"L2 — Auth \u0026 registry","expanded":false,"pages":[{"title":"L2 — Auth \u0026 registry","sidebarTitle":"L2 — Auth \u0026 registry","href":"/dist/docs/3.2.6/building/by-layer/L2/index"},{"title":"Authentication","href":"/dist/docs/3.2.6/building/by-layer/L2/authentication"},{"title":"Account state","href":"/dist/docs/3.2.6/building/by-layer/L2/account-state"},{"title":"Accounts and agents","href":"/dist/docs/3.2.6/building/by-layer/L2/accounts-and-agents"},{"title":"Context \u0026 Sessions","href":"/dist/docs/3.2.6/building/by-layer/L2/context-sessions"}]},{"group":"L1 — Identity \u0026 signing","expanded":false,"pages":[{"title":"L1 — Identity \u0026 signing","sidebarTitle":"L1 — Identity \u0026 signing","href":"/dist/docs/3.2.6/building/by-layer/L1/index"},{"title":"Security","href":"/dist/docs/3.2.6/building/by-layer/L1/security"},{"title":"Request Signing Guide","href":"/dist/docs/3.2.6/building/by-layer/L1/request-signing"},{"title":"Webhook Verifier Tuning Guide","sidebarTitle":"Webhook Verifier Tuning","href":"/dist/docs/3.2.6/building/by-layer/L1/webhook-verifier-tuning"}]},{"group":"L0 — Wire \u0026 transport","expanded":false,"pages":[{"title":"L0 — Wire \u0026 transport","sidebarTitle":"L0 — Wire \u0026 transport","href":"/dist/docs/3.2.6/building/by-layer/L0/index"},{"title":"Schemas","sidebarTitle":"Schemas","href":"/dist/docs/3.2.6/building/by-layer/L0/schemas"},{"title":"MCP Guide","href":"/dist/docs/3.2.6/building/by-layer/L0/mcp-guide"},{"title":"A2A Guide","href":"/dist/docs/3.2.6/building/by-layer/L0/a2a-guide"},{"title":"AdCP A2A Profile Extension v3","sidebarTitle":"A2A profile extension","href":"/dist/docs/3.2.6/building/by-layer/L0/a2a-profile-extension"},{"title":"A2A Response Format","href":"/dist/docs/3.2.6/building/by-layer/L0/a2a-response-format"},{"title":"get_adcp_capabilities","href":"/dist/docs/3.2.6/protocol/get_adcp_capabilities"},{"title":"sync_agent_notification_configs","href":"/dist/docs/3.2.6/protocol/sync_agent_notification_configs"},{"title":"sync_principal","href":"/dist/docs/3.2.6/protocol/sync_principal"},{"title":"get_principal","href":"/dist/docs/3.2.6/protocol/get_principal"},{"title":"MCP Response Extraction","href":"/dist/docs/3.2.6/building/by-layer/L0/mcp-response-extraction"},{"title":"A2A Response Extraction","href":"/dist/docs/3.2.6/building/by-layer/L0/a2a-response-extraction"}]}]},{"group":"Cross-cutting","expanded":false,"pages":[{"title":"The AdCP stack","sidebarTitle":"SDK stack reference","href":"/dist/docs/3.2.6/building/cross-cutting/sdk-stack"},{"title":"Version Adaptation","sidebarTitle":"Version Adaptation","href":"/dist/docs/3.2.6/building/cross-cutting/version-adaptation"},{"title":"Known spec ambiguities","href":"/dist/docs/3.2.6/building/cross-cutting/known-ambiguities"}]},{"group":"Verification \u0026 trust","expanded":false,"pages":[{"title":"Conformance Specification","sidebarTitle":"Conformance Specification","href":"/dist/docs/3.2.6/building/verification/conformance"},{"title":"Compliance Catalog","sidebarTitle":"Compliance Catalog","href":"/dist/docs/3.2.6/building/verification/compliance-catalog"},{"title":"Storyboards vs. scenarios — which is which","sidebarTitle":"Storyboards vs. Scenarios","href":"/dist/docs/3.2.6/building/verification/storyboards-vs-scenarios"},{"title":"How grading works","sidebarTitle":"How grading works","href":"/dist/docs/3.2.6/building/verification/how-grading-works"},{"title":"Validate your agent using storyboards","sidebarTitle":"Validate Your Agent","href":"/dist/docs/3.2.6/building/verification/validate-your-agent"},{"title":"Validate adapter agents with mock upstream fixtures","sidebarTitle":"Mock Upstream Fixtures","href":"/dist/docs/3.2.6/building/verification/validate-with-mock-fixtures"},{"title":"Pair-program with Addie (Socket Mode)","sidebarTitle":"Pair with Addie","href":"/dist/docs/3.2.6/building/verification/addie-socket-mode"},{"title":"Auth Graders","sidebarTitle":"Auth Graders","href":"/dist/docs/3.2.6/building/verification/grading"},{"title":"Get Test-Ready","sidebarTitle":"Get Test-Ready","href":"/dist/docs/3.2.6/building/verification/get-test-ready"},{"title":"AAO Verified","sidebarTitle":"AAO Verified","href":"/dist/docs/3.2.6/building/verification/aao-verified"}]},{"group":"Operating","expanded":false,"pages":[{"title":"Operating an Agent","sidebarTitle":"Operating an Agent","href":"/dist/docs/3.2.6/building/operating/operating-an-agent"},{"title":"Orchestrator Design","href":"/dist/docs/3.2.6/building/operating/orchestrator-design"},{"title":"Transport Error Mapping","href":"/dist/docs/3.2.6/building/operating/transport-errors"},{"title":"Making your inventory available to AI agents","sidebarTitle":"Seller integration","href":"/dist/docs/3.2.6/building/operating/seller-integration"},{"title":"Storyboard troubleshooting","href":"/dist/docs/3.2.6/building/operating/storyboard-troubleshooting"},{"title":"Support recovery runbooks","sidebarTitle":"Support recovery","href":"/dist/docs/3.2.6/building/operating/support-recovery-runbooks"}]},{"group":"Accounts","expanded":false,"pages":[{"title":"Accounts Protocol","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/accounts/overview"},{"title":"Set up your buyer agent with a seller","sidebarTitle":"Buyer agent setup","href":"/dist/docs/3.2.6/accounts/principal-registration-walkthrough"},{"title":"Provision a seller-mediated account","sidebarTitle":"Provision an account","href":"/dist/docs/3.2.6/accounts/provisioning-walkthrough"},{"title":"sync_accounts","href":"/dist/docs/3.2.6/accounts/tasks/sync_accounts"},{"title":"list_accounts","href":"/dist/docs/3.2.6/accounts/tasks/list_accounts"},{"title":"report_usage","href":"/dist/docs/3.2.6/accounts/tasks/report_usage"},{"title":"sync_governance","href":"/dist/docs/3.2.6/accounts/tasks/sync_governance"},{"title":"get_account_financials","href":"/dist/docs/3.2.6/accounts/tasks/get_account_financials"},{"title":"list_account_changes","href":"/dist/docs/3.2.6/accounts/tasks/list_account_changes"}]}]},{"group":"Protocol","expanded":false,"pages":[{"group":"Media Buy","expanded":false,"pages":[{"title":"Media buy protocol","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/media-buy/index"},{"title":"Commerce Media","href":"/dist/docs/3.2.6/media-buy/commerce-media"},{"group":"Concepts","pages":[{"title":"Product discovery and planning","sidebarTitle":"Discovery and planning","href":"/dist/docs/3.2.6/media-buy/product-discovery/index"},{"title":"Brief expectations","href":"/dist/docs/3.2.6/media-buy/product-discovery/brief-expectations"},{"title":"Example campaign discovery requests","href":"/dist/docs/3.2.6/media-buy/product-discovery/example-briefs"},{"title":"Media Products","href":"/dist/docs/3.2.6/media-buy/product-discovery/media-products"},{"title":"Collections and installments","href":"/dist/docs/3.2.6/media-buy/product-discovery/collections-and-installments"},{"title":"Proposal negotiation","href":"/dist/docs/3.2.6/media-buy/product-discovery/proposal-negotiation"},{"title":"MediaBuy lifecycle","href":"/dist/docs/3.2.6/media-buy/media-buys/index"},{"title":"Media Buy Lifecycle Flow","href":"/dist/docs/3.2.6/media-buy/media-buys/lifecycle"},{"title":"Indicators and Warnings","href":"/dist/docs/3.2.6/media-buy/media-buys/indicators"},{"title":"Optimization \u0026 Reporting","href":"/dist/docs/3.2.6/media-buy/media-buys/optimization-reporting"},{"title":"Policy compliance","href":"/dist/docs/3.2.6/media-buy/media-buys/policy-compliance"},{"title":"Creative Lifecycle","href":"/dist/docs/3.2.6/media-buy/creatives/index"},{"title":"Conversion Tracking \u0026 Optimization Goals","href":"/dist/docs/3.2.6/media-buy/conversion-tracking/index"},{"title":"Pricing Models","href":"/dist/docs/3.2.6/media-buy/advanced-topics/pricing-models"},{"title":"Targeting","href":"/dist/docs/3.2.6/media-buy/advanced-topics/targeting"},{"title":"Accountability","sidebarTitle":"Accountability","href":"/dist/docs/3.2.6/media-buy/advanced-topics/accountability"},{"title":"Billing Authority","sidebarTitle":"Billing Authority","href":"/dist/docs/3.2.6/media-buy/advanced-topics/billing-authority"},{"group":"3.x compatibility","expanded":false,"pages":[{"title":"Refinement","href":"/dist/docs/3.2.6/media-buy/product-discovery/refinement"}]}]},{"group":"Building","pages":[{"title":"Capability Discovery","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/media-buy/capability-discovery/index"},{"title":"Implementing Standard Format Support","href":"/dist/docs/3.2.6/media-buy/capability-discovery/implementing-standard-formats"},{"title":"Reliable Reporting: implementing reporting.core","href":"/dist/docs/3.2.6/media-buy/reporting-core-implementation-guide"},{"title":"Agentic eXecution Engine (AXE)","href":"/dist/docs/3.2.6/media-buy/advanced-topics/agentic-execution-engine"},{"title":"Accounts \u0026 Security","href":"/dist/docs/3.2.6/media-buy/advanced-topics/accounts-and-security"},{"title":"Sandbox mode","href":"/dist/docs/3.2.6/media-buy/advanced-topics/sandbox"}]},{"group":"Reference","expanded":false,"pages":[{"title":"Media Buy Specification","sidebarTitle":"Specification","href":"/dist/docs/3.2.6/media-buy/specification"},{"title":"Task Reference","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/media-buy/task-reference/index"},{"title":"list_products","href":"/dist/docs/3.2.6/media-buy/task-reference/list_products"},{"title":"request_proposals","href":"/dist/docs/3.2.6/media-buy/task-reference/request_proposals"},{"title":"refine_proposals","href":"/dist/docs/3.2.6/media-buy/task-reference/refine_proposals"},{"title":"decline_proposals","href":"/dist/docs/3.2.6/media-buy/task-reference/decline_proposals"},{"title":"buy_products","href":"/dist/docs/3.2.6/media-buy/task-reference/buy_products"},{"title":"accept_proposal","href":"/dist/docs/3.2.6/media-buy/task-reference/accept_proposal"},{"title":"control_media_buy","href":"/dist/docs/3.2.6/media-buy/task-reference/control_media_buy"},{"title":"sync_catalogs","href":"/dist/docs/3.2.6/media-buy/task-reference/sync_catalogs"},{"title":"get_media_buys","href":"/dist/docs/3.2.6/media-buy/task-reference/get_media_buys"},{"title":"get_media_buy_delivery","href":"/dist/docs/3.2.6/media-buy/task-reference/get_media_buy_delivery"},{"title":"get_reporting_status","href":"/dist/docs/3.2.6/media-buy/task-reference/get_reporting_status"},{"title":"sync_reporting_status","href":"/dist/docs/3.2.6/media-buy/task-reference/sync_reporting_status"},{"title":"sync_reporting_receipts","href":"/dist/docs/3.2.6/media-buy/task-reference/sync_reporting_receipts"},{"title":"provide_performance_feedback","href":"/dist/docs/3.2.6/media-buy/task-reference/provide_performance_feedback"},{"title":"sync_event_sources","href":"/dist/docs/3.2.6/media-buy/task-reference/sync_event_sources"},{"title":"log_event","href":"/dist/docs/3.2.6/media-buy/task-reference/log_event"},{"title":"sync_audiences","href":"/dist/docs/3.2.6/media-buy/task-reference/sync_audiences"},{"group":"3.x compatibility","expanded":false,"pages":[{"title":"get_products","href":"/dist/docs/3.2.6/media-buy/task-reference/get_products"},{"title":"create_media_buy","href":"/dist/docs/3.2.6/media-buy/task-reference/create_media_buy"},{"title":"update_media_buy","href":"/dist/docs/3.2.6/media-buy/task-reference/update_media_buy"}]}]}]},{"group":"Creative","expanded":false,"pages":[{"title":"Creative protocol","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/creative/index"},{"group":"Concepts","pages":[{"title":"Key concepts","href":"/dist/docs/3.2.6/creative/key-concepts"},{"title":"AI creative for campaign teams","href":"/dist/docs/3.2.6/creative/ai-creative-overview"},{"title":"Generative Creative","href":"/dist/docs/3.2.6/creative/generative-creative"},{"title":"Creative libraries and concepts","href":"/dist/docs/3.2.6/creative/creative-libraries"},{"title":"Catalogs","href":"/dist/docs/3.2.6/creative/catalogs"},{"title":"Catalog item schemas","href":"/dist/docs/3.2.6/creative/catalog-schemas"}]},{"group":"Building Creative Agents","pages":[{"title":"Implementing Creative Agents","href":"/dist/docs/3.2.6/creative/implementing-creative-agents"},{"title":"Creative Capabilities on Sales Agents","href":"/dist/docs/3.2.6/creative/sales-agent-creative-capabilities"},{"title":"Multi-Agent Creative Orchestration","href":"/dist/docs/3.2.6/creative/multi-agent-orchestration"},{"title":"Creative Manifests","href":"/dist/docs/3.2.6/creative/creative-manifests"},{"title":"Private assets","href":"/dist/docs/3.2.6/creative/private-assets"},{"title":"Buyer-attached inputs to build_creative","sidebarTitle":"Buyer-attached inputs","href":"/dist/docs/3.2.6/creative/buyer-attached-inputs"}]},{"group":"Formats and Assets","pages":[{"title":"Canonical Formats","href":"/dist/docs/3.2.6/creative/canonical-formats"},{"title":"Migration to Canonical Formats","href":"/dist/docs/3.2.6/creative/canonical-formats-migration"},{"title":"Creative Formats","href":"/dist/docs/3.2.6/creative/formats"},{"title":"Asset Types","href":"/dist/docs/3.2.6/creative/asset-types"},{"title":"Creative representation sets","href":"/dist/docs/3.2.6/creative/representation-sets"},{"title":"Published Post Reference Creatives","href":"/dist/docs/3.2.6/creative/published-post-reference-creatives"},{"title":"Sponsored Placement adapter contracts","href":"/dist/docs/3.2.6/creative/sponsored-placement-adapter-contracts"},{"title":"Migrating Template Format IDs","href":"/dist/docs/3.2.6/creative/template-format-ids"},{"title":"Universal Macros","href":"/dist/docs/3.2.6/creative/universal-macros"},{"title":"Tracker execution contracts","href":"/dist/docs/3.2.6/creative/tracker-execution-contracts"}]},{"group":"Channel Guides","pages":[{"title":"Video Ads","href":"/dist/docs/3.2.6/creative/channels/video"},{"title":"Connected TV","href":"/dist/docs/3.2.6/creative/channels/ctv"},{"title":"CTV Experience Profiles","href":"/dist/docs/3.2.6/creative/ctv-experiences"},{"title":"Broadcast Creative","href":"/dist/docs/3.2.6/creative/channels/broadcast"},{"title":"Display Ads","href":"/dist/docs/3.2.6/creative/channels/display"},{"title":"Audio Ads","href":"/dist/docs/3.2.6/creative/channels/audio"},{"title":"Radio creative","href":"/dist/docs/3.2.6/creative/channels/radio"},{"title":"Digital Out-of-Home","href":"/dist/docs/3.2.6/creative/channels/dooh"},{"title":"Out-of-Home (Static)","href":"/dist/docs/3.2.6/creative/channels/ooh"},{"title":"Print Creative","href":"/dist/docs/3.2.6/creative/channels/print"},{"title":"Carousel Ads","href":"/dist/docs/3.2.6/creative/channels/carousels"},{"title":"Social and Native Ads","href":"/dist/docs/3.2.6/creative/channels/social-native"}]},{"group":"Compliance","pages":[{"title":"Accessibility","href":"/dist/docs/3.2.6/creative/accessibility"},{"title":"AI provenance and disclosure","sidebarTitle":"Provenance","href":"/dist/docs/3.2.6/creative/provenance"}]},{"group":"Reference","expanded":false,"pages":[{"title":"Creative Specification","sidebarTitle":"Specification","href":"/dist/docs/3.2.6/creative/specification"},{"title":"build_creative","href":"/dist/docs/3.2.6/creative/task-reference/build_creative"},{"title":"preview_creative","href":"/dist/docs/3.2.6/creative/task-reference/preview_creative"},{"title":"preview_creative (Advanced)","href":"/dist/docs/3.2.6/creative/task-reference/preview_creative-advanced"},{"title":"list_creative_formats (deprecated)","href":"/dist/docs/3.2.6/creative/task-reference/list_creative_formats"},{"title":"list_transformers","href":"/dist/docs/3.2.6/creative/task-reference/list_transformers"},{"title":"list_creatives","href":"/dist/docs/3.2.6/creative/task-reference/list_creatives"},{"title":"sync_creatives","href":"/dist/docs/3.2.6/creative/task-reference/sync_creatives"},{"title":"get_creative_delivery","href":"/dist/docs/3.2.6/creative/task-reference/get_creative_delivery"}]}]},{"group":"Governance","expanded":false,"pages":[{"title":"Governance protocol","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/governance/overview"},{"title":"RFC process","href":"/dist/docs/3.2.6/governance/rfc-process"},{"title":"Embedded human judgment","sidebarTitle":"Embedded human judgment","href":"/dist/docs/3.2.6/governance/embedded-human-judgment"},{"title":"Sell-side governance boundaries","sidebarTitle":"Sell-side boundaries","href":"/dist/docs/3.2.6/governance/sell-side-governance"},{"title":"Policy Registry","sidebarTitle":"Policy Registry","href":"/dist/docs/3.2.6/governance/policy-registry"},{"title":"Policy Registry: Sync and versioning","sidebarTitle":"Sync and versioning","href":"/dist/docs/3.2.6/governance/policy-registry-sync"},{"title":"Policy Attribution","sidebarTitle":"Policy Attribution","href":"/dist/docs/3.2.6/governance/policy-attribution"},{"title":"Annex III \u0026 Article 22 obligations","sidebarTitle":"Annex III \u0026 Art 22","href":"/dist/docs/3.2.6/governance/annex-iii-obligations"},{"title":"Working group charter","sidebarTitle":"Working group charter","href":"/dist/docs/3.2.6/governance/working-group-charter"},{"group":"Property Governance","pages":[{"title":"Property Governance","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/governance/property/index"},{"title":"adagents.json Tech Spec","href":"/dist/docs/3.2.6/governance/property/adagents"},{"title":"Managed Network Deployment","href":"/dist/docs/3.2.6/governance/property/managed-networks"},{"title":"Understanding Authorization","href":"/dist/docs/3.2.6/governance/property/authorized-properties"},{"title":"Property Governance Specification","sidebarTitle":"Specification","href":"/dist/docs/3.2.6/governance/property/specification"},{"group":"Tasks","pages":[{"title":"Property Governance Tasks","sidebarTitle":"Task Reference","href":"/dist/docs/3.2.6/governance/property/tasks/index"},{"title":"Property List Management","href":"/dist/docs/3.2.6/governance/property/tasks/property_lists"},{"title":"validate_property_delivery","href":"/dist/docs/3.2.6/governance/property/tasks/validate_property_delivery"}]}]},{"group":"Collection Governance","pages":[{"title":"Collection Governance","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/governance/collection/index"},{"title":"Collection List Management","href":"/dist/docs/3.2.6/governance/collection/tasks/collection_lists"}]},{"group":"Content Standards","pages":[{"title":"Content Standards","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/governance/content-standards/index"},{"title":"Content Artifacts","sidebarTitle":"Artifacts","href":"/dist/docs/3.2.6/governance/content-standards/artifacts"},{"title":"Content Standards Implementation","sidebarTitle":"Implementation Guide","href":"/dist/docs/3.2.6/governance/content-standards/implementation-guide"},{"group":"Tasks","pages":[{"title":"list_content_standards","href":"/dist/docs/3.2.6/governance/content-standards/tasks/list_content_standards"},{"title":"get_content_standards","href":"/dist/docs/3.2.6/governance/content-standards/tasks/get_content_standards"},{"title":"create_content_standards","href":"/dist/docs/3.2.6/governance/content-standards/tasks/create_content_standards"},{"title":"update_content_standards","href":"/dist/docs/3.2.6/governance/content-standards/tasks/update_content_standards"},{"title":"calibrate_content","href":"/dist/docs/3.2.6/governance/content-standards/tasks/calibrate_content"},{"title":"get_media_buy_artifacts","href":"/dist/docs/3.2.6/governance/content-standards/tasks/get_media_buy_artifacts"},{"title":"validate_content_delivery","href":"/dist/docs/3.2.6/governance/content-standards/tasks/validate_content_delivery"}]}]},{"group":"Creative Governance","pages":[{"title":"Creative Governance","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/governance/creative/index"},{"title":"get_creative_features","href":"/dist/docs/3.2.6/governance/creative/get_creative_features"},{"title":"Provenance verification","sidebarTitle":"Provenance verification","href":"/dist/docs/3.2.6/governance/creative/provenance-verification"},{"title":"Policy-backed creative rejections","sidebarTitle":"Policy-backed rejections","href":"/dist/docs/3.2.6/governance/creative/policy-backed-rejections"}]},{"group":"Campaign Governance","pages":[{"title":"Campaign Governance","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/governance/campaign/index"},{"title":"Buyer and Seller Responsibilities","sidebarTitle":"Responsibilities","href":"/dist/docs/3.2.6/governance/campaign/responsibilities"},{"title":"Safety Model","sidebarTitle":"Safety Model","href":"/dist/docs/3.2.6/governance/campaign/safety-model"},{"title":"Specification","sidebarTitle":"Specification","href":"/dist/docs/3.2.6/governance/campaign/specification"},{"title":"Audit trail: internal vs shareable views","sidebarTitle":"Audit trail","href":"/dist/docs/3.2.6/governance/campaign/audit-trail"},{"group":"Tasks","pages":[{"title":"Task reference","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/governance/campaign/tasks/index"},{"title":"sync_plans","href":"/dist/docs/3.2.6/governance/campaign/tasks/sync_plans"},{"title":"report_plan_outcome","href":"/dist/docs/3.2.6/governance/campaign/tasks/report_plan_outcome"},{"title":"report_plan_adjustment","href":"/dist/docs/3.2.6/governance/campaign/tasks/report_plan_adjustment"},{"title":"check_governance","href":"/dist/docs/3.2.6/governance/campaign/tasks/check_governance"},{"title":"get_plan_audit_logs","href":"/dist/docs/3.2.6/governance/campaign/tasks/get_plan_audit_logs"}]}]}]},{"group":"Sponsored Intelligence","expanded":false,"pages":[{"title":"Sponsored Intelligence","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/sponsored-intelligence/overview"},{"title":"Monetizing AI surfaces","sidebarTitle":"Monetizing AI","href":"/dist/docs/3.2.6/sponsored-intelligence/monetizing-ai"},{"group":"Concepts","pages":[{"title":"Product spectrum","sidebarTitle":"Product spectrum","href":"/dist/docs/3.2.6/sponsored-intelligence/product-spectrum"},{"title":"Ad networks","sidebarTitle":"Ad networks","href":"/dist/docs/3.2.6/sponsored-intelligence/networks"},{"title":"End-to-end workflow","sidebarTitle":"Workflow","href":"/dist/docs/3.2.6/sponsored-intelligence/workflow"},{"title":"Measurement","sidebarTitle":"Measurement","href":"/dist/docs/3.2.6/sponsored-intelligence/measurement"}]},{"group":"SI Chat Protocol","pages":[{"title":"SI Chat Protocol","sidebarTitle":"SI Chat Protocol","href":"/dist/docs/3.2.6/sponsored-intelligence/si-chat-protocol"},{"title":"Implementing SI Agents","href":"/dist/docs/3.2.6/sponsored-intelligence/implementing-si-agents"},{"title":"Implementing SI Hosts","href":"/dist/docs/3.2.6/sponsored-intelligence/implementing-si-hosts"}]},{"group":"Reference","expanded":false,"pages":[{"title":"Sponsored Intelligence Specification","sidebarTitle":"Specification","href":"/dist/docs/3.2.6/sponsored-intelligence/specification"},{"title":"Sponsored Intelligence Tasks","sidebarTitle":"Task Reference","href":"/dist/docs/3.2.6/sponsored-intelligence/tasks/index"},{"title":"si_get_offering","href":"/dist/docs/3.2.6/sponsored-intelligence/tasks/si_get_offering"},{"title":"si_initiate_session","href":"/dist/docs/3.2.6/sponsored-intelligence/tasks/si_initiate_session"},{"title":"si_send_message","href":"/dist/docs/3.2.6/sponsored-intelligence/tasks/si_send_message"},{"title":"si_terminate_session","href":"/dist/docs/3.2.6/sponsored-intelligence/tasks/si_terminate_session"}]}]},{"group":"Brand","expanded":false,"pages":[{"title":"Brand protocol","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/brand-protocol/index"},{"title":"Brand protocol","sidebarTitle":"Key concepts","href":"/dist/docs/3.2.6/brand-protocol/key-concepts"},{"title":"Rights licensing walkthrough","sidebarTitle":"Rights licensing","href":"/dist/docs/3.2.6/brand-protocol/walkthrough-rights-licensing"},{"title":"For advertisers","href":"/dist/docs/3.2.6/brand-protocol/for-advertisers"},{"title":"For talent and rights holders","href":"/dist/docs/3.2.6/brand-protocol/for-rights-holders"},{"title":"Seller setup","sidebarTitle":"For sellers","href":"/dist/docs/3.2.6/brand-protocol/seller-setup"},{"title":"brand.json Specification","href":"/dist/docs/3.2.6/brand-protocol/brand-json"},{"title":"Building a brand agent","href":"/dist/docs/3.2.6/brand-protocol/building-a-brand-agent"},{"title":"UI guidance for rejected claims","href":"/dist/docs/3.2.6/brand-protocol/ui-guidance"},{"group":"Tasks","pages":[{"title":"search_brands","href":"/dist/docs/3.2.6/brand-protocol/tasks/search_brands"},{"title":"get_brand_identity","href":"/dist/docs/3.2.6/brand-protocol/tasks/get_brand_identity"},{"title":"verify_brand_claim","href":"/dist/docs/3.2.6/brand-protocol/tasks/verify_brand_claim"},{"title":"verify_brand_claims","href":"/dist/docs/3.2.6/brand-protocol/tasks/verify_brand_claims"},{"title":"get_rights","href":"/dist/docs/3.2.6/brand-protocol/tasks/get_rights"},{"title":"acquire_rights","href":"/dist/docs/3.2.6/brand-protocol/tasks/acquire_rights"},{"title":"update_rights","href":"/dist/docs/3.2.6/brand-protocol/tasks/update_rights"}]}]},{"group":"Signals","expanded":false,"pages":[{"title":"Signals protocol","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/signals/overview"},{"title":"Key concepts","href":"/dist/docs/3.2.6/signals/key-concepts"},{"title":"Signals ecosystem","href":"/dist/docs/3.2.6/signals/ecosystem"},{"title":"Data Provider Guide","sidebarTitle":"Data Providers","href":"/dist/docs/3.2.6/signals/data-providers"},{"group":"Reference","expanded":false,"pages":[{"title":"Signals Specification","sidebarTitle":"Specification","href":"/dist/docs/3.2.6/signals/specification"},{"title":"get_signals","href":"/dist/docs/3.2.6/signals/tasks/get_signals"},{"title":"activate_signal","href":"/dist/docs/3.2.6/signals/tasks/activate_signal"}]}]},{"group":"Trusted Match","expanded":false,"pages":[{"title":"Trusted Match Protocol","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/trusted-match/index"},{"title":"How demand reaches AI assistants","sidebarTitle":"AI mediation","href":"/dist/docs/3.2.6/trusted-match/ai-mediation"},{"title":"TMP for Buyer Agents","sidebarTitle":"Buyer Guide","href":"/dist/docs/3.2.6/trusted-match/buyer-guide"},{"title":"The Execution Gap","href":"/dist/docs/3.2.6/trusted-match/execution-gap"},{"title":"Context Match and Identity Match","href":"/dist/docs/3.2.6/trusted-match/context-and-identity"},{"title":"TMP Specification","href":"/dist/docs/3.2.6/trusted-match/specification"},{"title":"The TMP Router","href":"/dist/docs/3.2.6/trusted-match/router-architecture"},{"title":"Identity Match Frequency-Cap Data Flow","sidebarTitle":"Frequency-Cap Data Flow","href":"/dist/docs/3.2.6/trusted-match/identity-match-implementation"},{"title":"Impression Tracker Implementation Reference","sidebarTitle":"Impression Tracker Reference","href":"/dist/docs/3.2.6/trusted-match/impression-tracker-implementation"},{"title":"Privacy Architecture","href":"/dist/docs/3.2.6/trusted-match/privacy-architecture"},{"title":"Data Protection Roles","href":"/dist/docs/3.2.6/trusted-match/data-protection-roles"},{"title":"Migrating from AXE to TMP","sidebarTitle":"AXE Migration","href":"/dist/docs/3.2.6/trusted-match/migration-from-axe"},{"group":"Surface Guides","pages":[{"title":"TMP for Web Publishers","href":"/dist/docs/3.2.6/trusted-match/surfaces/web"},{"title":"TMP for CTV","href":"/dist/docs/3.2.6/trusted-match/surfaces/ctv"},{"title":"TMP for Mobile Apps","href":"/dist/docs/3.2.6/trusted-match/surfaces/mobile"},{"title":"TMP for Retail Media","href":"/dist/docs/3.2.6/trusted-match/surfaces/retail-media"},{"title":"TMP for AI Assistants","href":"/dist/docs/3.2.6/trusted-match/surfaces/ai-assistants"}]}]}]},{"group":"Using AAO","pages":[{"title":"Connect Addie to your AI client","href":"/dist/docs/3.2.6/aao/connect-addie"},{"title":"AAO for Members","href":"/dist/docs/3.2.6/aao/users"},{"title":"AAO for Org Admins","href":"/dist/docs/3.2.6/aao/org-admins"},{"title":"Addie Tool Reference","href":"/dist/docs/3.2.6/aao/addie-tools"},{"title":"AAO Directory API — Agent ↔ Publisher Inverse Lookup","href":"/dist/docs/3.2.6/aao/directory-api"}]},{"group":"FAQ","pages":[{"title":"Frequently asked questions","sidebarTitle":"FAQ","href":"/dist/docs/3.2.6/faq"}]},{"group":"Trust \u0026 Security","expanded":false,"pages":[{"title":"Trust \u0026 Security","sidebarTitle":"Trust \u0026 Security","href":"/dist/docs/3.2.6/trust"},{"title":"Seller verification","sidebarTitle":"Seller verification","href":"/dist/docs/3.2.6/verification/overview"},{"title":"AI Disclosure","href":"/dist/docs/3.2.6/ai-disclosure"},{"title":"Privacy Considerations","sidebarTitle":"Privacy Considerations","href":"/dist/docs/3.2.6/reference/privacy-considerations"},{"title":"Protocol Boundaries and Known Limitations","sidebarTitle":"Boundaries \u0026 Limitations","href":"/dist/docs/3.2.6/reference/known-limitations"}]},{"group":"Reference","expanded":false,"pages":[{"group":"Registry API","pages":[{"title":"Registry API","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/registry/index"},{"title":"Registering an agent","sidebarTitle":"Registering an agent","href":"/dist/docs/3.2.6/registry/registering-an-agent"},{"title":"Maintaining your agent","sidebarTitle":"Maintaining your agent","href":"/dist/docs/3.2.6/registry/maintaining-your-agent"},{"group":"Search","pages":[{"title":"API discovery","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api","href":"/dist/docs/3.2.6/registry/api-reference/search/api-discovery"},{"title":"Search","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/search","href":"/dist/docs/3.2.6/registry/api-reference/search/search"},{"title":"Manifest reference lookup","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/manifest-refs/lookup","href":"/dist/docs/3.2.6/registry/api-reference/search/manifest-reference-lookup"}]},{"group":"Brand Resolution","pages":[{"title":"Resolve brand","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/brands/resolve","href":"/dist/docs/3.2.6/registry/api-reference/brand-resolution/resolve-brand"},{"title":"Bulk resolve brands","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/brands/resolve/bulk","href":"/dist/docs/3.2.6/registry/api-reference/brand-resolution/bulk-resolve-brands"},{"title":"Get brand.json","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/brands/brand-json","href":"/dist/docs/3.2.6/registry/api-reference/brand-resolution/get-brandjson"},{"title":"Save brand","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/brands/save","href":"/dist/docs/3.2.6/registry/api-reference/brand-resolution/save-brand"},{"title":"List brands","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/brands/registry","href":"/dist/docs/3.2.6/registry/api-reference/brand-resolution/list-brands"},{"title":"Brand activity history","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/brands/history","href":"/dist/docs/3.2.6/registry/api-reference/brand-resolution/brand-activity-history"},{"title":"Enrich brand","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/brands/enrich","href":"/dist/docs/3.2.6/registry/api-reference/brand-resolution/enrich-brand"},{"title":"Find brands by name","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/brands/find","href":"/dist/docs/3.2.6/registry/api-reference/brand-resolution/find-brands-by-name"},{"title":"Set up a hosted brand.json","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/brands/setup-my-brand","href":"/dist/docs/3.2.6/registry/api-reference/brand-resolution/set-up-a-hosted-brandjson"}]},{"group":"Property Resolution","pages":[{"title":"Property activity history","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/properties/history","href":"/dist/docs/3.2.6/registry/api-reference/property-resolution/property-activity-history"},{"title":"Resolve property","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/properties/resolve","href":"/dist/docs/3.2.6/registry/api-reference/property-resolution/resolve-property"},{"title":"Bulk resolve properties","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/properties/resolve/bulk","href":"/dist/docs/3.2.6/registry/api-reference/property-resolution/bulk-resolve-properties"},{"title":"List properties","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/properties/registry","href":"/dist/docs/3.2.6/registry/api-reference/property-resolution/list-properties"},{"title":"Validate adagents.json","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/properties/validate","href":"/dist/docs/3.2.6/registry/api-reference/property-resolution/validate-adagentsjson"},{"title":"Save property","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/properties/save","href":"/dist/docs/3.2.6/registry/api-reference/property-resolution/save-property"},{"title":"Claim a domain for bind-on-verify","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/properties/hosted/{domain}/claim","href":"/dist/docs/3.2.6/registry/api-reference/property-resolution/claim-a-domain-for-bind-on-verify"},{"title":"Verify AAO-hosted publisher origin","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/properties/hosted/{domain}/verify-origin","href":"/dist/docs/3.2.6/registry/api-reference/property-resolution/verify-aao-hosted-publisher-origin"},{"title":"Check property list","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/properties/check","href":"/dist/docs/3.2.6/registry/api-reference/property-resolution/check-property-list"},{"title":"Get property check report","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/properties/check/{reportId}","href":"/dist/docs/3.2.6/registry/api-reference/property-resolution/get-property-check-report"},{"title":"Bulk property identifier check","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/properties/check/bulk","href":"/dist/docs/3.2.6/registry/api-reference/property-resolution/bulk-property-identifier-check"},{"title":"Get bulk check report","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/properties/check/bulk/{reportId}","href":"/dist/docs/3.2.6/registry/api-reference/property-resolution/get-bulk-check-report"}]},{"group":"Agent Discovery","pages":[{"title":"List agents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents","href":"/dist/docs/3.2.6/registry/api-reference/agent-discovery/list-agents"},{"title":"List publishers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/publishers","href":"/dist/docs/3.2.6/registry/api-reference/agent-discovery/list-publishers"},{"title":"Registry statistics","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/stats","href":"/dist/docs/3.2.6/registry/api-reference/agent-discovery/registry-statistics"},{"title":"Search agent inventory profiles","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/search","href":"/dist/docs/3.2.6/registry/api-reference/agent-discovery/search-agent-inventory-profiles"},{"title":"Request domain re-crawl","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/crawl-request","href":"/dist/docs/3.2.6/registry/api-reference/agent-discovery/request-domain-re-crawl"},{"title":"Get publisher crawl request status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/crawl-request/{crawlRequestId}","href":"/dist/docs/3.2.6/registry/api-reference/agent-discovery/get-publisher-crawl-request-status"},{"title":"Request manager fan-out re-validation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/manager-revalidation-request","href":"/dist/docs/3.2.6/registry/api-reference/agent-discovery/request-manager-fan-out-re-validation"}]},{"group":"Authorization Lookups","pages":[{"title":"Domain lookup (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/lookup/domain/{domain}","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/domain-lookup-deprecated"},{"title":"Property identifier lookup","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/lookup/property","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/property-identifier-lookup"},{"title":"Agent domain lookup","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/lookup/agent/{agentUrl}/domains","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/agent-domain-lookup"},{"title":"AAO directory inverse-lookup","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/v1/agents/{encodedUrl}/publishers","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/aao-directory-inverse-lookup"},{"title":"AAO directory inverse-lookup","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /v1/agents/{encodedUrl}/publishers","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/aao-directory-inverse-lookup-1"},{"title":"Operator lookup","description":"Given a domain, returns the agents this entity operates and which publishers trust them.\n\n**Response shape is auth-aware.** Anonymous callers see only `public` agents. Authenticated callers on an AAO membership tier with API access also see `members_only` agents. Profile owners (callers whose org owns the queried domain) additionally see `private` agents. This is the primary mechanism by which AAO membership unlocks deeper registry visibility. `agent_visibility_summary` always reports public and members-only registration counts, independent of caller authorization and `scope`, so `agents: []` is not ambiguous with no discoverable registrations. Private registrations are excluded so their existence remains visible only to the profile owner.\n\n**`scope` bucket filter.** Callers can opt INTO a single visibility bucket (or the full union) regardless of what their auth would otherwise unlock — useful for picker UIs that want exactly one slice (e.g. anonymous-equivalent, members-only catalog, owner's private drafts). `scope` only narrows; it never escalates (e.g. `scope=member` on an explorer or anonymous caller silently returns public only).\n\n**Member level visibility.** When the profile owner has set their member card to public (`is_public=true`), the `member` object additionally carries `is_founding_member` (boolean) plus `membership_tier` (raw enum) and `membership_tier_label` (e.g. `Professional`, `Partner`, `Leader`) when the org has a resolvable tier. Founding Member is orthogonal to tier — founding orgs typically display both. For private profiles these fields are absent.","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/operator","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/operator-lookup"},{"title":"Publisher lookup","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/publisher","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/publisher-lookup"},{"title":"Revalidate publisher adagents.json","description":"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 validator always fetches the live origin.\n\n**Rate limits:** 5 minutes per domain, 30 requests per user per hour.","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/publisher/{domain}/adagents/revalidate","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/revalidate-publisher-adagentsjson"},{"title":"Per-agent authorization rollup","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/publisher/authorization","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/per-agent-authorization-rollup"},{"title":"Validate product property coverage","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/validate/product-authorization","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/validate-product-property-coverage"},{"title":"Verify an owner-sold supply path","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/verify/supply-path","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/verify-an-owner-sold-supply-path"},{"title":"Expand product identifiers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/expand/product-identifiers","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/expand-product-identifiers"},{"title":"Property authorization check","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/validate/property-authorization","href":"/dist/docs/3.2.6/registry/api-reference/authorization-lookups/property-authorization-check"}]},{"group":"Brand Discovery","pages":[{"title":"Force a synchronous brand.json crawl","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/brand/{domain}/force-crawl","href":"/dist/docs/3.2.6/registry/api-reference/brand-discovery/force-a-synchronous-brandjson-crawl"},{"title":"Request brand.json re-crawl","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/brand-crawl-request","href":"/dist/docs/3.2.6/registry/api-reference/brand-discovery/request-brandjson-re-crawl"}]},{"group":"Validation Tools","pages":[{"title":"Validate adagents.json","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/adagents/validate","href":"/dist/docs/3.2.6/registry/api-reference/validation-tools/validate-adagentsjson"},{"title":"Generate adagents.json","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/adagents/create","href":"/dist/docs/3.2.6/registry/api-reference/validation-tools/generate-adagentsjson"}]},{"group":"Community Mirrors","pages":[{"title":"List community mirror proposals","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/mirror-proposals","href":"/dist/docs/3.2.6/registry/api-reference/community-mirrors/list-community-mirror-proposals"},{"title":"Get community mirror proposal","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/mirror-proposals/{id}","href":"/dist/docs/3.2.6/registry/api-reference/community-mirrors/get-community-mirror-proposal"},{"title":"Approve community mirror proposal","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/mirror-proposals/{id}/approve","href":"/dist/docs/3.2.6/registry/api-reference/community-mirrors/approve-community-mirror-proposal"},{"title":"Reject community mirror proposal","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/mirror-proposals/{id}/reject","href":"/dist/docs/3.2.6/registry/api-reference/community-mirrors/reject-community-mirror-proposal"},{"title":"List community mirrors","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/mirrors","href":"/dist/docs/3.2.6/registry/api-reference/community-mirrors/list-community-mirrors"},{"title":"Get community mirror","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/mirrors/{platform}","href":"/dist/docs/3.2.6/registry/api-reference/community-mirrors/get-community-mirror"},{"title":"Publish or propose community mirror","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml put /api/registry/mirrors/{platform}","href":"/dist/docs/3.2.6/registry/api-reference/community-mirrors/publish-or-propose-community-mirror"},{"title":"Delete community mirror","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml delete /api/registry/mirrors/{platform}","href":"/dist/docs/3.2.6/registry/api-reference/community-mirrors/delete-community-mirror"}]},{"group":"Agent Probing","pages":[{"title":"Discover agent","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/public/discover-agent","href":"/dist/docs/3.2.6/registry/api-reference/agent-probing/discover-agent"},{"title":"Get creative-agent format capabilities","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/public/agent-formats","href":"/dist/docs/3.2.6/registry/api-reference/agent-probing/get-creative-agent-format-capabilities"},{"title":"Get agent publisher properties","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/public/agent-publishers","href":"/dist/docs/3.2.6/registry/api-reference/agent-probing/get-agent-publisher-properties"},{"title":"Get agent products","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/public/agent-products","href":"/dist/docs/3.2.6/registry/api-reference/agent-probing/get-agent-products"},{"title":"Validate publisher","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/public/validate-publisher","href":"/dist/docs/3.2.6/registry/api-reference/agent-probing/validate-publisher"}]},{"group":"Policy Registry","pages":[{"title":"List policies","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/policies/registry","href":"/dist/docs/3.2.6/registry/api-reference/policy-registry/list-policies"},{"title":"Resolve policy","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/policies/resolve","href":"/dist/docs/3.2.6/registry/api-reference/policy-registry/resolve-policy"},{"title":"Bulk resolve policies","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/policies/resolve/bulk","href":"/dist/docs/3.2.6/registry/api-reference/policy-registry/bulk-resolve-policies"},{"title":"Policy revision history","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/policies/history","href":"/dist/docs/3.2.6/registry/api-reference/policy-registry/policy-revision-history"},{"title":"Save policy","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/policies/save","href":"/dist/docs/3.2.6/registry/api-reference/policy-registry/save-policy"}]},{"group":"Change Feed","pages":[{"title":"Registry change feed","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/feed","href":"/dist/docs/3.2.6/registry/api-reference/change-feed/registry-change-feed"},{"title":"Registry change feed stream","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/feed/stream","href":"/dist/docs/3.2.6/registry/api-reference/change-feed/registry-change-feed-stream"},{"title":"Per-agent authorization pull","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/authorizations","href":"/dist/docs/3.2.6/registry/api-reference/change-feed/per-agent-authorization-pull"},{"title":"Bootstrap snapshot for inline verifiers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/authorizations/snapshot","href":"/dist/docs/3.2.6/registry/api-reference/change-feed/bootstrap-snapshot-for-inline-verifiers"}]},{"group":"Agent Compliance","pages":[{"title":"Get agent compliance detail","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/compliance","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-agent-compliance-detail"},{"title":"Select an exact badge grading profile","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml put /api/registry/agents/{encodedUrl}/grading-profile","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/select-an-exact-badge-grading-profile"},{"title":"AAO public key set","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/.well-known/jwks.json","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/aao-public-key-set"},{"title":"Get agent AgenticAdvertising.org Verified status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/verification","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-agent-agenticadvertisingorg-verified-status"},{"title":"Get agent verification badge SVG","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/badge/{role}.svg","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-agent-verification-badge-svg"},{"title":"Get embeddable badge code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/badge/{role}/embed","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-embeddable-badge-code"},{"title":"Get version-pinned agent verification badge SVG","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/badge/{role}/{version}.svg","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-version-pinned-agent-verification-badge-svg"},{"title":"Get version-pinned embeddable badge code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/badge/{role}/{version}/embed","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-version-pinned-embeddable-badge-code"},{"title":"Get agent storyboard status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/storyboard-status","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-agent-storyboard-status"},{"title":"Bulk storyboard status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/agents/storyboard-status","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/bulk-storyboard-status"},{"title":"Get agent compliance history","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/compliance/history","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-agent-compliance-history"},{"title":"Update agent lifecycle stage","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml put /api/registry/agents/{encodedUrl}/lifecycle","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/update-agent-lifecycle-stage"},{"title":"Update compliance opt-out","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml put /api/registry/agents/{encodedUrl}/compliance/opt-out","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/update-compliance-opt-out"},{"title":"Get monitoring settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/monitoring/settings","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-monitoring-settings"},{"title":"Pause or resume monitoring","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml put /api/registry/agents/{encodedUrl}/monitoring/pause","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/pause-or-resume-monitoring"},{"title":"Update monitoring interval","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml put /api/registry/agents/{encodedUrl}/monitoring/interval","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/update-monitoring-interval"},{"title":"Requeue agent for compliance heartbeat","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/agents/{encodedUrl}/monitoring/requeue","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/requeue-agent-for-compliance-heartbeat"},{"title":"Get per-step diagnostics for a compliance run","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/compliance/diagnostics","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-per-step-diagnostics-for-a-compliance-run"},{"title":"Get outbound request log","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/monitoring/requests","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-outbound-request-log"},{"title":"Refresh agent snapshot","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/agents/{encodedUrl}/refresh","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/refresh-agent-snapshot"},{"title":"Get agent refresh status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/refreshes/{operationId}","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-agent-refresh-status"},{"title":"Get agent auth status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/auth-status","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-agent-auth-status"},{"title":"Connect agent credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml put /api/registry/agents/{encodedUrl}/connect","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/connect-agent-credentials"},{"title":"Save OAuth 2.0 client-credentials for an agent","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml put /api/registry/agents/{encodedUrl}/oauth-client-credentials","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/save-oauth-20-client-credentials-for-an-agent"},{"title":"Dry-run the saved OAuth 2.0 client-credentials config","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/agents/{encodedUrl}/oauth-client-credentials/test","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/dry-run-the-saved-oauth-20-client-credentials-config"},{"title":"Get applicable storyboards for agent","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/agents/{encodedUrl}/applicable-storyboards","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-applicable-storyboards-for-agent"},{"title":"List storyboards","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/storyboards","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/list-storyboards"},{"title":"Get storyboard detail","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/storyboards/{id}","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-storyboard-detail"},{"title":"Run a single storyboard step","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/agents/{encodedUrl}/storyboard/{storyboardId}/step/{stepId}","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/run-a-single-storyboard-step"},{"title":"Get first step preview","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/storyboards/{storyboardId}/first-step","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/get-first-step-preview"},{"title":"Run full storyboard evaluation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/run-full-storyboard-evaluation"},{"title":"Compare storyboard against reference agent","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/agents/{encodedUrl}/storyboard/{storyboardId}/compare","href":"/dist/docs/3.2.6/registry/api-reference/agent-compliance/compare-storyboard-against-reference-agent"}]},{"group":"Member Agents","pages":[{"title":"List my registered agents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/me/agents","href":"/dist/docs/3.2.6/registry/api-reference/member-agents/list-my-registered-agents"},{"title":"Register an agent","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/me/agents","href":"/dist/docs/3.2.6/registry/api-reference/member-agents/register-an-agent"},{"title":"Remove an agent","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml delete /api/me/agents/{url}","href":"/dist/docs/3.2.6/registry/api-reference/member-agents/remove-an-agent"},{"title":"Update an agent","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml patch /api/me/agents/{url}","href":"/dist/docs/3.2.6/registry/api-reference/member-agents/update-an-agent"}]},{"group":"Onboarding","pages":[{"title":"Create or adopt my organization","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/organizations","href":"/dist/docs/3.2.6/registry/api-reference/onboarding/create-or-adopt-my-organization"}]},{"group":"Property Catalog","pages":[{"title":"Resolve identifiers to property_rids (and contribute them)","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/resolve","href":"/dist/docs/3.2.6/registry/api-reference/property-catalog/resolve-identifiers-to-property_rids-and-contribute-them"},{"title":"Dispute a catalog fact","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml post /api/registry/catalog/disputes","href":"/dist/docs/3.2.6/registry/api-reference/property-catalog/dispute-a-catalog-fact"},{"title":"Get a catalog dispute","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/catalog/disputes/{id}","href":"/dist/docs/3.2.6/registry/api-reference/property-catalog/get-a-catalog-dispute"},{"title":"Browse the property catalog","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/catalog","href":"/dist/docs/3.2.6/registry/api-reference/property-catalog/browse-the-property-catalog"},{"title":"Sync catalog changes since a watermark","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml get /api/registry/catalog/sync","href":"/dist/docs/3.2.6/registry/api-reference/property-catalog/sync-catalog-changes-since-a-watermark"}]}]},{"title":"GMSF Reference","href":"/dist/docs/3.2.6/reference/gmsf-reference"},{"title":"Media Channel Taxonomy","href":"/dist/docs/3.2.6/reference/media-channel-taxonomy"},{"title":"Measurement Taxonomy","sidebarTitle":"Measurement Taxonomy","href":"/dist/docs/3.2.6/measurement/taxonomy"},{"title":"Roadmap","href":"/dist/docs/3.2.6/reference/roadmap"},{"title":"Versions \u0026 Compatibility","sidebarTitle":"Versions","href":"/dist/docs/3.2.6/reference/versions"},{"title":"Versioning \u0026 Governance","href":"/dist/docs/3.2.6/reference/versioning"},{"title":"Specification lifecycle","sidebarTitle":"Specification lifecycle","href":"/dist/docs/3.2.6/reference/specification-lifecycle"},{"title":"URL Canonicalization","href":"/dist/docs/3.2.6/reference/url-canonicalization"},{"title":"Verifying protocol tarballs","href":"/dist/docs/3.2.6/reference/verifying-protocol-tarballs"},{"title":"Reference Test Vectors","sidebarTitle":"Reference test vectors","href":"/dist/docs/3.2.6/reference/test-vectors/index"},{"title":"Experimental Status","sidebarTitle":"Experimental status","href":"/dist/docs/3.2.6/reference/experimental-status"},{"title":"Schema Extensions","sidebarTitle":"Schema Extensions","href":"/dist/docs/3.2.6/reference/schema-extensions"},{"title":"v2 sunset","sidebarTitle":"v2 sunset","href":"/dist/docs/3.2.6/reference/v2-sunset"},{"title":"Release Notes","href":"/dist/docs/3.2.6/reference/release-notes"},{"title":"Changelog","href":"/dist/docs/3.2.6/reference/changelog"},{"title":"Implementor FAQ","href":"/dist/docs/3.2.6/reference/implementor-faq"},{"title":"Glossary","href":"/dist/docs/3.2.6/reference/glossary"},{"title":"Working Group","href":"/dist/docs/3.2.6/community/working-group"},{"title":"Joining the Community Slack","href":"/dist/docs/3.2.6/community/joining-slack"}]},{"group":"Certification","expanded":false,"pages":[{"title":"AdCP certification program","sidebarTitle":"Overview","href":"/dist/docs/3.2.6/learning/overview"},{"title":"Instructional design framework","sidebarTitle":"How we teach","href":"/dist/docs/3.2.6/learning/instructional-design"},{"title":"Failure-mode competency scope","sidebarTitle":"Failure modes","href":"/dist/docs/3.2.6/learning/failure-mode-scope"},{"group":"Basics (free)","pages":[{"title":"A1: Why AdCP","sidebarTitle":"A1: Why AdCP","href":"/dist/docs/3.2.6/learning/foundations/a1-agentic-advertising"},{"title":"A2: Your first media buy","sidebarTitle":"A2: Your first media buy","href":"/dist/docs/3.2.6/learning/foundations/a2-protocol-architecture"},{"title":"A2B: Testing your first agent call","sidebarTitle":"A2B: Testing your first agent call","href":"/dist/docs/3.2.6/learning/foundations/a2b-testing-your-first-agent"},{"title":"A3: The AdCP landscape","sidebarTitle":"A3: The AdCP landscape","href":"/dist/docs/3.2.6/learning/foundations/a3-ecosystem-governance"}]},{"group":"For decision-makers","pages":[{"title":"Decision-Makers track","sidebarTitle":"Decision-makers","href":"/dist/docs/3.2.6/learning/decision-makers/overview"},{"title":"L1: Agentic advertising and the reversed data flow","sidebarTitle":"L1: Agentic advertising","href":"/dist/docs/3.2.6/learning/decision-makers/l1-agentic-advertising"},{"title":"L2: Your data, brand, and governance as the control surface","sidebarTitle":"L2: Data, brand, governance","href":"/dist/docs/3.2.6/learning/decision-makers/l2-data-brand-governance"},{"title":"L3: Deciding and leading","sidebarTitle":"L3: Deciding and leading","href":"/dist/docs/3.2.6/learning/decision-makers/l3-deciding-and-leading"},{"title":"How to explain agentic advertising","sidebarTitle":"Explaining it to others","href":"/dist/docs/3.2.6/learning/decision-makers/explaining-agentic-advertising"}]},{"group":"Role tracks","pages":[{"title":"Publisher / seller track","sidebarTitle":"Publisher track","href":"/dist/docs/3.2.6/learning/tracks/publisher"},{"title":"Buyer / brand track","sidebarTitle":"Buyer track","href":"/dist/docs/3.2.6/learning/tracks/buyer"},{"title":"Platform / intermediary track","sidebarTitle":"Platform track","href":"/dist/docs/3.2.6/learning/tracks/platform"}]},{"group":"Specialist modules","pages":[{"title":"S1: Media buy mastery","sidebarTitle":"S1: Media buy","href":"/dist/docs/3.2.6/learning/specialist/media-buy"},{"title":"S2: Creative mastery","sidebarTitle":"S2: Creative","href":"/dist/docs/3.2.6/learning/specialist/creative"},{"title":"S3: Signals and audiences","sidebarTitle":"S3: Signals","href":"/dist/docs/3.2.6/learning/specialist/signals"},{"title":"S4: Governance","sidebarTitle":"S4: Governance","href":"/dist/docs/3.2.6/learning/specialist/governance"},{"title":"S5: Sponsored Intelligence","sidebarTitle":"S5: Sponsored Intelligence","href":"/dist/docs/3.2.6/learning/specialist/sponsored-intelligence"},{"title":"S6: Security","sidebarTitle":"S6: Security","href":"/dist/docs/3.2.6/learning/specialist/security"},{"title":"S7: Brand identity and verification","sidebarTitle":"S7: Brand identity","href":"/dist/docs/3.2.6/learning/specialist/brand"}]},{"group":"Supplements","expanded":false,"pages":[{"title":"Buyer briefs and discovery request shape","sidebarTitle":"Buyer briefs","href":"/dist/docs/3.2.6/learning/supplements/buyer-briefs-and-get-products"},{"title":"Governance protocol by role","sidebarTitle":"Governance by role","href":"/dist/docs/3.2.6/learning/supplements/governance-protocol-by-role"},{"title":"Creative agent workflows","sidebarTitle":"Creative workflows","href":"/dist/docs/3.2.6/learning/supplements/creative-agent-workflows"},{"title":"Lab: reconcile a shared account","sidebarTitle":"Shared-account changes","href":"/dist/docs/3.2.6/learning/shared-account-change-feed"}]},{"group":"Policies","expanded":false,"pages":[{"title":"Nondiscrimination policy","sidebarTitle":"Nondiscrimination","href":"/dist/docs/3.2.6/learning/policies/nondiscrimination"},{"title":"Learner records and privacy","sidebarTitle":"Learner records","href":"/dist/docs/3.2.6/learning/policies/learner-records"},{"title":"Recertification and protocol-change updates","sidebarTitle":"Recertification","href":"/dist/docs/3.2.6/learning/policies/recertification"},{"title":"Complaints and grievances","sidebarTitle":"Complaints","href":"/dist/docs/3.2.6/learning/policies/complaints"},{"title":"Conflict of interest","sidebarTitle":"Conflict of interest","href":"/dist/docs/3.2.6/learning/policies/conflict-of-interest"},{"title":"Intellectual property","sidebarTitle":"Intellectual property","href":"/dist/docs/3.2.6/learning/policies/intellectual-property"},{"title":"Personnel qualifications","sidebarTitle":"Personnel qualifications","href":"/dist/docs/3.2.6/learning/policies/personnel-qualifications"},{"title":"Refund and cancellation","sidebarTitle":"Refund","href":"/dist/docs/3.2.6/learning/policies/refund"}]}]}]},{"version":"3.3-beta","tag":"Latest","pages":[{"title":"3.3-beta","href":"/dist/docs/3.3.0-beta.0/registry/api-reference/authorization-lookups/publisher-lookup"}]},{"version":"3.1","pages":[{"title":"3.1","href":"/dist/docs/3.1.27/registry/api-reference/authorization-lookups/publisher-lookup"}]},{"version":"3.0","pages":[{"title":"3.0","href":"/dist/docs/3.0.28/registry"}]},{"version":"2.5 (archived)","pages":[{"title":"2.5 (archived)","href":"/dist/docs/2.5.3/reference/media-buy-quick-reference"}]}]},"title":"Publisher lookup - AdCP - Ad Context Protocol","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-DblVYOPe.js","dist-BnkC_6oA.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-CCOYKgaU.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-BRm_l__d.js","utils-f1l1Oc-G.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BlhqDhJO.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DHCB7rsC.js","snippetPresets-CYXLx6Hv.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-B78P2dEq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C4YLPVAh.js","shallow-vlLnTDkQ.js","getApiPlaygroundDisplay-D_98hhvf.js","CodeSnippet-DtnZHGqq.js","CodeSnippets-CLFb8KJt.js","Page-kQh739Uz.js","getPastedJson-Cq-zlbnU.js","icon-sN3t983t.js","MethodPill-P_YQ2s09.js","DuplicateIcon-BVzyNsGJ.js","createIcon-B3jqgqC6.js","DynamicMarkdown-Crwq6WG_.js","SectionHeading-C7pGS2Bb.js","axios-vUo_bRtp.js","Markdown-BuPH8yuW.js","AssistantPageLink-BM4S31-f.js"]}