Bootstrap the caller’s organization explicitly. Use this when the caller wants to control the organization name, company_type, revenue_tier, or is_personal flag before any agents are registered.
Most storefront-style integrations don’t need this call — POST /api/me/agents will auto-create an org for a fresh OAuth user (corporate or personal workspace based on the email domain) and surface org_auto_created: true in the response. Reach for POST /api/organizations only when the auto-derived defaults aren’t acceptable.
Three outcomes depending on the caller’s state:
Fresh create (most common): a new WorkOS organization is created, the caller is added as owner, the corporate domain is recorded as email-verified, and ToS / privacy-policy acceptance is logged from the request context. Returns { success: true, organization: { id, name } }.
Prospect adoption: an organization with the caller’s email domain already exists as a prospect (the registry pre-recorded it from a brand crawl but no human had claimed it yet). The caller is promoted to owner of the existing record instead of forking a duplicate. Returns { id, name, adopted: true }.
Already-active conflict: the org exists and is already claimed by another paying member or a previously joined user. Returns 409 with the existing org id so the caller can switch to a join-request flow (POST /api/organizations/:orgId/join-requests) instead of trying to register a duplicate.
Tier transitions happen via the billing flow only — there is no membership_tier field on this endpoint. After org creation, send the user to POST /api/checkout-session (or the /dashboard/membership page) to start a subscription; the Stripe webhook is the sole writer of organizations.membership_tier.
Rate-limited per user: 15 failed attempts per hour; successful calls do not count against the limit so a legitimate registration is never penalized by earlier validation errors.
Bearer token in the Authorization header. Two token types are accepted:
Organization API key (sk_...) issued via the dashboard. Org-scoped, long-lived, for server-to-server use.
User JWT obtained via the OAuth 2.1 authorization code flow with PKCE. User-scoped, short-lived. Discover the authorization server at /.well-known/oauth-authorization-server and the protected-resource metadata at /.well-known/oauth-protected-resource/api.
Body
application/json
Request body for POST /api/organizations.
Bootstraps a WorkOS organization, mirrors the caller as owner, records the caller's ToS / privacy-policy acceptance, and (for non-personal orgs) inserts an email-verified record into organization_domains so subsequent registry calls can skip explicit domain-verification.
Membership tier and corporate domain are not caller-supplied: the tier is set by the Stripe webhook on subscription events, and the corporate domain is derived from the authenticated user's email.
Display name for the organization. Used both as the org row name and (when auto-bootstrapping a member profile via the first agent registration) as the profile's display_name.
Set to true to create a personal workspace instead of a corporate organization. Personal workspaces skip corporate-domain verification, are limited to one per user, and cannot host the company_* membership tiers.
Coarse classification of the organization's role in the open ad ecosystem. Drives default verification badges and the member profile's display category.
Whether the caller opted in to AAO marketing communications. Recorded once per user (not overwritten on subsequent calls). Independent of Terms-of-Service consent, which is recorded server-side from the request context.
Response
Prospect adoption — an existing prospect organization for this domain was claimed by the caller. Body is { id, name, adopted: true }.
Response from POST /api/organizations. The body shape varies by path: a fresh creation returns { success: true, organization: { id, name } }; a prospect adoption returns { id, name, adopted: true } directly. Both paths are 2xx; downstream callers should treat any 2xx as "the org now exists and you are an owner of it" and read whichever id is present.
Set on the prospect-adoption path: when an org with the user's email domain already exists in a prospect state (i.e. the registry pre-recorded it from a brand crawl but no human had claimed it yet), this call adopts that org for the caller instead of creating a new one.
true when the response is the prospect-adoption path. When true, no new WorkOS organization was created — the caller is now the owner of an existing prospect record.
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/onboarding/create-or-adopt-my-organization","slug":"/dist/docs/3.2.6/registry/api-reference/onboarding/create-or-adopt-my-organization","pageMetadata":{"title":"Create or adopt my organization","description":"Bootstrap the caller's organization explicitly. Use this when the caller wants to control the organization name, `company_type`, `revenue_tier`, or `is_personal` flag before any agents are registered.\n\n**Most storefront-style integrations don't need this call** — `POST /api/me/agents` will auto-create an org for a fresh OAuth user (corporate or personal workspace based on the email domain) and surface `org_auto_created: true` in the response. Reach for `POST /api/organizations` only when the auto-derived defaults aren't acceptable.\n\nThree outcomes depending on the caller's state:\n\n- **Fresh create** (most common): a new WorkOS organization is created, the caller is added as `owner`, the corporate domain is recorded as email-verified, and ToS / privacy-policy acceptance is logged from the request context. Returns `{ success: true, organization: { id, name } }`.\n\n- **Prospect adoption**: an organization with the caller's email domain already exists as a `prospect` (the registry pre-recorded it from a brand crawl but no human had claimed it yet). The caller is promoted to `owner` of the existing record instead of forking a duplicate. Returns `{ id, name, adopted: true }`.\n\n- **Already-active conflict**: the org exists and is already claimed by another paying member or a previously joined user. Returns `409` with the existing org id so the caller can switch to a join-request flow (`POST /api/organizations/:orgId/join-requests`) instead of trying to register a duplicate.\n\nTier transitions happen via the billing flow only — there is no `membership_tier` field on this endpoint. After org creation, send the user to `POST /api/checkout-session` (or the `/dashboard/membership` page) to start a subscription; the Stripe webhook is the sole writer of `organizations.membership_tier`.\n\nRate-limited per user: `15` failed attempts per hour; successful calls do not count against the limit so a legitimate registration is never penalized by earlier validation errors.","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","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 li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Bootstrap the caller’s organization explicitly. Use this when the caller wants to control the organization name, \", _jsx(_components.code, {\n children: \"company_type\"\n }), \", \", _jsx(_components.code, {\n children: \"revenue_tier\"\n }), \", or \", _jsx(_components.code, {\n children: \"is_personal\"\n }), \" flag before any agents are registered.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Most storefront-style integrations don’t need this call\"\n }), \" — \", _jsx(_components.code, {\n children: \"POST /api/me/agents\"\n }), \" will auto-create an org for a fresh OAuth user (corporate or personal workspace based on the email domain) and surface \", _jsx(_components.code, {\n children: \"org_auto_created: true\"\n }), \" in the response. Reach for \", _jsx(_components.code, {\n children: \"POST /api/organizations\"\n }), \" only when the auto-derived defaults aren’t acceptable.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Three outcomes depending on the caller’s state:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Fresh create\"\n }), \" (most common): a new WorkOS organization is created, the caller is added as \", _jsx(_components.code, {\n children: \"owner\"\n }), \", the corporate domain is recorded as email-verified, and ToS / privacy-policy acceptance is logged from the request context. Returns \", _jsx(_components.code, {\n children: \"{ success: true, organization: { id, name } }\"\n }), \".\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Prospect adoption\"\n }), \": an organization with the caller’s email domain already exists as a \", _jsx(_components.code, {\n children: \"prospect\"\n }), \" (the registry pre-recorded it from a brand crawl but no human had claimed it yet). The caller is promoted to \", _jsx(_components.code, {\n children: \"owner\"\n }), \" of the existing record instead of forking a duplicate. Returns \", _jsx(_components.code, {\n children: \"{ id, name, adopted: true }\"\n }), \".\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Already-active conflict\"\n }), \": the org exists and is already claimed by another paying member or a previously joined user. Returns \", _jsx(_components.code, {\n children: \"409\"\n }), \" with the existing org id so the caller can switch to a join-request flow (\", _jsx(_components.code, {\n children: \"POST /api/organizations/:orgId/join-requests\"\n }), \") instead of trying to register a duplicate.\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Tier transitions happen via the billing flow only — there is no \", _jsx(_components.code, {\n children: \"membership_tier\"\n }), \" field on this endpoint. After org creation, send the user to \", _jsx(_components.code, {\n children: \"POST /api/checkout-session\"\n }), \" (or the \", _jsx(_components.code, {\n children: \"/dashboard/membership\"\n }), \" page) to start a subscription; the Stripe webhook is the sole writer of \", _jsx(_components.code, {\n children: \"organizations.membership_tier\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Rate-limited per user: \", _jsx(_components.code, {\n children: \"15\"\n }), \" failed attempts per hour; successful calls do not count against the limit so a legitimate registration is never penalized by earlier validation errors.\"]\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":"Create or adopt my organization","description":"Bootstrap the caller's organization explicitly. Use this when the caller wants to control the organization name, `company_type`, `revenue_tier`, or `is_personal` flag before any agents are registered.\n\n**Most storefront-style integrations don't need this call** — `POST /api/me/agents` will auto-create an org for a fresh OAuth user (corporate or personal workspace based on the email domain) and surface `org_auto_created: true` in the response. Reach for `POST /api/organizations` only when the auto-derived defaults aren't acceptable.\n\nThree outcomes depending on the caller's state:\n\n- **Fresh create** (most common): a new WorkOS organization is created, the caller is added as `owner`, the corporate domain is recorded as email-verified, and ToS / privacy-policy acceptance is logged from the request context. Returns `{ success: true, organization: { id, name } }`.\n\n- **Prospect adoption**: an organization with the caller's email domain already exists as a `prospect` (the registry pre-recorded it from a brand crawl but no human had claimed it yet). The caller is promoted to `owner` of the existing record instead of forking a duplicate. Returns `{ id, name, adopted: true }`.\n\n- **Already-active conflict**: the org exists and is already claimed by another paying member or a previously joined user. Returns `409` with the existing org id so the caller can switch to a join-request flow (`POST /api/organizations/:orgId/join-requests`) instead of trying to register a duplicate.\n\nTier transitions happen via the billing flow only — there is no `membership_tier` field on this endpoint. After org creation, send the user to `POST /api/checkout-session` (or the `/dashboard/membership` page) to start a subscription; the Stripe webhook is the sole writer of `organizations.membership_tier`.\n\nRate-limited per user: `15` failed attempts per hour; successful calls do not count against the limit so a legitimate registration is never penalized by earlier validation errors.","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","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":"createOrganization","summary":"Create or adopt my organization","description":"Bootstrap the caller's organization explicitly. Use this when the caller wants to control the organization name, `company_type`, `revenue_tier`, or `is_personal` flag before any agents are registered.\n\n**Most storefront-style integrations don't need this call** — `POST /api/me/agents` will auto-create an org for a fresh OAuth user (corporate or personal workspace based on the email domain) and surface `org_auto_created: true` in the response. Reach for `POST /api/organizations` only when the auto-derived defaults aren't acceptable.\n\nThree outcomes depending on the caller's state:\n\n- **Fresh create** (most common): a new WorkOS organization is created, the caller is added as `owner`, the corporate domain is recorded as email-verified, and ToS / privacy-policy acceptance is logged from the request context. Returns `{ success: true, organization: { id, name } }`.\n\n- **Prospect adoption**: an organization with the caller's email domain already exists as a `prospect` (the registry pre-recorded it from a brand crawl but no human had claimed it yet). The caller is promoted to `owner` of the existing record instead of forking a duplicate. Returns `{ id, name, adopted: true }`.\n\n- **Already-active conflict**: the org exists and is already claimed by another paying member or a previously joined user. Returns `409` with the existing org id so the caller can switch to a join-request flow (`POST /api/organizations/:orgId/join-requests`) instead of trying to register a duplicate.\n\nTier transitions happen via the billing flow only — there is no `membership_tier` field on this endpoint. After org creation, send the user to `POST /api/checkout-session` (or the `/dashboard/membership` page) to start a subscription; the Stripe webhook is the sole writer of `organizations.membership_tier`.\n\nRate-limited per user: `15` failed attempts per hour; successful calls do not count against the limit so a legitimate registration is never penalized by earlier validation errors.","tags":["Onboarding"],"security":["6ff47a39-9159-46bf-9365-fd81ac859ea1","3a212fda-c723-419e-9a46-1e928512b8aa"],"requestBody":"dc4ded75-086c-4021-95b3-db5d935daece","responses":{"200":"54744270-9132-49d7-8427-16909aba240b","201":"b5a6e899-5b4a-4f7d-b645-91066e7abeb8","400":"452d3011-f372-43a9-9c30-61f6fcd40631","401":"353674ba-62f0-4243-a4df-06b88a0ed8de","409":"aab3c673-6614-4b75-96e3-65d489b2dfb4","429":"e7930f6c-fe03-4e25-9fe3-37febdcf9c2b"},"method":"post","type":"path","servers":["46d4de70-6166-4b1c-b556-bb3af90d3a0c"],"path":"/api/organizations","baseUrlOptions":["https://agenticadvertising.org"],"title":"Create or adopt my organization","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"organization_name":{"type":"string","minLength":1,"maxLength":200,"description":"Display name for the organization. Used both as the org row name and (when auto-bootstrapping a member profile via the first agent registration) as the profile's `display_name`.","example":"Acme Media","isRequired":true,"uniqueKey":"organization_name","typeLabel":"string"},"is_personal":{"type":"boolean","default":false,"description":"Set to `true` to create a personal workspace instead of a corporate organization. Personal workspaces skip corporate-domain verification, are limited to one per user, and cannot host the `company_*` membership tiers.","uniqueKey":"is_personal","typeLabel":"boolean"},"company_type":{"type":"string","enum":["adtech","agency","brand","publisher","data","ai","other"],"description":"Coarse classification of the organization's role in the open ad ecosystem. Drives default verification badges and the member profile's display category.","uniqueKey":"company_type","typeLabel":"enum\u003cstring>"},"revenue_tier":{"type":"string","enum":["under_1m","1m_5m","5m_50m","50m_250m","250m_1b","1b_plus"],"description":"Annual revenue band, USD. Drives membership-tier eligibility for company-tier seats.","uniqueKey":"revenue_tier","typeLabel":"enum\u003cstring>"},"marketing_opt_in":{"type":"boolean","default":false,"description":"Whether the caller opted in to AAO marketing communications. Recorded once per user (not overwritten on subsequent calls). Independent of Terms-of-Service consent, which is recorded server-side from the request context.","uniqueKey":"marketing_opt_in","typeLabel":"boolean"}},"required":["organization_name"],"description":"Request body for `POST /api/organizations`.\n\nBootstraps a WorkOS organization, mirrors the caller as `owner`, records the caller's ToS / privacy-policy acceptance, and (for non-personal orgs) inserts an email-verified record into `organization_domains` so subsequent registry calls can skip explicit domain-verification.\n\nMembership tier and corporate domain are *not* caller-supplied: the tier is set by the Stripe webhook on subscription events, and the corporate domain is derived from the authenticated user's email.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"organization_name":"Acme Media","is_personal":false,"marketing_opt_in":false}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"54744270-9132-49d7-8427-16909aba240b":{"description":"Prospect adoption — an existing prospect organization for this domain was claimed by the caller. Body is `{ id, name, adopted: true }`.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","uniqueKey":"success","typeLabel":"boolean"},"organization":{"type":"object","properties":{"id":{"type":"string","example":"org_01HXZAB123","isRequired":true,"uniqueKey":"organization.id","typeLabel":"string"},"name":{"type":"string","example":"Acme Media","isRequired":true,"uniqueKey":"organization.name","typeLabel":"string"}},"required":["id","name"],"uniqueKey":"organization","typeLabel":"object"},"id":{"type":"string","description":"Set on the **prospect-adoption** path: when an org with the user's email domain already exists in a `prospect` state (i.e. the registry pre-recorded it from a brand crawl but no human had claimed it yet), this call adopts that org for the caller instead of creating a new one.","uniqueKey":"id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"name","typeLabel":"string"},"adopted":{"type":"boolean","description":"`true` when the response is the prospect-adoption path. When `true`, no new WorkOS organization was created — the caller is now the owner of an existing prospect record.","uniqueKey":"adopted","typeLabel":"boolean"}},"description":"Response from `POST /api/organizations`. The body shape varies by path: a fresh creation returns `{ success: true, organization: { id, name } }`; a prospect adoption returns `{ id, name, adopted: true }` directly. Both paths are 2xx; downstream callers should treat any `2xx` as \"the org now exists and you are an owner of it\" and read whichever id is present.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":true,"organization":{"id":"org_01HXZAB123","name":"Acme Media"},"id":"\u003cstring>","name":"\u003cstring>","adopted":true}}},"exampleType":"generated"}},"exampleType":"generated"},"b5a6e899-5b4a-4f7d-b645-91066e7abeb8":{"description":"New organization created. Body is `{ success: true, organization: { id, name } }`. The caller is the `owner`; the corporate domain is recorded as email-verified for downstream registry calls.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","uniqueKey":"success","typeLabel":"boolean"},"organization":{"type":"object","properties":{"id":{"type":"string","example":"org_01HXZAB123","isRequired":true,"uniqueKey":"organization.id","typeLabel":"string"},"name":{"type":"string","example":"Acme Media","isRequired":true,"uniqueKey":"organization.name","typeLabel":"string"}},"required":["id","name"],"uniqueKey":"organization","typeLabel":"object"},"id":{"type":"string","description":"Set on the **prospect-adoption** path: when an org with the user's email domain already exists in a `prospect` state (i.e. the registry pre-recorded it from a brand crawl but no human had claimed it yet), this call adopts that org for the caller instead of creating a new one.","uniqueKey":"id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"name","typeLabel":"string"},"adopted":{"type":"boolean","description":"`true` when the response is the prospect-adoption path. When `true`, no new WorkOS organization was created — the caller is now the owner of an existing prospect record.","uniqueKey":"adopted","typeLabel":"boolean"}},"description":"Response from `POST /api/organizations`. The body shape varies by path: a fresh creation returns `{ success: true, organization: { id, name } }`; a prospect adoption returns `{ id, name, adopted: true }` directly. Both paths are 2xx; downstream callers should treat any `2xx` as \"the org now exists and you are an owner of it\" and read whichever id is present.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":true,"organization":{"id":"org_01HXZAB123","name":"Acme Media"},"id":"\u003cstring>","name":"\u003cstring>","adopted":true}}},"exampleType":"generated"}},"exampleType":"generated"},"452d3011-f372-43a9-9c30-61f6fcd40631":{"description":"One of:\n- `organization_name` missing or invalid\n- `company_type` / `revenue_tier` value not in the documented enum\n- caller is on a personal-email domain (gmail.com, yahoo.com, …) and is trying to register a corporate org — register `is_personal: true` instead\n- per-user organization cap reached (10 orgs per user)","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"},"353674ba-62f0-4243-a4df-06b88a0ed8de":{"description":"Authentication required","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"},"aab3c673-6614-4b75-96e3-65d489b2dfb4":{"description":"An active organization already exists for this caller's email domain. The body includes `existing_org_id` and `existing_org_name`; the caller should switch to the join-request flow rather than retrying.","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"},"e7930f6c-fe03-4e25-9fe3-37febdcf9c2b":{"description":"Rate limit exceeded — 15 failed attempts per hour per user. Successful calls do not count against the limit.","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"}},"security":{"6ff47a39-9159-46bf-9365-fd81ac859ea1":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Bearer token in the `Authorization` header. Two token types are accepted:\n\n- **Organization API key** (`sk_...`) issued via the dashboard. Org-scoped, long-lived, for server-to-server use.\n- **User JWT** obtained via the OAuth 2.1 authorization code flow with PKCE. User-scoped, short-lived. Discover the authorization server at `/.well-known/oauth-authorization-server` and the protected-resource metadata at `/.well-known/oauth-protected-resource/api`.","scopes":[],"schemeName":"bearerAuth"}},"3a212fda-c723-419e-9a46-1e928512b8aa":{"oauth2":{"type":"oauth2","description":"OAuth 2.1 authorization code flow with PKCE. Users authenticate via AuthKit and clients receive a Bearer JWT that authorizes both the MCP endpoint and this REST API. Dynamic client registration is supported at `/register`.","flows":{"authorizationCode":{"authorizationUrl":"https://agenticadvertising.org/authorize","tokenUrl":"https://agenticadvertising.org/token","refreshUrl":"https://agenticadvertising.org/token","scopes":{"openid":"User identifier","profile":"User profile information","email":"User email address"}}},"scopes":[],"schemeName":"oauth2"}}},"servers":{"46d4de70-6166-4b1c-b556-bb3af90d3a0c":{"url":"https://agenticadvertising.org","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Bearer token in the `Authorization` header. Two token types are accepted:\n\n- **Organization API key** (`sk_...`) issued via the dashboard. Org-scoped, long-lived, for server-to-server use.\n- **User JWT** obtained via the OAuth 2.1 authorization code flow with PKCE. User-scoped, short-lived. Discover the authorization server at `/.well-known/oauth-authorization-server` and the protected-resource metadata at `/.well-known/oauth-protected-resource/api`.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer token in the `Authorization` header. Two token types are accepted:\n\n- **Organization API key** (`sk_...`) issued via the dashboard. Org-scoped, long-lived, for server-to-server use.\n- **User JWT** obtained via the OAuth 2.1 authorization code flow with PKCE. User-scoped, short-lived. Discover the authorization server at `/.well-known/oauth-authorization-server` and the protected-resource metadata at `/.well-known/oauth-protected-resource/api`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"},{"schemes":[{"scheme":{"type":"oauth2","description":"OAuth 2.1 authorization code flow with PKCE. Users authenticate via AuthKit and clients receive a Bearer JWT that authorizes both the MCP endpoint and this REST API. Dynamic client registration is supported at `/register`.","flows":{"authorizationCode":{"authorizationUrl":"https://agenticadvertising.org/authorize","tokenUrl":"https://agenticadvertising.org/token","refreshUrl":"https://agenticadvertising.org/token","scopes":{"openid":"User identifier","profile":"User profile information","email":"User email address"}}},"scopes":[],"schemeName":"oauth2"},"schema":{"title":"OAuth2 Auth","type":"string","isRequired":true,"description":"OAuth 2.1 authorization code flow with PKCE. Users authenticate via AuthKit and clients receive a Bearer JWT that authorizes both the MCP endpoint and this REST API. Dynamic client registration is supported at `/register`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"oauth2","name":"Authorization"}],"title":"oauth2"}]},"originalFileLocation":"https://raw.githubusercontent.com/adcontextprotocol/adcp/v3.2.6/static/openapi/registry.yaml"},"subdomain":"agenticadvertisingorg","siteName":"AdCP - Ad Context Protocol","title":"Create or adopt my organization - AdCP - Ad Context Protocol","navMaps":{"firstHrefInVersion":{"3.2":{"href":"/dist/docs/3.2.6/registry/api-reference/onboarding/create-or-adopt-my-organization","matchLevel":0},"3.3-beta":{"href":"/dist/docs/3.3.0-beta.0/registry/api-reference/onboarding/create-or-adopt-my-organization","matchLevel":1},"3.1":{"href":"/dist/docs/3.1.27/registry/api-reference/onboarding/create-or-adopt-my-organization","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:36.992Z","originalFileLocation":"dist/docs/3.2.6/registry/api-reference/onboarding/create-or-adopt-my-organization.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=\"Bootstrap the caller\u0026#x27;s organization explicitly. Use this when the caller wants to control the organization name, company_type, revenue_tier, or is_personal flag before any agents are registered. Most storefront-style integrations don\u0026#x27;t need this call — POST /api/me/agents will auto-create an org for a fresh OAuth user (corporate or personal workspace based on the email domain) and surface org_auto_created: true in the response. Reach for POST /api/organizations only when the auto-derived defaults aren\u0026#x27;t acceptable. Three outcomes depending on the caller\u0026#x27;s state: - Fresh create (most common): a new WorkOS organization is created, the caller is added as owner, the corporate domain is recorded as email-verified, and ToS / privacy-policy acceptance is logged from the request context. Returns { success: true, organization: { id, name } }. - Prospect adoption: an organization with the caller\u0026#x27;s email domain already exists as a prospect (the registry pre-recorded it from a brand crawl but no human had claimed it yet). The caller is promoted to owner of the existing record instead of forking a duplicate. Returns { id, name, adopted: true }. - Already-active conflict: the org exists and is already claimed by another paying member or a previously joined user. Returns 409 with the existing org id so the caller can switch to a join-request flow (POST /api/organizations/:orgId/join-requests) instead of trying to register a duplicate. Tier transitions happen via the billing flow only — there is no membership_tier field on this endpoint. After org creation, send the user to POST /api/checkout-session (or the /dashboard/membership page) to start a subscription; the Stripe webhook is the sole writer of organizations.membership_tier. Rate-limited per user: 15 failed attempts per hour; successful calls do not count against the limit so a legitimate registration is never penalized by earlier validation errors.\">\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=\"Create or adopt my organization - AdCP - Ad Context Protocol\">\u003cmeta data-mint-head property=\"og:description\" content=\"Bootstrap the caller\u0026#x27;s organization explicitly. Use this when the caller wants to control the organization name, company_type, revenue_tier, or is_personal flag before any agents are registered. Most storefront-style integrations don\u0026#x27;t need this call — POST /api/me/agents will auto-create an org for a fresh OAuth user (corporate or personal workspace based on the email domain) and surface org_auto_created: true in the response. Reach for POST /api/organizations only when the auto-derived defaults aren\u0026#x27;t acceptable. Three outcomes depending on the caller\u0026#x27;s state: - Fresh create (most common): a new WorkOS organization is created, the caller is added as owner, the corporate domain is recorded as email-verified, and ToS / privacy-policy acceptance is logged from the request context. Returns { success: true, organization: { id, name } }. - Prospect adoption: an organization with the caller\u0026#x27;s email domain already exists as a prospect (the registry pre-recorded it from a brand crawl but no human had claimed it yet). The caller is promoted to owner of the existing record instead of forking a duplicate. Returns { id, name, adopted: true }. - Already-active conflict: the org exists and is already claimed by another paying member or a previously joined user. Returns 409 with the existing org id so the caller can switch to a join-request flow (POST /api/organizations/:orgId/join-requests) instead of trying to register a duplicate. Tier transitions happen via the billing flow only — there is no membership_tier field on this endpoint. After org creation, send the user to POST /api/checkout-session (or the /dashboard/membership page) to start a subscription; the Stripe webhook is the sole writer of organizations.membership_tier. Rate-limited per user: 15 failed attempts per hour; successful calls do not count against the limit so a legitimate registration is never penalized by earlier validation errors.\">\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/onboarding/create-or-adopt-my-organization\">\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=Onboarding\u0026amp;title=Create+or+adopt+my+organization\u0026amp;description=Bootstrap+the+caller%27s+organization+explicitly.+Use+this+when+the+caller+wants+to+control+the+organization+name%2C+%60company_type%60%2C+%60revenue_tier%60%2C+or+%60is_personal\u0026amp;theme=be64ae0b59577dd8c09f9173\u0026amp;signature=335a00430632faf8cf5e04669dcdc3660da80d4a523bc3ef0e6afbf7a284f3d7\">\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=\"Create or adopt my organization - AdCP - Ad Context Protocol\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Bootstrap the caller\u0026#x27;s organization explicitly. Use this when the caller wants to control the organization name, company_type, revenue_tier, or is_personal flag before any agents are registered. Most storefront-style integrations don\u0026#x27;t need this call — POST /api/me/agents will auto-create an org for a fresh OAuth user (corporate or personal workspace based on the email domain) and surface org_auto_created: true in the response. Reach for POST /api/organizations only when the auto-derived defaults aren\u0026#x27;t acceptable. Three outcomes depending on the caller\u0026#x27;s state: - Fresh create (most common): a new WorkOS organization is created, the caller is added as owner, the corporate domain is recorded as email-verified, and ToS / privacy-policy acceptance is logged from the request context. Returns { success: true, organization: { id, name } }. - Prospect adoption: an organization with the caller\u0026#x27;s email domain already exists as a prospect (the registry pre-recorded it from a brand crawl but no human had claimed it yet). The caller is promoted to owner of the existing record instead of forking a duplicate. Returns { id, name, adopted: true }. - Already-active conflict: the org exists and is already claimed by another paying member or a previously joined user. Returns 409 with the existing org id so the caller can switch to a join-request flow (POST /api/organizations/:orgId/join-requests) instead of trying to register a duplicate. Tier transitions happen via the billing flow only — there is no membership_tier field on this endpoint. After org creation, send the user to POST /api/checkout-session (or the /dashboard/membership page) to start a subscription; the Stripe webhook is the sole writer of organizations.membership_tier. Rate-limited per user: 15 failed attempts per hour; successful calls do not count against the limit so a legitimate registration is never penalized by earlier validation errors.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://agenticadvertisingorg.mintlify.app/_mintlify/api/og/v2?division=Onboarding\u0026amp;title=Create+or+adopt+my+organization\u0026amp;description=Bootstrap+the+caller%27s+organization+explicitly.+Use+this+when+the+caller+wants+to+control+the+organization+name%2C+%60company_type%60%2C+%60revenue_tier%60%2C+or+%60is_personal\u0026amp;theme=be64ae0b59577dd8c09f9173\u0026amp;signature=335a00430632faf8cf5e04669dcdc3660da80d4a523bc3ef0e6afbf7a284f3d7\">\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/onboarding/create-or-adopt-my-organization\">\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/onboarding/create-or-adopt-my-organization.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/onboarding/create-or-adopt-my-organization#webpage\",\"url\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/onboarding/create-or-adopt-my-organization\",\"name\":\"Create or adopt my organization\",\"description\":\"Bootstrap the caller's organization explicitly. Use this when the caller wants to control the organization name, company_type, revenue_tier, or is_personal flag before any agents are registered. Most storefront-style integrations don't need this call — POST /api/me/agents will auto-create an org for a fresh OAuth user (corporate or personal workspace based on the email domain) and surface org_auto_created: true in the response. Reach for POST /api/organizations only when the auto-derived defaults aren't acceptable. Three outcomes depending on the caller's state: - Fresh create (most common): a new WorkOS organization is created, the caller is added as owner, the corporate domain is recorded as email-verified, and ToS / privacy-policy acceptance is logged from the request context. Returns { success: true, organization: { id, name } }. - Prospect adoption: an organization with the caller's email domain already exists as a prospect (the registry pre-recorded it from a brand crawl but no human had claimed it yet). The caller is promoted to owner of the existing record instead of forking a duplicate. Returns { id, name, adopted: true }. - Already-active conflict: the org exists and is already claimed by another paying member or a previously joined user. Returns 409 with the existing org id so the caller can switch to a join-request flow (POST /api/organizations/:orgId/join-requests) instead of trying to register a duplicate. Tier transitions happen via the billing flow only — there is no membership_tier field on this endpoint. After org creation, send the user to POST /api/checkout-session (or the /dashboard/membership page) to start a subscription; the Stripe webhook is the sole writer of organizations.membership_tier. Rate-limited per user: 15 failed attempts per hour; successful calls do not count against the limit so a legitimate registration is never penalized by earlier validation errors.\",\"dateModified\":\"2026-10-24T02:22:36.992Z\",\"isPartOf\":{\"@id\":\"https://docs.adcontextprotocol.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/onboarding/create-or-adopt-my-organization#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/onboarding/create-or-adopt-my-organization#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\":\"Create or adopt my organization\",\"item\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/onboarding/create-or-adopt-my-organization\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/onboarding/create-or-adopt-my-organization#apireference\",\"headline\":\"Create or adopt my organization\",\"name\":\"Create or adopt my organization\",\"description\":\"Bootstrap the caller's organization explicitly. Use this when the caller wants to control the organization name, company_type, revenue_tier, or is_personal flag before any agents are registered. Most storefront-style integrations don't need this call — POST /api/me/agents will auto-create an org for a fresh OAuth user (corporate or personal workspace based on the email domain) and surface org_auto_created: true in the response. Reach for POST /api/organizations only when the auto-derived defaults aren't acceptable. Three outcomes depending on the caller's state: - Fresh create (most common): a new WorkOS organization is created, the caller is added as owner, the corporate domain is recorded as email-verified, and ToS / privacy-policy acceptance is logged from the request context. Returns { success: true, organization: { id, name } }. - Prospect adoption: an organization with the caller's email domain already exists as a prospect (the registry pre-recorded it from a brand crawl but no human had claimed it yet). The caller is promoted to owner of the existing record instead of forking a duplicate. Returns { id, name, adopted: true }. - Already-active conflict: the org exists and is already claimed by another paying member or a previously joined user. Returns 409 with the existing org id so the caller can switch to a join-request flow (POST /api/organizations/:orgId/join-requests) instead of trying to register a duplicate. Tier transitions happen via the billing flow only — there is no membership_tier field on this endpoint. After org creation, send the user to POST /api/checkout-session (or the /dashboard/membership page) to start a subscription; the Stripe webhook is the sole writer of organizations.membership_tier. Rate-limited per user: 15 failed attempts per hour; successful calls do not count against the limit so a legitimate registration is never penalized by earlier validation errors.\",\"url\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/onboarding/create-or-adopt-my-organization\",\"mainEntityOfPage\":{\"@id\":\"https://docs.adcontextprotocol.org/dist/docs/3.2.6/registry/api-reference/onboarding/create-or-adopt-my-organization#webpage\"},\"dateModified\":\"2026-10-24T02:22:36.992Z\",\"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","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","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","description":"Update one registered agent identified by its `url`. The `url` field itself cannot be changed via PATCH — supplying a `url` in the body that differs from the path returns `400 url_immutable`; re-register at the new URL and DELETE the old entry to migrate. All other fields accept partial updates.","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)","description":"The primary fact-contribution path. Takes identifiers plus a provenance envelope and returns stable `property_rid`s. In `resolve` mode (default) it auto-creates missing catalog entries and logs demand activity — so resolving your own identifier list IS the contribution. `property_rid` is a non-authoritative join/match handle, never an authorization credential. Re-resolving is idempotent on the identifier→rid mapping but additive on the activity log.","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/onboarding/create-or-adopt-my-organization"}]},{"version":"3.1","pages":[{"title":"3.1","href":"/dist/docs/3.1.27/registry/api-reference/onboarding/create-or-adopt-my-organization"}]},{"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":"Create or adopt my organization - 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"]}