List of supported OpenRTB bid request fields for DSPs

DSPs
Last Updated: February 12, 2026

Our OpenRTB bidding API facilitates real-time bidding. Data for bid requests is sent in JSON RFC 4627 format and all fields are considered case-sensitive.

BidRequest object

The top level bid request object and accompanying fields are below, followed by each lower level object contained within it.

FieldTypeDescription

id

String; required

The Index-generated unique ID for the request. For DSPs that have multiple OpenRTB integrations with Index, each integration will receive its own unique id for every request.

imp

Object array; required

The Impression Object, which contains at least one Banner object, Video object, or the Native object.

Note:

  • By default, Index separates multi-format eligible requests from our sellers into multiple discrete bid requests to DSPs, with one request per format. Index supports multi-format requests that allow you to receive multiple creative types in an impression opportunity. For example, you can receive requests that support banner, video, and native creatives in an impression opportunity. If you want to enable multi-format requests, contact your Index Representative.
  • For video requests, by default Index separates multi-impression structured podded and dynamic podded video requests from Media Owners into individual single-impression video requests for DSPs. This allows DSPs without OpenRTB 2.6 support to receive the impression opportunities as non-podded single-impression video requests. If you are able to receive podded requests and want to receive structured or dynamic podded requests from Index, contact your Index Representative.

device

Object; required

The Device Object.

tmax

Integer; required

Maximum time in milliseconds that Index allows to receive bids. To avoid timeouts, the tmax field does not subtract internet latency between Index and the DSP.

Note: If required, we can subtract latency when passing tmax. For more information, contact your Index Representative.

cur

Array of strings; optional

The currencies that Media Owners will accept in bid responses, which must always be USD.

ext

Required

A custom Index Request Extension Object that contains additional information about the bid request.

app

Object; optional

The App Object; included if the impression originates from an application.

bcat

Array of strings; optional

An array of blocked advertiser categories, based on standard IAB content categories. For a full list of values, see List: Category Taxonomies in AdCOM 1.0.

cattaxInteger; optional

The taxonomy in use for the bcat field, where the taxonomy used determines the meaning of a category code like ["IAB3-7"]. For a full list of values, see List: Category Taxonomies in AdCOM 1.0. If the cattax field is not sent, IAB Content Category Taxonomy 1.0 is assumed.

badv

Array of strings; optional

A list of advertiser domains that have been blocked by the Media Owner from serving on their properties, for example “ford.com”.

Note: This field is temporarily unavailable while we make some optimization improvements.

regs

Object; optional

The Regulations Object.

site

Object; optional

The Site Object; included if the impression originates from a website.

user

Object; optional

The User Object.

sourceObject; optionalA Source object that provides data about the inventory source.
wlangArray of strings; optional

Allowed list of languages for creatives using ISO-639-1-alpha-2. If this field is omitted, it implies that there are no specific language restrictions. However, DSPs are advised to consider the language field in the Device and/or Content objects.

BidRequest extension object

FieldTypeDescription

placement

Object; optional

The Placement Object.

tz

Integer; optional

The user time zone derived from the JavaScript getTimezoneOffset() function.

Placement object

The Placement Object is always present for impressions in the private exchange.

FieldTypeDescription

name

String; optional

A name that describes why the impression is private (for example, "Homepage").

private

Boolean; optional

The scope of DSP bidding eligibility for this impression, where:

  • 1 = private and eligible bids are restricted to the deals specified

Source object

FieldTypeDescription

pchain

String; optional

The Payment ID chain string provides visibility into an impression's supply path. For bid requests sourced directly from Index, the pchain field will display:

  • Index's TAG ID of 50b1c356f2c5c8fc

  • Publisher ID, such as 2167

For example, 50b1c356f2c5c8fc:2167.

For bid requests sourced from a supplier, the pchain field will display the TAG ID and publisher ID for both the supplier and Index. For example, <Supplier ID>:<Publisher ID>-50b1c356f2c5c8fc:2167. For more information or to get a list of supplier IDs for pchain, contact TAG at info@tagtoday.net.

schain

Object; optional

The supply chain object. Like pchain, schain also provides buyers visibility into all parties who are involved in the selling or reselling of an impression in a bid request. For more information, see the Supply Chain object below.

To interpret the schain object, you can reference our sellers.json file that contains a list of all our supply partners at www.indexexchange.com/sellers.json.

ext

String; optional

The Source extension object which is used to specify additional details about the source of the bid request. For more information, see the Source extension object below.

Source extension object

FieldTypeDescription

sourceType

Integer; required

The header bidding type used in the auction, where:

  • 1 = the request is not from a header bidding auction

  • 2 = the request is from a client-side header bidding auction

  • 3 = the request is from a server-side header bidding auction

sourceOrigin

Integer; required

The source of the impression opportunity which specifies where it originated from, where:

  • 1 = direct (tag-based)

  • 2 = other SSP

  • 3 = Amazon TAM

  • 4 = Google Open Bidding

  • 5 = Prebid

  • 6 = IX Wrapper Library

  • 7 = other header bidding solution

omidpn

String; optional

An identifier for the OM SDK integration. This is the same as the name parameter of the OMID Partner object.

omidpv

String; optional

A version of the OM SDK integration. This is the same as the versionString parameter of the OMID Partner object.

SupplyChain object

FieldTypeDescription

complete

Integer; required

A flag that specifies whether the chain contains all nodes involved in the transaction leading back to the supply source of the inventory, where:

  • 0 = no
  • 1 = yes

nodes

Object array; required

An array of SupplyChainNode objects in the order of the chain. Each node represents a different seller or exchange system that has touched the impression. The last node in the array represents the seller sending the bid request. For more information, see Nodes objects below.

ver

String; required

Version of the supply chain specification in use, in the format of “major.minor”. Index is currently using version 1.0 of the sellers.json specification.

Nodes object

FieldTypeDescription

asi

String; required

Domain name of the system that the bidder connects to. For example, SSP, exchange.

Note: You can find the sellers.json file for each node through this domain name. The same domain is also used in ads.txt files for Media Owners (for example, indexexchange.com).

rid

String; optional

The request's OpenRTB RequestId issued by the seller.

Note: The same information can also be found in bidrequest.id.

sid

String; required

The seller or reseller account ID.

Note: The same information can also be found in site.publisher.id.

hp

Integer; required

Specifies whether this node is involved in the flow of payment for the inventory. The hp field is sent if an upstream chain includes it. Index's node will always include hp=1. For version 1.0 of SupplyChain, this property should always be 1.

Regs object

FieldTypeDescription

coppa

Integer; optional

Specifies whether this request is subject to the United States Children's Online Privacy Protection Act (COPPA), where:

  • 0 = no
  • 1 = yes

If this flag is omitted in the request, Index assumes that this information is unavailable.

Note: The following fields are automatically blanked in COPPA-related requests: lat, lon, metro, city, and zip (in the Geo Object).

ext

Object; optional

The Regulation Extension Object, which is used to specify requests that are subject to regulations. See the table below.

