List of supported OpenRTB bid request fields for sellers

Media Owners
Last Updated: March 03, 2026

Integrated partners send bid requests to Index Exchange (Index) with the parameters of biddable impression opportunities. Index sends requests of its own to integrated demand partners to retrieve bids. This topic lists Index's supported bid request fields for OpenRTB S2S integrations. To learn more about these fields, refer to the Interactive Advertising Bureau (IAB) OpenRTB 2.6 Specification. For OpenRTB bid request examples, see Examples of OpenRTB bid requests and responses.

OpenRTB protocol differences

The Index bidding API differs slightly from the guidelines outlined in the IAB OpenRTB 2.6 Specification. The following table lists these differences:

FieldIAB scopeIndex scope

ip (in the Device Object)

Recommended

Index requires the ip field only if the IPV6 field is not provided in the bid request device object.

domain and page (in the Site Object)

Recommended

Index requires all bid requests to include either the domain or page field in the site object. Bid requests that are missing both of the fields are considered invalid.

Deal configuration

You can create Private Marketplace Deals (PMP) deals with various demand partners. After the deals are created and made active, the deal parameters are either communicated within the bid request or inferred from the bid request. For more information about deal configuration options, see Deal configuration options in an OpenRTB integration.

Supported OpenRTB bid request fields

The following table lists the Index required and optional fields in the OpenRTB S2S integration. If your integration does not include the required fields, contact us before beginning the integration process.

Note:

  • All fields are considered case-sensitive.
  • Make sure to send data for bid requests in JSON RFC4627 format, following the OpenRTB standard.

BidRequest object

Index supports the following fields in the top-level bid request object.

FieldTypeDescription

id

String; required

The unique alphanumeric ID for the request.

imp

Object array; required

An array with one or more Impression objects. An impression object could include one or more format types, such as the Banner object, Video object, and Native object.

For video requests, Index supports dynamic podded video requests, structured podded video requests, and single-impression non-podded requests. A podded video request should include impression opportunities from a single video ad pod and should contain one podid.

device

Object; required

The Device object that contains information about the user's device to which the impression will be delivered.

app

Object; optional

The App object is included if the impression originates from an application. It contains details about the media owner's app (for example, a non-browser application).

tmax

Integer; required

The maximum time, in milliseconds, to submit a bid to avoid timeout. The minimum tmax value that Index allows on a bid request is 100ms.

Note: If required, we subtract latency when passing the tmax value to DSPs. For more information, contact your Index Representative.

at

Integer; optional

The auction type for the bid request. This value should always be 1 = first price auction.

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

cur

String array; optional

The currencies that Media Owners will accept in bid responses. Currencies must be specified in the ISO-4217 standard and must be supported by Index. For more information, see List of supported currencies for Media Owners.

badv

String array; optional

An array of strings that specify any blocked top-level domains of advertisers. For example, ["companyA.com", "companyB.com"].

bcat

String array; 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.

cattax

Integer; 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.

ext

Object; optional

A custom Index Bid Request Extension object containing additional information about this bid request.

regs

Object; optional

The Regs object that specifies any industry, legal, or governmental regulations in force for this request.

site

Object; optional

The Site object containing details about the media owner's website. It is included only if the impression originates from a website.

test

Integer; optional

Specifies whether the auction is operating in test mode, in which case auctions for this impression are not billable, where:

  • 0 = live mode (default)
  • 1 = test mode

user

Object; optional

The User object containing details about the user of the device; the advertising audience.

source

Object; optional

The Source object that provides data about the inventory source.

wlang

String array; optional

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

BidRequest extension object

FieldType Description

ssl

Integer; optional

Specifies whether the impression requires secure HTTPS URL creative assets and markup, where:

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

If this field is not present, Index interprets that the secure state is unknown and assumes HTTP is supported.

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.

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 that is used to specify additional details about the source of the bid request.

Source extension object

FieldTypeDescription

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 Node 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. 

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 of the corresponding advertising system participating in the transaction for each node through this domain name.

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 field 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 = request is not subject to regulations
  • 1 = request is subject to regulations

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

ext

Object; optional

The Regs Extension object that is used to specify requests that are subject to 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

You can send the gdpr field in the Regs object or in the Regs Extension object. If you do not send this field in either object, Index assumes that the request status is unknown. For more information, refer to the OpenRTB GDPR Advisory, published by the IAB.

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

Integer array; 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.

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

