Skip to main content
Discover which publishers a sales agent is authorized to represent. Returns publisher domains only - buyers fetch full property definitions from each publisher’s adagents.json. Response Time: ~2 seconds (database lookup) Purpose:
  • Authorization discovery - which publishers does this agent represent?
  • Single source of truth - property definitions come from publisher’s adagents.json
  • One-time discovery to cache publisher-agent relationships
Request Schema: /schemas/v2/media-buy/list-authorized-properties-request.json Response Schema: /schemas/v2/media-buy/list-authorized-properties-response.json

Request Parameters

Response

See schema for complete field list.

Authorization Workflow

This tool is the first step in understanding what a sales agent represents:
  1. Discovery: Buyer calls list_authorized_properties() to get publisher domains
  2. Fetch Details: Buyer fetches each publisher’s https://publisher.com/.well-known/adagents.json
  3. Validate: Buyer verifies agent is in publisher’s authorized_agents array
  4. Resolve Scope: Buyer resolves authorization scope (property_ids, property_tags, or all properties)
  5. Cache: Buyer caches properties for future product validation

Key Insight: Publishers Own Property Definitions

Unlike traditional SSPs:
  • Publishers define properties in their own adagents.json file
  • Sales agents reference those definitions via domain list
  • Buyers fetch property details from publishers, not agents
  • This ensures single source of truth and prevents property definition drift

Common Scenarios

Discover Agent Portfolio

Filter by Publisher

Fetch Publisher Property Definitions

Check Authorization Scope

Cache Validation with last_updated

Portfolio Metadata

Optional fields provide high-level portfolio information for quick filtering:

primary_channels

Main advertising channels in portfolio:
  • Values: display, video, dooh, ctv, podcast, retail, etc.
  • See Channels enum
  • Use case: Filter “Do you have DOOH?” before examining properties

primary_countries

Main countries (ISO 3166-1 alpha-2):
  • Where bulk of properties are concentrated
  • Use case: Filter “Do you have US inventory?“

portfolio_description

Markdown description:
  • Inventory types and characteristics
  • Audience profiles
  • Special features or capabilities

Example Portfolios

DOOH Network:
News Publisher:

Use Cases

Third-Party Sales Networks

CTV network representing multiple publishers:
  • Returns list of publisher domains
  • Buyers fetch property details from each publisher
  • No duplication of property data across agents

Publisher Direct Sales

Publisher selling own inventory:
  • Returns own domain
  • Buyers fetch from publisher’s adagents.json
  • Consistent with third-party agent flow

Authorization Validation

Buyer validating seller authorization:
  • Discover which publishers agent claims to represent
  • Fetch each publisher’s adagents.json to verify
  • Check agent URL in authorized_agents list
  • Cache validated relationships

Error Handling

Best Practices

1. Cache Publisher Property Definitions Fetch once and cache - properties rarely change. Use last_updated to detect staleness. 2. Validate Authorization from Publisher Always verify agent is in publisher’s authorized_agents array - don’t trust agent claims alone. 3. Resolve Authorization Scope Check property_ids, property_tags, or assume all properties based on publisher’s authorization entry. 4. Use Portfolio Metadata for Filtering Check primary_channels and primary_countries before fetching detailed properties. 5. Handle Fetch Failures Gracefully Publishers may be temporarily unavailable - cache and retry with backoff.

Next Steps

After discovering authorized properties:
  1. Fetch Properties: GET https://publisher.com/.well-known/adagents.json
  2. Validate Authorization: Find agent in publisher’s authorized_agents array
  3. Cache Properties: Store for use in product validation
  4. Discover Products: Use get_products with cached property context

Learn More