Skip to main content

The Platform API

The Platform API is a gRPC + Protobuf interface, organised into one service per domain. Each service exposes unary RPCs (commands and point reads) and server-streaming RPCs (live data). Each links to its generated reference on the Buf Schema Registry — every method, message, and field, with inline descriptions.

ServiceDomainReference
greenroom.vessel.v1.VesselStateServiceVessel position, orientation, motionvessel/v1
greenroom.perception.v1.PerceptionServiceTracked objects and object alertsperception/v1
greenroom.control.v1.ControlServiceMode, arming, authority, actuatorscontrol/v1
greenroom.mission.v1.MissionServiceMission plan loading, control, and statemission/v1
greenroom.diagnostics.v1.DiagnosticsServiceVessel healthdiagnostics/v1

Shared message types (geospatial and geometric primitives, headers) live in greenroom.type.v1.

Browse the entire schema, or get a client for your language, on the Schema Registry.

Versioning

Pre-release — v1 is not yet stable

The v1 schema has not been officially released. Until the first stable release it may change in backward-incompatible ways without notice — fields may be renamed, retyped, made optional, or removed, and message shapes may change. Pin your client to a specific schema commit (not just v1) and expect to update as the schema settles. The compatibility guarantees below take effect at the first stable release.

API packages are versioned in their name (...v1). Within a major version, changes are backward-compatible: new fields and messages may be added, and clients ignore fields they don't recognise. Incompatible changes are introduced as a new major version (...v2), and the previous version continues to be served during a migration window.

Pin your client to a published schema version and adopt new versions deliberately. Build defensively: tolerate unknown fields and absent optional values.

Conventions

  • Geographic data — WGS-84; geographic orientations are ENU (East-North-Up).
  • Body-frame data — FLU (Forward-Left-Up).
  • Units — SI (metres, metres/second, radians); bearings in degrees.
  • Optional values — fields that may be unavailable are declared optional; check presence before reading.

Per-message details are documented inline in the generated reference.