The native markup supplies conflicting protobuf alternatives
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.