gpp

String; optional

Contains the Global Privacy Platform (GPP) string to communicate user elected privacy choices.

For more information about the GPP framework, see the IAB's Global Privacy Platform page.

gpp_sid

Array of integers; optional

Specifies the Global Privacy Platform (GPP) section IDs or individual privacy frameworks that apply to the bid request.

For a current list of section IDs recognized by the GPP framework, see the IAB's Section Information page.

us_privacy

String; optional

Specifies whether US privacy laws (for example, CCPA) apply or don't apply to the user in the bid request. This field contains four characters. For example, 1YYN. The meaning of each character is based on its position in the string as defined below:

  • 1st character: The version number for the US privacy string specification used to encode the string.
  • 2nd character: Specifies whether the user had explicit notice and the choice to opt-out of the sale of their personal information, where:.
    • N = no
    • Y = yes
    • - = not applicable
  • 3rd character: Specifies whether the user has opted-out of the sale of their personal information.
    • N = no
    • Y = yes
    • - = not applicable
  • 4th character: Specifies whether the Media Owner is a signed party to the IAB Limited Service Provider Agreement (LSPA). the Media Owner specifies whether the transaction is either a Covered Opt Out Transaction or a Non Opt Out Transaction.
    • N = no
    • Y = yes
    • - = not applicable

For example, a string passed as 1--- specifies that a US privacy regulation does not apply to the bid request.

Note: When a consumer chooses to opt-out of the sale of their personal information, the following bid request fields are automatically adjusted:

  • ip (device object): The last octet of the user's IP address is replaced with a zero.
  • lat and lon (geo object): Latitude and longitude coordinates are reduced to two decimals which translates to accuracy no less than one third of a mile.
  • All unique IDs from the bid request in the device and user objects that indirectly identify a user are removed.
  • deals (PMP object): Audience segment targeted deal IDs are no longer added to the bid request.

Regs extension object

FieldTypeDescription

dsa

Object; optional

A DSA object that contains Digital Services Act (DSA) transparency information, as received from the Media Owner.

For more information about the DSA, see the Digital Services Act (DSA) documentation.

For more information about how Index supports the DSA, see Policy and regulations.

gdpr

Integer; optional

Specifies whether the request is subject to regulations, where:

  • 0 = request is not subject to regulations.
  • 1 = request is subject to regulations

us_privacy

Object; optional

Note: This field is slated for future deprecation. You can expect this information to be sent in the us_privacy field in the Regs object (above) instead.

Specifies whether US privacy laws (for example, CCPA) apply or don't apply to the user in the bid request. This field contains four characters. For example, 1YYN. The meaning of each character is based on its position in the string as defined below:

  • 1st character: The version number for the US privacy string specification used to encode the string.
  • 2nd character: Specifies whether the user had explicit notice and the choice to opt-out of the sale of their personal information, where:.
    • N = no
    • Y = yes
    • - = not applicable
  • 3rd character: Specifies whether the user has opted-out of the sale of their personal information.
    • N = no
    • Y = yes
    • - = not applicable
  • 4th character: Specifies whether the Media Owner is a signed party to the IAB Limited Service Provider Agreement (LSPA). the Media Owner specifies whether the transaction is either a Covered Opt Out Transaction or a Non Opt Out Transaction.
    • N = no
    • Y = yes
    • - = not applicable

For example, a string passed as 1--- specifies that a US privacy regulation does not apply to the bid request.

Note: When a consumer chooses to opt-out of the sale of their personal information, the following bid request fields are automatically adjusted:

  • ip (device object): The last octet of the user's IP address is replaced with a zero.
  • lat and lon (geo object): Latitude and longitude coordinates are reduced to two decimals which translates to accuracy no less than one third of a mile.
  • All unique IDs from the bid request in the device and user objects that indirectly identify a user are removed.
  • deals (PMP object): Audience segment targeted deal IDs are no longer added to the bid request.

DSA object

FieldTypeDescription

datatopub

Integer; optional

A flag that specifies if the Media Owner requires DSA transparency data for audit purposes, where:

  • 0 = Do not send transparency data.

  • 1 = It is optional to send transparency data.

  • 2 = Send transparency data.

pubrender

Integer; optional

A flag that specifies if the Media Owner is able to and intends to render the DSA transparency information received in the bid response. DSA transparency information can be rendered via an icon or other appropriate user-facing symbol to the user, where:

  • 0 = Publisher can not render the DSP information.

  • 1 = Publisher may be able to render the DSA information, depending on their ad renderer.

  • 2 = Publisher will render the DSA information.

transparency

Array of objects; optional

An array of Transparency objects that contain the entities that applied user parameters and the parameters they applied.

dsarequired

Integer; optional

A flag that specifies if DSA information should be made available for this request in the DSA object in the bid response. This signals that the bid request belongs to an Online Platform/VLOP (Very Large Online Platform), and the buyer should respond with DSA transparency information based on the pubrender value, where:

  • 0 = Not required.

  • 1 = Supported. Bid responses with or without the DSA object will be accepted.

  • 2 = Required; publisher may or may not be classified under the DSA as an Online Platform. Bid responses without the DSA object will be rejected.

  • 3 = Required; publisher is classified under the DSA as an Online Platform. Bid responses without the DSA object will be rejected.

Transparency object

FieldTypeDescription

domain

String; optional

The domain of the entity that applied the user parameters in the dsaparams field for targeting. For example, "platform1domain.com".

dsaparams

Array of integers; optional

An array of any user parameters that were used in targeting this user, where:

  • 1 = Profiling. Includes information about the user, collected and used across contexts, that is about the user's activity, interests, demographic information, or other characteristics.

  • 2 = Basic advertising. Includes the use of real-time information about the context in which the ad will be shown, including information about the content and the device, such as: device type and capabilities, user agent, URL, IP address, and non-precise geolocation data. Additionally, any use of basic cross-context information that is not based on user behavior or user characteristics, for uses such as frequency capping, sequencing, brand safety, and anti-fraud.

  • 3 = Precise geolocation. The precise real-time geolocation of the user, i.e. GPS coordinates within 500 meter radius precision.

Imp object

This object describes an ad placement or impression opportunity being auctioned. A single bid request may include one or more imp objects, corresponding to one or multiple impression opportunities.

Note: By default, Index separates multi-format eligible requests from our sellers into multiple discrete bid requests to DSPs, with one request per format. Index supports multi-format requests that allow you to receive multiple creative types in an impression opportunity. For example, you can receive requests that support banner, video, and native creatives in an impression opportunity. If you want to enable multi-format requests, contact your Index Representative.

FieldTypeDescription

id

String; required

A unique identifier for this impression.

tagid

String; optional

A unique identifier for the ad placement or ad tag on a publisher's website or app that was used to initiate the auction. DSPs can use this detailed breakdown of publisher inventory that specifies the exact location of the ad on a web page or app to optimize and troubleshoot buyer campaigns.

