BidRequest

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
idString; requiredThe Auction ID generated by Prebid.js.
impArray of Objects; requiredThe Impression Object. Contains at least one Banner Object or Video Object.
deviceObject; requiredThe Device Object.
tmaxInteger; requiredMaximum time in milliseconds that AIDEM allows to receive bids.
curArray of Strings; requiredThe currencies that publishers will accept in bid responses. For more information, see List of currencies.
tzInteger; optionalThe client timezone offset.
regsObject; requiredThe Regulations Object.
siteObject; requiredThe Site Object.
environmentObject; requiredThe Environment Object.
atInteger; requiredThe Auction type where:
1 = first price
2 = second price

Impression object

This object describes an ad placement or impression opportunity being auctioned. A single impression opportunity may allow one or multiple creative types such as banner and video. Bid responses should only include creative types that are allowed for the respective impression opportunity.

FieldTypeDescription
idString; requiredThe unique identifier of this impression.
tidString; requiredThe unique identifier of the BidRequest transaction.
tagidString; optionalA unique identifier for the ad placement or ad tag on a publisher's website that was used to initiate the auction.
mediatypeString; requiredThe media type. One of banner, video.
bannerObject; optionalThe Banner Object.
Note: All requests must include at least one Banner Object or Video Object.
videoObject; optionalThe Video Object.
Note: All requests must include at least one Video Object or Banner Object.
floorObject; optionalThe Floor Object
imp_extObject; optionalJSON object containing arbitrary first party data.

This object is describes a banner ad impression.

FieldTypeDescription
topframeInteger; requiredSpecifies 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.
formatArray of Objects; requiredArray of Format Object objects specifying the banner sizes permitted for an impression opportunity.

Video object

FieldTypeDescription
contextString; requiredVideo placement where:
instream = instream video
outstream = outstream video
mimesArray of Strings; requiredA list of supported video content MIME types. Popular MIME types supported by HTML5 players include:
video/mp4
video/webm
video/ogg
protocolsArray of Integers; requiredAn 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
maxdurationInteger; optionalMaximum video ad duration, in seconds.
mindurationInteger; optionalMinimum video ad duration, in seconds.

Floor object

FieldtypeDescription
valueFloat; requiredThe value of the floor price.
currencyString; requiredOne of List of currencies.

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
hinteger; requiredThe height in device-independent pixels.
winteger; requiredThe width in device-independent pixels.

Regulations object

FieldTypeDescription
gdpr_appliesBoolean; requiredRepresents whether the user in question is in an area where GDPR applies.
usp_appliesBoolean; requiredRepresents whether the user in question is in an area where US Privacy applies.
coppa_appliesBoolean; requiredSpecifies whether this request is subject to the United States Children’s Online Privacy Protection Act (COPPA), where:
false = no
true = yes
Note: BidRequest with coppa=1 will not be processed by AIDEM.
us_privacyString; optionalUS Privacy/CCPA notice and opt-out status information.

Device object

FieldTypeDescription
uaString; requiredThe content of the HTTP_USER_AGENT header for this user. Anything above 512 characters is truncated.
languageString; optionalThe first two characters of the header, in uppercase. For example, HTTP_ACCEPT_LANGUAGE "EN"
connectiontypeInteger; optionalThe 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
7 = cellular network - 5G
screen_widthInteger; requiredThe screen width.
screen_heightInteger; requiredThe screen height.

Site object

FieldTypeDescription
idString; optionalA static value that represents the site’s ID. This field must be present when the request represents a web impression. This field is optional if the request contains the the App Object. This field is required if the request doesn't contain any App Object.
nameString; optionalA static value that represents the site’s name.
domainString; optionalA static value that represents the site’s domain.
pageString; optionalThe URL of the page where this impression will be shown. Anything above 512 characters is truncated.
refererString; optionalThe referring URL that caused navigation to the page hosting this impression. Anything above 512 characters is truncated.
publisherObject; requiredThe Publisher Object.
catArray of Strings; optionalA 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.5) for a full list.
sectioncatArray of Strings; optionalA 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.5) for a full list.
keywordsString; optionalThe string of keywords
site_extObject; optionalThe Site Extension Object. Arbitrary JSON object

Publisher Object

FieldTypeDescription
idString; requiredThe AIDEM-specific publisher ID.

Site Extension object

FieldTypeDescription
dataObject; optionalFields that aren't part of openrtb 2.5 The Site Extension Data Object. Arbitrary JSON

Site Extension Data Object

This object is an arbitrary JSON.
The fields listed are reserved for the App Object.

FieldTypeDescription
appObject; optionalThe App Object.
inventory_sourcestring; optionalThe inventory source
dsp_auction_idstring; optionalTBD

App Object

FieldTypeDescription
app_bundlestring; optionalThe id of the App Bundle on the App Store
app_idstring; optionalThe AIDEM generated App ID
app_namestring; optionalThe name of the App
app_store_urlstring; optionalThe store url or the App

Environment object

FieldTypeDescription
riObject; optionalThe Referrer Info Object
hlInteger; optionalHistory length.
navObject; requiredJSON string representing the navigator object, may vary from browser to browser.
inpObject; optionalThe Inp Object
wparObject; optionalThe Wpar Object

Referrer info object

FieldTypeDescription
reachedTopBoolean; optional
isAmpBoolean; optional
numIframesInteger; optionalThe number of iframes
stackArray of Strings; optional
topmostLocationString; optional
locationString; optional
canonicalUrlString; optional
pageString; optional
domainString; optional
refString; optional
legacyObject; optionalThe Legacy Object

Legacy object

FieldTypeDescription
reachedTopBoolean; optional
isAmpBoolean; optional
numIframesInteger; optionalThe number of iframes
stackArray of Strings; optional
refererString; optional
canonicalUrlString; optional

Inp object

FieldTypeDescription
eucBoolean; optionalChecks that the encodeUriComponent function has not been overwritten.
euBoolean; optionalChecks that the encodeUri function has not been overwritten.
jsBoolean; optionalChecks that the JSON.stringify function has not been overwritten.
jpBoolean; optionalChecks that the JSON.parse function has not been overwritten.
ofeBoolean; optionalChecks that the Object.fromEntries function has not been overwritten.
oaBoolean; optionalChecks that the Object.assign function has not been overwritten.

Wpar object

FieldTypeDescription
innerWidthInteger; optionalThe value of the window.innerWidth.
innerHeightInteger; optionalThe value of the window.innerHeight.