curl --request PATCH \
--url https://agenticadvertising.org/api/me/agents/{url} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"health_check_url": "<string>"
}
'{
"agent": {
"url": "https://agent.example.com/mcp",
"name": "<string>",
"health_check_url": "<string>"
},
"warnings": [
{
"agent_url": "<string>",
"message": "<string>"
}
],
"org_auto_created": true,
"profile_auto_created": true
}Update an agent
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.
curl --request PATCH \
--url https://agenticadvertising.org/api/me/agents/{url} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"health_check_url": "<string>"
}
'{
"agent": {
"url": "https://agent.example.com/mcp",
"name": "<string>",
"health_check_url": "<string>"
},
"warnings": [
{
"agent_url": "<string>",
"message": "<string>"
}
],
"org_auto_created": true,
"profile_auto_created": true
}Documentation Index
Fetch the complete documentation index at: https://agenticadvertisingorg-changeset-release-main.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
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-serverand the protected-resource metadata at/.well-known/oauth-protected-resource/api.
Path Parameters
The agent's url, URL-encoded (e.g. https%3A%2F%2Fagent.example.com%2Fmcp).
Query Parameters
WorkOS organization id to act on. Defaults to the caller's primary organization. Use this from a multi-org session (or when shelling with a user JWT) to target a non-primary org. Verification goes through WorkOS membership lookup; non-members get 403.
"org_01HXZAB123"
Body
Request body for PATCH /api/me/agents/{url}. The url field cannot be changed via PATCH; re-register at the new URL and DELETE the old entry instead. If type is omitted, the existing value is preserved.
Visibility tier on the registry catalog. private = profile owner only; members_only = AAO API-tier members on operator lookup; public = listed in the public catalog and reflected in the org's brand.json (requires a paid AAO tier — Professional, Builder, Member, or Leader).
private, members_only, public Agent type the caller declares. Required on register; smuggle-protection still cross-checks against the capability snapshot when one exists. The server never infers type — the owner declares what kind of agent this is.
brand, rights, measurement, governance, creative, sales, buying, signals Response
Agent updated.
Agent entry stored on a member profile. type is required on read because every write surface declares it and the operator endpoint always emits it; a stored value of unknown is the smuggle-protection outcome (snapshot contradicted the declaration without classifying it) and is the only path that surfaces an agent without a real type.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Set to true when this POST was the caller's first interaction with the registry and the server auto-created the organization (display name derived from the user's email domain for corporate emails, or <First Last>'s Workspace for free-email providers). Combined with profile_auto_created, this is the one-call storefront experience: a third-party app holding only an OAuth token gets the org, profile, and registered agent in a single request.
Set to true when this POST was the first agent registration on the caller's organization and the server auto-created a private member profile (display name = organization name, is_public: false). Absent on subsequent calls and on update-in-place. Surfaced so storefront-style integrations can show a "we set up your profile" hint without needing to detect the prior 404 → bootstrap → retry shape.