Note: If no tagid is specified, Index will pass its own site ID for the inventory to DSPs.

banner

Object; required

The Banner Object.

Note: All requests must include at least one Banner Object or Video Object.

bidfloor

Float; optional

The minimum bid for this impression in CPM.

bidfloorcur

String; optional

The currency for the bid floor, which will always be USD.

secure

Integer; required

Specifies whether impressions require secure HTTPS URL creative assets and markup, where:

  • 0 = secure assets are not required
  • 1 = secure assets and markup are required

video

Object; required

The Video object.

Note: All requests must include at least one Video object, Banner object, or native object.

native

Object; required

The native object. This field is required if this impression is offered as a Native ad opportunity.

ext

Object; optional

A custom Index Impression Extension Object that contains additional information about any deals for this impression.

instl

Integer; optional

Specifies whether an ad is interstitial, where:

  • 0 = ad is not interstitial
  • 1 = ad is interstitial or full screen

metric

Object; optional

The Metric object that contains more information about any metrics associated with this impression.

rwdd

Integer; optional

Indicates if this impression is associated with a rewarded placement, where:

  • 0 = ad is not a rewarded placement
  • 1 = ad is a rewarded placement

pmp

Object; optional

The PMP Object that contains information about deals for this impression.

Imp extension object

This custom Extension Object communicates information regarding deals and Header Tag bids.

FieldTypeDescription

bcrid

Array of strings; required

DSP Creative IDs that are blocked because they are pending review or have been blocked by Index and are therefore excluded from participating in an auction.

Note:

  • The number of Creative IDs that display is configurable per DSP.
  • This field is temporarily unavailable while we make some optimization improvements.

floor

Array of integers; optional

An array of bid floor values, in cents.

Note: The array index identifies the bid floor of a seat with corresponding index in the wseat field of the Bid Request Object.

hb

Integer; optional

Specifies whether to use Header Tag inventory bid requests, where:

  • 0 = traditional ad tag request
  • 1 = header tag ad request

Note: This is not included by default and DSPs must request it.

wopv

String; optional

The HUMAN, Inc. (Human; formally White Ops) lookupID. The lookupID present in the bid request indicates that MediaGuard has scanned the ad request and determined that it is not fraudulent. For more information about Invalid Traffic (IVT) monitoring, see Inventory quality.

skadn

Object; optional

Specifies publisher support for Apple's SKAdNetwork app install attribution. See SKAdNetwork extension object below.

gpid

String; optional

The Global Placement Identifier (GPID) for the ad slot or placement. For more information about GPID, see Send the Global Placement Identifier (GPID) to Index.

tid

String; optional

The unique transaction ID for each impression, which is common across all the exchanges that are bidding on this impression opportunity. This field is an implementation of OpenRTB's community extension for Per-Impression Transaction IDs.

Note: This field is not currently supported, but will be soon available for DSPs.

data

Object; optional

The custom key value pairs passed by a publisher that provides contextual information about an ad unit. For more information see, Targeting custom key values in deals using inventory groups (Beta).

ae

Integer; optional

Info: Starting in June 2025, Index has paused support for the Protected Audience API. As a result, you won't receive this field from Index.

If you are using the Protected Audience API, this field specifies the auction environment for the request, where:

  • 0 = does not support the Protected Audience API, where a traditional auction runs (default).

  • 1 = supports the Protected Audience API, where the final auction runs in the browser.

sid

String; optional

Seller integration data passed to Index. Publishers can use this field to pass any custom data that they want to receive in their Client Audit Logs (CAL).

Metric object

The metric object is associated with an impression as an array of metrics. These metrics can offer insight into the impression, such as recent viewability, completion rate, and click-through rate. Each metric is identified by its type, the value of the metric, and optionally the source or vendor that measured the value.

FieldTypeDescription
type

String; required

The type of metric being presented. Index supports the following metric types: 

  • click_through_rate

  • session_depth

  • video_completion_rate

  • viewability

value

Float; required

A number representing the value of the metric. Probabilities must be in the range of 0.0 - 1.0.

vendor

String; optional

The source of the value using exchange curated string names. Index passes through this value from the media owner if provided. For any value produced by Index, the vendor is "INDEXEXCHANGE"

Banner object

This object is a subordinate of the Impression object that describes a banner ad impression. If the auctioned impression is banner or rich media, it is included in the Banner object directly in the Impression object. Optionally, Media Owners could embed it in the Video object to describe companion banners available for linear or non-linear video ads. For more information on the possible ad dimensions for a banner impression, see List of supported ad sizes.

FieldTypeDescription

format

Array of objects; optional

Array of format objects specifying the banner sizes permitted for an impression opportunity.

Note:

  • Not enabled for all partners by default. To enable the format object, contact your Index Representative.
  • Partners who are enabled to receive the format object must include the w and h values in the bid object of the bid response.
  • For partners that do not support the format object, Index by default includes the maximum size supported by you in the bid request.

h

Integer; required

The height of this impression, in pixels.

topframe

Boolean; required

Specifies whether the banner ad is delivered in the top frame or in an iFrame, where:

  • 0 = ad is displayed in an iframe
  • 1 = ad will not be displayed in an iframe

w

Integer; required

The width of this impression, in pixels.

battr

Array; optional

Indicates blocked creative attributes; if blank, it is assumed that all types are allowed.For a full list of values, see List: Creative Attributes in AdCOM 1.0.

expdir

Array of integers; optional

Indicates expandable ad directions, where:

  • 1 = left
  • 2 = right
  • 3 = up
  • 4 = down
  • 5 = full screen

api

Array of integers; optional

Specifies the supported API frameworks, where:

  • 1 = VPAID 1.0
  • 2 = VPAID 2.0
  • 3 = MRAID 1.0
  • 4 = ORMMA
  • 5 = MRAID 2.0
  • 6 = MRAID 3.0
  • 7 = OMID 1.0

By default, custom APIs are assumed as unsupported.

hmax

String; optional

The maximum height of the impression in pixels. If included, it specifies that a range of sizes is allowed with this maximum height and h is considered to be the recommended size. If it is not included, h is considered an exact requirement.

hmin

String; optional

The minimum height of the impression in pixels. If included, it specifies that a range of sizes is allowed with this minimum height and h is considered as the recommended size. If not included, h is considered an exact requirement.

id

String; optional

A unique identifier for this banner object; especially useful for tracking multiple Banner Objects (for example, in companion banner array). It usually begins with 1 and increases with each object.

mimes

Array of strings; optional

Allowed list of content MIME types supported. Popular MIME types include, but are not limited toimage/jpg and image/gif.

pos

Integer; optional

Specifies the position of the ad as a relative measure of visibility or prominence where:

  • 0 = unknown
  • 1 = above the fold (default)
  • 2 = deprecated (resolution dependent)
  • 3 = below the fold
  • 4 = header
  • 5 = footer
  • 6 = sidebar
  • 7 = full-screen

wmax

Integer; optional

