Skip to content

Message Reference

Only the hello request and successful hello response carry protocol_version: "1.0". Every post-hello request and response omits it. error_response also carries no type or event_type discriminator.

Requests

Message Required fields
hello type, protocol_version, auth.token
ping type
query_state type; optional scope is all, motors, or groups
subscribe type
command type, motor_id, op; move also requires target_percent
group_command type, group_id, op; move also requires target_percent
multi_motor_move type, non-empty ordered targets; each target requires unique motor_id and target_percent

request_id is optional on every request and, when present, is a 1-to-64-code-point string. The retired auth.mode, post-hello protocol_version, subscribe.filter, and command_id fields are invalid. query_state.state is response-only.

Responses And Events

Message Notes
hello Returns the negotiated protocol_version; echoes a valid request_id when supplied; carries neither status nor authentication credentials
pong Response to ping
query_state Baseline state object
subscribe Minimal subscription acknowledgement with type and optional request_id; carries no status
command_response Terminal response for command, group_command, or multi_motor_move; multi-motor responses include ordered per-target results
motor_state Motor delta event
group_state Group delta event
registry_event Registry delta event
error_response Protocol/session error; request_id is present only when the request supplied a valid one

Events omit event_seq and uptime_ms; motor_state also omits motor_seq. Protocol errors omit the internal diagnostic error_reason.

See examples/ for complete wire payloads.