For Agents
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Ubidots IoT Platform API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Findustrial.api.ubidots.com%2Fubidots" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Findustrial.api.ubidots.com%2Fubidots" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Ubidots IoT Platform API.
Provision and manage IoT devices with labels, descriptions, and custom properties via the /devices endpoints
Send sensor readings to a device or directly to a named variable with timestamped values
Retrieve last values, raw time-series data, and aggregated data from any variable
GET STARTED
Provision IoT devices, write and query time-series sensor variables, and manage events and organisations on the Ubidots industrial platform. Supports per-device and per-variable data ingestion.
Use for: I want to send a temperature reading from a sensor to Ubidots, Get the last value of a variable for a specific device, List all devices in my Ubidots account, Retrieve the raw time-series data for a pressure variable over the last hour
Not supported: Does not handle device firmware updates, OS-level fleet management, or low-level hardware provisioning - use for IoT telemetry ingestion, variable management, and time-series queries only.
Jentic publishes the only available OpenAPI specification for Ubidots IoT Platform API, keeping it validated and agent-ready. Ubidots is an IoT application platform that ingests sensor telemetry from connected hardware and lets developers build dashboards, alerts, and control loops on top of it. The 31-endpoint API covers device provisioning, variable management, time-series data ingestion and queries, organisations, events, and authentication tokens. Telemetry is posted per-device or per-variable, with last-value, raw-series, and aggregate queries available for charting and rule evaluation.
Create and manage variables (numeric, location, synthetic) attached to devices
Configure events and triggers on variables to drive alerts and downstream actions
Manage organisations and the relationships between accounts and device fleets
Mint and rotate authentication tokens for device-side and server-side credentials
Patterns agents use Ubidots IoT Platform API for, with concrete tasks.
★ Industrial Sensor Telemetry Ingestion
Stream readings from PLCs, meters, and edge gateways into Ubidots so they can be visualised and alerted on. POST /devices/{device_label}/{variable_label} accepts a value (and optional timestamp and context) per variable; POST /devices/{device_label} accepts a JSON payload with multiple variables in one call. Suitable for fleets of thousands of devices with sub-minute granularity.
POST a temperature reading of 72.4 with the current timestamp to /devices/pump-42/temperature using the X-Auth-Token header.
Device Fleet Management
Provision and update a fleet of connected devices programmatically rather than through the Ubidots UI. POST /devices creates a device with a label and properties; PATCH /devices/{device_label} updates fields; DELETE /devices/{device_label} retires it. Useful for scaling deployments where devices are commissioned via an installer app or factory provisioning step.
Create a new Ubidots device with label 'flowmeter-17', description 'Plant 3 inflow', and properties {site: 'Plant 3'} via POST /devices.
Time-Series Querying for Dashboards and Reports
Pull historical sensor data out of Ubidots into custom dashboards, BI tools, or anomaly-detection pipelines. GET /devices/{device_label}/{variable_label} returns the raw time-series, GET /devices/{device_label}/{variable_label}/lv returns the last value for cheap real-time displays. Aggregations are available on the variable endpoints.
Retrieve the last 24 hours of values for variable 'pressure' on device 'pump-42' via GET /devices/pump-42/pressure with a start parameter.
AI Agent for Operational Monitoring
An agent monitors variable values across a fleet, calls /devices/{device_label}/{variable_label}/lv to get the latest readings, and triggers a maintenance ticket or control action when thresholds are breached. Through Jentic, the agent searches by intent, loads the schema, and executes - useful for plant operations copilots and remote monitoring assistants.
For each device returned by GET /devices, call GET /devices/{device_label}/temperature/lv and flag any reading above 95.0.
31 endpoints — jentic publishes the only available openapi specification for ubidots iot platform api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/devices
List all devices in the account
/devices
Create a new device
/devices/{device_label}
Send a multi-variable data payload to a device
/devices/{device_label}/{variable_label}
Send a single value to one variable
/devices/{device_label}/{variable_label}/lv
Get the last value of a variable
/variables
List all variables across devices
/devices/{device_label}/values
Delete a device's stored variable values
/devices
List all devices in the account
/devices
Create a new device
/devices/{device_label}
Send a multi-variable data payload to a device
/devices/{device_label}/{variable_label}
Send a single value to one variable
/devices/{device_label}/{variable_label}/lv
Get the last value of a variable
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Ubidots IoT Platform API by hand means passing the X-Auth-Token header on every call and mapping its device and variable paths yourself. Through Jentic you install once, import the Ubidots IoT Platform API from the API Directory, store the token once, and your agent calls it.
Permission scoping
Ubidots puts the device label in the URL path (/devices/{device_label}/...), so a rule can pin your agent to one device: it can send readings and read the last value for that device and nothing else. You choose the operations it may call, so deleting values is not included unless you add it.
Credential isolation
Your Ubidots X-Auth-Token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'send a sensor reading' or 'get last value of a variable', and Jentic returns the matching Ubidots operation with its input schema so the agent calls the right endpoint without browsing the platform docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Ubidots IoT Platform API through Jentic.
Why is there no official OpenAPI spec for Ubidots IoT Platform API?
Ubidots does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Ubidots IoT Platform API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.
What authentication does the Ubidots IoT Platform API use?
The Ubidots IoT Platform API uses an API key in the 'X-Auth-Token' header on every request. Through Jentic, this token is stored encrypted in your Jentic One instance and injected at runtime so agents never see the raw token.
Can I send data for multiple variables in a single call?
Yes. POST /devices/{device_label} accepts a JSON body with multiple variable_label keys and their values in one request, which is more efficient than calling POST /devices/{device_label}/{variable_label} per variable when an edge device reports several readings at once.
What are the rate limits for the Ubidots IoT Platform API?
Rate limits are not encoded in the spec; they vary by plan tier on the Ubidots Industrial platform. Check the Ubidots account dashboard for current per-second and per-day limits, or contact Ubidots support to raise them for high-throughput fleets.
How do I retrieve the latest reading for a sensor through Jentic?
Search Jentic for 'get last value of a variable' to find GET /devices/{device_label}/{variable_label}/lv. Load the schema, supply device_label and variable_label, and execute. Get started with Jentic One, the self-hosted execution layer.
Can I configure alerts when a value crosses a threshold?
Yes. The Events endpoints let you create triggers on variables - for example, fire when 'temperature' exceeds 95 - and Ubidots will dispatch the configured notification channel when conditions are met.
/variables
List all variables across devices
/devices/{device_label}/values
Delete a device's stored variable values