Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

adagents.json declares which sales agents are authorized for a domain’s properties; the core OpenRTB 2.3 Imp object describes an impression offered in an auction. It has no standard field for the AdCP authorization selector. The two therefore handle different layers: AdCP establishes agent-level inventory scope, while OpenRTB describes and auctions individual impressions.

What does adagents.json authorize?

A publisher hosts adagents.json at /.well-known/adagents.json on its domain. The file declares properties and the sales agents authorized to sell them. In the current AdCP overview’s v3-style example, an authorization entry includes an authorization_type and a corresponding selector such as property_ids. The type alone does not identify the scope: a resolver needs the matching selector to determine which properties the authorization covers. See the AdCP adagents.json overview.

This is an authorization declaration at the agent-and-property level. It is not an impression description, nor does it by itself specify the floor, media format, or other auction details for a particular opportunity.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What does OpenRTB 2.3 Imp describe?

In the IAB’s OpenRTB 2.3 specification, a BidRequest contains one or more Imp objects. Each Imp represents an offered impression or ad placement and describes auction-related details such as available media types, an optional tag ID, a bid floor, secure-delivery status, and an extension point. The core field list does not include AdCP’s authorization type or property selector. See the IAB OpenRTB API Specification v2.3.

That is why an Imp does not carry the authorization scope back into the auction object: it describes the impression being offered, not which sales agent a publisher has authorized for a set of properties. Fields such as tagid and bidfloor serve other purposes and should not be treated as substitutes for the AdCP selector.

How AdCP and OpenRTB work together

The protocols are complementary rather than competing. AdCP supports agent-level workflows, while OpenRTB handles impression-level auctions. For example, a publisher’s AdCP agent can accept a create_media_buy task and use OpenRTB internally to execute impression delivery. The workflow may operate over a longer period; the OpenRTB auction happens in real time. The AdCP FAQ describes this division of roles.

Dimension AdCP and adagents.json OpenRTB 2.3 Imp
Scope Agent authorization for declared properties One offered impression or placement
Primary purpose Declare and resolve authorized inventory scope Describe an auction opportunity and its bidding details
Where it appears Domain-hosted file at /.well-known/adagents.json An Imp object inside a bid request
Timing Agent workflow can span seconds to days, as described by the AdCP FAQ Impression auction operates in real time
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Version boundaries matter

The OpenRTB statement here is specifically about the core Imp schema in version 2.3, published by IAB in 2015. That schema provides an exchange-specific ext object, so this does not establish what any particular exchange might carry in an extension or another private integration. The precise conclusion is that OpenRTB 2.3’s core Imp does not standardize the AdCP authorization selector.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

AdCP examples also vary by version. The current overview presents a v3-style example using authorization_type and a matching selector. The AdCP adagents.json builder displays specification details labelled v2.2.0 and uses delegation_type with property_ids. Do not treat those field forms as interchangeable; check the versioned schema that applies to an implementation before copying an example.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.