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.
| Service | Domain | Reference |
|---|---|---|
greenroom.vessel.v1.VesselStateService | Vessel position, orientation, motion | vessel/v1 |
greenroom.perception.v1.PerceptionService | Tracked objects and object alerts | perception/v1 |
greenroom.control.v1.ControlService | Mode, arming, authority, actuators | control/v1 |
greenroom.mission.v1.MissionService | Mission plan loading, control, and state | mission/v1 |
greenroom.diagnostics.v1.DiagnosticsService | Vessel health | diagnostics/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
v1 is not yet stableThe 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.