API frameworks

API Frameworks lists the interfaces an ad can use to talk to the player or app container: VPAID for interactive video, MRAID and ORMMA for in-app rich media, OMID for measurement, and SIMID for interactive video in modern players. Requests declare support in the api array of each media object, bids declare what their markup needs in Bid.apis, and values 500 and above are vendor-specific.

List: API Frameworks10 valuesUsed by imp.audio.api, imp.banner.api, seatbid.bid.apis, imp.native.api, imp.video.api

Values

ValueNameWhat it means
1VPAID 1.0VPAID 1.0, the first interactive video ad interface; superseded by VPAID 2.0 and rare in current players.
2VPAID 2.0VPAID 2.0, still listed by some web players but not runnable on most CTV and app players.
3MRAID 1.0MRAID 1.0 for in-app rich media; labeled MRAID until OpenRTB 2.2 renamed it MRAID-1.
4ORMMAORMMA, an early open in-app rich media interface that MRAID replaced.
5MRAID 2.0MRAID 2.0, added in OpenRTB 2.2, with resizing, video playback, and other container features.
6MRAID 3.0MRAID 3.0, added in OpenRTB 2.5, with exposure and audio events for in-app measurement.
7OMID 1.0OMID 1.0: the player or SDK integrates the Open Measurement SDK for verification.
8SIMID 1.0SIMID 1.0, the interactive layer for video ads that replaced VPAID interactivity. An AdCOM addition.
9SIMID 1.1SIMID 1.1, a later version of the interactive video interface. An AdCOM addition.
500+Vendor-specific codesVendor-specific frameworks, meaningful only between partners that agreed on them in advance.

Fields that use this list

How to use it

On the request side the spec treats the array as a whitelist: an API that is not listed is assumed unsupported. Some buyers still read an empty or missing array as no information, so a seller whose player cannot run VPAID should send a list that leaves it out rather than nothing. The list grew over time. OpenRTB 2.0 had four values, with 3 simply called MRAID; 2.2 renamed 3 to MRAID-1 and added 5 (MRAID-2); 2.5 added 6 (MRAID-3). OMID 1.0 (7), SIMID 1.0 (8), and SIMID 1.1 (9) are AdCOM additions that the OpenRTB 2.5 document never had. On the response, the single-integer Bid.api is deprecated in 2.6 in favor of the Bid.apis array.

Common mistakes

  • Listing VPAID (1 or 2) on CTV or in-app players that cannot execute it. Buyers then return VPAID creative that fails at render time.
  • Sending 7 when the player or SDK does not integrate the Open Measurement SDK. Verification vendors then collect nothing.
  • Using the deprecated Bid.api on a 2.6 response instead of Bid.apis.
  • Treating a value of 500 or more as an error. Vendor codes are valid, though they only mean something between partners that agreed on them.

Validation

On OpenRTB 2.6 snapshots, RTBlint reports a value outside this list as openrtb.value.invalid. Paste a request into the tester to check the values you send.

Related lists

All lists are on the enumerated lists index.