The maximum width of the impression in pixels. If included, it specifies that a range of sizes is allowed with this maximum width and w is considered to be the recommended size. If not included, w is considered an exact requirement.

wmin

Integer; optional

The minimum width of the impression in pixels. If included, it specifies that a range of sizes is allowed with this minimum width and w is considered as the recommended size. If not included, w is considered an exact requirement.

Banner extension object

FieldTypeDescription

bidfloor

Float; optional

The minimum bid for this banner impression in CPM.

Video object

This object is a subordinate of the Impression object that describes a video ad impression. An imp array could include one video impression or multiple video impressions. It represents a podded or non-podded request based on the following:

  • A bid request with one video impression and which includes the podid, poddur, and maxseq fields, represents a dynamic podded request. Otherwise, it represents a non-podded single-impression request.

  • A bid request with multiple video impressions represents a structured podded request and all impression opportunities within the request will have the same podid.

Note: By default, Index sends single-impression video requests for a video pod to DSPs. If you want to enable OpenRTB 2.6 podding on eligible STV inventory, contact your Index Representative.

FieldTypeDescription

maxduration

Integer; required

Maximum video ad duration, in seconds.

minduration

Integer; required

Minimum video ad duration, in seconds.

mimes

Array of strings; required

A list of supported video content MIME types. Popular MIME types supported by HTML5 players include:

  • video/mp4
  • video/webm
  • video/ogg

For VPAID support, make sure to specify application/javascript.

protocols

Array of integers; required

An array of supported video protocols. At least one supported protocol must be specified, where:

  • 2 = VAST 2.0
  • 3 = VAST 3.0
  • 5 = VAST 2.0 Wrapper
  • 6 = VAST 3.0 Wrapper
  • 7 = VAST 4.0
  • 8 = VAST 4.0 Wrapper
  • 11 = VAST 4.1
  • 12 = VAST 4.1 Wrapper
  • 13 = VAST 4.2
  • 14 = VAST 4.2 Wrapper

api

Array of integers; optional

A list of supported API frameworks, where:

  • 1 = VPAID 1.0
  • 2 = VPAID 2.0
  • 3 = MRAID 1.0
  • 4 = ORMMA
  • 5 = MRAID 2.0
  • 6 = MRAID 3.0
  • 7 = OMID 1.0

By default, custom APIs are assumed to be unsupported.

boxingallowed

Integer; optional

Specifies whether letter-boxing of 4:3 content into a 16:9 window is allowed, where:

  • 0 = boxing is not allowed
  • 1 = boxing is allowed (default setting)

battr

Array; optional

Specifies blocked creative attributes. If blank, it is assumed that all types are allowed.

companionad

Array of objects; optional

Available companion ads are listed as an array of Banner Objects.

companiontype

Array of integers; optional

A list of supported VAST companion ad types, where:

  • 1 = static resource
  • 2 = HTML resource
  • 3 = iframe resource

delivery

Array of integers; optional

A list of supported delivery methods. If blank, it is assumed that all are supported, where:

  • 1 = streaming
  • 2 = progressive

ext

Object; optional

A custom Index Video Extension Object that contains additional information about this impression.

h

Integer; optional

The height of the player, in pixels.

linearity

Integer; optional

Specifies whether the ad impression is linear or non-linear. If the field is blank, the ad impression can be of any type, where:

  • 1 = linear/instream
  • 2 = non-linear/overlay

maxextended

Integer; optional

The maximum extended ad duration if extension is allowed, where:

  • If blank or 0 = extension is not allowed
  • -1 = an extension is allowed and there is no time limit imposed
  • If greater than 0 = the value represents the number of seconds of extended play supported beyond the maxduration value.

maxbitrate

Integer; optional

The maximum bit rate in Kbps.

minbitrate

Integer; optional

The minimum bit rate in Kbps.

placement

Integer; optional

The video's placement type, where:

  • 1 = instream
  • 2 = in-banner
  • 3 = in-article
  • 4 = in-feed
  • 5 = interstitial/slider/sloating

Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it.

plcmt

Integer; optional

The video's placement type in accordance with the updated IAB Digital Video Guidelines, where:

  • 1 = instream
  • 2 = accompanying content
  • 3 = interstitial
  • 4 = no content/standalone

skip

Integer; optional

Specifies whether the player allows the video to be skipped, where:

  • 0 = no
  • 1 = yes

skipmin

Integer; optional

Videos of total duration greater than this number of seconds

can be skippable; only applicable if the ad is skippable.

skipafter

Integer; optional

Number of seconds a video must play before skipping is

enabled; only applicable if the ad is skippable.

playbackmethod

Array of integers; optional

A list of allowed playback methods, where:

  • 1 = auto-play sound on
  • 2 = auto-play sound off
  • 3 = click-to-play
  • 4 = mouse-over
  • 5 = entering viewport with sound on
  • 6 = entering viewport with sound off

If blank, Index assumes that all methods are allowed.

pos

Integer; optional

Specifies the position of the ad as a relative measure of visibility or prominence, where:

  • 0 = unknown
  • 1 = above the fold (default)
  • 2 = deprecated (resolution dependent)
  • 3 = below the fold
  • 4 = header
  • 5 = footer
  • 6 is sidebar
  • 7 is full-screen

sequence

Integer; optional

If multiple ad impressions are offered in the same bid request, the sequence number will allow for the coordinated delivery of multiple creatives.

Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it.

startdelay

Integer; optional

Specifies the start delay in seconds for pre-roll, mid-roll, or post-roll ad placement, where:

  • >0 = mid-roll (value indicates start delay in second)
  • 0 = pre-roll
  • -1 = generic mid-roll
  • -2 = generic post-roll

w

Integer; optional

The width of the player, in pixels.

Video extension object

This custom Extension Object indicates the player type associated with outstream video impressions.

FieldTypeDescription

bidfloor

Float; optional

The minimum bid for this video impression in CPM.

playertype

Integer; optional

Specifies the player type associated with this outstream video impression, where:

  • 1 = in-news feed
  • 2 = in-article

If blank, the player is assumed to be a conventional in-steam type.

renderedBy

Integer; optional

Specifies the party that will render the video ad, where:

  • 1 = the Media Owner will render the video ad
  • 2 = Index will render the video ad

If blank, it is assumed that the Media Owner will render the video ad.

rewarded

Integer; optional

Specifies whether the ad is being rendered as a part of a rewarded video ad experience, where:

  • 0 = false
  • 1 = true

Native object

The presence of a native object as a subordinate of the impression object indicates that this impression is offered as a native type impression. At the Media Owner's discretion, that same impression may also be offered as banner or video by also including them as imp subordinate objects of those types.

FieldTypeDescription

request

String; required

The request payload complying with the OpenRTB Dynamic Native Ads API Specification Version 1.2. For more information about the native.request object, see List of supported OpenRTB bid request fields for native ads for DSPs .

ver

String; optional

The version of the native markup in use.

api

Array of integers; optional

The list of supported API frameworks for the impression. If an API is not listed, assume it is not supported.

battr

Array of integers; optional

