Powernaut Getting Forecasts API
You can retrieve forecasts to help plan your flexibility offerings and understand expected power consumption or production patterns. See the [guide](/guides/connect/forecasting/getting-forecasts) for more information.
You can retrieve forecasts to help plan your flexibility offerings and understand expected power consumption or production patterns. See the [guide](/guides/connect/forecasting/getting-forecasts) for more information.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/powernaut-getting-forecasts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Powernaut Getting Forecasts API
description: '# Getting Started
Welcome to the Powernaut API Reference!'
version: 1.0.0
contact:
name: Powernaut Support
url: https://powernaut.io
email: support@powernaut.io
license:
name: Creative Commons Attribution-ShareAlike 4.0 International
url: https://creativecommons.org/licenses/by-sa/4.0/
servers:
- url: https://api.sandbox.powernaut.io
description: Sandbox
- url: https://api.powernaut.io
description: Production
tags:
- name: getting_forecasts
description: 'You can retrieve forecasts to help plan your flexibility offerings and understand expected power consumption or production patterns.
See the guide for more information.'
x-displayName: Getting forecasts
paths:
/v1/connect/sites/{id}/forecast:
get:
operationId: GetForecastForSite
parameters:
- name: id
required: true
in: path
description: Identifier of the site (UUID format).
schema:
type: string
format: uuid
- name: start
required: true
in: query
description: 'Start of window (ISO 8601). Must be a perfect quarter hour without seconds or milliseconds precision.
**Note**: To avoid timezone issues, we perform an additional check for the presence of timezone information. You should always include either UTC with `Z`, or an offset like `+01:00`.'
schema:
example: '2024-07-01T14:00:00Z'
type: string
- name: amount
required: true
in: query
description: The number of forecast data points to retrieve.
schema:
type: number
- name: granularity
required: true
in: query
description: 'The granularity to fetch the forecast for, i.e. the time length of each element.
Only 15-minute granularity is supported.
The expected format is <a href="https://en.wikipedia.org/wiki/ISO_8601#Durations" target="_blank">ISO8601</a>.'
schema:
example: PT15M
type: string
- name: signal
required: true
in: query
schema:
enum:
- net-meter
- baseload
type: string
responses:
'200':
description: An array of forecast data points.
content:
application/json:
schema:
$ref: '#/components/schemas/ForecastDto'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestExceptionDto'
'401':
description: Not authorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedExceptionDto'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenExceptionDto'
'404':
description: Forecast not found for this site.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundDto_Rm9yZWNhc3Qgbm90IGZvdW5kIGZvciB0aGlzIHNpdGUu'
security:
- cloud-cloud: []
summary: Retrieve forecasted signals for a specific site
tags:
- getting_forecasts
/v1/connect/resources/{id}/forecast:
get:
operationId: GetForecastForResource
parameters:
- name: id
required: true
in: path
description: Identifier of the resource (UUID format).
schema:
type: string
format: uuid
- name: start
required: true
in: query
description: 'Start of window (ISO 8601). Must be a perfect quarter hour without seconds or milliseconds precision.
**Note**: To avoid timezone issues, we perform an additional check for the presence of timezone information. You should always include either UTC with `Z`, or an offset like `+01:00`.'
schema:
example: '2024-07-01T14:00:00Z'
type: string
- name: amount
required: true
in: query
description: The number of forecast data points to retrieve.
schema:
type: number
- name: granularity
required: true
in: query
description: 'The granularity to fetch the forecast for, i.e. the time length of each element.
Only 15-minute granularity is supported.
The expected format is <a href="https://en.wikipedia.org/wiki/ISO_8601#Durations" target="_blank">ISO8601</a>.'
schema:
example: PT15M
type: string
- name: signal
required: true
in: query
schema:
enum:
- net-resource
type: string
responses:
'200':
description: An array of forecast data points.
content:
application/json:
schema:
$ref: '#/components/schemas/ForecastDto'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestExceptionDto'
'401':
description: Not authorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedExceptionDto'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenExceptionDto'
'404':
description: Forecast not found for this resource.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundDto_Rm9yZWNhc3Qgbm90IGZvdW5kIGZvciB0aGlzIHJlc291cmNlLg'
security:
- edge-cloud: []
- cloud-cloud: []
summary: Retrieve forecasted signals for a specific resource
tags:
- getting_forecasts
components:
schemas:
NotFoundDto_Rm9yZWNhc3Qgbm90IGZvdW5kIGZvciB0aGlzIHNpdGUu:
type: object
properties:
message:
description: One or more specific error messages
oneOf:
- type: string
- type: array
items:
type: string
example: Forecast not found for this site.
error:
type: string
description: Not Found
example: Not Found
status_code:
type: number
description: '404'
example: 404
required:
- message
- error
- status_code
BadRequestExceptionDto:
type: object
properties:
message:
description: One or more specific error messages
oneOf:
- type: string
- type: array
items:
type: string
example:
- Invalid datetime
- Invalid page size
error:
type: string
description: Bad Request
example: Bad Request
status_code:
type: number
description: '400'
example: 400
required:
- message
- error
- status_code
ForecastElementDto:
type: object
properties:
start:
type: string
description: The start datetime of the forecast interval (ISO 8601 format).
format: date-time
end:
type: string
description: The end datetime of the forecast interval (ISO 8601 format).
format: date-time
value:
type:
- string
- 'null'
description: The forecasted value.
example: '123.456789'
unit:
type:
- string
- 'null'
description: The unit of the forecasted value.
enum:
- W
- Wh
- kW
- kWh
- MW
- MWh
- GW
- GWh
- '%'
- ''
example: kW
last_updated:
type:
- string
- 'null'
description: The datetime when the forecast was last updated at the time of the query (ISO 8601 format).
format: date-time
model_id:
type:
- string
- 'null'
description: The identifier of the model that was used to generate this forecasted value.
required:
- start
- end
- value
- unit
- last_updated
- model_id
ForbiddenExceptionDto:
type: object
properties:
message:
description: One or more specific error messages
oneOf:
- type: string
- type: array
items:
type: string
example: Insufficient permissions
error:
type: string
description: Forbidden
example: Forbidden
status_code:
type: number
description: '403'
example: 403
required:
- message
- error
- status_code
UnauthorizedExceptionDto:
type: object
properties:
message:
description: One or more specific error messages
oneOf:
- type: string
- type: array
items:
type: string
example: Unauthorized
error:
type: string
description: Unauthorized
example: Unauthorized
status_code:
type: number
description: '401'
example: 401
required:
- message
- error
- status_code
NotFoundDto_Rm9yZWNhc3Qgbm90IGZvdW5kIGZvciB0aGlzIHJlc291cmNlLg:
type: object
properties:
message:
description: One or more specific error messages
oneOf:
- type: string
- type: array
items:
type: string
example: Forecast not found for this resource.
error:
type: string
description: Not Found
example: Not Found
status_code:
type: number
description: '404'
example: 404
required:
- message
- error
- status_code
ForecastDto:
type: object
properties:
data:
description: List of forecast elements, one for each granularity requested. This will always contain the requested `amount` of elements.
minItems: 1
type: array
items:
$ref: '#/components/schemas/ForecastElementDto'
required:
- data
securitySchemes:
cloud-cloud:
scheme: bearer
bearerFormat: JWT
type: http
description: A bearer token obtained from the token endpoint.
token:
type: http
scheme: basic
description: Your client id and secret to obtain a bearer token for cloud-cloud authentication.
edge-cloud:
type: http
scheme: basic
description: Basic credentials used for edge-cloud authentication. They can be obtained when creating a site.
x-tagGroups:
- name: Authentication
tags:
- authentication
- name: Managing resources
tags:
- sites
- resources
- name: Markets
tags:
- markets
- name: Reporting flexibility
tags:
- baselining
- creating_bids
- metrics
- name: Activating flexibility
tags:
- accepting_bids
- name: Managing bids
tags:
- managing_bids
- name: Forecasting
tags:
- getting_forecasts
- uploading_forecasts
- events
- name: Sensor data
tags:
- sensor_data
- name: Historical Data
tags:
- historical_data