openrtb.value.invalid
What it means
The value has the right type but is outside what the specification documents for the field: an enum value that does not exist (plcmt: 9), a value from a neighboring list, or a stale value removed in the version you validated against. Exchange-specific ranges (500+) are recognized where the spec reserves them.
Why it matters
Consumers either drop the field, guess a default, or discard the request. Enum drift is a classic version-skew symptom: the integer meant something in the list you built against, but not in the list the receiver reads.
How to fix it
Send a value from the documented list for the version you target. The enum reference maps every list per version, including where 2.6 handed lists over to AdCOM.
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.