The blocked creative attributes. To learn more, see the List of creative attributes.

Native extension object

FieldTypeDescription

bidfloor

Float; optional

The minimum bid for this native impression in CPM.

renderedBy

Integer; optional

Specifies the party that will render the native ad, where:

  • 1 = the Media Owner will render the native ad
  • 2 = Index will render the native ad

If blank, it is assumed that the Media Owner will render the native ad.

Format object

The format object specifies an allowed size, in height and width combination, for a banner impression opportunity. These are typically used in an array where multiple sizes are permitted.

FieldtypeDescription

h

Integer; optional

The height in device-independent pixels.

w

Integer; optional

The width in device-independent pixels.

PMP and Deal objects

PMP object

FieldTypeDescription

private_auction

Integer; optional

The scope of DSP bidding eligibility for this impression, where:

1 is Private (eligible bids are restricted to the deals specified).

deals

Array of objects; optional

A collection of Direct Deals Objects containing any direct deals eligible for this impression.

ext

Object; optional

A custom Index PMP Extension Object that contains additional information about this deal.

Deal object

The PMP Object may contain one or more additional Deals Objects, each representing a different direct deal for this impression:

FieldTypeDescription

id

String; required

A unique identifier for this direct deal.

at

Integer; optional

The auction type for this direct deal, where:

  • 1 = first price auction
  • 3 = fixed price auction

Note:The second price auction type is deprecated and no longer supported.

bidfloor

Integer (if sent as cents, like 134) or Float (if sent as dollars, like 1.34); optional

Designated floor price for this direct deal, in US (sent in cents, by default).

Note: It can be sent in dollars if requested, but the price in the response Bid Object must also be sent in dollars.

bidfloorcur

String; optional

The currency for the bid floor, which will always be USD.

wseat

String; optional

An allowed list of buyer seats (for example, advertisers, agencies) that are allowed to bid on a deal.

PMP extension object

The PMP Object may contain an IX-custom PMP extension Object, containing additional information about the direct deal.

FieldTypeDescription

name

String; optional

Placement name for all impressions operating in the private market. Example: "The Daily Times".

Deals extension object

FieldTypeDescription

disc

Float

To provide transparency to DSPs during an auction and to identify Post-Auction Discounts opportunities on deals, Index passes this field in bid requests to DSPs. This is a number between 0.01 - 1.0 representing the discount negotiated between a publisher and buyer. This value is applied to the ${AUCTION_PRICE} win notification macro for winning impressions. Index supports one value past the decimal point on discounts (for example, 15.5%).

Example: A 25% discount is sent as disc = 0.25. For a $10.00 winning bid, the 25% discount is applied and passed as $7.50 in the ${AUCTION_PRICE} macro.

To learn more about discounts for deals, see Negotiating discounts on deals.

guaranteed

Integer; optional

The deal is a guaranteed deal where a publisher and buyer have negotiated an exact volume of impressions at a fixed price, where:

  • 1 = the deal is a guaranteed deal

SKAdNetwork extension object

The skadn object may include an extension object. To learn more, see OpenRTB SKAdNetwork extension.

FieldTypeDescription

version

String; optional

The version of skadnetwork supported. This field is always "2.0" or higher and is dependent on both the OS version and the SDK version.

Note: With the release of SKAdNetwork 2.1, this field is deprecated in favor of the versions field to support an array of version numbers.

versions

Array of strings; optional

An array of strings containing the supported skadnetwork versions. This field is always "2.0" or higher and is dependent on both the OS version and the SDK version.

Example: "versions": ["2.0", "2.1", "2.2"]

sourceapp

String; optional

The ID of the Media Owner app in Apple's app store. It should match the app.bundle in OpenRTB 2.x and app.storeid in AdCOM 1.x.

Example: "sourceapp": "880047117"

skadnetids

Array of strings; optional

A subset of SKAdNetworkItem entries in the Media Owner app's Info.plist, expressed as lowercase strings, that are relevant to the bid request. It is recommended that this list does not exceed 10.

Note: BidRequest.imp.ext.skadn.skadnetlist.addl is the preferred method to express raw SKAdNetwork IDs.
skadnetlistObject; optionalAn object containing the IAB's list definition. See skadnetlist object below.

Example: "skadnetlist": {"max": 306, "excl": [2,8,10,123], "addl": ["cdkw7geqsh.skadnetwork", "qyJfv329m4.skadnetwork"]}

Skadnetlist object

This object provides the IAB's skadnetwork object list fields.

FieldTypeDescription

max

Integer; optional

A list containing the max entry ID of SKAdNetwork ID.

Example: "max":306.

excl

Array of integers; optional

A comma separated list of IAB registration IDs that are to be excluded from the IAB shared list.

Example: "excl": [44,14,18]

addl

Array of strings; optional

A comma-separated list of string SKAdNetwork IDs, expressed as lowercase strings, not included in the IAB shared list. It is recommended that this list should not exceed 10 IDs.

Example: "addl": ["cdkw7geqsh.skadnetwork", "qyjfv329m4.skadnetwork"]

Site object

FieldTypeDescription

id

String; required

The Index-assigned unique identifier for the website.

cat

Array of strings; optional

A single-element array representing the standard IAB content category for the overall site. For example, ["IAB3-7"] See section 6.1 of the OpenRTB Specification (version 2.2) for a full list.

content

Object; optional

The Content Object. For more information about the content object, see the content object below.

domain

String; optional

A static value that represents the site's domain.

inventorypartnerdomain

String; optional

A pointer to the domain of a partner that is explicitly authorized to monetize ads within this site's content. The partner's corresponding app-ads.txt or ads.txt file will be hosted at this domain and can be used for supply chain validation.

For more information about how to implement this field, see the IAB's ads.txt Specification.

mobile

Integer; optional

Specifies whether the site has been programmed to optimize layout when viewed on mobile devices, where:

  • 0 = no
  • 1 = yes

page

String; optional

The URL of the page where this impression will be shown.

producer

Object; optional

Provides details about the producer of the content. For more information about the producer object, see the producer object below.

publisher

Object; optional

The Publisher Object.

ref

String; optional

The referring URL that caused navigation to the page hosting this impression. Anything above 512 characters is truncated.

Site extension object

FieldTypeDescription

data

Object; optional

The custom key value pairs passed by a publisher that provides contextual information about a site. For more information see, Targeting custom key values in deals using inventory groups (Beta).

inventorypartnerdomain

String; optional

A pointer to the domain of a partner that is explicitly authorized to monetize ads within this site's content. The partner's corresponding app-ads.txt or ads.txt file will be hosted at this domain and can be used for supply chain validation.

For more information about how to implement this field, see the IAB's ads.txt Specification.

App object

FieldTypeDescription

id

String; required

The Index-assigned numeric identifier for this app.

bundle

String; optional

The App name or bundle (for example, "com.foo.mygame"), used as a unique identifier across exchanges.

cat

Array of strings; optional

