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" }.
Your access to the device: owner (you paired it) or, for a device shared with you, user or maintenance. maintenance can read the device but not change it, control it or see its sessions. Only included by GET /client/showers and GET /client/showers/{id}.
Available options:
owner,
maintenance,
user
Example:
"owner"
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Orbital","colors":{"primary":"#ff5500","light":"#ff5500","dark":"#ff5500"},"logo":{"light":"https://mintcdn.com/orbitalsystems/EVkTDln8Sf7ZkRWS/logo/light.svg?fit=max\u0026auto=format\u0026n=EVkTDln8Sf7ZkRWS\u0026q=85\u0026s=3a37dd35c2861055878486ade93d7855","dark":"https://mintcdn.com/orbitalsystems/EVkTDln8Sf7ZkRWS/logo/dark.svg?fit=max\u0026auto=format\u0026n=EVkTDln8Sf7ZkRWS\u0026q=85\u0026s=7cdb628407f2b5eb8cad3278c77e461d"},"favicon":"https://mintcdn.com/orbitalsystems/EVkTDln8Sf7ZkRWS/favicon.svg?fit=max\u0026auto=format\u0026n=EVkTDln8Sf7ZkRWS\u0026q=85\u0026s=b0f03da03d835fd4176e3735b94604f7","navbar":{"links":[{"href":"mailto:support@orbital-systems.com","label":"Support"}]},"footer":{"socials":{"x":"https://x.com/mintlify","github":"https://github.com/orbital-systems","linkedin":"https://linkedin.com/company/orbital-systems"}},"fonts":{"family":"Inter Tight","source":"https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900\u0026display=swap","format":"woff2"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"orbitalsystems","hasAudioNarration":false,"actualSubdomain":"orbitalsystems","customDomains":["docs.orbital-systems.com"],"gitSource":{"type":"github","owner":"orbital-systems","repo":"odp","deployBranch":"master","contentDirectory":"packages/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb04da68099c0da064e62b","collectionId":"d52a3434-51a8-4b4f-9809-4e87116e6037","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb04da68099c0da064e62b"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6aeb04da68099c0da064e62b","clientVersion":"0.0.4071","searchFilterCounts":[{"language":"default","tag":"API","count":43},{"language":"default","tag":"Groups.","count":5},{"language":"default","tag":"User invites.","count":5},{"language":"default","tag":"History.","count":3},{"language":"default","tag":"Shower configuration.","count":3},{"language":"default","tag":"Shower installation.","count":3},{"language":"default","tag":"Showers.","count":3},{"language":"default","tag":"Tap configuration.","count":3},{"language":"default","tag":"Taps.","count":3},{"language":"default","tag":"User.","count":3}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/showers/update-shower","slug":"/api-reference/showers/update-shower","pageMetadata":{"title":"Update shower","description":null,"deprecated":null,"version":null,"openapi":"/spec.json put /client/showers/{id}","href":"/api-reference/showers/update-shower","autogeneratedByOpenApi":true},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Update shower","description":null,"deprecated":null,"version":null,"openapi":"/spec.json put /client/showers/{id}","href":"/api-reference/showers/update-shower","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Showers."],"summary":"Update shower","parameters":["3f423b3d-b809-4b1c-a06d-2e29d520e055"],"requestBody":"eb3ee2c7-1aed-4923-9272-5d586ca89ea7","responses":{"200":"5c3276b5-e02a-4bf2-af8f-ba87da077f6f","401":"f6f595e1-79a2-49df-8726-1d9a799e06f1","404":"ae912794-06a3-4383-ae65-0c4ba0bd7899","409":"91fb84ee-c3f5-4772-80fc-eb5570090490","500":"f7ec5004-cd0d-463f-b227-f66a21532d8e"},"method":"put","type":"path","servers":["bdfec3b1-a639-42c1-ae6a-df78d7049378","d74f0656-3d54-4220-9034-0a05241656b8","56b66090-3d89-4803-bdf1-c93f775d7407"],"security":["e916a54d-4680-4b7b-9d96-81d36f47e05b"],"path":"/client/showers/{id}","baseUrlOptions":["https://api.orbital-systems.com","https://stage-api.orbital-systems.com","https://dev-api.orbital-systems.com"],"title":"Update shower","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"3f423b3d-b809-4b1c-a06d-2e29d520e055":{"in":"path","name":"id","required":true,"schema":{"type":"string","isRequired":true,"description":"The unique identifier for the shower","uniqueKey":"","typeLabel":"string"},"description":"The unique identifier for the shower"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the shower. Must differ from the names of your other showers.","example":"Bathroom","uniqueKey":"name","typeLabel":"string"},"device_group":{"oneOf":[{"type":"string","description":"ID of the group the device belongs to. Pairing sets it to your user ID.","example":"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b","uniqueKey":"device_group.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the group the device belongs to. Pairing sets it to your user ID.","example":"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b","uniqueKey":"device_group.oneOf.1","typeLabel":"null"}],"uniqueKey":"device_group","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"string","description":"User ID of the owner. `null` when the device isn’t paired.","example":"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"User ID of the owner. `null` when the device isn’t paired.","example":"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"installation_info":{"oneOf":[{"type":"object","properties":{"installation_name":{"type":"string","description":"Email address sent when the installation test was started.","example":"installer@example.com","uniqueKey":"installation_info.oneOf.0.installation_name","typeLabel":"string"},"installation_date":{"type":"string","description":"When the installation test was started (ISO 8601).","example":"2026-03-14T10:02:00.000Z","uniqueKey":"installation_info.oneOf.0.installation_date","typeLabel":"string"}},"description":"Who started the installation test and when. `null` once the test is cancelled.","uniqueKey":"installation_info.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"installation_name":{"type":"string","description":"Email address sent when the installation test was started.","example":"installer@example.com"},"installation_date":{"type":"string","description":"When the installation test was started (ISO 8601).","example":"2026-03-14T10:02:00.000Z"}},"description":"Who started the installation test and when. `null` once the test is cancelled.","uniqueKey":"installation_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"installation_info","typeLabel":"object | null"},"installation_test":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","description":"ID of the test run, as returned by `PUT /client/showers/{id}/installation`.","example":"9c8b7a6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d","uniqueKey":"installation_test.oneOf.0.id","typeLabel":"string"}},"description":"The latest installation test. `null` once it is cancelled.","uniqueKey":"installation_test.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"type":"string","description":"ID of the test run, as returned by `PUT /client/showers/{id}/installation`.","example":"9c8b7a6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d"}},"description":"The latest installation test. `null` once it is cancelled.","uniqueKey":"installation_test.oneOf.1","typeLabel":"null"}],"uniqueKey":"installation_test","typeLabel":"object | null"},"state":{"type":"string","enum":["pending","active","archived","service","replaced"],"description":"Lifecycle state. A device is `pending` until it is first paired, then `active`. Lists only include `pending` and `active` devices.","example":"active","uniqueKey":"state","typeLabel":"enum\u003cstring>"},"updated_at":{"type":"string","description":"When the change was made (ISO 8601). Defaults to the current time.","example":"2026-10-28T17:03:10.000Z","uniqueKey":"updated_at","typeLabel":"string"},"control_dial_notifications":{"type":"boolean","description":"Shows maintenance reminders (filter, UV lamp, descaling, sensor tank) on the Control dial.","example":true,"uniqueKey":"control_dial_notifications","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"Bathroom","device_group":"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b","owner":"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b","installation_info":{"installation_name":"installer@example.com","installation_date":"2026-03-14T10:02:00.000Z"},"installation_test":{"id":"9c8b7a6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d"},"state":"active","updated_at":"2026-10-28T17:03:10.000Z","control_dial_notifications":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"5c3276b5-e02a-4bf2-af8f-ba87da077f6f":{"description":"Shower updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique ID of the device (UUID).","example":"0b7a6c1e-5f2d-4c3b-8a9e-1d2f3a4b5c6d","uniqueKey":"id","typeLabel":"string\u003cuuid>"},"owner":{"oneOf":[{"type":"string","description":"User ID of the owner. `null` when the device isn’t paired.","example":"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b","uniqueKey":"owner.oneOf.0","typeLabel":"string"},{"type":"null","description":"User ID of the owner. `null` when the device isn’t paired.","example":"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b","uniqueKey":"owner.oneOf.1","typeLabel":"null"}],"uniqueKey":"owner","typeLabel":"string | null"},"name":{"type":"string","description":"Display name of the device.","example":"Bathroom","uniqueKey":"name","typeLabel":"string"},"state":{"type":"string","enum":["pending","active","archived","service","replaced"],"description":"Lifecycle state. A device is `pending` until it is first paired, then `active`. Lists only include `pending` and `active` devices.","example":"active","uniqueKey":"state","typeLabel":"enum\u003cstring>"},"saved_water":{"type":"number","description":"Water saved by the shower so far, in litres.","example":18250.4,"uniqueKey":"saved_water","typeLabel":"number"},"saved_energy":{"type":"number","description":"Energy saved by the shower so far, in kWh.","example":742.18,"uniqueKey":"saved_energy","typeLabel":"number"},"sessions":{"type":"number","description":"Number of shower sessions so far.","example":512,"uniqueKey":"sessions","typeLabel":"number"},"latest_session":{"type":"string","description":"When the latest session of any kind started, cleaning included (ISO 8601).","example":"2026-11-02T06:20:00.000Z","uniqueKey":"latest_session","typeLabel":"string"},"filter_status":{"type":"number","description":"Filter life left, in percent (0–100).","example":72,"uniqueKey":"filter_status","typeLabel":"number"},"device_group":{"oneOf":[{"type":"string","description":"ID of the group the device belongs to. Pairing sets it to your user ID.","example":"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b","uniqueKey":"device_group.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the group the device belongs to. Pairing sets it to your user ID.","example":"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b","uniqueKey":"device_group.oneOf.1","typeLabel":"null"}],"uniqueKey":"device_group","typeLabel":"string | null"},"last_connected":{"type":"string","description":"When the device last connected (ISO 8601).","example":"2026-11-02T06:40:12.000Z","uniqueKey":"last_connected","typeLabel":"string"},"last_disconnected":{"type":"string","description":"When the device last disconnected (ISO 8601). The device is offline when this is later than `last_connected`.","example":"2026-11-01T23:10:05.000Z","uniqueKey":"last_disconnected","typeLabel":"string"},"created_at":{"type":"string","description":"When the record was created (ISO 8601).","example":"2026-03-14T09:12:44.000Z","uniqueKey":"created_at","typeLabel":"string"},"build_id":{"type":"string","description":"Firmware build running on the shower.","example":"v3.17.8","uniqueKey":"build_id","typeLabel":"string"},"replace_uv":{"type":"boolean","description":"The UV lamp should be replaced.","example":false,"uniqueKey":"replace_uv","typeLabel":"boolean"},"is_cleaning_program_required":{"type":"boolean","description":"The shower needs descaling.","example":false,"uniqueKey":"is_cleaning_program_required","typeLabel":"boolean"},"clean_sensor_tank":{"type":"boolean","description":"The sensor tank should be cleaned.","example":false,"uniqueKey":"clean_sensor_tank","typeLabel":"boolean"},"no_recirculation":{"type":"boolean","description":"The latest shower session saved no water although a recirculating mode was on.","example":false,"uniqueKey":"no_recirculation","typeLabel":"boolean"},"float_leak":{"type":"boolean","description":"The shower has detected a leak.","example":false,"uniqueKey":"float_leak","typeLabel":"boolean"},"operating":{"type":"object","properties":{"cleaning_programs":{"type":"number","description":"Descalings run.","example":12,"uniqueKey":"operating.cleaning_programs","typeLabel":"number"},"inner_heat_treatments":{"type":"number","description":"Inner heat cycles run.","example":498,"uniqueKey":"operating.inner_heat_treatments","typeLabel":"number"},"outer_heat_treatments":{"type":"number","description":"Outer heat cycles run.","example":64,"uniqueKey":"operating.outer_heat_treatments","typeLabel":"number"},"sessions":{"type":"number","description":"Sessions run, of any kind.","example":1203,"uniqueKey":"operating.sessions","typeLabel":"number"},"sessions_since_cleaning_program":{"type":"number","description":"Sessions since the last descaling.","example":8,"uniqueKey":"operating.sessions_since_cleaning_program","typeLabel":"number"},"sessions_since_inner_heat_treatment":{"type":"number","description":"Sessions since the last inner heat cycle.","example":1,"uniqueKey":"operating.sessions_since_inner_heat_treatment","typeLabel":"number"},"sessions_since_outer_heat_treatment":{"type":"number","description":"Sessions since the last outer heat cycle.","example":5,"uniqueKey":"operating.sessions_since_outer_heat_treatment","typeLabel":"number"},"liters_since_last_descaling":{"type":"number","description":"Litres used since the last descaling.","example":640,"uniqueKey":"operating.liters_since_last_descaling","typeLabel":"number"}},"description":"Counters reported by the shower.","uniqueKey":"operating","typeLabel":"object"},"oas_revision":{"description":"Hardware revision of the shower.","example":3,"uniqueKey":"oas_revision","typeLabel":"any"},"serial_number":{"type":"string","description":"Serial number of the shower.","example":"2214-0005","uniqueKey":"serial_number","typeLabel":"string"},"wifi_ssid":{"type":"string","description":"Name of the Wi-Fi network the shower is on.","example":"HomeNetwork","uniqueKey":"wifi_ssid","typeLabel":"string"},"installation_info":{"oneOf":[{"type":"object","properties":{"installation_name":{"type":"string","description":"Email address sent when the installation test was started.","example":"installer@example.com","uniqueKey":"installation_info.oneOf.0.installation_name","typeLabel":"string"},"installation_date":{"type":"string","description":"When the installation test was started (ISO 8601).","example":"2026-03-14T10:02:00.000Z","uniqueKey":"installation_info.oneOf.0.installation_date","typeLabel":"string"}},"description":"Who started the installation test and when. `null` once the test is cancelled.","uniqueKey":"installation_info.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"installation_name":{"type":"string","description":"Email address sent when the installation test was started.","example":"installer@example.com"},"installation_date":{"type":"string","description":"When the installation test was started (ISO 8601).","example":"2026-03-14T10:02:00.000Z"}},"description":"Who started the installation test and when. `null` once the test is cancelled.","uniqueKey":"installation_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"installation_info","typeLabel":"object | null"},"installation_test":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","description":"ID of the test run, as returned by `PUT /client/showers/{id}/installation`.","example":"9c8b7a6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d","uniqueKey":"installation_test.oneOf.0.id","typeLabel":"string"}},"description":"The latest installation test. `null` once it is cancelled.","uniqueKey":"installation_test.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"type":"string","description":"ID of the test run, as returned by `PUT /client/showers/{id}/installation`.","example":"9c8b7a6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d"}},"description":"The latest installation test. `null` once it is cancelled.","uniqueKey":"installation_test.oneOf.1","typeLabel":"null"}],"uniqueKey":"installation_test","typeLabel":"object | null"},"type":{"type":"string","enum":["shower"],"description":"Always `shower`.","example":"shower","uniqueKey":"type","typeLabel":"enum\u003cstring>"},"base":{"type":"number","description":"Software base version of the shower.","example":19,"uniqueKey":"base","typeLabel":"number"},"control_dial_notifications":{"type":"boolean","description":"Shows maintenance reminders (filter, UV lamp, descaling, sensor tank) on the Control dial.","example":true,"uniqueKey":"control_dial_notifications","typeLabel":"boolean"},"control_dial_ui":{"oneOf":[{"type":"string","enum":["classic","swipe"],"description":"Interface on the Control dial: `classic` or `swipe`. `null` until the shower reports it.","example":"swipe","uniqueKey":"control_dial_ui.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["classic","swipe"],"description":"Interface on the Control dial: `classic` or `swipe`. `null` until the shower reports it.","example":"swipe","uniqueKey":"control_dial_ui.oneOf.1","typeLabel":"null"}],"uniqueKey":"control_dial_ui","typeLabel":"enum\u003cstring> | null"},"hibernating":{"type":"boolean","description":"The shower is hibernating.","example":false,"uniqueKey":"hibernating","typeLabel":"boolean"},"updated_at":{"type":"string","description":"When the record was last changed (ISO 8601).","example":"2026-10-28T17:03:10.000Z","uniqueKey":"updated_at","typeLabel":"string"},"descaling_status":{"type":"number","description":"How far the shower is from needing descaling, in percent: `100` just descaled, `0` descaling due.","example":64,"uniqueKey":"descaling_status","typeLabel":"number"},"role":{"type":"string","enum":["owner","maintenance","user"],"description":"Your access to the device: `owner` (you paired it) or, for a device shared with you, `user` or `maintenance`. `maintenance` can read the device but not change it, control it or see its sessions. Only included by `GET /client/showers` and `GET /client/showers/{id}`.","example":"owner","uniqueKey":"role","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"0b7a6c1e-5f2d-4c3b-8a9e-1d2f3a4b5c6d","owner":"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b","name":"Bathroom","state":"active","saved_water":18250.4,"saved_energy":742.18,"sessions":512,"latest_session":"2026-11-02T06:20:00.000Z","filter_status":72,"device_group":"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b","last_connected":"2026-11-02T06:40:12.000Z","last_disconnected":"2026-11-01T23:10:05.000Z","created_at":"2026-03-14T09:12:44.000Z","build_id":"v3.17.8","replace_uv":false,"is_cleaning_program_required":false,"clean_sensor_tank":false,"no_recirculation":false,"float_leak":false,"operating":{"cleaning_programs":12,"inner_heat_treatments":498,"outer_heat_treatments":64,"sessions":1203,"sessions_since_cleaning_program":8,"sessions_since_inner_heat_treatment":1,"sessions_since_outer_heat_treatment":5,"liters_since_last_descaling":640},"oas_revision":3,"serial_number":"2214-0005","wifi_ssid":"HomeNetwork","installation_info":{"installation_name":"installer@example.com","installation_date":"2026-03-14T10:02:00.000Z"},"installation_test":{"id":"9c8b7a6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d"},"type":"shower","base":19,"control_dial_notifications":true,"control_dial_ui":"swipe","hibernating":false,"updated_at":"2026-10-28T17:03:10.000Z","descaling_status":64,"role":"owner"}}},"exampleType":"generated"}},"exampleType":"generated"},"f6f595e1-79a2-49df-8726-1d9a799e06f1":{"description":"No access to this resource","content":{"application/json":{"schema":{"type":"object","description":"Returned with every 4xx and 5xx response.","required":["message"],"properties":{"message":{"type":"string","description":"What went wrong.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"name":{"type":"string","description":"Kind of error. Not set on a `500`.","uniqueKey":"name","typeLabel":"string"},"statusCode":{"type":"integer","description":"HTTP status code, repeated from the response. Not set on a `500`.","uniqueKey":"statusCode","typeLabel":"integer"},"code":{"type":"integer","enum":[1,2],"description":"Set on a `403` from pairing a device someone else owns: `1` the owner doesn’t accept sharing requests, `2` a sharing request was sent to the owner.","uniqueKey":"code","typeLabel":"enum\u003cinteger>"}},"uniqueKey":"","typeLabel":"object"},"example":{"message":"Unauthorized","statusCode":401,"name":"UnauthorizedError"},"examples":{"Example":{"title":"Example","value":{"message":"Unauthorized","statusCode":401,"name":"UnauthorizedError"}}},"exampleType":"examples"}},"exampleType":"examples"},"ae912794-06a3-4383-ae65-0c4ba0bd7899":{"description":"Shower not found","content":{"application/json":{"schema":{"type":"object","description":"Returned with every 4xx and 5xx response.","required":["message"],"properties":{"message":{"type":"string","description":"What went wrong.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"name":{"type":"string","description":"Kind of error. Not set on a `500`.","uniqueKey":"name","typeLabel":"string"},"statusCode":{"type":"integer","description":"HTTP status code, repeated from the response. Not set on a `500`.","uniqueKey":"statusCode","typeLabel":"integer"},"code":{"type":"integer","enum":[1,2],"description":"Set on a `403` from pairing a device someone else owns: `1` the owner doesn’t accept sharing requests, `2` a sharing request was sent to the owner.","uniqueKey":"code","typeLabel":"enum\u003cinteger>"}},"uniqueKey":"","typeLabel":"object"},"example":{"message":"Shower not found","statusCode":404,"name":"NotFoundError"},"examples":{"Example":{"title":"Example","value":{"message":"Shower not found","statusCode":404,"name":"NotFoundError"}}},"exampleType":"examples"}},"exampleType":"examples"},"91fb84ee-c3f5-4772-80fc-eb5570090490":{"description":"Another of your showers has that name","content":{"application/json":{"schema":{"type":"object","description":"Returned with every 4xx and 5xx response.","required":["message"],"properties":{"message":{"type":"string","description":"What went wrong.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"name":{"type":"string","description":"Kind of error. Not set on a `500`.","uniqueKey":"name","typeLabel":"string"},"statusCode":{"type":"integer","description":"HTTP status code, repeated from the response. Not set on a `500`.","uniqueKey":"statusCode","typeLabel":"integer"},"code":{"type":"integer","enum":[1,2],"description":"Set on a `403` from pairing a device someone else owns: `1` the owner doesn’t accept sharing requests, `2` a sharing request was sent to the owner.","uniqueKey":"code","typeLabel":"enum\u003cinteger>"}},"uniqueKey":"","typeLabel":"object"},"example":{"message":"Shower name already exists","statusCode":409,"name":"ConflictError"},"examples":{"Example":{"title":"Example","value":{"message":"Shower name already exists","statusCode":409,"name":"ConflictError"}}},"exampleType":"examples"}},"exampleType":"examples"},"f7ec5004-cd0d-463f-b227-f66a21532d8e":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","description":"Returned with every 4xx and 5xx response.","required":["message"],"properties":{"message":{"type":"string","description":"What went wrong.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"name":{"type":"string","description":"Kind of error. Not set on a `500`.","uniqueKey":"name","typeLabel":"string"},"statusCode":{"type":"integer","description":"HTTP status code, repeated from the response. Not set on a `500`.","uniqueKey":"statusCode","typeLabel":"integer"},"code":{"type":"integer","enum":[1,2],"description":"Set on a `403` from pairing a device someone else owns: `1` the owner doesn’t accept sharing requests, `2` a sharing request was sent to the owner.","uniqueKey":"code","typeLabel":"enum\u003cinteger>"}},"uniqueKey":"","typeLabel":"object"},"example":{"message":"Internal server error"},"examples":{"Example":{"title":"Example","value":{"message":"Internal server error"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"e916a54d-4680-4b7b-9d96-81d36f47e05b":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"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\" }`.","scopes":[],"schemeName":"apiKeyAuth"}}},"servers":{"bdfec3b1-a639-42c1-ae6a-df78d7049378":{"url":"https://api.orbital-systems.com","description":"Production"},"d74f0656-3d54-4220-9034-0a05241656b8":{"url":"https://stage-api.orbital-systems.com","description":"Staging"},"56b66090-3d89-4803-bdf1-c93f775d7407":{"url":"https://dev-api.orbital-systems.com","description":"Development"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"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\" }`.","scopes":[],"schemeName":"apiKeyAuth"},"schema":{"title":"x-api-key","type":"string","description":"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\" }`.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"x-api-key"}],"title":"apiKeyAuth"}]},"originalFileLocation":"spec.json"},"subdomain":"orbitalsystems","siteName":"Orbital","title":"Update shower - Orbital","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T10:11:43.702Z","originalFileLocation":"api-reference/showers/update-shower.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Orbital\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/orbitalsystems/9Vm0PDYjg65a0uU4/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/orbitalsystems/9Vm0PDYjg65a0uU4/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/orbitalsystems/9Vm0PDYjg65a0uU4/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/orbitalsystems/9Vm0PDYjg65a0uU4/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/orbitalsystems/9Vm0PDYjg65a0uU4/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/orbitalsystems/9Vm0PDYjg65a0uU4/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/orbitalsystems/9Vm0PDYjg65a0uU4/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/orbitalsystems/9Vm0PDYjg65a0uU4/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/orbitalsystems/9Vm0PDYjg65a0uU4/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update shower - Orbital\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Orbital\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.orbital-systems.com/api-reference/showers/update-shower\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://orbitalsystems.mintlify.app/_mintlify/api/og/v2?division=Showers.\u0026amp;title=Update+shower\u0026amp;theme=29f26c9e5f1199e6c6570a2b\u0026amp;signature=0795be4507064d29655f5a7cc4ff78abbc0282c6bc1adca782268dd32dff5cf6\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update shower - Orbital\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://orbitalsystems.mintlify.app/_mintlify/api/og/v2?division=Showers.\u0026amp;title=Update+shower\u0026amp;theme=29f26c9e5f1199e6c6570a2b\u0026amp;signature=0795be4507064d29655f5a7cc4ff78abbc0282c6bc1adca782268dd32dff5cf6\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/orbitalsystems/9Vm0PDYjg65a0uU4/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Orbital\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff5500\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.orbital-systems.com/api-reference/showers/update-shower\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/showers/update-shower.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.orbital-systems.com/#organization\",\"name\":\"Orbital\",\"url\":\"https://docs.orbital-systems.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/orbitalsystems/EVkTDln8Sf7ZkRWS/logo/light.svg?fit=max\u0026auto=format\u0026n=EVkTDln8Sf7ZkRWS\u0026q=85\u0026s=3a37dd35c2861055878486ade93d7855\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.orbital-systems.com#website\",\"name\":\"Orbital\",\"url\":\"https://docs.orbital-systems.com\",\"publisher\":{\"@id\":\"https://docs.orbital-systems.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.orbital-systems.com/api-reference/showers/update-shower#webpage\",\"url\":\"https://docs.orbital-systems.com/api-reference/showers/update-shower\",\"name\":\"Update shower\",\"dateModified\":\"2026-11-04T10:11:43.702Z\",\"isPartOf\":{\"@id\":\"https://docs.orbital-systems.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.orbital-systems.com/api-reference/showers/update-shower#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.orbital-systems.com/api-reference/showers/update-shower#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Showers.\",\"item\":\"https://docs.orbital-systems.com/api-reference/showers/get-shower\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Update shower\",\"item\":\"https://docs.orbital-systems.com/api-reference/showers/update-shower\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.orbital-systems.com/api-reference/showers/update-shower#apireference\",\"headline\":\"Update shower\",\"name\":\"Update shower\",\"url\":\"https://docs.orbital-systems.com/api-reference/showers/update-shower\",\"mainEntityOfPage\":{\"@id\":\"https://docs.orbital-systems.com/api-reference/showers/update-shower#webpage\"},\"dateModified\":\"2026-11-04T10:11:43.702Z\",\"publisher\":{\"@id\":\"https://docs.orbital-systems.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.orbital-systems.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Orbital\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Orbital","nav":{"global":null,"anchors":[{"anchor":"API","icon":"square-terminal","groups":[{"group":"Groups.","pages":[{"title":"Get group","deprecated":null,"version":null,"openapi":"/spec.json get /client/groups/{id}","href":"/api-reference/groups/get-group"},{"title":"Update group","deprecated":null,"version":null,"openapi":"/spec.json put /client/groups/{id}","href":"/api-reference/groups/update-group"},{"title":"Delete group","deprecated":null,"version":null,"openapi":"/spec.json delete /client/groups/{id}","href":"/api-reference/groups/delete-group"},{"title":"List groups","deprecated":null,"version":null,"openapi":"/spec.json get /client/groups","href":"/api-reference/groups/list-groups"},{"title":"Create group","deprecated":null,"version":null,"openapi":"/spec.json post /client/groups","href":"/api-reference/groups/create-group"}]},{"group":"History.","pages":[{"title":"List history by device","deprecated":null,"version":null,"openapi":"/spec.json get /client/history/{id}","href":"/api-reference/history/list-history-by-device"},{"title":"Update history","deprecated":null,"version":null,"openapi":"/spec.json put /client/history/{id}","href":"/api-reference/history/update-history"},{"title":"List history","deprecated":null,"version":null,"openapi":"/spec.json get /client/history","href":"/api-reference/history/list-history"}]},{"group":"History metadata.","pages":[{"title":"Get history metadata","deprecated":null,"version":null,"openapi":"/spec.json get /client/history-metadata/{id}","href":"/api-reference/history-metadata/get-history-metadata"}]},{"group":"User invites.","pages":[{"title":"List user invites","deprecated":null,"version":null,"openapi":"/spec.json get /client/user/invites","href":"/api-reference/user-invites/list-user-invites"},{"title":"Create user invite","deprecated":null,"version":null,"openapi":"/spec.json post /client/user/invites","href":"/api-reference/user-invites/create-user-invite"},{"title":"Get user invite","deprecated":null,"version":null,"openapi":"/spec.json get /client/user/invites/{id}","href":"/api-reference/user-invites/get-user-invite"},{"title":"Update user invite","deprecated":null,"version":null,"openapi":"/spec.json put /client/user/invites/{id}","href":"/api-reference/user-invites/update-user-invite"},{"title":"Delete user invite","deprecated":null,"version":null,"openapi":"/spec.json delete /client/user/invites/{id}","href":"/api-reference/user-invites/delete-user-invite"}]},{"group":"Showers.","pages":[{"title":"Get shower","description":null,"deprecated":null,"version":null,"openapi":"/spec.json get /client/showers/{id}","href":"/api-reference/showers/get-shower"},{"title":"Update shower","deprecated":null,"version":null,"openapi":"/spec.json put /client/showers/{id}","href":"/api-reference/showers/update-shower"},{"title":"List showers","description":null,"deprecated":null,"version":null,"openapi":"/spec.json get /client/showers","href":"/api-reference/showers/list-showers"}]},{"group":"Shower pairing.","pages":[{"title":"Unpair shower","deprecated":null,"version":null,"openapi":"/spec.json delete /client/showers/{id}","href":"/api-reference/shower-pairing/unpair-shower"},{"title":"Pair shower","deprecated":null,"version":null,"openapi":"/spec.json put /client/showers/pair/{id}","href":"/api-reference/shower-pairing/pair-shower"}]},{"group":"Shower savings.","pages":[{"title":"Get total savings","deprecated":null,"version":null,"openapi":"/spec.json get /client/showers/savings","href":"/api-reference/shower-savings/get-total-savings"}]},{"group":"Shower commissioning.","pages":[{"title":"Commission shower","deprecated":null,"version":null,"openapi":"/spec.json put /client/showers/commission/{id}","href":"/api-reference/shower-commissioning/commission-shower"}]},{"group":"Shower configuration.","pages":[{"title":"Get configuration","deprecated":null,"version":null,"openapi":"/spec.json get /client/showers/{id}/configuration","href":"/api-reference/shower-configuration/get-configuration"},{"title":"Update configuration","deprecated":null,"version":null,"openapi":"/spec.json put /client/showers/{id}/configuration","href":"/api-reference/shower-configuration/update-configuration"},{"title":"Reset configuration","deprecated":null,"version":null,"openapi":"/spec.json delete /client/showers/{id}/configuration","href":"/api-reference/shower-configuration/reset-configuration"}]},{"group":"Shower instant start schedules.","pages":[{"title":"Get instant start","deprecated":null,"version":null,"openapi":"/spec.json get /client/showers/{id}/instantstart","href":"/api-reference/shower-instant-start-schedules/get-instant-start"},{"title":"Update instant start","deprecated":null,"version":null,"openapi":"/spec.json put /client/showers/{id}/instantstart","href":"/api-reference/shower-instant-start-schedules/update-instant-start"}]},{"group":"Shower installation.","pages":[{"title":"Get installation test","deprecated":null,"version":null,"openapi":"/spec.json get /client/showers/{id}/installation","href":"/api-reference/shower-installation/get-installation-test"},{"title":"Start installation test","deprecated":null,"version":null,"openapi":"/spec.json put /client/showers/{id}/installation","href":"/api-reference/shower-installation/start-installation-test"},{"title":"Abort installation test","deprecated":null,"version":null,"openapi":"/spec.json delete /client/showers/{id}/installation","href":"/api-reference/shower-installation/abort-installation-test"}]},{"group":"Shower commands.","pages":[{"title":"Send a remote control command to a shower","deprecated":null,"version":null,"openapi":"/spec.json post /client/showers/{id}/commands","href":"/api-reference/shower-commands/send-a-remote-control-command-to-a-shower"},{"title":"Get the live status of a shower","deprecated":null,"version":null,"openapi":"/spec.json get /client/showers/{id}/status","href":"/api-reference/shower-commands/get-the-live-status-of-a-shower"}]},{"group":"Taps.","pages":[{"title":"Get tap","deprecated":null,"version":null,"openapi":"/spec.json get /client/taps/{id}","href":"/api-reference/taps/get-tap"},{"title":"Update tap","deprecated":null,"version":null,"openapi":"/spec.json put /client/taps/{id}","href":"/api-reference/taps/update-tap"},{"title":"List taps","deprecated":null,"version":null,"openapi":"/spec.json get /client/taps","href":"/api-reference/taps/list-taps"}]},{"group":"Tap pairing.","pages":[{"title":"Unpair tap","deprecated":null,"version":null,"openapi":"/spec.json delete /client/taps/{id}","href":"/api-reference/tap-pairing/unpair-tap"},{"title":"Pair tap","deprecated":null,"version":null,"openapi":"/spec.json put /client/taps/pair/{id}","href":"/api-reference/tap-pairing/pair-tap"}]},{"group":"Tap configuration.","pages":[{"title":"Get configuration","deprecated":null,"version":null,"openapi":"/spec.json get /client/taps/{id}/configuration","href":"/api-reference/tap-configuration/get-configuration"},{"title":"Update configuration","deprecated":null,"version":null,"openapi":"/spec.json put /client/taps/{id}/configuration","href":"/api-reference/tap-configuration/update-configuration"},{"title":"Reset configuration","deprecated":null,"version":null,"openapi":"/spec.json delete /client/taps/{id}/configuration","href":"/api-reference/tap-configuration/reset-configuration"}]},{"group":"Tap commands.","pages":[{"title":"Send a remote control command to a tap","deprecated":null,"version":null,"openapi":"/spec.json post /client/taps/{id}/commands","href":"/api-reference/tap-commands/send-a-remote-control-command-to-a-tap"}]},{"group":"User.","pages":[{"title":"Get user","deprecated":null,"version":null,"openapi":"/spec.json get /client/user","href":"/api-reference/user/get-user"},{"title":"Update user","deprecated":null,"version":null,"openapi":"/spec.json put /client/user","href":"/api-reference/user/update-user"},{"title":"Delete user","deprecated":null,"version":null,"openapi":"/spec.json delete /client/user","href":"/api-reference/user/delete-user"}]}]}]},"basePath":"","title":"Update shower - Orbital","buildId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","deploymentId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B5zPa4Vr.js","utils-CVjrr8Yd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DTgURWzl.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DxTHtkdZ.js","snippetPresets-Cx47o5Vx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-4Fr6y9N_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Dq2ElbEk.js","shallow-BfYl9r69.js","getApiPlaygroundDisplay-Ch3xc7i1.js","CodeSnippet-BsBxuJ1v.js","CodeSnippets-CetzeDL8.js","Page-CYZot51e.js","getPastedJson-BxPKFSJx.js","icon-o0J1Ochb.js","MethodPill-Du3usO5m.js","DuplicateIcon-DJypyMzl.js","createIcon-YMA6N8KJ.js","DynamicMarkdown-CWvhfcZc.js","SectionHeading-BdLVaXCd.js","axios-vUo_bRtp.js","Markdown-C4Ez6OeV.js","clsx-DptzKFCt.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Dt1IougW.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CZ6Wt2Vb.js"]}