validate_bid_request
Validate an OpenRTB 2.x bid request JSON payload against a tracked spec version. Returns structured issues with rule ids, severities, and JSON paths.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dialect | No | JSON dialect the payload is written in. spec-json (default) types flag fields such as imp.secure, regs.coppa and pmp.private_auction as integers, the way the OpenRTB specification does. proto-json follows the IAB OpenRTB protobuf schema, which declares 28 of those fields bool, so true/false is correct there and an integer is the error. Use proto-json for anything that came off a gRPC bidstream integration. | |
| payload | Yes | The OpenRTB bid request as a raw JSON string. | |
| profile | No | Exchange profile applied on top of the spec. spec (default) is the specification only. google-ab is Google Authorized Buyers OpenRTB: at=3 (FIXED_PRICE) is a valid auction type, and each Imp must carry ext.billing_id. prebid-server is Prebid Server /openrtb2/auction: each Imp must name a bidder or stored request, and wseat/bseat are refused. xandr is Microsoft Monetize outgoing requests: ext.appnexus.seller_member_id and video.ext.appnexus.context. magnite is Magnite xAPI identity fields: imp.ext.rp.zone_id, site/app ext.rp.site_id, publisher.ext.rp.account_id. | |
| version | No | OpenRTB version id to validate against (default 2.6-202606). One of: 2.0, 2.1, 2.2, 2.3, 2.3.1, 2.4, 2.5, 2.6-202204, 2.6-202210, 2.6-202211, 2.6-202303, 2.6-202309, 2.6-202402, 2.6-202409, 2.6-202501, 2.6-202505, 2.6-202606, 3.0 |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| valid | Yes | True when the payload has zero spec errors. | |
| issues | Yes | ||
| dialect | No | ||
| profile | No | ||
| version | Yes | ||
| payload_type | Yes | ||
| cross_validated | No |