pixellint

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

Hosts
log.xpln.tech
Paths
/video
Vendor docs
cdn.xpln.tech/a.js

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.empty
vendor.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.empty
vendor.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.empty
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.empty
vendor.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.empty
vendor.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.empty
vendor.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.empty
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.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.missing
vendor.xpln-video.body.mt.empty
vendor.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.empty
vendor.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.empty
vendor.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