canonical: https://jentic.com/apis/api.neur.io/neurio

# Neur Neurio Energy API

Jentic publishes the only available OpenAPI specification for Neurio Energy API, keeping it validated and agent-ready. The Neurio Energy API exposes whole-home energy monitoring data captured by Neurio sensors, including live power samples, historical consumption series, and per-appliance disaggregation events. Agents can list detected appliances, pull individual usage statistics, and stream live or last-known sample readings to drive dashboards, alerts, or automation logic. Authentication uses OAuth 2.0 with an authorize and token exchange flow, giving applications scoped access to a specific user's location data.

## For AI agents

Read live and historical home energy usage from Neurio sensors and inspect per-appliance consumption events, with OAuth-scoped access to a user's location.

## Scope

Does not handle utility billing, solar inverter telemetry, or HVAC control - use for reading Neurio sensor energy data only.

## Capabilities

- Stream live power samples from a Neurio sensor in near real time via `/samples/live`
- Pull historical consumption series for a location with /samples and granularity controls
- List detected household appliances and inspect each one with /appliances and `/appliances/{id}`
- Aggregate per-appliance runtime and energy use with `/appliances/stats`
- Retrieve discrete on/off events for individual appliances via `/appliances/events`
- Authorize an end user with the OAuth 2.0 flow and exchange a code for an access token

## Use cases

### Live Whole-Home Energy Dashboard

Display real-time household power consumption by polling `/samples/live` or fetching the most recent reading from `/samples/live/last.` The Neurio sensor reports total wattage at sub-minute resolution, letting an agent or dashboard show instantaneous load and surface anomalies as they happen. Suitable for personal energy dashboards or building automation that reacts to load changes within seconds.

Example prompt: Call GET `/samples/live/last` for the user's sensor, return the most recent power reading in watts, and flag if it exceeds 5000W.

### Appliance-Level Disaggregation Reporting

Identify which appliances are driving energy use by listing detected appliances with /appliances, summarising runtime and consumption with `/appliances/stats`, and inspecting individual on/off events from `/appliances/events.` This supports utility-style breakdowns that show how much each major appliance contributes to the bill, without installing per-circuit meters.

Example prompt: List all appliances for the location, fetch `/appliances/stats` for the last 30 days, and return the top three appliances by total kWh.

### Historical Consumption Analytics

Pull aggregated power samples over arbitrary time windows from /samples to feed analytics, billing models, or carbon accounting workflows. Granularity and date range parameters allow downsampling to hourly or daily buckets for monthly reports without overloading the client. Time series can be exported as JSON for downstream charts or stored for trend analysis.

Example prompt: Fetch /samples with start and end timestamps covering the last calendar month, downsample to daily totals, and produce a kWh-per-day series.

### AI Agent Energy Assistant via Jentic

Build an AI assistant that answers natural-language questions about a user's energy use, such as 'how much did the dryer use last week' or 'is anything unusual running right now'. Jentic returns the right Neurio operation for each intent so the agent does not need to memorise endpoint paths, and credentials stay in your Jentic One instance rather than in the prompt.

Example prompt: Search Jentic for 'get appliance usage statistics', load the Neurio `/appliances/stats` schema, execute it for the user's location, and summarise the top consumers.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/samples/live` | Stream live power samples |
| GET | `/samples/live/last` | Get the most recent live sample |
| GET | `/samples` | Query historical samples over a time range |
| GET | `/appliances` | List detected appliances for a location |
| GET | `/appliances/{id}` | Retrieve a single appliance |
| GET | `/appliances/stats` | Aggregate runtime and energy stats per appliance |
| GET | `/appliances/events` | List on/off events for appliances |
| POST | `/oauth2/token` | Exchange an authorization code for an access token |

## Key resources

- **Samples** — Live and historical whole-home power samples from a Neurio sensor
- **Appliances** — Detected appliances with per-appliance stats and on/off events
- **OAuth** — Authorize endpoint and token exchange for user-scoped access
- **Status** — Health check for verifying API connectivity

## Why Jentic

- **Setup:** Wiring the Neurio Energy API by hand means running its OAuth2 token flow and coding your own reads of the samples and appliances endpoints. Through Jentic you install once, import the Neurio Energy API from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** Neurio puts the appliance id in the URL path (`/appliances/{id}`), and its sensor endpoints are read-only, so a rule can pin your agent to reading one appliance or to live samples only. You choose the operations it may call, so any beyond those you name are not included.
- **Credential handling:** Your Neurio 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.
- **Discovery method:** Agents search Jentic by intent such as 'read live energy samples' or 'get stats for an appliance', and Jentic returns the matching Neurio operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Ecobee API** — Smart thermostat data that pairs with whole-home energy readings
- **Enphase Energy API** — Solar production and consumption data from Enphase systems
- **Particle IoT API** — General-purpose IoT device platform for custom sensors

## FAQ

### Why is there no official OpenAPI spec for Neurio Energy API?

Neurio does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Neurio Energy API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Neurio Energy API use?

The Neurio Energy API uses OAuth 2.0. Clients direct users to `/oauth2/authorize`, then exchange the returned code at `/oauth2/token` for an access token. Through Jentic, the token is held in your Jentic One instance and injected into requests, so raw client secrets never enter the agent's prompt context.

### Can I get per-appliance energy usage with the Neurio Energy API?

Yes. /appliances lists devices the sensor has identified, `/appliances/stats` returns aggregated runtime and consumption per appliance, and `/appliances/events` returns the individual on/off events. Combined, they give an appliance-level breakdown without circuit-level metering.

### What are the rate limits for the Neurio Energy API?

The published spec does not declare rate limits, so production callers should treat the live samples endpoints as the most sensitive and poll no faster than the sensor's reporting cadence. If a rate limit response is returned, retry with exponential backoff and consider caching the most recent `/samples/live/last` value.

### How do I retrieve live power readings through Jentic?

Search Jentic for 'get live home power reading', and Jentic returns the GET `/samples/live/last` operation with its input schema. Load it, supply the sensor identifier from the user's account, and execute through the Jentic SDK with `pip install jentic` to receive the latest sample.

### Is the Neurio Energy API free?

API access is tied to ownership of a Neurio sensor and an account on the Neurio platform. There is no separate paid tier exposed in the spec; usage limits follow the platform terms attached to the user's OAuth credentials.

### Can I limit what my agent is allowed to do with the Neurio Energy API?

Yes. Because Jentic One is self-hosted, you decide which Neurio operations your agent may call, and any you do not name are not available to it. Since the sensor endpoints are read-only and the appliance id sits in the URL path (`/appliances/{id}`), you can pin the agent to a single appliance or restrict it to live samples from `/samples/live/last` while blocking broader queries. Your own rules govern which operations and credentials the agent uses.
