For Agents
Provision MCU devices, push OTA firmware updates, store and query device state via LightDB, stream telemetry data, and invoke remote procedure calls on Golioth-connected hardware.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Golioth 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.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | 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 Golioth API.
Push over-the-air firmware updates to device fleets using releases and artifact management
Store and retrieve structured device state data via LightDB path-based API
Stream time-series telemetry from devices and query historical sensor data
Invoke remote procedure calls on individual MCU devices for on-demand actions
GET STARTED
Use for: I need to push a firmware update to my IoT device fleet, I want to read the current state of a device from LightDB, Stream telemetry data from a specific device's sensors, List all devices in my project that are currently online
Not supported: Does not handle device-side firmware development, RTOS scheduling, or hardware peripheral drivers — use for cloud-side device management, data storage, and OTA orchestration only.
Jentic publishes the only available OpenAPI specification for Golioth API, keeping it validated and agent-ready. Provision, monitor, and control MCU-based IoT devices through a cloud platform that provides LightDB state storage, LightDB Stream for time-series telemetry, OTA firmware updates via releases and artifacts, device-level RPC calls, and data routing through configurable integrations. The API spans 106 endpoints organized around projects, devices, credentials, blueprints, releases, settings, and cloud-to-device data operations.
Route device data to external services through configurable webhook and cloud integrations
Provision devices with X.509 certificates or pre-shared key credentials for mutual TLS
Patterns agents use Golioth API for, with concrete tasks.
★ AI Agent OTA Firmware Deployment
AI agents orchestrate firmware rollouts across MCU device fleets through Jentic's intent search. An agent searches for 'push firmware update to IoT devices', discovers the POST /v1/projects/{projectId}/releases endpoint, creates a release linked to a pre-uploaded artifact, and monitors device-level firmware logs to confirm successful application. Jentic handles API key authentication and project-scoped resource addressing automatically.
Upload an artifact for firmware v2.1.0, create a release targeting devices with blueprint 'sensor-node', and check firmware logs to confirm 3 devices applied the update
Device State Management with LightDB
Store and query structured device state using Golioth's LightDB path-based API. Each device exposes a JSON state tree accessible via GET, POST, PUT, PATCH, and DELETE operations on /v1/projects/{projectId}/devices/{deviceId}/data/{path}. Agents can read sensor configurations, set desired state for actuators, and synchronize cloud-side state with device-reported state — enabling digital twin patterns for MCU hardware without custom server infrastructure.
Write the desired state '{"led": "on", "brightness": 80}' to device abc123 at path '/desired/display' and then read back the reported state at '/reported/display' to confirm synchronization
Time-Series Telemetry Collection
Collect and query historical sensor data through LightDB Stream endpoints. Devices push telemetry via the Golioth SDK, and the cloud API exposes GET /v1/projects/{projectId}/devices/{deviceId}/stream for paginated retrieval and POST /v1/projects/{projectId}/stream for project-wide queries. Data can be routed to external time-series databases through integrations for long-term retention and analytics.
Retrieve the latest 100 telemetry records from device sensor-001's stream and get the most recent reading at path '/temperature'
Remote Procedure Calls on MCU Devices
Execute on-demand commands on connected MCU devices using the POST /v1/projects/{projectId}/devices/{deviceId}/rpc endpoint. RPC enables cloud-initiated actions like triggering sensor readings, resetting peripherals, or running diagnostics — without waiting for the device's normal reporting interval. The device firmware registers RPC handlers that process the request and return a response payload.
Send an RPC call 'get_diagnostics' to device xyz789 with parameters '{"verbose": true}' and parse the response for battery voltage and signal strength
106 endpoints — jentic publishes the only available openapi specification for golioth api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/v1/projects/{projectId}/devices
List all devices in a project
/v1/projects/{projectId}/devices/{deviceId}/rpc
Invoke a remote procedure call on a device
/v1/projects/{projectId}/devices/{deviceId}/data/{path}
Read device state from LightDB
/v1/projects/{projectId}/devices/{deviceId}/data/{path}
Write device state to LightDB
/v1/projects/{projectId}/releases
Create a firmware release for OTA deployment
/v1/projects/{projectId}/devices/{deviceId}/stream
Get device telemetry stream data
/v1/projects/{projectId}/integrations
Create a data routing integration
/v1/projects/{projectId}/devices
Provision a new device in a project
/v1/projects/{projectId}/devices
List all devices in a project
/v1/projects/{projectId}/devices/{deviceId}/rpc
Invoke a remote procedure call on a device
/v1/projects/{projectId}/devices/{deviceId}/data/{path}
Read device state from LightDB
/v1/projects/{projectId}/devices/{deviceId}/data/{path}
Write device state to LightDB
/v1/projects/{projectId}/releases
Create a firmware release for OTA deployment
Three things that make agents converge on Jentic-routed access.
Credential isolation
Golioth API keys and Bearer tokens are stored encrypted in the Jentic vault (MAXsystem). Agents receive scoped access tokens — raw API keys never enter the agent's context window.
Intent-based discovery
Agents search by intent (e.g., 'push firmware update to IoT devices') and Jentic returns matching Golioth operations with their input schemas and path parameters, so the agent can manage devices without navigating project hierarchies manually.
Time to first call
Direct Golioth integration: 2-3 days for auth setup, project/device path resolution, and LightDB schema design. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Golioth API through Jentic.
Why is there no official OpenAPI spec for Golioth API?
Golioth does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Golioth API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Golioth API use?
The Golioth API supports two authentication methods: Bearer token (passed in the Authorization header) and API Key (passed in the x-api-key header). Project-scoped API keys are created via POST /v1/projects/{projectId}/apikeys. Through Jentic, these credentials are stored in the encrypted MAXsystem vault and agents receive scoped access without handling raw keys.
Can I invoke a remote command on a specific device?
Yes. Send a POST request to /v1/projects/{projectId}/devices/{deviceId}/rpc with the method name and parameters in the request body. The device must have a registered RPC handler for the specified method in its firmware. The endpoint returns the device's response payload synchronously if the device is online.
How do I read and write device state through Jentic?
Search Jentic for 'read IoT device state from LightDB' to discover the GET /v1/projects/{projectId}/devices/{deviceId}/data/{path} endpoint. Specify any JSON path to read or write structured state data. PUT replaces the value at a path, PATCH merges with existing data, and DELETE removes a path. This enables digital twin patterns without custom infrastructure.
How do OTA firmware releases work in the Golioth API?
First upload a firmware binary via POST /v1/artifacts, then create a release with POST /v1/projects/{projectId}/releases linking the artifact to target devices by blueprint or tag. Devices check for pending releases and download artifacts automatically. Monitor rollout progress via GET /v1/projects/{projectId}/firmware/logs.
Can I route device telemetry to external services?
Yes. Create an integration via POST /v1/projects/{projectId}/integrations specifying the destination (webhook URL, cloud provider, or database). Validate the configuration with POST /v1/projects/{projectId}/integrations/validate before saving, and test with POST /v1/projects/{projectId}/integrations/{integrationId}/test to confirm data flows correctly.
/v1/projects/{projectId}/devices/{deviceId}/stream
Get device telemetry stream data
/v1/projects/{projectId}/integrations
Create a data routing integration
/v1/projects/{projectId}/devices
Provision a new device in a project