openrtb.envelope.ver_mismatch
What it means
The 3.0 envelope's ver field declares a different OpenRTB version than the one validation ran against. The payload says one thing about itself; the validation target says another.
Why it matters
In a layered protocol the envelope's self-declaration is what receivers trust for parsing decisions. A mismatch means version negotiation drifted, and each party may be applying different field rules to the same bytes.
How to fix it
Make ver reflect the specification the payload is actually built to, and validate against that same version. Fix whichever side is wrong; do not leave them disagreeing.
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.