XPLN video telemetry checks the current public SDK transport.
The current public SDK emits normalized identifiers and JSON text over beacon or fetch POST. A complete request can link those producer fields to the observed transport.
Historical GET payloads have optional identity advisories only. Private fields and unpublished legacy schemas retain explicit coverage limits.
Apply the contracts within their published source scope.
Historical GET payloads have optional identity advisories only. Private fields and unpublished legacy schemas retain explicit coverage limits.
What this pack matches
Rules
Codes are stable. A finding in CI, MCP, or the playground lands on the same id.
| Field | Required | What it checks | Rule ids | Source |
|---|---|---|---|---|
xid |
optional | The current SDK normalizes this identifier to lowercase ASCII word characters, hyphens and underscores. Legacy GET placement is not a published rejection schema. | vendor.xpln-video.param.xid.emptyvendor.xpln-video.param.xid.invalid |
docs |
yid |
optional | The current SDK normalizes this identifier to lowercase ASCII word characters, hyphens and underscores. Legacy GET placement is not a published rejection schema. | vendor.xpln-video.param.yid.emptyvendor.xpln-video.param.yid.invalid |
docs |
zid |
optional | The current SDK normalizes this identifier to lowercase ASCII word characters, hyphens and underscores. Legacy GET placement is not a published rejection schema. | vendor.xpln-video.param.zid.emptyvendor.xpln-video.param.zid.invalid |
docs |
|
optional | The current SDK serializes a single video event object. Native JSON type: object. | vendor.xpln-video.body..invalid |
docs |
tg |
recommended | Video event tg is carried as a string by the SDK. Custom event and media-source strings remain unrestricted. Native JSON type: string. | vendor.xpln-video.body.tg.missingvendor.xpln-video.body.tg.invalid |
docs |
uid |
recommended | Video event uid is carried as a string by the SDK. Custom event and media-source strings remain unrestricted. Native JSON type: string. | vendor.xpln-video.body.uid.missingvendor.xpln-video.body.uid.invalid |
docs |
url |
recommended | Video event url is carried as a string by the SDK. Custom event and media-source strings remain unrestricted. Native JSON type: string. | vendor.xpln-video.body.url.missingvendor.xpln-video.body.url.invalid |
docs |
vurl |
recommended | Video event vurl is carried as a string by the SDK. Custom event and media-source strings remain unrestricted. Native JSON type: string. | vendor.xpln-video.body.vurl.missingvendor.xpln-video.body.vurl.invalid |
docs |
src |
recommended | Video event src is carried as a string by the SDK. Custom event and media-source strings remain unrestricted. Native JSON type: string. | vendor.xpln-video.body.src.missingvendor.xpln-video.body.src.invalid |
docs |
xid |
optional | SDK configuration normalizes this copied metadata field to lowercase word characters, hyphens and underscores. Native JSON type: string. | vendor.xpln-video.body.xid.emptyvendor.xpln-video.body.xid.invalid |
docs |
yid |
optional | SDK configuration normalizes this copied metadata field to lowercase word characters, hyphens and underscores. Native JSON type: string. | vendor.xpln-video.body.yid.emptyvendor.xpln-video.body.yid.invalid |
docs |
zid |
optional | SDK configuration normalizes this copied metadata field to lowercase word characters, hyphens and underscores. Native JSON type: string. | vendor.xpln-video.body.zid.emptyvendor.xpln-video.body.zid.invalid |
docs |
mac |
optional | SDK configuration normalizes this copied metadata field to lowercase word characters, hyphens and underscores. Native JSON type: string. | vendor.xpln-video.body.mac.emptyvendor.xpln-video.body.mac.invalid |
docs |
aid |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.aid.invalid |
docs |
oid |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.oid.invalid |
docs |
lid |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.lid.invalid |
docs |
cid |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.cid.invalid |
docs |
mid |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.mid.invalid |
docs |
slr |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.slr.invalid |
docs |
pid |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.pid.invalid |
docs |
tid |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.tid.invalid |
docs |
did |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.did.invalid |
docs |
bid |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.bid.invalid |
docs |
sid |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.sid.invalid |
docs |
apb |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.apb.invalid |
docs |
asm |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.asm.invalid |
docs |
afw |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.afw.invalid |
docs |
tv |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.tv.invalid |
docs |
slj |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.slj.invalid |
docs |
omp |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.omp.invalid |
docs |
gpid |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.gpid.invalid |
docs |
didu |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.didu.invalid |
docs |
dida |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.dida.invalid |
docs |
didi |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.didi.invalid |
docs |
vidp |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.vidp.invalid |
docs |
oam |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.oam.invalid |
docs |
mdt |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.mdt.invalid |
docs |
err |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.err.invalid |
docs |
afi |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.afi.invalid |
docs |
ves |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.ves.invalid |
docs |
acvw |
optional | The video producer copies this optional metadata as a string. Error and geometry payload strings are not constrained to JSON because error strings are also accepted. Native JSON type: string. | vendor.xpln-video.body.acvw.invalid |
docs |
v |
recommended | This field is emitted as an integer by the current SDK. Skippability overrides are preserved rather than restricted to a boolean. Native JSON type: integer. | vendor.xpln-video.body.v.missingvendor.xpln-video.body.v.invalid |
docs |
skp |
recommended | This field is emitted as an integer by the current SDK. Skippability overrides are preserved rather than restricted to a boolean. Native JSON type: integer. | vendor.xpln-video.body.skp.missingvendor.xpln-video.body.skp.invalid |
docs |
vec |
recommended | This field is emitted as an integer by the current SDK. Skippability overrides are preserved rather than restricted to a boolean. Native JSON type: integer. | vendor.xpln-video.body.vec.missingvendor.xpln-video.body.vec.invalid |
docs |
vew |
recommended | This field is emitted as an integer by the current SDK. Skippability overrides are preserved rather than restricted to a boolean. Native JSON type: integer. | vendor.xpln-video.body.vew.missingvendor.xpln-video.body.vew.invalid |
docs |
veh |
recommended | This field is emitted as an integer by the current SDK. Skippability overrides are preserved rather than restricted to a boolean. Native JSON type: integer. | vendor.xpln-video.body.veh.missingvendor.xpln-video.body.veh.invalid |
docs |
imr |
optional | This field is emitted as an integer by the current SDK. Skippability overrides are preserved rather than restricted to a boolean. The SDK can serialize a non-finite parsed configuration as null. Native JSON type: integer or null. | vendor.xpln-video.body.imr.invalid |
docs |
vtx |
optional | This field is emitted as an integer by the current SDK. Skippability overrides are preserved rather than restricted to a boolean. Native JSON type: integer. | vendor.xpln-video.body.vtx.invalid |
docs |
ts |
recommended | This field is emitted as a numeric value by the video producer. Native JSON type: number. | vendor.xpln-video.body.ts.missingvendor.xpln-video.body.ts.invalid |
docs |
aw |
recommended | This field is emitted as a numeric value by the video producer. Native JSON type: number. | vendor.xpln-video.body.aw.missingvendor.xpln-video.body.aw.invalid |
docs |
ah |
recommended | This field is emitted as a numeric value by the video producer. Native JSON type: number. | vendor.xpln-video.body.ah.missingvendor.xpln-video.body.ah.invalid |
docs |
vol |
recommended | This field is emitted as a numeric value by the video producer. Native JSON type: number. | vendor.xpln-video.body.vol.missingvendor.xpln-video.body.vol.invalid |
docs |
dvol |
optional | This field is emitted as a numeric value by the video producer. Native JSON type: number. | vendor.xpln-video.body.dvol.invalid |
docs |
vev |
recommended | This field is emitted as a numeric value by the video producer. Native JSON type: number. | vendor.xpln-video.body.vev.missingvendor.xpln-video.body.vev.invalid |
docs |
smp |
optional | This field is emitted as a numeric value by the video producer. The SDK can serialize a non-finite parsed configuration as null. Native JSON type: number or null. | vendor.xpln-video.body.smp.invalid |
docs |
vdur |
recommended | Duration is rounded after accepting 3 through 300 seconds. Invalid measurements use sentinel -1. Native JSON type: integer. | vendor.xpln-video.body.vdur.missingvendor.xpln-video.body.vdur.invalid |
docs |
ved |
recommended | Duration is rounded after accepting 3 through 300 seconds. Invalid measurements use sentinel -1. Native JSON type: integer. | vendor.xpln-video.body.ved.missingvendor.xpln-video.body.ved.invalid |
docs |
mt |
recommended | The producer records b for sendBeacon and f for fetch. Native JSON type: string. | vendor.xpln-video.body.mt.missingvendor.xpln-video.body.mt.emptyvendor.xpln-video.body.mt.invalid |
docs |
vol |
optional | SDK finite volume is between 0 and 1; unknown measurements use exactly -1. Minimum numeric value: 0. Maximum numeric value: 1. | vendor.xpln-video.body.vol.invalid |
docs |
dvol |
optional | SDK finite volume is between 0 and 1; unknown measurements use exactly -1. Minimum numeric value: 0. Maximum numeric value: 1. | vendor.xpln-video.body.dvol.invalid |
docs |
vev |
optional | SDK finite volume is between 0 and 1; unknown measurements use exactly -1. Minimum numeric value: 0. Maximum numeric value: 1. | vendor.xpln-video.body.vev.invalid |
docs |
vdur |
optional | SDK duration is a rounded integer from 3 through 300, or exactly -1 for unknown. Minimum numeric value: 3. Maximum numeric value: 300. | vendor.xpln-video.body.vdur.invalid |
docs |
ved |
optional | SDK duration is a rounded integer from 3 through 300, or exactly -1 for unknown. Minimum numeric value: 3. Maximum numeric value: 300. | vendor.xpln-video.body.ved.invalid |
docs |
body_encoding |
optional | The current SDK sends JSON text. Beacon and fetch may use text/plain while the normalized body is parsed JSON. Complete HTTP capture contract. Native JSON type: string. | vendor.xpln-video.http.body_encoding.invalid |
docs |
method |
optional | Current sendBeacon and fetch video events use POST. A bare GET with no body remains a legacy source gap. Complete HTTP capture contract. Native JSON type: string. | vendor.xpln-video.http.method.emptyvendor.xpln-video.http.method.invalid |
docs |
content_type |
optional | Fetch sends text/plain. Browser sendBeacon for a JSON string uses text/plain, commonly with a charset parameter. Complete HTTP capture contract. Native JSON type: string. | vendor.xpln-video.http.content_type.emptyvendor.xpln-video.http.content_type.invalid |
docs |
Validate a payload
pixellint validate json @payload.json --rulepack vendor/xpln-video
Or paste it into the playground. Same engine, in the browser, nothing sent anywhere.
cargo install pixellint
·
npm install pixellint