# Eclipse sensiNact Websocket interface The Websocket interface is a user-facing API for Eclipse sensiNact designed to fit naturally with the [core model](../core/CoreModel.md). The implementation uses Jetty Websockets via the OSGi Servlet Whiteboard specification. ## Bundles The Websocket interface bundle is: `org.eclipse.sensinact.gateway.northbound:websocket:0.0.2`, and it makes use of the sensiNact Northbound Query Handler to access sensiNact data. The Websocket interface requires the sensinact `core` feature, as well as the `jakarta-servlet-whiteboard` feature. It currently has no authentication. ## Making a Websocket connection The Websocket interface provides a connection URL at `ws/sensinact/` relative to the root context of the configured Jakarta Servlet whiteboard. It follows the normal upgrade handshake mechanism. ### Websocket commands The Websocket commands map closely to those of the Query Handler. Requests are sent as serialized JSON. ### Common Query properties The following properties are common to all request types. #### The Operation The `operation` property defines the type of operation being requested and is mandatory. * `LIST` - List a set of items, such as the names of services for a given provider * `DESCRIBE` - Describe an object, such as a provider or a resource * `GET` - Get the value of a resource * `SET` - Set the value of a resource * `ACT` - ACT on a resource * `SUBSCRIBE` - SUBSCRIBE to notifications from a resource or set of resources * `UNSUBSCRIBE` - Close an existing subscription #### The Target URI The target uri is set using the String `uri` property and is optional. If set it identifies a provider, service or resource that is targeted by the command. The syntax is `/[/