The standard IAB content category for the overall site (for example, ["IAB3-7"]). For a full list of values, see List: Category Taxonomies in AdCOM 1.0.

cattaxInteger; optionalThe taxonomy in use for the cat field , where the taxonomy used determines the meaning of a category code like ["IAB3-7"]. For a full list of values, see List: Category Taxonomies in AdCOM 1.0. If the cattax field is not sent, IAB Content Category Taxonomy 1.0 is assumed.

content

Object; optional

Details about content within the app. For more information about the content object, see the content object below.

domain

Optional

A static value representing the domain of the app.

inventorypartnerdomain

String; optional

A pointer to the domain of a partner that is explicitly authorized to monetize ads within this application's content. The partner's corresponding app-ads.txt or ads.txt file will be hosted at this domain and can be used for supply chain validation.

For more information about how to implement this field, see the IAB's ads.txt Specification.

keywords

String; optional

A comma-separated list of keywords related to the app. Maximum of 255 characters.

name

String; optional

The name of the app. It may be masked if requested by the Media Owner.

paid

Integer; optional

Specifies whether the app is a paid or free version, where:

  • 0 = app is free
  • 1 = app is a paid version

privacypolicy

Integer; optional

Specifies whether the app has a privacy policy, where:

  • 0 = no
  • 1 = yes

producer

Object; optional

Provides details about the producer of the content. For more information about the producer object, see the producer object below.

publisher

Object; optional

The Publisher Object.

storeurl

String; optional

The App store URL for an installed app for QAG 1.5 compliance.

ver

String; optional

The application version.

ext

object; optional

The App extension object, which is used to provide more information about the app impression opportunity.

App extension object

The app object may include an Extension object. It provides additional information about the app impression opportunity.

FieldTypeDescription

inventorypartnerdomain

String; optional

A pointer to the domain of a partner that is explicitly authorized to monetize ads within this application's content. The partner's corresponding app-ads.txt or ads.txt file will be hosted at this domain and can be used for supply chain validation.

For more information about how to implement this field, see the IAB's ads.txt Specification.

data

Object; optional

The custom key value pairs passed by a publisher that provides contextual information about an app. For more information see, Targeting custom key values in deals using inventory groups (Beta).

Content, Producer, and Publisher objects

Content object

FieldTypeDescription

album

String; optional

The album to which the content belongs, typically for audio.

artist

String; optional

The artist who is credited with the content.

cat

Array of strings; optional

A single-element array representing the standard IAB content category for the overall site. For example, ["IAB3-7"]. For a full list of values, see List: Category Taxonomies in AdCOM 1.0.

cattaxInteger; optionalThe taxonomy in use for the cat field , where the taxonomy used determines the meaning of a category code like ["IAB3-7"]. For a full list of values, see List: Category Taxonomies in AdCOM 1.0. If the cattax field is not sent, IAB Content Category Taxonomy 1.0 is assumed.

channel

Object; optional

The Channel object.

contentrating

String; optional

The content's rating (for example, MPAA).

context

Integer; optional

Refers to the type of content, where:

  • 1 = video (video file or internet TV broadcast)

  • 2 = game (interactive software game)

  • 3 = music (audio file or internet radio broadcast)

  • 4 = application (interactive software application)

  • 5 = text (web page, eBook, news article)

  • 6 = other

  • 7 = unknown

data

Object array; optional

Provides additional content data.

embeddable

Integer; optional

Indicator of whether or not the content is embeddable, where:

  • 0 = no

  • 1 = yes

episode

String; optional

Episode number that applies to video content.

ext

Object; optional

A placeholder for Index-specific extensions to the content object. See the Content extension object table below.

genre

String; optional

The genre that best describes the content. For example, rock, pop, etc.

id

String; optional

ID that uniquely identifies the content.

isrc

String; optional

International Standard Recording Code conforming to ISO-3901.

keywords

String; optional

A comma separated list of keywords describing the content.

language

String; optional

The first two characters of the language, in uppercase, as per ISO-639-1-alpha-2. For example, "EN".

len

Integer; optional

Used for video and audio, and specifies the length of the content in seconds.

livestream

Integer; optional

Specifies if the content is live (for example, a stream or live blog), where:

  • 0 = not live

  • 1 = content is live

network

Object; optional

The Network object.

prodq

Integer; optional

Refers to the production quality, where:

  • 0 = unknown

  • 1 = professionally produced

  • 2 = prosumer

  • 3 = user generated content (UGC)

producer

Object; optional

Details about the content producer. For more information, see producer object table below.

qagmediarating

Integer; optional

The media rating as per Quality Assurance Guidelines (QAG), where:

  • 1 = all audiences

  • 2 = everyone over 12

  • 3 = mature audiences

season

String; optional

The season of the content (for example, "Season 3").

series

String; optional

Content series.

sourcerelationship

Integer; optional

Specifies the relationship to the source, where:

  • 0 = indirect

  • 1 = direct

title

String; optional

The title of the content.

url

String; optional

URL of the content, for buy-side contextualization or review.

userrating

String; optional

How users have rated the content. For example, number of stars, number of likes.

videoquality

Integer; optional

Refers to the video quality.

Content extension object

The content object may include an Index-specific extension object that describes the impression content.

FieldTypeDescription

channel

String; optional

The specific channel that the content is playing on.

content_channel

String; optional

The specific channel that the content is playing on.

network

String; optional

The parent content network that contains several channels.

content_network

String; optional

The parent content network that contains several channels.

distrib_name

String; optional

The alternate name under which the Media Owner distributes the content.

Channel object

This object describes the channel an ad will be displayed on. A channel is defined as the entity that curates a content library or stream within a brand name for viewers, such as MTV.

FieldTypeDescription

id

String; optional

A unique identifier assigned by the Media Owner. This is a unique identifier across all supply sources.

name

String; optional

The channel that the content is on, for example "MTV".

domain

String; optional

The primary domain of the channel, for example "mtv.com"

It's recommended to include the top level domain so it's easier for DSPs to target.

Network object

This object describes the network an ad will be displayed on. A network is defined as the parent entity of the Channel object's entity, and is used for the purposes of organizing channels. An example of a network is a company that owns or licenses a collection of content channels, such as Discovery.

FieldTypeDescription

id

String; optional

A unique identifier assigned by the Media Owner. This is a unique identifier across all supply sources.

name

String; optional

The network the content is on, for example "Discovery"

domain

String; optional

The primary domain of the network, for example "discovery.com"

It's recommended to include the top-level domain so it's easier for DSPs to target.

Producer object

FieldTypeDescription

cat

Array of strings; optional

A single-element array representing the standard IAB content category for the overall site. For example, ["IAB3-7"]. For a full list of values, see List: Category Taxonomies in AdCOM 1.0.

domain

String; optional

The highest level domain of the content producer. For example, "producer.com".

ext

Object; optional

A placeholder for Index-specific extensions to the producer object.

id

String; optional

An ID that represents the content producer or originator. This field is useful if the content is syndicated and posted on a site using embed tags.

name

String; optional

