Overview
One client-mode connector, TeltonikaRMS, for the Teltonika RMS API. RMS (Remote Management System) is Teltonika’s cloud service for managing fleets of its industrial routers, gateways and modems, the boxes that often connect a plant cell, a substation or a remote pump station to the network. Use the connector to bring fleet health into your Unified Namespace: list every gateway and its online state, signal and temperature, pull monitoring graphs and Data Collect values, track location and mobile data usage, and raise alerts. It can also act on the fleet: refresh metrics, reboot a device, run a CLI command, push configuration, queue a firmware update, run a saved task group and organise devices with tags.
Topics are
cloud-iot/teltonika-rms/<object>/<verb>; every reply goes to <topic>/response. Paths in the table are relative to /api, except GetApiInfo (/api/) and GetActionStatus (/status/channel/{channel}).
Authentication
Every authenticated event sendsAuthorization: {authorization}, so pass the whole header value: "Bearer <token>".
- A Personal Access Token is the simple choice for one RMS account. Create it in RMS under account settings, Applications (RMS asks you to turn on two-factor authentication first) and tick only the scopes the connector needs, for example
devices:read,device_actions:write,device_configurations:write,device_alerts:readandtags:write. - An OAuth 2.0 access token is for apps that act on behalf of many RMS users.
TELTONIKA_RMS_AUTHORIZATION) and map it in with GET SECRET. A missing, expired or wrong token returns 401 with {"success": false, "errors": [{"code": "UNAUTHORIZED"}]}; some endpoints return 403 when the token or user is not allowed to do that.
Basic Syntax
RMS is hosted by Teltonika, soBASE_ADDRESS is always https://rms.teltonika-networks.com.
TeltonikaRmsRestApi.lot in the REST API app.
MQTT examples
Request bodies go underbody, so control fields like authorization, device_id and query are not sent to RMS. device_id is the numeric RMS id from ListDevices, not the serial number or IMEI.
List online gateways: publish to cloud-iot/teltonika-rms/device/list:
"query": "" when you do not need filters.
Read the last 6 hours of monitoring data: publish to cloud-iot/teltonika-rms/device-graph/get. type is dynamic (signal, temperature, traffic), io or gps, and the dates must be URL-encoded:
cloud-iot/teltonika-rms/device-action/execute:
{"success": true, "meta": {"channel": "private-status.1...."}}. Publish that channel to cloud-iot/teltonika-rms/action-status/get as {"authorization": "...", "channel": "<channel>"} and repeat until each device’s last entry has "status": "completed". Use "action": "reboot" to restart the device.
Run a command on a gateway: publish {"authorization": "...", "device_id": 46920, "body": {"command": "gsmctl -q"}} to cloud-iot/teltonika-rms/device-command/execute and poll the returned channel the same way.
Tag a device: create a tag on cloud-iot/teltonika-rms/tag/create with "body": {"name": "porto-line-1", "company_id": 125, "color": "#4287f5"}, then assign it on cloud-iot/teltonika-rms/device-tags/assign:
Helper actions
Keep the token in a broker secret, poll fleet status every few minutes, and refresh metrics on demand:cloud-iot/teltonika-rms/# with a rule: its payloads carry the token, and events such as ExecuteDeviceAction, ExecuteDeviceCommand, SendConfiguration and SetUpdates can reboot, reconfigure or reflash devices in the field.
Notes
- Errors come back on the response topic:
401for a missing, expired or wrong token (or a resource that belongs to another company),403when the token or user is not allowed,404for an unknown device, alert, tag or channel,422for validation errors such as a missingstart_date(the OpenAPI spec does not document rate limits, so keep polling coarse). - Long-running actions (reboot, backups, firmware, commands, configuration) return a status channel instead of the result. RMS also streams these statuses over Socket.IO; this template uses the HTTP polling endpoint only.
GetDeviceStatisticsneedscharts, and the graph, Data Collect, location history, data usage and online statistics events needstart_dateandend_date; RMS rejects the call with422otherwise.- API calls act on the same devices, companies and credits as the RMS web interface, so a token sees exactly what its user sees.
- To talk to a single router on the local network instead of through RMS, use the device’s own RUTOS API; this template covers the RMS cloud API only.

