MQTT API and REST API
Pro Mosquitto supports MQTT API to enable a tight connection between Mosquitto Management Center (MMC) and the broker and automate its administration. Additionally, it provides a comprehensive REST API to integrate MMC features into your software landscape.
How MQTT and REST APIs work
Pro Mosquitto MQTT broker and Mosquitto Management Center (MMC) provide several APIs for different protocols. Pro Mosquitto communicates with the MMC backend server and other MQTT clients via the MQTT API. At the same time, MMC backend server talks to MMC UI via REST API. A Pro Mosquitto user may leverage MMC UI functionality or can use a console and write code to automate managing MQTT broker instances and clusters directly via REST API. In addition, certain clients supporting MQTT libraries can also leverage MQTT API to manipulate admin data on the broker side.
Pro Mosquitto MQTT APIs
Pro Mosquitto MQTT APIs
Pro Edition for Eclipse Mosquitto provides a set of MQTT APIs that are available via MQTT and can be used with an MQTT client. It can be a third-party MQTT client or the MMC (which acts as an MQTT client when connected to Pro Mosquitto).
The main task of MQTT API is to send a complete set of commands, such as create clients, list clients, delete clients, etc., from MMC to the MQTT broker.
MQTT APIs functionality
Dynamic Security MQTT API allows adding new Mosquitto users, managing their access rights, grouping them, etc. Moreover, it provides endpoints to return status data and enables active DynSec Plugin management. In addition, it is also possible to create MQTT clients with the help of the Dynamic Security MQTT API.
High Availability MQTT API covers cluster management, including cluster details view, testing cluster health status, creating and deleting a cluster, adding and deleting a node in a cluster, and more.
Inspect MQTT API provides an overview of connected and disconnected MQTT clients with additional information like API and timestamps and an overview of topics to which every MQTT client is subscribed.
MMC REST APIs
MMC REST APIs
The Management Center can connect to different Pro Mosquitto instances via MQTT, acting as an MQTT client in this scenario. It also provides a set of REST APIs that expose the MQTT APIs to HTTP clients.
REST APIs functionality
The Cluster Management REST API allows one to get detailed information about Mosquitto clusters, e.g., which clusters MMC is connected to and which Mosquitto nodes belong to which cluster.
The Topic Tree REST API lets one retrieve information about the topic tree and clear its cache. The topic tree displays MQTT topics in a tree structure so that you get a good overview of the hierarchy of the topics a broker uses. Information in the topic tree also helps you monitor the MQTT topics on your broker, e.g., which topics are used, how many messages are sent through which topic, etc.
The User Management REST API allows one to automatically create, read, update and delete MMC users and groups, and manage their roles. Learn more here.
The Connection REST API provides a capability to manage (create and delete) Pro Mosquitto nodes connections to MMC.
The Monitoring REST API leverages the monitoring information of Pro Mosquitto broker instances and delivers insights into the health of Pro Edition Mosquitto HA clusters. Learn more here.
The Dynamic Security REST API enables managing MQTT clients, groups, and ACL access rights. Learn more here.
The Application Tokens REST API use the REST APIs of the MMC securely by creating application tokens with role-based access & expiration dates. MMC users can leverage the REST API to perform automated actions, generally administered via the Management Center UI. For instance, if an IoT platform provider receives a new booking for a service, its ERP system can automatically create the correct access rights for the new customer’s IoT devices to the Pro Edition Mosquitto MQTT broker nodes. Learn more here.