Connecting to Kuzzle

The connection to Kuzzle depends on the protocol to be used.

HTTP, WebSocket and SocketIO protocols are shipped in Kuzzle's core. Other protocols can be added with Protocol Plugins.


By default, Kuzzle exposes itself on the 7512 port. Assuming the Kuzzle server runs locally, it can be reached on http://localhost:7512/.

The default response is the ServerInfo controller. With this you will get detailed information about available HTTP API routes.



curl "http://localhost:7512/"


By default, Kuzzle enables the core websockets protocol, accepting websocket requests via the http server (on port 7512 by default).


    var socket = new WebSocket("ws://localhost:7512");
</script> (WebSocket-like)

To ensure compatibility with older web browsers, our official docker images embeds the Kuzzle embeds a socketio protocol, accepting socket requests via the http server (on port 7512 by default).


<script src=""></script>
    var socket = io("http://localhost:7512");

MQTT protocols

Kuzzle provides a plugin protocol that supports the MQTT protocol. This plugin protocol is a 2-way means of communication between your application and Kuzzle, forwarding your queries forth to Kuzzle, and notifications/responses from Kuzzle back to your application.



# shell 1
node_modules/.bin/mqtt subscribe -v -h rabbit -t Kuzzle

# shell 2
node_modules/.bin/mqtt publish -h rabbit -t Kuzzle -m '{
  "controller": "document",
  "action": "createOrReplace",
  "body": {
    "firstName": "John",
    "lastName": "Doe"

# shell 1 (prettified)
Kuzzle {
  "error": null,
  "result": {
    "_id": "AVF8NG3k5ZVpUuiPrN1K",
    "_index": "index",
    "_source": {"firstName":"John", "lastName":"Doe"},
    "_type": "collection",
    "_version": 1,
    "action": "createOrReplace",
    "collection": "collection",
    "controller": "document",
    "created": true,
    "volatile": {},
  "status": 200

By default, the MQTT plugin protocol listens on the port 1883.