You can send the gdpr field in the Regs object or in the Regs extension object. If you do not send this field in either object, Index assumes that the request status is unknown. For more information, refer to the OpenRTB GDPR Advisory, published by the IAB.

DSA object

FieldTypeDescription

datatopub

Integer; optional

A flag that specifies if DSA transparency data is required 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 this media owner is able to and intends to render the DSA Transparency information received in the DSA object in the bid response. DSA transparency information can be rendered via an icon or other appropriate user-facing symbol to the user, where:

  • 0 = Media Owner cannot render the DSA information.

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

  • 2 = Media Owner will render the DSA information.

dsarequired

Integer; optional

A flag that specifies if DSA information should be made available for this request 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; media owner may or may not be classified under the DSA as an Online Platform. Bid responses without the DSA object will be rejected.

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

transparency

Object array; optional

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

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, for which you would like to receive bids from Index's buyers. Each imp object has a required ID so that bids can reference them individually.

Note: You can send multi-format requests for impression opportunities that allow multiple format types. For example, you can send requests that allow banner, video, and native creatives in an impression opportunity.

FieldTypeDescription

id

String; required

A unique identifier for this impression.

banner

Object; required

The Banner object.

video

Object; required

The Video object.

native

Object; required

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

bidfloor

Float; optional

The minimum bid for this impression in CPM.

bidfloorcur

String; optional

The currency for the bid floor. Currencies must be specified in the ISO-4217 standard and must be supported by Index. For more information, see List of supported currencies for Media Owners.

instl

Integer; optional

Specifies whether an ad is interstitial, where:

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

ext

Object; optional

A custom Index Impression Extension object containing additional information about this impression.

pmp

Object; optional

The PMP object containing information about deals for this impression.

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

secure

Object; optional

A flag to specify whether the impression requires secure HTTPS URL creative assets and markup, where:

  • 0 = HTTPS URL is not required
  • 1 = HTTPS URL is required

If this field is not present, the secure state is interpreted as being unknown and it is assumed that HTTP is supported.

tagid

String; optional

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

Note: If you do not specify the tagid, Index will pass its own site ID for the inventory to DSPs.

Imp extension object

The imp object may include an extension object. It provides additional information about the impression opportunity.

FieldTypeDescription

ae

Integer; optional

Info: Starting in June 2025, Index has paused support for the Protected Audience API. If you include this field in the request, it won't be forwarded to DSPs.

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.

For more information about using the Protected Audience API with Index, see Receive Protected Audience API demand from Index using Prebid.js.

dfp_ad_unit_code

String; optional

The Google Ad Manager ad unit code of the ad slot that the bid request was sent for. This will be used as a fallback for the Global Placement Identifier (GPID) if the below gpid field is not available. For more information about GPID, see Send the Global Placement Identifier (GPID) to Index.

data

Object; optional

The custom key-value pairs that you want to pass to Index that provide contextual information about an ad unit. For more information see, Targeting custom key values in deals using inventory groups (Beta).

gpid

String; optional

The Global Placement Identifier (GPID) for the ad slot or placement. This should be a unique ad unit code that corresponds to the request coming from the ad slot or placement. For more information about GPID, see Send the Global Placement Identifier (GPID) to Index.

Note:

  • If this field is not present, Index will fallback to using the dfp_ad_unit_code as the GPID.

  • The gpid field has the same purpose as the tagid field, however some demand sources require that you pass the gpid field instead of the tagid field.

skadn

Object; optional

Specifies media owner support for Apple's SKAdNetwork app install attribution. For more information, see the SKAdNetwork Extension object.

sid

String; optional

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

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.

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

String array; 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. For 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. For example, "sourceapp": "880047117".

skadnetids

String array; 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.

skadnetlist

Object; optional

A Skadnetlist object containing the IAB's list definition. For 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. For example, "max":306.

excl

Integer array; optional

A comma-separated list of IAB registration IDs that are to be excluded from the IAB shared list. For example, "excl": [44,14,18].

addl

String array; 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. For example, "addl": ["cdkw7geqsh.skadnetwork", "qyjfv329m4.skadnetwork"].

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 impression offered for auction is for banner or rich media, make sure to include the banner object directly into the Impression Object. You can optionally embed it in the Video Object to describe the companion banners available for the linear or non-linear video ad. For information on the supported ad dimensions for a banner impression, see List of supported ad sizes.

FieldTypeDescription

