Migrating to 3.5
This page is the consolidated upgrade guide for Inverse Service 3.5. It
covers every deprecation the service still carries — the legacy 3.0
wire format slated for removal in 4.0, the deprecated HTTP endpoints,
and the deprecated session-channel simulation commands.
All deprecations listed here are still accepted on the wire for backward compatibility. Nothing breaks on upgrade — plan to migrate at your convenience.
3.0 vs 3.x API versions
The service exposes two concurrent JSON formats: the legacy 3.0 format
on port 10000 and the current 3.x format on port 10001. Both stay
available for backward compatibility — 3.0 integrations continue to run
unchanged on upgrade.
3.0 API version support will be dropped for 4.0.
-
3.0API- Fully documented in the
3.0.xdocumentation pages. HTTPon http://localhost:10000/3.0/.Websocketson port10000.
- Fully documented in the
-
3.xAPI- Fully documented in the
3.xdocumentation pages. HTTPon http://localhost:10001/.Websocketson port10001.- Improved functionality and faster integration with game engines.
- Fully documented in the
Upgrade at your convenience — no disruption to existing workflows.
Deprecated HTTP endpoints
The following endpoints are still accepted but emit a deprecation warning.
They will be removed in 4.0. Use the replacement routes instead.
| Deprecated path | Replacement |
|---|---|
POST /force_scale | POST /settings/devices/force_scale |
POST /gravity_compensation | POST /{type}/{id}/config/gravity_compensation |
POST /torque_scaling | POST /{type}/{id}/config/torque_scaling |
POST /device_handedness | POST /{type}/{id}/config/handedness |
POST /serial_enable | POST /settings/system/serial_enable |
POST /experimental/features/grip_dropped_simulation_stopper | POST /settings/features/grip_hook/enabled |
POST /experimental/features/screensaver_enable | POST /settings/features/screensaver/enabled |
Each deprecated route triggers a http-route-deprecated
event on the events channel, carrying both the old route and its
replacement.
Deprecated session-channel commands
The two session-level simulation commands below are deprecated and will
be removed in a future major version. They are still accepted on the
wire; new integrations should use the configure entries listed in the
replacement column.
Each deprecated command triggers a command-deprecated
event on the events channel.
session.set_coordinate_origin → inverse3[*].configure.preset
// Old — deprecated
{ "session": { "set_coordinate_origin": { "coordinate_origin": "workspace_center" } } }
// New — canonical
{ "inverse3": [ { "device_id": "…", "configure": { "preset": { "preset": "arm_front_centered" } } } ] }
Value mapping:
Old coordinate_origin | New preset |
|---|---|
device_base | arm_front (or defaults) |
workspace_center | arm_front_centered |
Presets are applied per-device via inverse3[*].configure.preset (or
configure.preset on verse grip / wireless verse grip device entries),
not as a session-wide switch. See the Configure section
in the simulation reference for the full list of preset names.
session.set_basis → session.configure.basis
// Old — deprecated
{ "session": { "set_basis": { "basis": { "permutation": "X-ZY" } } } }
// New — canonical
{ "session": { "configure": { "basis": { "permutation": "XZ-Y" } } } }
Reference
- Settings Reference
- WebSocket Protocol — full snapshot and streaming frame layout.
- AsyncAPI Reference — machine-readable schema for all v3.1 payloads.
- HTTP API Reference — Swagger UI for the current HTTP routes and their replacements for the deprecated endpoints listed above.