Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the brainergy, 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%2Fmserver.io%2Fmserver" | 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%2Fmserver.io%2Fmserver" | 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 brainergy API.
Pull aggregated measurement, schedule, or forecast time series for an energy system between periodStart and periodEnd at a chosen periodInterval
Submit new time series values for named channels such as grid power or PV output on one energy system
Report anomalies on a channel with begin and end timestamps and a percent value
Read key-value model parameters for components such as electric storage on an energy system
GET STARTED
Check whether the brainergy service is running or unavailable
Patterns agents use brainergy API for, with concrete tasks.
★ AI energy-ops agent comparing schedule with measurement
An AI agent monitoring a site needs to know whether grid import is tracking the optimised schedule. Through Jentic the agent searches for 'pull time series for an energy system', loads the brainergy pull operation with its input schema, and requests both the measurement and schedule groups for the same grid channel over a period. It then reports where the measured values drift from the plan, with the bearer token injected at call time.
Call POST /pullTimeseries/{systemId} with periodStart, periodEnd, periodInterval=1h, and timeSeries entries for the measurement and schedule groups of electricPowerGrid-1.electricPowerMinus-1, then flag hours where they differ
Uploading metered readings to the optimiser
A site gateway collects grid and PV readings and needs them in brainergy so the optimiser works from current data. The push route accepts a set of named series, each with a group, a name, and a map of timestamp to value, for one system id, so the gateway can send import, export, and generation together in one call.
Call POST /pushTimeseries/{systemId} with a timeSeries array holding measurement values for electricPowerGrid-1.electricPowerMinus-1 and pv-1.electricPowerPlus-1
Flagging anomalies for review
When a detector spots a channel behaving oddly, such as a grid meter dropping to zero, it records the window and severity in brainergy. Each anomaly carries the channel name, begin and end timestamps, and a percent value, and several anomalies can be submitted for one system in a single request.
Call POST /pushAnomalies/{systemId} with an anomalies entry for electricPowerGrid-1.electricPowerMinus-1 from 14:00 to 14:01 UTC at 50 percent
5 endpoints — the brainergy api exchanges energy-system data between multiserver and the brainergy optimisation service, keyed by a system id in the url path.
METHOD
PATH
DESCRIPTION
/pullTimeseries/{systemId}
Retrieve aggregated time series for a system
/pushTimeseries/{systemId}
Submit time series data for a system
/pushAnomalies/{systemId}
Submit anomalies for a system
/parameters/{systemId}
Retrieve model parameters for a system
/health
Check service health
/pullTimeseries/{systemId}
Retrieve aggregated time series for a system
/pushTimeseries/{systemId}
Submit time series data for a system
/pushAnomalies/{systemId}
Submit anomalies for a system
/parameters/{systemId}
Retrieve model parameters for a system
/health
Check service health
What agents get from Jentic-routed access to this vendor.
Setup
Wiring brainergy by hand means attaching a bearer token, building systemId paths, and assembling timeSeries payloads with group and channel names in the exact shape the optimiser expects. Through Jentic you install once, import brainergy from the API Directory, store the token once, and your agent calls it.
Permission scoping
brainergy puts the system id in the URL path on every data route, such as /pullTimeseries/{systemId}, so a rule can pin your agent to one energy system and the operations you pick. Read-only routes can be allowed while the push routes for time series and anomalies are not included unless you add them.
Credential isolation
Your brainergy bearer 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 'pull time series for an energy system' or 'report an energy anomaly', and Jentic returns the matching brainergy operation with its input schema, including the required period and timeSeries fields, so the agent builds a valid request.
Alternatives and complements available in the Jentic catalogue.
Specific to using brainergy API through Jentic.
What authentication does the brainergy API use?
Per its OpenAPI spec, the brainergy API uses HTTP bearer authentication, declared on all five operations including the health check, with the token sent as Authorization: Bearer. Through Jentic the token is held by your own instance and attached when each call runs, so the agent never sees it.
Can I pull forecasts and measurements in one request with the brainergy API?
Yes. POST /pullTimeseries/{systemId} takes a required periodStart, periodEnd, periodInterval, and a timeSeries array, and each entry names a group such as measurement, schedule, or forecast plus a channel name. The response returns one series per entry with a map of timestamps to values.
What are the rate limits for the brainergy API?
The OpenAPI spec does not specify rate limits. The spec is published on SwaggerHub at https://api.swaggerhub.com/apis/RENESTEINERAT1/brainergy/0.2.0, so check with the Multiserver operator of your instance for current limits.
How do I push meter readings to brainergy through Jentic?
Search Jentic for 'submit time series for an energy system', load the POST /pushTimeseries/{systemId} operation, and execute it with the system id and a timeSeries array of named series and timestamp-value maps. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Can I limit what my agent is allowed to do with the brainergy API?
Yes. Write a rule that allows only the pull time series and model parameters operations for one systemId, such as system 42, and the agent can read that site's series and parameters but cannot push data or anomalies, or reach another system. Every call it makes is logged.
Which host does the brainergy API use?
The spec declares a single server, https://schulung.mserver.io/brainergy/v1, which is a training host. A production Multiserver deployment may expose brainergy on a different host, so confirm the base URL with your operator.
Know of an official OpenAPI document? Contribute it →
For Agents
Pull and push measurement, schedule, and forecast time series for an energy system, submit anomalies, and read model parameters through the brainergy API.
Use for: Get the grid power measurements for system 42 over the last hour, Retrieve the demand forecast for an energy system, Submit new PV output readings for a system, I want to report an anomaly on a grid channel
Not supported: Does not control devices, run the optimisation itself, or bill energy usage. Use for exchanging time series, anomalies, and model parameters for an energy system only.
The brainergy API exchanges energy-system data between Multiserver and the brainergy optimisation service, keyed by a system id in the URL path. Clients pull aggregated time series for a period and interval, choosing measurement, schedule, or forecast groups for named channels such as grid import and export, demand, or PV output. They push new time series and detected anomalies back for the same system, and read the key-value model parameters that describe components like electric storage. A health route reports whether the service is running.
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>