format

Objects array; optional

An array of Format objects specifying the banner sizes permitted for an impression opportunity.

h

Integer; required

The height of this impression, in pixels. See List of supported ad sizes

w

Integer; required

The width of this impression, in pixels. See List of supported ad sizes

api

Integer array; 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.

battr

Integer array; optional

Specifies blocked creative attributes; it is preferred that only one attribute is passed. In addition to the standard creative attributes, Index supports the 500 Overlay mapping.

expdir

Integer array; optional

Specifies expandable ad direction, where

  • 1 = left
  • 2 = right
  • 3 = up
  • 4 = down
  • 5 = fullscreen

hmax

Integer; 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

Integer; 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 impression.

mimes

String array; optional

 

Allowed list of content MIME types supported. Popular MIME types include but are not limited to: image/jpgand 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

topframe

Integer; optional

Specifies whether the banner is in the top frame, as opposed to an iframe, where:

  • 0 = no
  • 1 = yes

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

If the impression opportunity supports video creatives, make sure to include the video object directly in the Impression object of the bid request. An imp array could include one video impression or multiple video impressions. It is considered a podded or non-podded request based on the following:

  • If a bid request includes one video impression with the podid, poddur, and maxseq fields, it is considered a dynamic podded request. If you omit these fields, it is considered as a non-podded single-impression request.

  • If a bid request includes multiple video impressions with the same podid field, it is considered a structured podded request. Index requires multiple video impressions to include the same podid representing all impression opportunities from a single ad pod.

FieldTypeDescription

h

Integer; required

The height of the player, in pixels.

maxduration

Integer; required

The maximum video ad duration in seconds.

minduration

Integer; required

The minimum video ad duration in seconds.

mimes

String array; required

List of supported content MIME types. Popular MIME types supported by HTML5 players include: video/mp4, video/webm, and video/ogg. For VPAID support, make sure to specify application/javascript.

Note: If you include application/javascript for VPAID, make sure to also specify the supported api framework (1 is VPAID 1.0 and 2 is VPAID 2.0).

protocols

Integer array; 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

w

Integer; required

The width of the player, in pixels.

api

Integer array; 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.

Note:

  • Index recommends that you pass the api field for video requests.
  • Only specify support for VPAID API if you want to receive VPAID ads.

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

Integer array; optional

 

Specifies blocked creative attributes; it is preferred that only one attribute is passed. In addition to the standard creative attributes, Index supports the 500 Overlay mapping.

companionad

Object array; optional

If companion ads are available, they can be listed as an array of Banner objects.

companiontype

Integer array; optional

A list of supported VAST companion ad types, where:

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

delivery

Integer array; optional

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

  • 1 = streaming
  • 2 = progressive

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

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.

maxextended

Integer; optional

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

  • Blank or 0 = extension is not allowed.
  • -1 = extension is allowed and there is no time limit imposed.
  • 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.

maxseq

Integer; optional

The maximum number of ads that can be served into a dynamic video pod.

Note: This field is required for dynamic podded requests.

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/floating

Note:

  • Index recommends that you pass the plcmt field for video requests.

  • 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

For more information about this field, see Sending the plcmt field in OpenRTB bid requests.

Note: Index recommends that you pass the plcmt field for video requests.

playbackmethod

Integer array; 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.

Note: Index recommends that you pass the playbackmethod field for video requests.

poddur

Integer; optional

The total amount of time in seconds that advertisers may fill for a dynamic video pod or the dynamic portion of a hybrid video pod.

Note: This field is required for dynamic podded requests.

podid

String; optional

A unique identifier indicating that this impression opportunity is for a video ad pod. If multiple impression opportunities within a bid request share the same podid, that means they are all part of the same video ad pod.

Note: This field is required for podded requests.

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

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

Video extension object

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

FieldTypeDescription

rewarded

Integer; optional

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

  • 0 = false
  • 1 = true

bidfloor

Float; optional

The minimum bid for this video impression in CPM.

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 Sellers.

ver

String; optional

The version of the native markup in use.

api

Integer array; optional

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

battr

Integer array; 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.

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

Include any private marketplace active deals for the impression in the PMP object.

FieldTypeDescription

private_auction

Integer; optional

The scope of bidding eligibility for this impression, where:

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

If omitted, bidding eligibility is determined based on the seller's deal configuration in the Index system.

deals

Object array; optional

A collection of Deal objects containing any direct deals eligible for this impression.

 

