canonical: https://jentic.com/apis/hubitat.com/hubitat

# Hubitat Maker API

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.

## For AI 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.

## Scope

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.

## Capabilities

- 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
- 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

## Use cases

### 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.

Example prompt: 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.

Example prompt: 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.

Example prompt: 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.

Example prompt: 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

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/devices` | List authorized devices |
| GET | `/devices/all` | List devices with full attribute details |
| GET | `/devices/{deviceId}` | Get a device's attributes and current values |
| GET | `/devices/{deviceId}/commands` | List commands a device supports |
| GET | `/devices/{deviceId}/{command}` | Send a command to a device |
| GET | `/devices/{deviceId}/{command}/{secondaryValue}` | Send a command with a value |
| GET | `/modes/{modeId}` | Set the hub mode |
| GET | `/hsm/{command}` | Set the Home Security Monitor state |

## Key resources

- **Devices** — Maker API authorized devices with attributes, current values, supported commands, and recent events
- **Commands** — Device actions sent by URL, with or without a secondary value such as a level or color temperature
- **Modes** — Hub modes such as Home, Away, and Night that can be listed and activated
- **Home Security Monitor** — HSM arm status and arm or disarm commands

## AI readiness

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.

- **Score:** 48 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 85 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 50 / 100
  - Agent Usability: 94 / 100
  - Security: 15 / 100
  - AI Discoverability: 81 / 100
- **View full report:** https://jentic.com/apis/hubitat.com/hubitat/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **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 handling:** 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.
- **Discovery method:** 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.

## Related APIs

- **Hue CLIP API** — Local REST control of Philips Hue lights through the Hue Bridge
- **LIFX HTTP API** — Cloud control of LIFX Wi-Fi bulbs
- **ecobee API** — Thermostat schedules, comfort settings, and sensor readings for ecobee devices
- **Honeywell Home API** — Cloud control of Honeywell Home thermostats and devices

## FAQ

### 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.
