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 schema member of the form univip.<kind>.v<MAJOR>.<MINOR>; the validator maps <kind> to <kind>.schema.json. The schemas match schema by pattern (univip.<kind>.v0.<n>), so 0.1 messages validate against the 0.2 schemas (Part 01 §1.5).
  • envelope.schema.json also defines the payloads of hello, welcome, signal, request, response, pong and error.
  • Schemas use canonical $id URLs of the form https://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 in tools/ preloads every schema into a local registry.
  • additionalProperties is left open everywhere (Part 01 §1.4: unknown members are ignored). Vendor members go under x-<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 as UNKNOWN (Part 01 §1.4). With a standard JSON Schema validator, drop enum errors whose schema lacks x-univip-closed. Standard enumerations include UNKNOWN or OTHER where 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.

Generated from schemas/README.md.