The name of the content producer or originator. For example, "Warner Bros".

Publisher object

FieldTypeDescription

id

String; required

The Index-specific publisher ID.

name

String; optional

A name that represents the Media Owner that can be masked if requested.

Note: This field is always present when a deal exists.

Device object

FieldTypeDescription

carrier

String; optional

The carrier or ISP. For example, “VERIZON”.“WIFI” is often used in mobile to indicate high bandwidth (for example, video friendly vs. cellular).

devicetype

Integer; optional

The device type in use for this impression, if available, where:

  • 1 = mobile or tablet
  • 2 = personal computer
  • 3 = connected TV
  • 4 = phone
  • 5 = tablet
  • 6 is connected device
  • 7 is set-top box

didmd5

String; optional

The hardware device ID , hashed via MD5. For example, IMEI.

Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it.

didsha1

String; optional

The hardware device ID, hashed via SHA1. For example, IMEI.

Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it.

dpidmd5

String; optional

The platform device ID, hashed via MD5. For example, Android ID.

Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it.

dpidsha1

String; optional

The platform device ID, hashed via SHA1. For example, Android ID.

Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it.

geo

Object; optional

The Geo object.

h

Integer; optional

The physical height of the device screen, in pixels.

Note: Only supported in OpenRTB 2.3.

hwv

String; optional

Represents the hardware version of the device. For example, "5S" represents an iPhone 5S.

Note: Only supported in OpenRTB 2.3.

connectiontype

Integer; optional

The network connection type that the device uses, where:

  • 0 = unknown

  • 1 = ethernet

  • 2 = WiFi

  • 3 = cellular network - unknown generation

  • 4 = cellular network - 2G

  • 5 = cellular network - 3G

  • 6 = cellular network - 4G

ifa

String; optional

An ID sanctioned for advertiser use in the clear (not hashed). It is an identifier for ads with privacy support and is used along with the device.lmt and device.ext.ifa_type fields.

ip

String; optional

A dotted-octet representation of the IPv4 address of the user.

Note: This field is required if the bid request does not contain the ipv6 field. See the ipv6 field below.

ipv6

String; optional

The IP address closest to the device, specified in IPv6 format (for example, "fe80:0:0:0:200:f8ff:fe21:67cf"). Index only sends bid requests for IPv6 traffic if you're able to support it. Contact your Index Representative if you want to start receiving IPv6 requests.

Note:Index always sends one of either device.ip or device.ipv6 in all bid requests.

language

String; optional

The first two characters of the header, in uppercase. For example, HTTP_ACCEPT_LANGUAGE "EN"

lmt

Integer; optional

Specifies the scope of tracking related to this impression. This signal represents a commercially adopted version (endorsed by iOS and Android) of standard do-not-track functionality, where:

  • 0 = tracking is unrestricted
  • 1 = tracking must be limited per commercial guidelines

Note: Only supported in OpenRTB 2.3.

macmd5

String; optional

MAC address of the device; hashed via MD5.

Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it.

macsha1

String; optional

MAC address of the device; hashed via SHA1.

Note: Although this field is deprecated in OpenRTB 2.6, Index still continues to support it.

make

String; optional

The device make. For example, "Apple".

model

String; optional

The device model. For example,"iPhone".

os

String; optional

The device operating system. For example, "iOS".

osv

String; optional

The device operating system version. For example, “3.1.2".

ppi

Integer; optional

The pixels per linear inch.

Note: Only supported in OpenRTB 2.3.

pxratio

Float; optional

The ratio of physical pixels to device-independent pixel.

Note: Only supported in OpenRTB 2.3.

ua

String; optional

The content of the HTTP_USER_AGENT header for this user. Anything above 512 characters is truncated.

sua

Object; optional

The structured user agent information specified in the UserAgent object. If both the ua and sua fields contain values, sua is considered more accurate because the ua value may contain a frozen or reduced user agent string.

w

Integer; optional

The physical width of the device screen, in pixels.

Note: Only supported in OpenRTB 2.3.

ext

Integer; optional

A placeholder for Index-specific extensions to the device object. See Device extension object below.

Device extension object

The device object may include an extension object to indicate the app's app tracking authorization status and IDFV. It may also include the Identifier for Advertising (IFA) source value according to the IAB Tech Lab's Guidelines for Identifier for Advertising (IFA) on CTV/OTT platforms.

FieldTypeDescription

atts

Integer; optional

An iOS only field that is passed to represent the app's app tracking authorization status, where:

  • 0 = not determined

  • 1 = restricted

  • 2 = denied

  • 3 = authorized

cdep

String; optional

Info: Starting in June 2025, Index has paused support for the Protected Audience API. As a result, the ae = 1 field won't be sent in bid requests to DSPs. However, Topics API data will be sent.

This field is used by Chrome to measure the performance of the Privacy Sandbox APIs, which include the Protected Audience API and Topics API. To prepare for third-party cookie deprecation, Chrome will be providing Chrome-facilitated testing modes that allow sites to preview how site behavior and functionality works without third-party cookies. A browser could be opted in for testing or could have 1% third-party cookies deprecated for the traffic received from the browser. The cdep field includes this information in the form of a label. For more information about Chrome-facilitated testing modes and the labels, see Google's Chrome-facilitated testing documentation.

The labels for Mode A traffic are: control_1.*, label_only_1, label_only_2, label_only_3, label_only_4, and label_only_5.

The labels for Mode B traffic are: treatment_1.* and control_2.

Note:

  • Index has started sending this field to DSPs in December 2023.

  • If Index receives the Mode A control_1.* labels, any Topics API information will not be sent in bid requests to DSPs.

  • If Index receives the Mode A label_only_4 or label_only_5 label, then:

    • Any Topics API information will be sent in bid requests to DSPs.
    • The traffic will not be subject to Buyer Traffic Optimization (BTO), which is Index's solution to optimize traffic that is sent to DSPs. This is to facilitate testing across ad tech vendors without throttling.

  • If Index receives the Mode A label_only_1, label_only_2, or label_only_3 label, then:
    • Any Topics API information will be sent in bid requests to DSPs.
    • The traffic will be subject to Buyer Traffic Optimization (BTO), which is Index's solution to optimize traffic that is sent to DSPs.

  • If Index receives the Mode B treatment_1.* label, then:
    • Any Topics API information will be sent in bid requests to DSPs.
    • The traffic will not be subject to Buyer Traffic Optimization (BTO), which is Index's solution to optimize traffic that is sent to DSPs. This is to facilitate testing across ad tech vendors without throttling.

  • If Index receives the Mode B control_2 label, which has the Privacy Sandbox APIs disabled for testing by Chrome, then any Topics API information will not be sent in bid requests to DSPs.

ifv

String; optional

The IDFV of the device with the Media Owner.

ifa_type

String; optional

