canonical: https://jentic.com/apis/ijenko.net/ijenko

# Ijenko IoE2 IoT API

The Ijenko IoE2 IoT API powers end-user IoT applications across smart energy, home automation, and connected devices. The /v3 surface exposes operations to manage accounts, places, users, devices, gateways, sensors, and metadata, plus historical sensor data, scenarios, and notifications. Authentication is via an Access-Token header or query parameter. The API is suited for utility companies, energy managers, and home automation providers that orchestrate large fleets of connected gateways and sensors.

## For AI agents

Manage IoT accounts, places, users, devices, gateways, and sensor data for smart-home and energy management applications.

## Scope

Does not handle utility billing, payment processing, or low-level device firmware updates - use for IoT account, place, user, and sensor data management only.

## Capabilities

- List, create, and revoke account-level access tokens via `/account/tokens`
- Manage places (homes, sites) under an account via `/account/places`
- Create, update, and delete users associated with the account
- Configure user metadata and place metadata as structured key-value pairs
- Read sensor and device telemetry from gateways linked to a place
- Change account passwords and manage account credentials

## Use cases

### Smart Energy Management Portal

Power a utility-branded portal that lets households see real-time energy consumption from gateway-connected meters and sensors. The `/account/places` endpoints register each home, `/account/users` manages the household members with portal access, and the device and sensor endpoints pull telemetry for charts and bill-saving recommendations.

Example prompt: List the user's places via GET `/account/places`, then read the latest electricity sensor reading from each place's primary gateway.

### Multi-Tenant IoT Account Management

Manage multi-tenant IoT deployments where each customer has their own account, places, and users. Operations on `/account/users` and `/account/tokens` let an admin onboard and offboard accounts, rotate access tokens for security, and propagate metadata changes across the linked places without touching the underlying device fleet.

Example prompt: Rotate the access token for a customer account by listing tokens, deleting the current one, and triggering creation of a new token.

### Home Automation Backend

Build a home automation backend that ties places, users, and connected devices together. The API provides the canonical model - places contain gateways, gateways contain sensors and actuators - so an agent or app can render a coherent room-by-room view and dispatch commands or read telemetry.

Example prompt: Walk the place-gateway-sensor hierarchy for a household and produce a dashboard summary.

### AI Agent Energy Coach

An AI agent acts as an energy coach: it pulls sensor history for a household via Ijenko, identifies high-usage periods, and recommends behaviour changes. Through Jentic, the agent finds the right Ijenko endpoints from a single intent search, with the access token kept in the vault.

Example prompt: Use Jentic to call GET `/account/places`, retrieve sensor data for the user's home, and produce a 3-tip energy-saving summary.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/account/places` | List places under the account |
| POST | `/account/places` | Create a new place |
| GET | `/account/users` | List users under the account |
| POST | `/account/users` | Create a new user |
| GET | `/account/tokens` | List active access tokens |
| DELETE | `/account/tokens/{tokenId}` | Revoke an access token |
| POST | `/account/change-password` | Change the account password |
| PATCH | `/account/users/{userId}/metadata` | Modify user metadata |

## Key resources

- **Account** — Manage account credentials, password, and access tokens.
- **Places** — Register and manage homes or sites under the account.
- **Users** — Create, update, and delete users associated with the account.
- **Tokens** — List and revoke active access tokens.
- **Metadata** — Read and modify structured metadata on users and places.

## Why Jentic

- **Setup:** Wiring the IoE2 IoT API by hand means passing its access token in either an Access-Token header or a query parameter and covering the account, place, user, and sensor endpoints yourself. Through Jentic you install once, import the IoE2 IoT API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** IoE2 puts resource ids in the URL path (`/account/users/{userId}/metadata`, `/account/tokens/{tokenId}`), so a rule can pin your agent to one user or token. You choose the operations it may call, so destructive ones like deleting a token or changing a password are not included unless you add them.
- **Credential handling:** Your IoE2 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 'list IoT places' or 'read sensor data', and Jentic returns the matching IoE2 operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Enphase Energy API** — Enphase exposes solar and battery telemetry for residential energy systems.
- **Honeywell Home API** — Honeywell Home is a smart-thermostat and home-device API alternative.
- **Twilio API** — Twilio sends SMS or voice alerts when sensor thresholds are breached.

## FAQ

### What authentication does the Ijenko IoE2 IoT API use?

Ijenko uses an API key passed in the Access-Token header or as a query parameter. Through Jentic, the token is held in the vault and injected at execution time, so the agent never sees the raw secret.

### Can I manage multiple homes or sites under one account?

Yes. GET `/account/places` lists every place under the account and POST `/account/places` creates a new one. Each place is the container for connected gateways, sensors, and devices.

### How do I rotate access tokens for an Ijenko account?

List active tokens with GET `/account/tokens`, revoke an old one with DELETE `/account/tokens/{tokenId}`, and request a new token through the account credential flow. Rotate periodically to reduce blast radius if a token leaks.

### What are the rate limits for the Ijenko API?

Rate limits are not declared in the OpenAPI spec; Ijenko enforces plan-tier throttles per account. Handle 429 with exponential backoff and contact support for production quotas.

### Can I store custom metadata on users or places?

Yes. PATCH `/account/users/{userId}/metadata` and the equivalent place-metadata endpoints accept structured key-value pairs that the application can use to track tags, segments, or external IDs.

### How do I pull sensor data through Jentic?

Run pip install jentic, search 'read sensor data from an iot device', load the relevant Ijenko sensor endpoint, and execute with the place and gateway IDs.

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

Yes. Because you run Jentic One yourself, your own rules decide which Ijenko operations and credentials the agent may use. Ijenko puts resource ids in the URL path, such as `/account/users/{userId}/metadata` and `/account/tokens/{tokenId}`, so a rule can pin the agent to a single user or token. You choose the operations it may call, so read-only work like listing places with GET `/account/places` or reading sensor data is allowed while destructive calls such as DELETE `/account/tokens/{tokenId}` or POST `/account/change-password` stay off unless you add them.