Deal object

FieldTypeDescription

id

String; required

A unique identifier for the direct deal.

at

Integer; optional

An optional override of the overall auction type of the bid request, where:

  • 1 = first price
  • 3 = the value passed in bidfloor is the agreed upon deal price

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

Additional auction types can be defined by the exchange.

bidfloor

Float; optional

The designated floor price for this direct deal.

Note: This value must be sent in dollars.

bidfloorcur

String; optional

The currency for the bid floor. Currencies must be specified in the ISO-4217 standard and must be supported by Index. For more information, see List of supported currencies for Media Owners.

wseat

String array; optional

An array of buyer seats eligible to bid on this direct deal. For example, ["6", "22", "35", "17"].

wadomain

String array; optional

An array of advertiser domains eligible to bid on this direct deal. For example, ["advertiser1.com","advertiser2.com"].

Deals extension object

FieldTypeDescription

guaranteed

Integer; optional

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

  • 1 = the deal is a guaranteed deal

Site object

FieldTypeDescription

cat

String array; 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.

cattax

Integer; optional

The taxonomy in use for the cat, pagecat, and sectioncat fields, 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

The Content object that provides details about the content within the site.

domain

String; optional

A static value representing the domain of the site. Anything above 512 characters is truncated.

Note: This is a required field if the page attribute is omitted.

id

String; optional

A unique identifier for the website, defined by the seller.

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.

keywords

String; optional

A comma-separated list of keywords that describe the site. Maximum of 255 characters, additional characters will be truncated.

Note: Do not include personal data, personal information, or sensitive information.

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. Anything above 512 characters is truncated.

Note: This is a required field if the domain attribute is omitted.

pagecat

String array; optional

Content categories that describe the current page or view of the site. These categories are defined by the IAB. For a full list of values, see List: Category Taxonomies in AdCOM 1.0.

producer

Object; optional

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

ref

String; optional

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

search

String; optional

A search string that resulted in the user navigating to the current page. Maximum of 255 characters, additional characters will be truncated.

Note: This field will be available to Media Owners in setting up deals, but the field will not be sent in bid requests to DSPs.

sectioncat

String array; optional

Content categories that describe the current section of the site. These categories are defined by the IAB. For a full list of values, see List: Category Taxonomies in AdCOM 1.0.

ext

String array; optional

A custom Index extension containing additional information about this impression.

Site extension object

FieldTypeDescription

data

Object; optional

The custom key-value pairs that you want to pass to Index that provide 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.

Note: Although you can send inventorypartnerdomain in the site extension object, it's recommended including it in the main site object.

App object

FieldTypeDescription

bundle

String; optional

Application bundle or package name (for example, "com.foo.mygame") that is intended to be a unique ID across exchanges.

content

Object; optional

The Content object that provides details about the content within the app.

cat

String; optional

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

cattax

Integer; optional

The taxonomy in use for the cat, pagecat, and sectioncat fields, 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.

domain

String; optional

A static value representing the domain of the app.

id

String; optional

The Index-assigned numeric identifier for this 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 about the app. Maximum of 255 characters, additional characters will be truncated.

Note: Do not include personal data, personal information, or sensitive information.

name

String; optional

The app name which may be aliased at the Media Owner's request.

pagecat

String array; optional

Content categories that describe the current page or view of the app. These categories are defined by the IAB. For a full list of values, see List: Category Taxonomies in AdCOM 1.0.

paid

Integer; optional

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

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

privacypolicy

Integer; optional

Specifies whether the app has a privacy policy, where:

  • 0 = no
  • 1 = yes

producer

Object; optional

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

sectioncat

String array; optional

Content categories that describe the current section of the app. These categories are defined by the IAB. For a full list of values, see List: Category Taxonomies in AdCOM 1.0.

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.

Note: Although you can send inventorypartnerdomain in the app extension object, it's recommended including it in the main app object.

data

Object; optional

The custom key-value pairs that you want to pass to Index that provide contextual information about an app. For more information see, Targeting custom key values in deals using inventory groups (Beta).

 

Content and Producer 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

String array; 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.

cattax

Integer; optional

The 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

The Data object that 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

The Content Extension object that provides a placeholder for Index-specific extensions to the content object.

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

Specifies the length of the content in seconds used for video and audio.

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

The Producer object that provides details about the content producer.

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.

Note: This field and the content_channel field are interchangeable. You can include either one.

