Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Hubitat Maker 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%2Fhubitat.com%2Fhubitat" | 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%2Fhubitat.com%2Fhubitat" | 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 Hubitat Maker API.
List every device authorized in the Maker API app, or pull all of them with full attribute values in one call
Read a single device's current attributes and the commands it supports before acting on it
Send device commands such as on, off, toggle, lock, or unlock by device id
Send commands that take a value, such as setLevel to 50 or setColorTemperature to 3500
GET STARTED
Review a device's recent events to confirm a state change happened
List the hub's modes and switch the hub to a mode such as Away or Night
Read Home Security Monitor status and send arm states like armAway, armHome, or disarm
Patterns agents use Hubitat Maker API for, with concrete tasks.
★ Agent-driven smart home control through Jentic
A developer's agent controls a Hubitat Elevation hub through Jentic. The agent searches by intent, for example 'turn on a light', gets the Maker API command operation with its input schema, and calls it with the device id and command. The Maker API access token is injected by the developer's own Jentic One instance, and a rule can confine the agent to the device ids and commands the developer chooses.
Search Jentic for 'turn on a light', call GET /devices/{deviceId}/{command} with deviceId 12 and command on, then call GET /devices/{deviceId} to confirm the switch attribute now reads on
Dim and adjust lighting scenes
Set brightness and color temperature across Hubitat-connected bulbs and dimmers by sending value-carrying commands. The Maker API takes the value as a path segment, so setLevel/50 or setColorTemperature/3500 is a single call per device, and the device detail call returns the resulting level so the agent can confirm the change.
For device ids 21 and 22, call GET /devices/{deviceId}/{command}/{secondaryValue} with command setLevel and value 40, then read each device to confirm the level attribute is 40
Leaving-home routine with modes and HSM
When the household leaves, switch the hub to its Away mode and arm Home Security Monitor. The agent lists the hub's modes to find the Away mode id, sets it, and then sends the armAway HSM command, reading HSM status afterwards to confirm the arm state took effect.
Call GET /modes to find the mode named Away, call GET /modes/{modeId} with that id, then call GET /hsm/{command} with armAway and confirm the new state with GET /hsm
Device state audit
Check the state of locks, contact sensors, and switches across the house before bed. The all-devices call returns every authorized device with its current attribute values in one response, and per-device event history shows when a door was last opened or a lock last changed.
Call GET /devices/all, report every lock whose lock attribute is not locked, and pull GET /devices/{deviceId}/events for each one to show when it last changed
11 endpoints — jentic publishes the only available openapi specification for hubitat maker api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/devices
List authorized devices
/devices/all
List devices with full attribute details
/devices/{deviceId}
Get a device's attributes and current values
/devices/{deviceId}/commands
List commands a device supports
/devices/{deviceId}/{command}
Send a command to a device
/devices/{deviceId}/{command}/{secondaryValue}
Send a command with a value
/modes/{modeId}
Set the hub mode
/hsm/{command}
Set the Home Security Monitor state
/devices
List authorized devices
/devices/all
List devices with full attribute details
/devices/{deviceId}
Get a device's attributes and current values
/devices/{deviceId}/commands
List commands a device supports
/devices/{deviceId}/{command}
Send a command to a device
/devices/{deviceId}/{command}/{secondaryValue}
Send a command with a value
/modes/{modeId}
Set the hub mode
/hsm/{command}
Set the Home Security Monitor state
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Hubitat Maker API by hand means building the cloud URL with your hub ID and Maker API app ID, appending the `access_token` query parameter to every request, and remembering that commands are sent as GET calls with the command in the path. Through Jentic you install once, import the Hubitat Maker API from the API Directory, store the token once, and your agent calls it.
Permission scoping
Hubitat puts the device id and the command in the URL path (/devices/{deviceId}/{command}), so a rule can pin your agent to specific devices and specific commands on them. You choose the operations it may call, so mode changes and HSM commands such as disarm are not included unless you add them.
Credential isolation
Your Maker API access 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 'turn off a light' or 'set the hub to away', and Jentic returns the matching Hubitat Maker API 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 Hubitat Maker API through Jentic.
Why is there no official OpenAPI spec for Hubitat Maker API?
Hubitat does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Hubitat Maker API via structured tooling. It is validated against the live API and kept up to date. To run it on your own infrastructure, install Jentic One from its GitHub repo.
What authentication does the Hubitat Maker API use?
Per its OpenAPI spec, the Hubitat Maker API authenticates with an API key passed as the `access_token` query parameter, generated in the Maker API app configuration on your hub. The cloud base URL also carries your hub ID and Maker API app ID. Through Jentic the token is stored encrypted by your own Jentic One instance and added to each call at execution time, so it does not sit in your agent's prompt.
Can I send dimmer and color commands with the Hubitat Maker API?
Yes. Value-carrying commands use the secondary value path segment: GET /devices/{deviceId}/{command}/{secondaryValue} with, for example, setLevel and 50 or setColorTemperature and 3500. Call GET /devices/{deviceId}/commands first to see which commands a given device supports, since a plain switch will not accept setLevel.
What are the rate limits for the Hubitat Maker API?
The OpenAPI spec does not specify rate limits. Check Hubitat's Maker API documentation at https://docs2.hubitat.com/en/apps/maker-api for current guidance, and keep in mind that the hub itself processes every command.
How do I arm Home Security Monitor with the Hubitat Maker API through Jentic?
Search Jentic for 'arm home security' to find GET /hsm/{command}, then call it with a command from the spec such as armAway, armHome, armNight, or disarm, and read the result back with GET /hsm. To run it on your own machine, install Jentic One, add the Hubitat Maker API from the directory, and store your access token once.
Is there a Hubitat MCP server?
You don't need an MCP server to give your agent the Hubitat Maker API. Jentic connects it directly from the API Directory: import it, store your access token once, and your agent calls the operations you allow. You run nothing extra alongside your agent, and no tool definitions are loaded into the agent's context until it actually searches for a Hubitat operation.
Can I limit what my agent is allowed to do with the Hubitat Maker API?
Yes. For example, write a rule that allows only GET /devices/{deviceId} and GET /devices/{deviceId}/{command} for device 12, so the agent can read and switch that one light and cannot change modes, touch HSM, or command any other device. Every call it makes is logged by your Jentic One instance.
Know of an official OpenAPI document? Contribute it →
For Agents
List and inspect the devices authorized on a Hubitat Elevation hub, send device commands like on, off, or setLevel, switch hub modes, and arm or disarm Home Security Monitor.
Use for: Turn off the kitchen lights on my Hubitat hub, Set the living room dimmer to 30 percent, Check whether the front door lock is locked, List all devices my Maker API app can control
Not supported: Does not handle hub firmware updates, device pairing or inclusion, or authoring Rule Machine automations. Use for controlling and reading Maker API authorized devices, hub modes, and HSM state only.
Jentic publishes the only available OpenAPI specification for Hubitat Maker API, keeping it validated and agent-ready. The Hubitat Maker API exposes the devices on a Hubitat Elevation smart home hub over simple URL-based REST calls, so you can list devices, read their current attribute values and recent events, and send commands such as on, off, setLevel, lock, or unlock. It also reads and switches the hub's modes (for example Home, Away, Night) and reads or sets the Home Security Monitor arm state. Only the devices you select in the Maker API app configuration are reachable through it.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>