canonical: https://jentic.com/apis/swaggerhub.bitcoinfinancier/home-iot-api

# Bitcoinfinancier home-iot-api

The API for the EatBacon IOT project. The API exposes 15 endpoints.

## For AI agents

Programmatically register, getdevices. Covers 15 operations.

## Scope

Does not handle payments, communications, or crm - use for iot and hardware only.

## Capabilities

- register
- getDevices
- setDimmer
- getSwitchState
- setSwitch

## Use cases

### IoT and Hardware Operations

Use the home-iot-api to perform iot operations programmatically. The API provides 15 endpoints covering core functionality including register, getdevices, setdimmer.

Example prompt: Call POST /devices to register

### Automated Device Management

Automate device operations by combining multiple home-iot-api endpoints. Agents can getdevices and then setdimmer in a single workflow.

Example prompt: Call GET /devices to getdevices, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call home-iot-api endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle none tokens manually.

Example prompt: Search Jentic for 'register', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/devices` | register |
| GET | `/devices` | getDevices |
| POST | `/lighting/dimmers/{deviceId}/{value}` | setDimmer |
| POST | `/lighting/dimmers/{deviceId}/{value}/timer/{timeunit}` | setDimmerTimer |
| GET | `/lighting/switches/{deviceId}` | getSwitchState |
| POST | `/lighting/switches/{deviceId}/{value}` | setSwitch |
| POST | `/lighting/switches/{deviceId}/{value}/timer/{minutes}` | setSwitchTimer |
| GET | `/lightingSummary` | getLightingSummary |

## Key resources

- **Device** — Operations related to Device
- **Environment** — Operations related to Environment
- **Z-Wave** — Operations related to Z-Wave
- **Zones** — Operations related to Zones

## Why Jentic

- **Setup:** Wiring the home-iot-api by hand means standing up its device and lighting endpoints, tracking which deviceId maps to which switch or dimmer, and handling request retries yourself. Through Jentic you install once, import the home-iot-api from the API Directory, and your agent calls it without you writing that plumbing.
- **Permission scoping:** The API puts the deviceId in the URL path (`/lighting/switches/{deviceId}`, `/lighting/dimmers/{deviceId}/{value}`), so a rule can pin your agent to one device: it can read and set that device and nothing else. You choose the operations it may call, so registering new devices with POST /devices is not included unless you add it.
- **Credential handling:** This spec defines no authentication, so there is no credential to store. If you point it at a host that adds a key later, that key is stored once, encrypted, by your own Jentic One instance and injected at execution time, never entering the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'turn on a light switch' or 'dim a lighting device', and Jentic returns the matching home-iot-api operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Particle** — Alternative iot API
- **Stripe** — Complementary API for broader integration workflows
- **Twilio** — Complementary API for broader integration workflows

## FAQ

### What authentication does the home-iot-api use?

The home-iot-api uses no authentication. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I register with the home-iot-api?

Yes. Use the POST /devices endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the home-iot-api?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I register through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'register'. Jentic returns the matching home-iot-api operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the home-iot-api have?

The home-iot-api exposes 15 endpoints covering device, environment, z-wave operations.

### Can I limit what my agent is allowed to do with the Home IoT API?

Yes. Because you run Jentic One yourself, you set the rules that decide which operations and credentials the agent may use. This API puts the device in the URL path, as in GET `/lighting/switches/{deviceId}` and POST `/lighting/dimmers/{deviceId}/{value}`, so a rule can pin the agent to a single device and let it only read and set that one. You choose the operations it may call, so registering new devices with POST /devices stays off unless you add it.
