Update an unavailability for a producer plant.
Updates an existing availability limitation (unavailability) for the plant tied to the producer contract.
curl --request PUT \
--url https://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/ \
--header 'Content-Type: application/json' \
--data '
{
"start": "2023-11-07T05:31:56Z",
"end": "2023-11-07T05:31:56Z",
"value": 123,
"reason_description": "<string>"
}
'import requests
url = "https://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/"
payload = {
"start": "2023-11-07T05:31:56Z",
"end": "2023-11-07T05:31:56Z",
"value": 123,
"reason_description": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
start: '2023-11-07T05:31:56Z',
end: '2023-11-07T05:31:56Z',
value: 123,
reason_description: '<string>'
})
};
fetch('https://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/', 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://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'start' => '2023-11-07T05:31:56Z',
'end' => '2023-11-07T05:31:56Z',
'value' => 123,
'reason_description' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/"
payload := strings.NewReader("{\n \"start\": \"2023-11-07T05:31:56Z\",\n \"end\": \"2023-11-07T05:31:56Z\",\n \"value\": 123,\n \"reason_description\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/")
.header("Content-Type", "application/json")
.body("{\n \"start\": \"2023-11-07T05:31:56Z\",\n \"end\": \"2023-11-07T05:31:56Z\",\n \"value\": 123,\n \"reason_description\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"start\": \"2023-11-07T05:31:56Z\",\n \"end\": \"2023-11-07T05:31:56Z\",\n \"value\": 123,\n \"reason_description\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"limitation_id": 42,
"start": "2026-01-01T00:00:00Z",
"end": "2026-01-01T12:00:00Z",
"availability_type": "cap",
"value": 5000,
"unit": "W",
"reason_type": "technical",
"reason_description": "maintenance due broken solar panel"
}Path Parameters
^[\w-]+$^[0-9]+$^[\w-]+$Body
The timestamp when the feed limitation begins
The timestamp when the feed limitation ends
Is the feed capped (cannot feed more than) or scaled (a part of the plant is not available)?
cap- capscale- scale
cap, scale value of the feed limitation, for unit % between 0-100, for unit W up to plant capacity
% for scaled feed limitation, W for capped feed limitation
%- %W- W
%, W classification on limitation reason
technical- technicalweather-dependent- weather-dependentother- other
technical, weather-dependent, other short description to clarify limitation
Response
The timestamp when the feed limitation begins
The timestamp when the feed limitation ends
Is the feed capped (cannot feed more than) or scaled (a part of the plant is not available)?
cap- capscale- scale
cap, scale value of the feed limitation, for unit % between 0-100, for unit W up to plant capacity
% for scaled feed limitation, W for capped feed limitation
%- %W- W
%, W classification on limitation reason
technical- technicaleconomic- economicredispatch- redispatchweather-dependent- weather-dependentother- other
technical, economic, redispatch, weather-dependent, other short description to clarify limitation
curl --request PUT \
--url https://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/ \
--header 'Content-Type: application/json' \
--data '
{
"start": "2023-11-07T05:31:56Z",
"end": "2023-11-07T05:31:56Z",
"value": 123,
"reason_description": "<string>"
}
'import requests
url = "https://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/"
payload = {
"start": "2023-11-07T05:31:56Z",
"end": "2023-11-07T05:31:56Z",
"value": 123,
"reason_description": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
start: '2023-11-07T05:31:56Z',
end: '2023-11-07T05:31:56Z',
value: 123,
reason_description: '<string>'
})
};
fetch('https://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/', 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://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'start' => '2023-11-07T05:31:56Z',
'end' => '2023-11-07T05:31:56Z',
'value' => 123,
'reason_description' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/"
payload := strings.NewReader("{\n \"start\": \"2023-11-07T05:31:56Z\",\n \"end\": \"2023-11-07T05:31:56Z\",\n \"value\": 123,\n \"reason_description\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/")
.header("Content-Type", "application/json")
.body("{\n \"start\": \"2023-11-07T05:31:56Z\",\n \"end\": \"2023-11-07T05:31:56Z\",\n \"value\": 123,\n \"reason_description\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lumenaza.de/v3/producers/{userID}/contracts/{contractID}/feed_limitations/{id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"start\": \"2023-11-07T05:31:56Z\",\n \"end\": \"2023-11-07T05:31:56Z\",\n \"value\": 123,\n \"reason_description\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"limitation_id": 42,
"start": "2026-01-01T00:00:00Z",
"end": "2026-01-01T12:00:00Z",
"availability_type": "cap",
"value": 5000,
"unit": "W",
"reason_type": "technical",
"reason_description": "maintenance due broken solar panel"
}
