PubMatic OpenWrap wire contract
OpenWrap is PubMatic's header bidding wrapper, and its server side runs in PubMatic's public fork of Prebid Server with custom request and response fields. This profile follows that fork at a pinned commit. PubMatic's full exchange contract sits behind a partner login and is not covered.
Direction and version
OpenWrap clients such as wrapper tags, SDKs, and video players send requests to PubMatic's OpenWrap server, which runs a Prebid Server auction and returns the response.
OpenRTB 2.6 types from the Prebid Server Go codebase. Go boolean fields need JSON true or false, integer fields keep their signed 64, 32, or 8-bit limits, and a few response keys are camelCase.
The RTBlint profile pubmatic-openwrap checks requests and responses against the published contract.
Rules beyond the OpenRTB spec
- Wrapper settings such as
ext.wrapper.profileidandext.wrapper.versionidare integers, whileext.wrapper.supportdealsis a JSON boolean. - Custom fields must match their published Go types. Nulls are accepted where Go's JSON decoder accepts them, and unknown keys stay open.
bid.ext.video.skipis a 0 or 1 flag.- Legacy
regs.ext.gdpr,regs.ext.us_privacy, anduser.ext.consentare accepted. - Raw OpenWrap requests are not held to normalized Prebid Server bidder fields, because OpenWrap middleware fills bidder configuration, targeting, and account settings first.
- Profile IDs, placement settings, and ad-pod defaults can come from the account database, so their absence in a raw request is not an error.
Documented extensions
| Path | Meaning |
|---|---|
ext.wrapper.profileid | OpenWrap profile ID. |
ext.wrapper.versionid | Version of the OpenWrap profile. |
ext.wrapper.kv | Custom key-values. |
ext.adpod | Request-level ad-pod defaults and cross-pod exclusions. |
imp.ext.bidder | Per-bidder settings, including keywords and deal tiers. |
imp.ext.gpid | Global placement ID. |
imp.video.ext.adpod | Ad-pod settings for a video impression. |
bid.ext.netecpm | Net eCPM of the bid. |
bid.ext.origbidcpmusd | Original bid CPM in USD. |
bid.ext.dspid | ID of the DSP that bid. |
bid.ext.crtype | Creative type of the bid. |
What the validator checks for this profile
openrtb.profile.field_typeDT DSP Dual End Card uses JSON true or false.
Validate against this contract
Open the tester with the PubMatic OpenWrap wire contract profile, or run:
rtblint validate --profile pubmatic-openwrap request.json