UNIVIP JSON Schemas (2020-12)Link to the section UNIVIP JSON Schemas (2020-12)
| File | Schema identifier | Used for |
|---|---|---|
common.schema.json |
https://univip.org/schemas/v0.2/common.schema.json (no schema member; shared $defs) |
Shared $defs: timestamps, identifiers, position, gimbal orientation, enumerations, GeoJSON |
envelope.schema.json |
univip.envelope.v0.2 |
Session-channel envelope (Part 05) |
capabilities.schema.json |
univip.capabilities.v0.2 |
Capability document (Part 06) |
telemetry.schema.json |
univip.telemetry.v0.2 |
Telemetry sample (Part 07) |
event.schema.json |
univip.event.v0.2 |
Event (Part 08) |
command.schema.json |
univip.command.v0.2 |
Command submission (Parts 10, 11) |
command_status.schema.json |
univip.command_status.v0.2 |
Command acknowledgment and lifecycle status |
lease.schema.json |
univip.lease.v0.2 |
Control lease request and state (Part 11) |
mission.schema.json |
univip.mission.v0.2 |
Waypoint mission (Part 11 §11.5) |
geospatial.schema.json |
univip.geospatial.v0.2 |
Footprint and target objects (Part 12) |
Conventions:
- Each message names its schema in a
schemamember of the formunivip.<kind>.v<MAJOR>.<MINOR>; the validator maps<kind>to<kind>.schema.json. The schemas matchschemaby pattern (univip.<kind>.v0.<n>), so 0.1 messages validate against the 0.2 schemas (Part 01 §1.5). envelope.schema.jsonalso defines the payloads ofhello,welcome,signal,request,response,ponganderror.- Schemas use canonical
$idURLs of the formhttps://univip.org/schemas/v0.2/<kind>.schema.json, which is where the website publishes them (ADR-0008). Cross-references use those URLs. Validators MUST NOT depend on fetching them at runtime; the validator intools/preloads every schema into a local registry. additionalPropertiesis left open everywhere (Part 01 §1.4: unknown members are ignored). Vendor members go underx-<vendor>.- Enumerations list the values this version defines and are open unless marked
"x-univip-closed": true(command and lease states). A validator MUST NOT treat a value outside an open enumeration as an error; the receiver reads it asUNKNOWN(Part 01 §1.4). With a standard JSON Schema validator, dropenumerrors whose schema lacksx-univip-closed. Standard enumerations includeUNKNOWNorOTHERwhere a device may lack information; vendor values go in vendor members. - Numeric ranges in schemas are normative (Part 13 §13.6).
Validate everything with python3 tools/validate.py from the repository root.