A value indicating the source of the IFA value, whether it is device-generated, provided by the Media Owner, or is a temporary session IFA. The supported values are:

  • dpid = The generic device provided ID.

  • rida = The Roku ID.

  • aaid = The Android ID.

  • idfa = The Apple ID.

  • afai = The Amazon Fire ID.

  • msai = The Microsoft ID.

  • tifa = The Samsung Tizen ID.

  • vida = The Vizio ID.

  • ppid = the Media Owner provided ID.

  • sspid = The SSP provided ID.

  • sessionid = A temporary IFA ID. For example, Media Owners or SSPs might generate a temporary IFA in the absence of an IFA from the Media Owner or device, so that tasks like frequency capping can be supported. This value is also used in place of the device's IFA if the user has opted out of ad tracking (device.lmt=1).

For more information about ifa_type, see IAB Tech Lab's Guidelines for Identifier for Advertising (IFA) on CTV/OTT platforms.

Geo object

FieldTypeDescription

city

String; optional

The city, as per United Nations Code for Trade & Transport Locations. See UN/LOCODE Code List.

country

String; optional

The country code, using ISO-3166-1-alpha-3.

ipservice

Integer; optional

The service or provider that is used to determine the geolocation. For a full list of values, see List: IP Location Services in AdCOM 1.0.

lat

Float; optional

The latitude from -90.0 to +90.0, where negative is south.

lon

Float; optional

The longitude from -180.0 to +180.0, where negative is west.

metro

String; optional

The regional marketing areas such as Nielsen's DMA codes or other similar taxonomy to be agreed among vendors prior to use.

region

String; optional

The region code using ISO-3166-2; 2-letter state code if USA ("US" ).

regionfips104

String; optional

The region of a country using FIPS 10-4 notation. While OpenRTB supports this field, it has been withdrawn by NIST in 2008.

type

Integer; optional

The source of location data; recommended when passing lat and lon. See List of location types.

zip

String; optional

The zip code or postal code.

utcoffset

Integer; optional

The local time as the number +/- of minutes from UTC.

Note: Only supported in OpenRTB 2.3.

User object

FieldTypeDescription

buyeruid

String; optional

A DSP's UID for this user (see user matching for format).

Note: This field is always present in default user match configuration.

data

Array of objects; optional

This object is used by Media Owners to pass additional attributes about the user or content. See the Data object.

eids

Array of objects; optional

This object includes third-party identifiers for this user. For more information, see the EID object below.

ext

Object; optional

The User extension object, which is used to indicate requests that contain certain user identifiers and are subject to GDPR regulations.

id

String; optional

The Index static identifier for this user (contains only alphanumeric or the following characters: @ - . _ ).

Note: This field is always present in default user match configuration.

User extension object

FieldTypeDescription

consent

String; optional

Specifies user consent when GDPR regulations are in effect. When present, it contains the data structure developed by the GDPR Consent Working Group. For more information, refer to the OpenRTB GDPR Advisory, published by the IAB.

data

Object; optional

The custom key value pairs passed by a publisher that provides contextual information about a user. For more information see, Targeting custom key values in deals using inventory groups (Beta).

UserAgent object

FieldTypeDescription

browsers

Array of objects; optional

An array of BrandVersion objects for identifying the browser or similar software component. The brand and version fields are derived from the Sec-CH-UA-Full-Version-List header. For more information, see the BrandVersion object.

platform

Object; optional

The BrandVersion object for identifying the user agent's operating system. The brand value is derived from the Sec-CH-UA-Platform header, and the version value is derived from the Sec-CH-UAPlatform-Version header. For more information, see the BrandVersion object.

mobileInteger; optional

The user agent preference where:

  • 1 = The user agent prefers a mobile version of the content.

  • 0 = The user agent prefers a desktop version of the content.

This value is derived from the Sec-CH-UAMobile header.

architectureString; optionalThe device's major binary architecture (CPU). For example, “x86” or “arm”. This value is derived from the Sec-CH-UA-Arch header.
bitnessString; optionalThe device bitness. For example, “64" for 64-bit architecture. This value is derived from the Sec-CH-UA-Bitness header.
modelString; optionalThe device model. For example,"iPhone". This value is derived from the Sec-CH-UA-Model header.
source

Integer; optional

The source of data used to create this object where:

  • 0 = Unspecified/unknown

  • 1 = User agent client hints. Only low-entropy headers were available.

  • 2 = User agent client hints. High-entropy headers were available.

  • 3 = Parsed from the user agent header. This is the same value in the ua field.

The default value for this field is 0.

BrandVersion object

FieldTypeDescription

brand

String; required

The brand identifier. For example, "Windows" or "Chrome". The value may be sourced from the User-Agent Client Hints headers, representing either the user agent brand (from the Sec-CH-UA-Full-Version header) or the platform brand (from the Sec-CH-UA-Platform header).

version

Array of strings; optional

The sequence of version components, in descending hierarchical order (major, minor, micro...). For example, "14.0.0"

EID object

FieldTypeDescription

source

String; optional

The source of the IDs. For example, "adserver.org".

uids

Array of objects; optional

An array of UID object.

id

String; optional

The user ID received in the request.

ext

Object; optional

The EID extension Object.

EID extension object

FieldTypeDescription

rtipartner

String; optional

The name of the Universal ID provider. For example, "tradedesk".

UID object

FieldTypeDescription

id

String; optional

The user ID. For example, "uid123".

ext

Object; optional

The UID extension object.

UID extension object

FieldTypeDescription

rtipartner

String; optional

The name of the Universal ID provider. For example, "appnexus".

Data object

FieldTypeDescription

cids

Array of objects; optional

An array of Extended Content IDs, representing one or more identifiers for the video or audio content from the ID source specified in the name field of the data object.

ext

Object; optional

The data extension object that contains community extensions. See the Data extension object.

name

String; optional

The unique domain of the business entity who is stating the additional information about the user or content.

For the Topics API for Privacy Sandbox, this field includes the exchange-specific name for the data provider that observed the topic IDs. If Index has observed the topic IDs, the name will always be topics.indexexchange.com.

segment

Array of objects; optional

Contains additional information about the related object that is specified, such as the user, site, or app object. See the Segment object.

Note: For the Topics API for Privacy Sandbox, Index will start sending this field to DSPs in December 2023.

Data extension object

FieldTypeDescription

segclass

String; optional

Specifies the taxonomy version of that given in segtax, for example "taxonomy_v2".

Note: For the Topics API for Privacy Sandbox, Index will start sending this field to DSPs in December 2023.

segtax

Integer; optional

The ID associated with a taxonomy that is registered centrally with the IAB Tech Lab in Enumeration of Taxonomies.

Index supports the following taxonomy for the Topics API for Privacy Sandbox:

Taxonomy V1: https://github.com/patcg-individual-drafts/topics/blob/main/taxonomy_v1.md

Taxonomy V2: https://github.com/patcg-individual-drafts/topics/blob/main/taxonomy_v2.md

Note: For the Topics API for Privacy Sandbox, Index will start sending this field to DSPs in December 2023.

Segment object

FieldTypeDescription

id

String; optional

The ID that is associated with this data segment and is specific to the data provider.