curl --request DELETE \
--url https://api.orbital-systems.com/client/showers/{id}/configuration \
--header 'x-api-key: <api-key>'import requests
url = "https://api.orbital-systems.com/client/showers/{id}/configuration"
headers = {"x-api-key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.orbital-systems.com/client/showers/{id}/configuration', 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.orbital-systems.com/client/showers/{id}/configuration",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.orbital-systems.com/client/showers/{id}/configuration"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.orbital-systems.com/client/showers/{id}/configuration")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbital-systems.com/client/showers/{id}/configuration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"boost_flow_enabled": false,
"cleaning_program_liters_limit": 2440,
"cleaning_program_sessions_limit": 20,
"cleaning_program_sessions_limit_enabled": true,
"color_mode": 0,
"daily_hot_water_treatment_enabled": true,
"daily_hot_water_treatment_time": "0300",
"default_recirculation_mode": 2,
"default_shower_flow": 9,
"heater_power_available": 3.2,
"hot_water_treatment_per_session_enabled": false,
"is_private_shower": true,
"is_wall_clock_12_hour_format": false,
"is_wall_clock_enabled": true,
"live_data_rate": 2,
"max_shower_water_flow": 12,
"min_conservation_flow": 6.5,
"min_shower_water_flow": 5,
"shower_head_hc_enabled": false,
"shower_water_temperature_fahrenheit": false,
"shower_water_temperature_max": 45,
"shower_water_temperature_min": 15,
"shower_water_temperature_start": 38,
"state_active_showering_timer": 1800,
"state_standby_no_user_wait_timer": 60,
"state_standby_wait_timer": 180,
"time_zone_name": "Europe/Stockholm",
"use_estimation_for_drain_temperature": false,
"water_conservation": false,
"welcome_message_enabled": false,
"welcome_message": "Welcome!",
"water_hardness": 8,
"language": "de",
"available_languages": [
"en",
"de",
"fr"
]
}{
"message": "Unauthorized",
"statusCode": 401,
"name": "UnauthorizedError"
}{
"message": "Shower not found",
"statusCode": 404,
"name": "NotFoundError"
}{
"message": "Internal server error"
}Reset configuration
Resets the settings to their defaults and returns them.
curl --request DELETE \
--url https://api.orbital-systems.com/client/showers/{id}/configuration \
--header 'x-api-key: <api-key>'import requests
url = "https://api.orbital-systems.com/client/showers/{id}/configuration"
headers = {"x-api-key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.orbital-systems.com/client/showers/{id}/configuration', 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.orbital-systems.com/client/showers/{id}/configuration",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.orbital-systems.com/client/showers/{id}/configuration"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.orbital-systems.com/client/showers/{id}/configuration")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbital-systems.com/client/showers/{id}/configuration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"boost_flow_enabled": false,
"cleaning_program_liters_limit": 2440,
"cleaning_program_sessions_limit": 20,
"cleaning_program_sessions_limit_enabled": true,
"color_mode": 0,
"daily_hot_water_treatment_enabled": true,
"daily_hot_water_treatment_time": "0300",
"default_recirculation_mode": 2,
"default_shower_flow": 9,
"heater_power_available": 3.2,
"hot_water_treatment_per_session_enabled": false,
"is_private_shower": true,
"is_wall_clock_12_hour_format": false,
"is_wall_clock_enabled": true,
"live_data_rate": 2,
"max_shower_water_flow": 12,
"min_conservation_flow": 6.5,
"min_shower_water_flow": 5,
"shower_head_hc_enabled": false,
"shower_water_temperature_fahrenheit": false,
"shower_water_temperature_max": 45,
"shower_water_temperature_min": 15,
"shower_water_temperature_start": 38,
"state_active_showering_timer": 1800,
"state_standby_no_user_wait_timer": 60,
"state_standby_wait_timer": 180,
"time_zone_name": "Europe/Stockholm",
"use_estimation_for_drain_temperature": false,
"water_conservation": false,
"welcome_message_enabled": false,
"welcome_message": "Welcome!",
"water_hardness": 8,
"language": "de",
"available_languages": [
"en",
"de",
"fr"
]
}{
"message": "Unauthorized",
"statusCode": 401,
"name": "UnauthorizedError"
}{
"message": "Shower not found",
"statusCode": 404,
"name": "NotFoundError"
}{
"message": "Internal server error"
}Authorizations
Send your API key in the x-api-key header of every request. The key belongs to one Orbital account, and requests act as that account: they see and control only the devices it owns or has been given access to. A missing or unknown key gets 403 with { "message": "Forbidden" }.
Path Parameters
The unique identifier for the shower
Response
The settings after the reset
Lets users raise the flow above the normal maximum.
false
Litres of water the shower can use before it asks for descaling.
2440
Sessions the shower can run before it asks for descaling. Only used by older showers.
20
Whether the shower asks for descaling when its limit is reached.
true
Control dial theme: 0 light, 1 dark.
0
Runs a heat-cycle cleaning every day at daily_hot_water_treatment_time.
true
Time of the daily heat cycle, as HHMM in the shower’s local time.
^(0[0-9]|1[0-9]|2[0-3])[0-5][0-9]$"0300"
Savings mode a session starts in: 1 Legacy (no recirculation), 2 Earth, 3 Moon, 4 Mars.
2
Flow a session starts at, in L/min. 4–12.
9
Heater power the installation allows, in kW.
3.2
Runs a heat cycle after every session.
false
Whether the shower is in a home (true) or a business such as a gym or hotel (false).
true
Shows the Control dial clock in 12-hour (AM/PM) format.
false
Shows a clock on the Control dial.
true
How often the shower sends live data: 0 off, 1 fast (at least once a second), 2 auto (the shower decides).
2
Highest flow a user can set, in L/min. 4–12.
12
Lowest flow eco flow (water_conservation) may drop to, in L/min.
6.5
Lowest flow a user can set, in L/min. 4–12.
5
Also flushes the shower head with hot water during the scheduled heat cycle.
false
Shows temperatures on the Control dial in °F. The API always uses °C.
false
Highest temperature a user can set, in °C. 0–50.
45
Lowest temperature a user can set, in °C. 0–50.
15
Temperature a session starts at, in °C. 0–50.
38
Seconds of showering before the shower pauses by itself.
1800
Seconds paused with nobody in the shower before the session ends.
60
Seconds paused before the session ends.
180
IANA time zone of the shower, used for its clock and scheduled cleaning.
"Europe/Stockholm"
Estimates the drain water temperature instead of measuring it.
false
Eco flow: lowers the flow (down to min_conservation_flow) to keep recirculating instead of switching to fresh water.
false
Shows a welcome message when someone steps into the shower. Only in businesses (is_private_shower: false).
false
Text of the welcome message, under 36 bytes in UTF-8. An empty string shows the default message in the shower’s language.
"Welcome!"
Hardness of the incoming water, in °dH. 1–30. Setting it sets cleaning_program_liters_limit to match. Returned only when the limit matches a hardness.
1 <= x <= 308
Language shown on the Control dial, as an ISO 639-1 code. Not supported by older showers. Left out for older showers or a language without a code.
"de"
Language codes that can be set (currently en, de, fr). Left out for older showers.
["en", "de", "fr"]
Was this page helpful?