VAST-2.0-linear-mediafiles
VAST-2.0-linear-mediafiles
<Linear> must contain <MediaFiles> with at least one <MediaFile>
ErrorRequired fieldsIAB VAST 2.0 §2.4.1VAST 2.0 and later (all versions)
Short answer
A <Linear> creative with no <MediaFiles> — or with an empty <MediaFiles> container — has nothing to play. At least one <MediaFile> element is required.
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. Required-field failures usually stop validation early because the platform cannot determine the basic shape of the ad, the creative metadata, or the mandatory tracking payload. Affected scope: VAST 2.0 and later (all versions).
How to fix
Add <MediaFiles> containing at least one <MediaFile> element with a valid video URL inside <Linear>.
Invalid
<Linear>
<Duration>00:00:30</Duration>
<MediaFiles>
</MediaFiles>
</Linear>Valid
<Linear>
<Duration>00:00:30</Duration>
<MediaFiles>
<MediaFile delivery="progressive" type="video/mp4" width="1280" height="720">
<![CDATA[https://cdn.example.com/ad.mp4]]>
</MediaFile>
</MediaFiles>
</Linear>Check your VAST tag for
VAST-2.0-linear-mediafiles and other issues instantly.Validate a tag →Other Required fields rules
VAST-2.0-root-elementRoot element must be <VAST>VAST-2.0-root-version<VAST> must have a version attributeVAST-2.0-root-version-valueVAST version attribute must be a recognised version stringVAST-2.0-root-has-ad-or-error<VAST> must contain at least one <Ad> or <Error>VAST-4.0-wrapper-root-error<VAST> root contains both <Ad> and <Error> elements (invalid per VAST 4.0)VAST-2.0-ad-has-inline-or-wrapperEach <Ad> must contain exactly one <InLine> or <Wrapper>VAST-2.0-inline-adsystem<InLine> must contain <AdSystem>VAST-2.0-inline-adtitle<InLine> must contain <AdTitle>