openrtb.bid.adm.markup_type_mismatch
What it means
What is actually inside adm contradicts the declared mtype: a bid marked banner (mtype 1) carrying JSON, a bid marked video (mtype 2) carrying HTML, and so on. RTBlint classifies the markup by shape and compares it to the declaration.
Why it matters
Every downstream system keys off mtype: creative scanning, render path, reporting. A mislabeled creative fails at whichever step trusts the label, usually render, and the discrepancy lands after billing.
How to fix it
Make mtype describe the payload you actually returned: HTML markup for 1, VAST XML for 2, DAAST/VAST audio for 3, native JSON for 4. If one bidder code path sets a constant mtype, that constant is the bug.
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.