Video bid adm has no VAST root element
A video or audio bid's adm is XML but has no VAST or DAAST document root.
What it means
A video or audio bid's adm is XML, but its document root is not VAST (or DAAST for audio). Some other XML document, or a fragment, is riding in the creative slot.
Why it matters
Video players hand adm to a VAST parser. A non-VAST root fails immediately and the player fires VAST error 100 territory problems, burning the impression. XML that is not VAST usually means the wrong template or an SSAI artifact leaked into the bidder.
How to fix it
Return a complete VAST document, root element and all. If you wrap third-party tags, validate the wrapped output; a VAST linter in the response path catches this class before it ships.
Example that trips it
{ "mtype": 2, "adm": "<Ad><InLine/></Ad>" }The markup is XML but the root is Ad rather than VAST. Players look for the VAST root element and will not descend into a document that does not have one.
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.