curl --request POST \
--url https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"delivery_day": "2026-09-01",
"series": [
{
"control_area": "TenneT",
"kind": "production",
"values": [
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.6,
0.7,
0.8,
0.9,
1,
1.1,
1.2,
1.3,
1.4,
1.5,
1.6,
1.7,
1.8,
1.9,
2,
2.1,
2.2,
2.3,
2.4,
2.5,
2.6,
2.7,
2.8,
2.9,
3,
3.1,
3.2,
3.3,
3.2,
3.1,
3,
2.9,
2.8,
2.7,
2.6,
2.5,
2.4,
2.3,
2.2,
2.1,
2,
1.9,
1.8,
1.7,
1.6,
1.5,
1.4,
1.3,
1.2,
1.1,
1,
0.9,
0.8,
0.7,
0.6,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5
]
},
{
"control_area": "TenneT",
"kind": "consumption",
"values": [
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.23,
1.26,
1.29,
1.32,
1.35,
1.38,
1.41,
1.44,
1.47,
1.5,
1.53,
1.56,
1.59,
1.62,
1.65,
1.68,
1.71,
1.74,
1.77,
1.8,
1.77,
1.74,
1.71,
1.68,
1.65,
1.62,
1.59,
1.56,
1.53,
1.5,
1.47,
1.44,
1.41,
1.38,
1.35,
1.32,
1.29,
1.26,
1.23,
1.2,
1.2,
1.2,
1.2
]
}
],
"unit": "MW",
"validate_only": true
}
'import requests
url = "https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts"
payload = {
"delivery_day": "2026-09-01",
"series": [
{
"control_area": "TenneT",
"kind": "production",
"values": [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.2, 3.1, 3, 2.9, 2.8, 2.7, 2.6, 2.5, 2.4, 2.3, 2.2, 2.1, 2, 1.9, 1.8, 1.7, 1.6, 1.5, 1.4, 1.3, 1.2, 1.1, 1, 0.9, 0.8, 0.7, 0.6, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]
},
{
"control_area": "TenneT",
"kind": "consumption",
"values": [1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.23, 1.26, 1.29, 1.32, 1.35, 1.38, 1.41, 1.44, 1.47, 1.5, 1.53, 1.56, 1.59, 1.62, 1.65, 1.68, 1.71, 1.74, 1.77, 1.8, 1.77, 1.74, 1.71, 1.68, 1.65, 1.62, 1.59, 1.56, 1.53, 1.5, 1.47, 1.44, 1.41, 1.38, 1.35, 1.32, 1.29, 1.26, 1.23, 1.2, 1.2, 1.2, 1.2]
}
],
"unit": "MW",
"validate_only": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
delivery_day: '2026-09-01',
series: [
{
control_area: 'TenneT',
kind: 'production',
values: [
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.6,
0.7,
0.8,
0.9,
1,
1.1,
1.2,
1.3,
1.4,
1.5,
1.6,
1.7,
1.8,
1.9,
2,
2.1,
2.2,
2.3,
2.4,
2.5,
2.6,
2.7,
2.8,
2.9,
3,
3.1,
3.2,
3.3,
3.2,
3.1,
3,
2.9,
2.8,
2.7,
2.6,
2.5,
2.4,
2.3,
2.2,
2.1,
2,
1.9,
1.8,
1.7,
1.6,
1.5,
1.4,
1.3,
1.2,
1.1,
1,
0.9,
0.8,
0.7,
0.6,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5
]
},
{
control_area: 'TenneT',
kind: 'consumption',
values: [
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.23,
1.26,
1.29,
1.32,
1.35,
1.38,
1.41,
1.44,
1.47,
1.5,
1.53,
1.56,
1.59,
1.62,
1.65,
1.68,
1.71,
1.74,
1.77,
1.8,
1.77,
1.74,
1.71,
1.68,
1.65,
1.62,
1.59,
1.56,
1.53,
1.5,
1.47,
1.44,
1.41,
1.38,
1.35,
1.32,
1.29,
1.26,
1.23,
1.2,
1.2,
1.2,
1.2
]
}
],
unit: 'MW',
validate_only: true
})
};
fetch('https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'delivery_day' => '2026-09-01',
'series' => [
[
'control_area' => 'TenneT',
'kind' => 'production',
'values' => [
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.6,
0.7,
0.8,
0.9,
1,
1.1,
1.2,
1.3,
1.4,
1.5,
1.6,
1.7,
1.8,
1.9,
2,
2.1,
2.2,
2.3,
2.4,
2.5,
2.6,
2.7,
2.8,
2.9,
3,
3.1,
3.2,
3.3,
3.2,
3.1,
3,
2.9,
2.8,
2.7,
2.6,
2.5,
2.4,
2.3,
2.2,
2.1,
2,
1.9,
1.8,
1.7,
1.6,
1.5,
1.4,
1.3,
1.2,
1.1,
1,
0.9,
0.8,
0.7,
0.6,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5
]
],
[
'control_area' => 'TenneT',
'kind' => 'consumption',
'values' => [
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.23,
1.26,
1.29,
1.32,
1.35,
1.38,
1.41,
1.44,
1.47,
1.5,
1.53,
1.56,
1.59,
1.62,
1.65,
1.68,
1.71,
1.74,
1.77,
1.8,
1.77,
1.74,
1.71,
1.68,
1.65,
1.62,
1.59,
1.56,
1.53,
1.5,
1.47,
1.44,
1.41,
1.38,
1.35,
1.32,
1.29,
1.26,
1.23,
1.2,
1.2,
1.2,
1.2
]
]
],
'unit' => 'MW',
'validate_only' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts"
payload := strings.NewReader("{\n \"delivery_day\": \"2026-09-01\",\n \"series\": [\n {\n \"control_area\": \"TenneT\",\n \"kind\": \"production\",\n \"values\": [\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.6,\n 0.7,\n 0.8,\n 0.9,\n 1,\n 1.1,\n 1.2,\n 1.3,\n 1.4,\n 1.5,\n 1.6,\n 1.7,\n 1.8,\n 1.9,\n 2,\n 2.1,\n 2.2,\n 2.3,\n 2.4,\n 2.5,\n 2.6,\n 2.7,\n 2.8,\n 2.9,\n 3,\n 3.1,\n 3.2,\n 3.3,\n 3.2,\n 3.1,\n 3,\n 2.9,\n 2.8,\n 2.7,\n 2.6,\n 2.5,\n 2.4,\n 2.3,\n 2.2,\n 2.1,\n 2,\n 1.9,\n 1.8,\n 1.7,\n 1.6,\n 1.5,\n 1.4,\n 1.3,\n 1.2,\n 1.1,\n 1,\n 0.9,\n 0.8,\n 0.7,\n 0.6,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5\n ]\n },\n {\n \"control_area\": \"TenneT\",\n \"kind\": \"consumption\",\n \"values\": [\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.23,\n 1.26,\n 1.29,\n 1.32,\n 1.35,\n 1.38,\n 1.41,\n 1.44,\n 1.47,\n 1.5,\n 1.53,\n 1.56,\n 1.59,\n 1.62,\n 1.65,\n 1.68,\n 1.71,\n 1.74,\n 1.77,\n 1.8,\n 1.77,\n 1.74,\n 1.71,\n 1.68,\n 1.65,\n 1.62,\n 1.59,\n 1.56,\n 1.53,\n 1.5,\n 1.47,\n 1.44,\n 1.41,\n 1.38,\n 1.35,\n 1.32,\n 1.29,\n 1.26,\n 1.23,\n 1.2,\n 1.2,\n 1.2,\n 1.2\n ]\n }\n ],\n \"unit\": \"MW\",\n \"validate_only\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"delivery_day\": \"2026-09-01\",\n \"series\": [\n {\n \"control_area\": \"TenneT\",\n \"kind\": \"production\",\n \"values\": [\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.6,\n 0.7,\n 0.8,\n 0.9,\n 1,\n 1.1,\n 1.2,\n 1.3,\n 1.4,\n 1.5,\n 1.6,\n 1.7,\n 1.8,\n 1.9,\n 2,\n 2.1,\n 2.2,\n 2.3,\n 2.4,\n 2.5,\n 2.6,\n 2.7,\n 2.8,\n 2.9,\n 3,\n 3.1,\n 3.2,\n 3.3,\n 3.2,\n 3.1,\n 3,\n 2.9,\n 2.8,\n 2.7,\n 2.6,\n 2.5,\n 2.4,\n 2.3,\n 2.2,\n 2.1,\n 2,\n 1.9,\n 1.8,\n 1.7,\n 1.6,\n 1.5,\n 1.4,\n 1.3,\n 1.2,\n 1.1,\n 1,\n 0.9,\n 0.8,\n 0.7,\n 0.6,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5\n ]\n },\n {\n \"control_area\": \"TenneT\",\n \"kind\": \"consumption\",\n \"values\": [\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.23,\n 1.26,\n 1.29,\n 1.32,\n 1.35,\n 1.38,\n 1.41,\n 1.44,\n 1.47,\n 1.5,\n 1.53,\n 1.56,\n 1.59,\n 1.62,\n 1.65,\n 1.68,\n 1.71,\n 1.74,\n 1.77,\n 1.8,\n 1.77,\n 1.74,\n 1.71,\n 1.68,\n 1.65,\n 1.62,\n 1.59,\n 1.56,\n 1.53,\n 1.5,\n 1.47,\n 1.44,\n 1.41,\n 1.38,\n 1.35,\n 1.32,\n 1.29,\n 1.26,\n 1.23,\n 1.2,\n 1.2,\n 1.2,\n 1.2\n ]\n }\n ],\n \"unit\": \"MW\",\n \"validate_only\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"delivery_day\": \"2026-09-01\",\n \"series\": [\n {\n \"control_area\": \"TenneT\",\n \"kind\": \"production\",\n \"values\": [\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.6,\n 0.7,\n 0.8,\n 0.9,\n 1,\n 1.1,\n 1.2,\n 1.3,\n 1.4,\n 1.5,\n 1.6,\n 1.7,\n 1.8,\n 1.9,\n 2,\n 2.1,\n 2.2,\n 2.3,\n 2.4,\n 2.5,\n 2.6,\n 2.7,\n 2.8,\n 2.9,\n 3,\n 3.1,\n 3.2,\n 3.3,\n 3.2,\n 3.1,\n 3,\n 2.9,\n 2.8,\n 2.7,\n 2.6,\n 2.5,\n 2.4,\n 2.3,\n 2.2,\n 2.1,\n 2,\n 1.9,\n 1.8,\n 1.7,\n 1.6,\n 1.5,\n 1.4,\n 1.3,\n 1.2,\n 1.1,\n 1,\n 0.9,\n 0.8,\n 0.7,\n 0.6,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5\n ]\n },\n {\n \"control_area\": \"TenneT\",\n \"kind\": \"consumption\",\n \"values\": [\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.23,\n 1.26,\n 1.29,\n 1.32,\n 1.35,\n 1.38,\n 1.41,\n 1.44,\n 1.47,\n 1.5,\n 1.53,\n 1.56,\n 1.59,\n 1.62,\n 1.65,\n 1.68,\n 1.71,\n 1.74,\n 1.77,\n 1.8,\n 1.77,\n 1.74,\n 1.71,\n 1.68,\n 1.65,\n 1.62,\n 1.59,\n 1.56,\n 1.53,\n 1.5,\n 1.47,\n 1.44,\n 1.41,\n 1.38,\n 1.35,\n 1.32,\n 1.29,\n 1.26,\n 1.23,\n 1.2,\n 1.2,\n 1.2,\n 1.2\n ]\n }\n ],\n \"unit\": \"MW\",\n \"validate_only\": true\n}"
response = http.request(request)
puts response.read_body{
"delivery_day": "2026-09-01",
"input_hash": "391597ffe339f0c056c28e317498bd0ae473cd5482…",
"interval_count": 96,
"series_received": 2,
"status": "received",
"total_consumption_mwh": 65.588,
"total_production_mwh": 69.968
}Submit the portfolio forecast for one delivery day
Validates the day’s series and acknowledges immediately, echoing the daily totals in MWh as a plausibility check.
One call covers one delivery day. Re-submitting the same day
replaces the previous submission and everything downstream re-runs
automatically; sending an identical payload changes nothing (same
input_hash), so retries are safe.
Set validate_only: true to run the full validation without storing
anything - the safe way to test the integration against the live
service. The response then carries status: "validated". Calls made
with a sandbox key behave as if validate_only were set, whatever
the payload says.
curl --request POST \
--url https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"delivery_day": "2026-09-01",
"series": [
{
"control_area": "TenneT",
"kind": "production",
"values": [
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.6,
0.7,
0.8,
0.9,
1,
1.1,
1.2,
1.3,
1.4,
1.5,
1.6,
1.7,
1.8,
1.9,
2,
2.1,
2.2,
2.3,
2.4,
2.5,
2.6,
2.7,
2.8,
2.9,
3,
3.1,
3.2,
3.3,
3.2,
3.1,
3,
2.9,
2.8,
2.7,
2.6,
2.5,
2.4,
2.3,
2.2,
2.1,
2,
1.9,
1.8,
1.7,
1.6,
1.5,
1.4,
1.3,
1.2,
1.1,
1,
0.9,
0.8,
0.7,
0.6,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5
]
},
{
"control_area": "TenneT",
"kind": "consumption",
"values": [
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.23,
1.26,
1.29,
1.32,
1.35,
1.38,
1.41,
1.44,
1.47,
1.5,
1.53,
1.56,
1.59,
1.62,
1.65,
1.68,
1.71,
1.74,
1.77,
1.8,
1.77,
1.74,
1.71,
1.68,
1.65,
1.62,
1.59,
1.56,
1.53,
1.5,
1.47,
1.44,
1.41,
1.38,
1.35,
1.32,
1.29,
1.26,
1.23,
1.2,
1.2,
1.2,
1.2
]
}
],
"unit": "MW",
"validate_only": true
}
'import requests
url = "https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts"
payload = {
"delivery_day": "2026-09-01",
"series": [
{
"control_area": "TenneT",
"kind": "production",
"values": [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.2, 3.1, 3, 2.9, 2.8, 2.7, 2.6, 2.5, 2.4, 2.3, 2.2, 2.1, 2, 1.9, 1.8, 1.7, 1.6, 1.5, 1.4, 1.3, 1.2, 1.1, 1, 0.9, 0.8, 0.7, 0.6, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]
},
{
"control_area": "TenneT",
"kind": "consumption",
"values": [1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.23, 1.26, 1.29, 1.32, 1.35, 1.38, 1.41, 1.44, 1.47, 1.5, 1.53, 1.56, 1.59, 1.62, 1.65, 1.68, 1.71, 1.74, 1.77, 1.8, 1.77, 1.74, 1.71, 1.68, 1.65, 1.62, 1.59, 1.56, 1.53, 1.5, 1.47, 1.44, 1.41, 1.38, 1.35, 1.32, 1.29, 1.26, 1.23, 1.2, 1.2, 1.2, 1.2]
}
],
"unit": "MW",
"validate_only": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
delivery_day: '2026-09-01',
series: [
{
control_area: 'TenneT',
kind: 'production',
values: [
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.6,
0.7,
0.8,
0.9,
1,
1.1,
1.2,
1.3,
1.4,
1.5,
1.6,
1.7,
1.8,
1.9,
2,
2.1,
2.2,
2.3,
2.4,
2.5,
2.6,
2.7,
2.8,
2.9,
3,
3.1,
3.2,
3.3,
3.2,
3.1,
3,
2.9,
2.8,
2.7,
2.6,
2.5,
2.4,
2.3,
2.2,
2.1,
2,
1.9,
1.8,
1.7,
1.6,
1.5,
1.4,
1.3,
1.2,
1.1,
1,
0.9,
0.8,
0.7,
0.6,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5
]
},
{
control_area: 'TenneT',
kind: 'consumption',
values: [
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.23,
1.26,
1.29,
1.32,
1.35,
1.38,
1.41,
1.44,
1.47,
1.5,
1.53,
1.56,
1.59,
1.62,
1.65,
1.68,
1.71,
1.74,
1.77,
1.8,
1.77,
1.74,
1.71,
1.68,
1.65,
1.62,
1.59,
1.56,
1.53,
1.5,
1.47,
1.44,
1.41,
1.38,
1.35,
1.32,
1.29,
1.26,
1.23,
1.2,
1.2,
1.2,
1.2
]
}
],
unit: 'MW',
validate_only: true
})
};
fetch('https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'delivery_day' => '2026-09-01',
'series' => [
[
'control_area' => 'TenneT',
'kind' => 'production',
'values' => [
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.6,
0.7,
0.8,
0.9,
1,
1.1,
1.2,
1.3,
1.4,
1.5,
1.6,
1.7,
1.8,
1.9,
2,
2.1,
2.2,
2.3,
2.4,
2.5,
2.6,
2.7,
2.8,
2.9,
3,
3.1,
3.2,
3.3,
3.2,
3.1,
3,
2.9,
2.8,
2.7,
2.6,
2.5,
2.4,
2.3,
2.2,
2.1,
2,
1.9,
1.8,
1.7,
1.6,
1.5,
1.4,
1.3,
1.2,
1.1,
1,
0.9,
0.8,
0.7,
0.6,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5
]
],
[
'control_area' => 'TenneT',
'kind' => 'consumption',
'values' => [
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.2,
1.23,
1.26,
1.29,
1.32,
1.35,
1.38,
1.41,
1.44,
1.47,
1.5,
1.53,
1.56,
1.59,
1.62,
1.65,
1.68,
1.71,
1.74,
1.77,
1.8,
1.77,
1.74,
1.71,
1.68,
1.65,
1.62,
1.59,
1.56,
1.53,
1.5,
1.47,
1.44,
1.41,
1.38,
1.35,
1.32,
1.29,
1.26,
1.23,
1.2,
1.2,
1.2,
1.2
]
]
],
'unit' => 'MW',
'validate_only' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts"
payload := strings.NewReader("{\n \"delivery_day\": \"2026-09-01\",\n \"series\": [\n {\n \"control_area\": \"TenneT\",\n \"kind\": \"production\",\n \"values\": [\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.6,\n 0.7,\n 0.8,\n 0.9,\n 1,\n 1.1,\n 1.2,\n 1.3,\n 1.4,\n 1.5,\n 1.6,\n 1.7,\n 1.8,\n 1.9,\n 2,\n 2.1,\n 2.2,\n 2.3,\n 2.4,\n 2.5,\n 2.6,\n 2.7,\n 2.8,\n 2.9,\n 3,\n 3.1,\n 3.2,\n 3.3,\n 3.2,\n 3.1,\n 3,\n 2.9,\n 2.8,\n 2.7,\n 2.6,\n 2.5,\n 2.4,\n 2.3,\n 2.2,\n 2.1,\n 2,\n 1.9,\n 1.8,\n 1.7,\n 1.6,\n 1.5,\n 1.4,\n 1.3,\n 1.2,\n 1.1,\n 1,\n 0.9,\n 0.8,\n 0.7,\n 0.6,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5\n ]\n },\n {\n \"control_area\": \"TenneT\",\n \"kind\": \"consumption\",\n \"values\": [\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.23,\n 1.26,\n 1.29,\n 1.32,\n 1.35,\n 1.38,\n 1.41,\n 1.44,\n 1.47,\n 1.5,\n 1.53,\n 1.56,\n 1.59,\n 1.62,\n 1.65,\n 1.68,\n 1.71,\n 1.74,\n 1.77,\n 1.8,\n 1.77,\n 1.74,\n 1.71,\n 1.68,\n 1.65,\n 1.62,\n 1.59,\n 1.56,\n 1.53,\n 1.5,\n 1.47,\n 1.44,\n 1.41,\n 1.38,\n 1.35,\n 1.32,\n 1.29,\n 1.26,\n 1.23,\n 1.2,\n 1.2,\n 1.2,\n 1.2\n ]\n }\n ],\n \"unit\": \"MW\",\n \"validate_only\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"delivery_day\": \"2026-09-01\",\n \"series\": [\n {\n \"control_area\": \"TenneT\",\n \"kind\": \"production\",\n \"values\": [\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.6,\n 0.7,\n 0.8,\n 0.9,\n 1,\n 1.1,\n 1.2,\n 1.3,\n 1.4,\n 1.5,\n 1.6,\n 1.7,\n 1.8,\n 1.9,\n 2,\n 2.1,\n 2.2,\n 2.3,\n 2.4,\n 2.5,\n 2.6,\n 2.7,\n 2.8,\n 2.9,\n 3,\n 3.1,\n 3.2,\n 3.3,\n 3.2,\n 3.1,\n 3,\n 2.9,\n 2.8,\n 2.7,\n 2.6,\n 2.5,\n 2.4,\n 2.3,\n 2.2,\n 2.1,\n 2,\n 1.9,\n 1.8,\n 1.7,\n 1.6,\n 1.5,\n 1.4,\n 1.3,\n 1.2,\n 1.1,\n 1,\n 0.9,\n 0.8,\n 0.7,\n 0.6,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5\n ]\n },\n {\n \"control_area\": \"TenneT\",\n \"kind\": \"consumption\",\n \"values\": [\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.23,\n 1.26,\n 1.29,\n 1.32,\n 1.35,\n 1.38,\n 1.41,\n 1.44,\n 1.47,\n 1.5,\n 1.53,\n 1.56,\n 1.59,\n 1.62,\n 1.65,\n 1.68,\n 1.71,\n 1.74,\n 1.77,\n 1.8,\n 1.77,\n 1.74,\n 1.71,\n 1.68,\n 1.65,\n 1.62,\n 1.59,\n 1.56,\n 1.53,\n 1.5,\n 1.47,\n 1.44,\n 1.41,\n 1.38,\n 1.35,\n 1.32,\n 1.29,\n 1.26,\n 1.23,\n 1.2,\n 1.2,\n 1.2,\n 1.2\n ]\n }\n ],\n \"unit\": \"MW\",\n \"validate_only\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://nleadbridge-app.lemonisland-7d6503d3.germanywestcentral.azurecontainerapps.io/v1/forecasts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"delivery_day\": \"2026-09-01\",\n \"series\": [\n {\n \"control_area\": \"TenneT\",\n \"kind\": \"production\",\n \"values\": [\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.6,\n 0.7,\n 0.8,\n 0.9,\n 1,\n 1.1,\n 1.2,\n 1.3,\n 1.4,\n 1.5,\n 1.6,\n 1.7,\n 1.8,\n 1.9,\n 2,\n 2.1,\n 2.2,\n 2.3,\n 2.4,\n 2.5,\n 2.6,\n 2.7,\n 2.8,\n 2.9,\n 3,\n 3.1,\n 3.2,\n 3.3,\n 3.2,\n 3.1,\n 3,\n 2.9,\n 2.8,\n 2.7,\n 2.6,\n 2.5,\n 2.4,\n 2.3,\n 2.2,\n 2.1,\n 2,\n 1.9,\n 1.8,\n 1.7,\n 1.6,\n 1.5,\n 1.4,\n 1.3,\n 1.2,\n 1.1,\n 1,\n 0.9,\n 0.8,\n 0.7,\n 0.6,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5,\n 0.5\n ]\n },\n {\n \"control_area\": \"TenneT\",\n \"kind\": \"consumption\",\n \"values\": [\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.2,\n 1.23,\n 1.26,\n 1.29,\n 1.32,\n 1.35,\n 1.38,\n 1.41,\n 1.44,\n 1.47,\n 1.5,\n 1.53,\n 1.56,\n 1.59,\n 1.62,\n 1.65,\n 1.68,\n 1.71,\n 1.74,\n 1.77,\n 1.8,\n 1.77,\n 1.74,\n 1.71,\n 1.68,\n 1.65,\n 1.62,\n 1.59,\n 1.56,\n 1.53,\n 1.5,\n 1.47,\n 1.44,\n 1.41,\n 1.38,\n 1.35,\n 1.32,\n 1.29,\n 1.26,\n 1.23,\n 1.2,\n 1.2,\n 1.2,\n 1.2\n ]\n }\n ],\n \"unit\": \"MW\",\n \"validate_only\": true\n}"
response = http.request(request)
puts response.read_body{
"delivery_day": "2026-09-01",
"input_hash": "391597ffe339f0c056c28e317498bd0ae473cd5482…",
"interval_count": 96,
"series_received": 2,
"status": "received",
"total_consumption_mwh": 65.588,
"total_production_mwh": 69.968
}Authorizations
Body
Portfolio forecast for one delivery day: production and consumption time series per control area (or per market location).
The day the energy is delivered (YYYY-MM-DD, a Europe/Berlin calendar day)
The day's series. Several series per area and kind are allowed and summed; omitted control areas count as zero
1Show child attributes
Show child attributes
MW: average power per quarter-hour (default). MWH: energy per quarter-hour
MW, MWH MaLo -> control area mapping; required if any series is tagged by MaLo
True runs the full validation and returns the acknowledgment with its totals - but stores nothing and starts nothing. Safe for integration testing against the live service; the returned input_hash equals the one a real submission of the same payload would get
Response
Successful Response
Acknowledgment of an accepted forecast submission, including the total daily volumes as received and a reference for the submission.
Quarter-hours the delivery day has (96 / 92 / 100)
Total production energy submitted for the delivery day, in MWh - compare against your own daily total as a plausibility check
Total consumption energy submitted for the delivery day, in MWh - compare against your own daily total as a plausibility check
Content hash of the submission - quote it when asking about a delivery day; identical payloads produce identical hashes
received: stored, the pipeline picks the day up. validated: the payload passed every check but nothing was stored (validate_only was true)
received, validated