VMAP-1.0-root-version
VMAP-1.0-root-version
Root `<VMAP>` element must have a version attribute
ErrorVMAPIAB VMAP 1.0.1 §2.3VMAP 1.0 (all VMAP documents)
Short answer
The <VMAP> root element must declare a version attribute. Without it, players cannot confirm they are reading a VMAP document and will typically discard the response.
Why this matters in production
This rule is usually a delivery blocker. Many players, SDKs, and ad servers will discard the response or skip the affected creative once this condition is hit. VMAP rules validate the ad break schedule envelope. Malformed break timing, wrong namespace declarations, or invalid AdSource content prevent players from resolving any of the ads in the playlist. Affected scope: VMAP 1.0 (all VMAP documents).
Invalid
<vmap:VMAP xmlns:vmap="http://www.iab.net/videosuite/vmap">
<vmap:AdBreak timeOffset="start" breakType="linear" />
</vmap:VMAP>Valid
<vmap:VMAP xmlns:vmap="http://www.iab.net/videosuite/vmap" version="1.0">
<vmap:AdBreak timeOffset="start" breakType="linear" />
</vmap:VMAP>Check your VAST tag for
VMAP-1.0-root-version and other issues instantly.Open the VAST tag validator →Other VMAP rules
VMAP-1.0-root-version-value`<VMAP>` version attribute should be `"1.0"` — the only published VMAP versionVMAP-1.0-root-namespace`<VMAP>` should declare the VMAP namespace URI http://www.iab.net/videosuite/vmapVMAP-1.0-root-unknown-child`<VMAP>` may only contain `<AdBreak>` and `<Extensions>` elementsVMAP-1.0-adbreak-timeoffset`<AdBreak>` must have a timeOffset attributeVMAP-1.0-adbreak-timeoffset-format`<AdBreak>` timeOffset must be hh:mm:ss[.mmm], n%, `"start"`, `"end"`, or #mVMAP-1.0-adbreak-breaktype`<AdBreak>` must have a breakType attributeVMAP-1.0-adbreak-breaktype-value`<AdBreak>` breakType must be a comma-separated list of `"linear"`, `"nonlinear"`, or `"display"`VMAP-1.0-adbreak-repeatafter-format`<AdBreak>` repeatAfter does not match the required hh:mm:ss[.mmm] format