Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Smart Device Management 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%2Fgoogleapis.com%2Fsmartdevicemanagement" | 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%2Fgoogleapis.com%2Fsmartdevicemanagement" | 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 Smart Device Management API.
List every Nest device a user has authorised under a Device Access enterprise
Retrieve a single device's current traits - thermostat mode, setpoint, humidity, online status
Execute a typed command against a device, such as setting the thermostat to heat at 21°C
GET STARTED
For Agents
Read traits and execute commands on a user's Nest thermostats, cameras, and doorbells. List devices under an enterprise and inspect their parent structures and rooms.
Use for: I want to set my Nest thermostat to a specific temperature, Get the current state of all Nest devices in my home, List all rooms in a Nest structure, Check whether the front door Nest camera is online
Not supported: Does not handle device pairing, Wi-Fi setup, firmware updates, or non-Nest smart-home brands - use for reading and commanding already-authorised Nest devices only.
The Smart Device Management API gives developers and AI agents programmatic access to a Google account holder's Nest devices and the structures and rooms they belong to. It exposes operations to list devices under a user enterprise, retrieve a device's current traits (such as thermostat setpoints, camera images, and doorbell events), and execute commands like setting a target temperature mode. Authorisation is obtained through Device Access partner enrolment plus a per-user OAuth consent flow, after which devices appear under the authorising user's enterprise.
List the structures (homes) the user has shared with the integration
List rooms within a structure to scope device control by location
Patterns agents use Smart Device Management API for, with concrete tasks.
★ Voice Assistant Thermostat Control
Wire a custom voice assistant to adjust a user's Nest thermostat by name. The assistant lists structures and rooms to map 'the bedroom' to a device resource, then executes the SetHeat command with the requested temperature. The Smart Device Management API returns the updated trait state so the assistant can confirm the change spoken-back to the user.
List devices under enterprises/abc123, find the device with displayName 'Bedroom Thermostat', then execute sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat with heatCelsius=20.
Home Status Dashboard
Build an at-a-glance dashboard that shows the current temperature, mode, and online status of every Nest thermostat and camera in a household. The integration polls the devices.list endpoint and surfaces traits like ThermostatTemperatureSetpoint and Connectivity, refreshing every few minutes. Useful for property managers monitoring multiple homes.
List all devices under the enterprise, then for each thermostat retrieve traits and render mode, ambientTemperatureCelsius, and Connectivity.status.
Energy-Saving Automation
Run a scheduled automation that lowers the heating setpoint when the user is away. The agent reads the current thermostat trait to decide whether action is needed, then issues a SetHeat command via the executeCommand endpoint. Because each command response confirms the new trait state, the automation can verify the change took effect before logging.
Get device enterprises/abc/devices/xyz, then call executeCommand with sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat heatCelsius=16.
AI Agent Smart Home Control
An AI agent receives a natural-language instruction like 'turn the heating down by 2 degrees in the living room' and resolves it into a Smart Device Management command. Through Jentic, the agent discovers the executeCommand operation, loads the command schema, then issues the call with the resolved device resource and temperature delta.
Search Jentic for 'set a Nest thermostat temperature', load executeCommand, then execute with the resolved device resource and the SetHeat command body.
5 endpoints — the smart device management api gives developers and ai agents programmatic access to a google account holder's nest devices and the structures and rooms they belong to.
METHOD
PATH
DESCRIPTION
/v1/{+parent}/devices
List Nest devices under an enterprise
/v1/{+name}
Retrieve a device, structure, or room by resource name
/v1/{+name}:executeCommand
Execute a typed command against a device
/v1/{+parent}/structures
List structures (homes) shared with the integration
/v1/{+parent}/rooms
List rooms within a structure
/v1/{+parent}/devices
List Nest devices under an enterprise
/v1/{+name}
Retrieve a device, structure, or room by resource name
/v1/{+name}:executeCommand
Execute a typed command against a device
/v1/{+parent}/structures
List structures (homes) shared with the integration
/v1/{+parent}/rooms
List rooms within a structure
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Google Smart Device Management API by hand means registering a Device Access partner OAuth client, walking each user through consent, and refreshing access tokens against smartdevicemanagement.googleapis.com yourself. Through Jentic you install once, import the Smart Device Management API from the API Directory, store the OAuth credential once, and your agent calls it.
Permission scoping
Smart Device Management puts the device or structure in the URL path (/v1/{name}:executeCommand), so a rule can pin your agent to one enterprise or device: it can read device state and list structures and nothing else. You choose the operations it may call, so executeCommand is not included unless you add it.
Credential isolation
Your Device Access partner OAuth credential 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 'set a Nest thermostat temperature' or 'list smart devices in a home', and Jentic returns the matching Smart Device Management operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Smart Device Management API through Jentic.
What authentication does the Smart Device Management API use?
The Smart Device Management API uses OAuth 2.0 layered on top of Google's Device Access program - developers must enrol as a Device Access partner before any user OAuth consent is possible. Through Jentic, the partner OAuth tokens are stored in your Jentic One instance and exchanged for short-lived access tokens on each call.
Can I control a user's Nest thermostat with the Smart Device Management API?
Yes. POST /v1/{+name}:executeCommand accepts typed commands such as sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat or SetCool, which adjust the heating or cooling setpoint on a thermostat device that the user has authorised.
What are the rate limits for the Smart Device Management API?
Google's Device Access program enforces a low quota by design - a few queries per minute per device for trait reads and commands - to protect end-user devices. Agents should cache trait values locally and only execute commands in response to user intent rather than polling aggressively.
How do I send a thermostat command through Jentic?
Search Jentic for 'set a Nest thermostat temperature', load the executeCommand schema, and execute against the device resource POST /v1/{+name}:executeCommand with a command body identifying SetHeat or SetCool and the target temperature in Celsius.
Is the Smart Device Management API free?
The API itself has no per-call charge, but Google's Device Access program requires a one-time partner registration fee per developer to obtain a Project ID for production use. Sandbox testing on a single account is supported during development.
Which Nest devices does the Smart Device Management API support?
The API exposes Nest thermostats, Nest cameras, and Nest doorbells through device traits like ThermostatTemperatureSetpoint, ThermostatMode, CameraImage, and DoorbellChime. Older Works-with-Nest integrations are not supported - only devices visible to the modern Device Access program.