Rule reference

Carried payload is not an OpenRTB object

artf.field.type_mismatcherrorARTF envelope

bid_request or bid_response is present but is not a JSON object, so there is nothing to validate inside it.

What it means

The envelope carries a bid_request or bid_response member that is not an object: a string, an array, or a literal. Both are embedded protobuf messages, so their JSON form is an object.

Why it matters

A string here almost always means the payload was JSON-encoded twice, which is a mistake that survives transport and fails at the far end, where the agent tries to read imp and finds a character array.

How to fix it

Embed the message, do not stringify it. Encode the envelope once, with the auction nested inside it.

Example that trips it

{ "id": "ep-1", "tmax": 120, "lifecycle": "LIFECYCLE_PUBLISHER_BID_REQUEST", "bid_request": "{\"id\":\"a-1\"}" }

The auction double-encoded as a string inside the envelope.

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.