Rule reference

The native markup supplies conflicting protobuf alternatives

openrtb.dialect.oneof_conflicterrorRequest or response

A protobuf native oneof has multiple populated alternatives or both spellings of its object field.

What it means

The IAB protobuf schema places request and request_native in one oneof, and adm and adm_native in another. CamelCase names identify the same fields.

Why it matters

A protobuf parser cannot select multiple alternatives for a single oneof.

How to fix it

Supply either the encoded string or the native object. Use one field spelling.

Example that trips it

{ "id": "r", "imp": [{ "id": "i", "native": { "request": "{}", "request_native": { "assets": [{ "id": 1, "title": { "len": 40 } }] } } }] }

Validate this request with the proto-json dialect.

Check your payload

Paste a bid request or response into the tester to see whether this code fires against it, or gate on the id in CI with the CLI: the id is stable, wording is not.

Back to the full diagnostic code reference.