content_channel

String; optional

The specific channel that the content is playing on.

Note: This field and the channel field are interchangeable. You can include either one.

network

String; optional

The parent content network that contains several channels.

Note: This field and the content_network field are interchangeable. You can include either one.

content_network

String; optional

The parent content network that contains several channels.

Note: This field and the network field are interchangeable. You can include either one.

distrib_name

String; optional

The alternate name under which the media owner distributes the content.

Producer object

FieldTypeDescription

cat

String array; 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.

cattax

Integer; optional

The 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.

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 attribute 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".

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.

Device object

FieldTypeDescription

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

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

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 = connected device
  • 7 = 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.

hwv

String; optional

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

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.

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

macmd5

String; optional

The 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

The 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.

pxratio

Float; optional

The ratio of physical pixels to device-independent pixel.

ua

String; optional

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

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.

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.

ext

Integer; optional

The Device Extension object that provides a placeholder for Index specific extensions to the device object.

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 OTT platforms.

Geo object

FieldTypeDescription

city

String; optional

The city, either free form text of the city name or from the 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 attribute, it has been withdrawn by NIST in 2008.

type

Integer; optional

The source of location data; recommended when passing lat and lon. For more information, 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.

User object

FieldTypeDescription

buyeruid

String; optional

The Index UID for the user (case-sensitive). This value may be sent in either format:

  • URL encoded format: The allowed values are A-Z, a-z, 0-9, - (hyphen), . (period), & (ampersand), @ (at sign), % (percent sign). For example, Vjc1MMAoJ2YAADrj5sUAAABe%26136.
  • URL decoded format: The allowed values are A-Z, a-z, 0-9, - (hyphen), . (period), & (ampersand), @ (at sign). For example, Vjc1MMAoJ2YAADrj5sUAAABe&136.

Sellers may send a blank string or 0 in this field to indicate a "no match" user.

Note: This field is required for matched users.

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 array; optional

The Data object object that allows Media Owners to pass additional attributes about the user or content.

eids

Object array; optional

The EID object object that includes third-party identifiers for this user.

ext

Object; optional

The User Extension object.

gender

String; optional

The gender of the user, where:

  • F = female

  • M = male

  • O = known to be other

If the gender of the user is unknown, this field is omitted.

Note:

  • This field will be available to Media Owners in setting up deals, but the field will not be sent in bid requests to DSPs.

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

geo

Object; optional

The Geo object.

keywords

String; optional

A comma-separated list of interests, intent, or keywords about the user. Maximum of 255 characters, additional characters will be truncated.

Note: This field will be available to Media Owners in setting up deals, but the field will not be sent in bid requests to DSPs.

yob

Integer; optional

The user's year of birth, as a four digit integer.

Note:

  • This field will be available to Media Owners in setting up deals, but the field will not be sent in bid requests to DSPs.

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

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 that you want to pass to Index that provide contextual information about a user. For more information see, Targeting custom key values in deals using inventory groups (Beta).

UserAgent object

FieldTypeDescription

browsers

Object array; 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.

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.

mobile

Integer; 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.

architecture

String; optional

The device's major binary architecture (CPU). For example, "x86" or "arm". This value is derived from the Sec-CH-UA-Arch header.

bitness

String; optional

The device bitness. For example, "64" for 64-bit architecture. This value is derived from the Sec-CH-UA-Bitness header.

model

String; optional

The 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

String array; 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

Object array; optional

An array of uIDs objects from the given source.

id

String; optional

The user ID received in the request.

ext

Object; optional

The eIDs Extension object containing vendor-specific extensions.

EID extension object

FieldTypeDescription

rtipartner

String; optional

An Index optional field that specifies the name of the Universal ID provider. For example, "universalidproviderID".

UID object

FieldTypeDescription

id

String; optional

The user ID. For example, "uid123".

ext

Object; optional

The uIDs Extension object containing vendor-specific extensions.

UID extension object

FieldTypeDescription

rtipartner

String; optional

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

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. For more information on best practices for sending these IDs to Index, see Sending extended content IDs to Index Exchange.

ext

Object; optional

The Data Extension object that contains community extensions.

name

String; optional

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

segment

Object array; optional

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

Data extension object

FieldTypeDescription

segtax

Integer; optional

The ID associated with a taxonomy that is registered centrally with the IAB Tech Lab.

Segment object

FieldTypeDescription

id

String; optional

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