Rhombus Systems Climate Webservice API
The Climate Webservice API from Rhombus Systems — 12 operation(s) for climate webservice.
The Climate Webservice API from Rhombus Systems — 12 operation(s) for climate webservice.
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/rhombus-systems-climate-webservice-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:
contact:
email: developer@rhombussystems.com
description: 'This API is for use by Rhombus customers and partners.
## Authentication
All requests require two headers:
- `x-auth-scheme` — The authentication scheme identifier. Use `api-token` for standard API key auth, or `partner-api-token` for partner API auth.
- `x-auth-apikey` — Your Rhombus API key.
Example:
```
POST /api/camera/getMinimalCameraStateList
x-auth-scheme: api-token
x-auth-apikey: YOUR_API_KEY
Content-Type: application/json
```'
title: Rhombus Climate Webservice API
version: '1.0'
servers:
- description: Production Server
url: https://api2.rhombussystems.com
security:
- ApiKeyAuth: []
tags:
- name: Climate Webservice
paths:
/api/climate/deleteEnvironmentalGateway:
post:
description: Remove an environmental gateway from the org
operationId: deleteEnvironmentalGateway
parameters:
- description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
example: api-token
in: header
name: x-auth-scheme
required: true
schema:
type: string
default: api-token
enum:
- api-token
- api
- partner-api-token
- partner-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_DeleteEnvironmentalGatewayWSRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_DeleteEnvironmentalGatewayWSResponse'
description: OK
summary: Delete environmental gateway
tags:
- Climate Webservice
/api/climate/getClimateEventsForSensor:
post:
description: Get list of climate events for environmental sensor
operationId: getClimateEventsForSensor
parameters:
- description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
example: api-token
in: header
name: x-auth-scheme
required: true
schema:
type: string
default: api-token
enum:
- api-token
- api
- partner-api-token
- partner-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetClimateEventsForSensorWSRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetClimateEventsForSensorWSResponse'
description: OK
summary: Get climate events for environmental sensor
tags:
- Climate Webservice
/api/climate/getClimatePresenceWindows:
post:
description: Get stored video information for sensor
operationId: getClimatePresenceWindows
parameters:
- description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
example: api-token
in: header
name: x-auth-scheme
required: true
schema:
type: string
default: api-token
enum:
- api-token
- api
- partner-api-token
- partner-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Sensor_GetSensorPresenceWindowsWSRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Sensor_GetSensorPresenceWindowsWSResponse'
description: OK
summary: Get climate presence windows
tags:
- Climate Webservice
/api/climate/getConfig:
post:
description: Get the config for a climate sensor
operationId: getConfig
parameters:
- description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
example: api-token
in: header
name: x-auth-scheme
required: true
schema:
type: string
default: api-token
enum:
- api-token
- api
- partner-api-token
- partner-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetClimateSensorConfigWSRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetClimateSensorConfigWSResponse'
description: OK
summary: Get climate sensor config
tags:
- Climate Webservice
/api/climate/getEnvironmentalGatewayShadows:
post:
description: Get list of shadows of all environmental gateways of an org
operationId: getEnvironmentalGatewayShadows
parameters:
- description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
example: api-token
in: header
name: x-auth-scheme
required: true
schema:
type: string
default: api-token
enum:
- api-token
- api
- partner-api-token
- partner-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetEnvironmentalGatewayShadowsWSRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetEnvironmentalGatewayShadowsWSResponse'
description: OK
summary: Get environmental gateway shadows
tags:
- Climate Webservice
/api/climate/getEventsForEnvironmentalGateway:
post:
description: Get list of events for environmental gateway
operationId: getEventsForEnvironmentalGateway
parameters:
- description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
example: api-token
in: header
name: x-auth-scheme
required: true
schema:
type: string
default: api-token
enum:
- api-token
- api
- partner-api-token
- partner-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetEventsForEnvironmentalGatewayWSRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetEventsForEnvironmentalGatewayWSResponse'
description: OK
summary: Get events for environmental gateway
tags:
- Climate Webservice
/api/climate/getMinimalClimateStateList:
post:
description: Get basic state information of all environmental sensors
operationId: getMinimalClimateStateList
parameters:
- description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
example: api-token
in: header
name: x-auth-scheme
required: true
schema:
type: string
default: api-token
enum:
- api-token
- api
- partner-api-token
- partner-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetMinimalClimateStatesWSRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetMinimalClimateStatesWSResponse'
description: OK
summary: Get minimal climate state list
tags:
- Climate Webservice
/api/climate/getMinimalEnvironmentalGatewayStates:
post:
description: Get list of basic states of all environmental gateways of an org
operationId: getMinimalEnvironmentalGatewayStates
parameters:
- description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
example: api-token
in: header
name: x-auth-scheme
required: true
schema:
type: string
default: api-token
enum:
- api-token
- api
- partner-api-token
- partner-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetMinimalEnvironmentalGatewayStatesWSRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetMinimalEnvironmentalGatewayStatesWSResponse'
description: OK
summary: Get minimal environmental gateway states
tags:
- Climate Webservice
/api/climate/getMinimalStateEventsForEnvironmentalGateway:
post:
description: Get list of events for environmental gateways in minimal state
operationId: getMinimalStateEventsForEnvironmentalGateway
parameters:
- description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
example: api-token
in: header
name: x-auth-scheme
required: true
schema:
type: string
default: api-token
enum:
- api-token
- api
- partner-api-token
- partner-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetEventsForEnvironmentalGatewayWSRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_GetMinimalEnvironmentalGatewayStatesWSResponse'
description: OK
summary: Get minimal state events for environmental gateway
tags:
- Climate Webservice
/api/climate/reboot:
post:
description: Send reboot command to environmental gateway
operationId: rebootEnvironmentalGateway
parameters:
- description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
example: api-token
in: header
name: x-auth-scheme
required: true
schema:
type: string
default: api-token
enum:
- api-token
- api
- partner-api-token
- partner-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_RebootEnvironmentalGatewayWSRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Common_devices_RebootDeviceWSResponse'
description: OK
summary: Reboot environmental gateway
tags:
- Climate Webservice
/api/climate/updateDetails:
post:
description: 'Update details for environmental sensor. Note: uuid is a required field'
operationId: updateClimateSensorDetails
parameters:
- description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
example: api-token
in: header
name: x-auth-scheme
required: true
schema:
type: string
default: api-token
enum:
- api-token
- api
- partner-api-token
- partner-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_UpdateClimateSensorDetailsWSRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_UpdateClimateSensorDetailsWSResponse'
description: OK
summary: Update climate sensor details
tags:
- Climate Webservice
/api/climate/updateEnvironmentalGatewayDetails:
post:
description: 'Update details for environmental gateway. Note: uuid is a required field'
operationId: updateEnvironmentalGatewayDetails
parameters:
- description: Authentication scheme identifier. Use `api-token` for standard API key authentication, `partner-api-token` for partner API key authentication. Must be paired with the `x-auth-apikey` header containing your API key.
example: api-token
in: header
name: x-auth-scheme
required: true
schema:
type: string
default: api-token
enum:
- api-token
- api
- partner-api-token
- partner-api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_UpdateEnvironmentalGatewayDetailsWSRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Climate_UpdateEnvironmentalGatewayDetailsWSResponse'
description: OK
summary: Update environmental gateway details
tags:
- Climate Webservice
components:
schemas:
Climate_RebootEnvironmentalGatewayWSRequest:
type: object
description: Request to reboot an environmental gateway.
properties:
environmentalGatewayUuid:
type:
- string
- 'null'
format: RUUID
description: base 64 (url-safe) uuid string
example: AAAAAAAAAAAAAAAAAAAAAA
PmSensorType:
type: object
properties:
nc0p5:
type:
- number
- 'null'
format: float
nc10p0:
type:
- number
- 'null'
format: float
nc1p0:
type:
- number
- 'null'
format: float
nc2p5:
type:
- number
- 'null'
format: float
nc4p0:
type:
- number
- 'null'
format: float
noxIdx:
type:
- number
- 'null'
format: float
pm10p0:
type:
- number
- 'null'
format: float
pm1p0:
type:
- number
- 'null'
format: float
pm2p5:
type:
- number
- 'null'
format: float
pm4p0:
type:
- number
- 'null'
format: float
relHumid:
type:
- number
- 'null'
format: float
tempC:
type:
- number
- 'null'
format: float
timestampSec:
type:
- integer
- 'null'
format: int64
typPartSize:
type:
- number
- 'null'
format: float
vocIdx:
type:
- number
- 'null'
format: float
Climate_GetMinimalEnvironmentalGatewayStatesWSRequest:
type: object
description: Request to retrieve minimal environmental gateway states.
PressureSensorType:
type: object
properties:
pressure:
type:
- number
- 'null'
format: float
tempC:
type:
- number
- 'null'
format: float
timestampSec:
type:
- integer
- 'null'
format: int64
MetaDataLocationType:
type: object
properties:
region:
type:
- string
- 'null'
ToastOrderIdType:
type: object
properties:
employeeName:
type:
- string
- 'null'
guid:
type:
- string
- 'null'
locationName:
type:
- string
- 'null'
restaurantName:
type:
- string
- 'null'
toastCheckInfo:
$ref: '#/components/schemas/ToastCheckInfo'
Climate_UpdateEnvironmentalGatewayDetailsWSResponse:
type: object
description: Response indicating the result of updating environmental gateway details.
properties:
error:
type:
- boolean
- 'null'
errorMsg:
type:
- string
- 'null'
warningMsg:
type:
- string
- 'null'
Climate_UpdateClimateSensorDetailsWSRequest:
type: object
description: Request to update details for an environmental sensor.
properties:
associatedCameras:
type:
- array
- 'null'
description: List of associated camera device facet UUIDs
items:
type:
- string
- 'null'
format: DeviceFacetUuid
description: RUUID with optional appended facet information
example: AAAAAAAAAAAAAAAAAAAAAA.v0
associatedCamerasUpdated:
type:
- boolean
- 'null'
deleted:
type:
- boolean
- 'null'
description: Whether the environmental sensor is deleted
example: false
deletedUpdated:
type:
- boolean
- 'null'
description:
type:
- string
- 'null'
description: Description of the environmental sensor
example: Temperature and humidity sensor in main office
descriptionUpdated:
type:
- boolean
- 'null'
floorNumber:
type:
- integer
- 'null'
format: int32
description: Floor number where the environmental sensor is located
example: 1
floorNumberUpdated:
type:
- boolean
- 'null'
latitude:
type:
- number
- 'null'
format: double
description: Latitude coordinate of the environmental sensor
example: 37.7749
latitudeUpdated:
type:
- boolean
- 'null'
locationUuid:
type:
- string
- 'null'
format: RUUID
description: base 64 (url-safe) uuid string
example: AAAAAAAAAAAAAAAAAAAAAA
locationUuidUpdated:
type:
- boolean
- 'null'
longitude:
type:
- number
- 'null'
format: double
description: Longitude coordinate of the environmental sensor
example: -122.4194
longitudeUpdated:
type:
- boolean
- 'null'
name:
type:
- string
- 'null'
description: Name of the environmental sensor
example: Main Office Sensor
nameUpdated:
type:
- boolean
- 'null'
policyUuid:
type:
- string
- 'null'
format: RUUID
description: base 64 (url-safe) uuid string
example: AAAAAAAAAAAAAAAAAAAAAA
policyUuidUpdated:
type:
- boolean
- 'null'
subLocationsHierarchyKey:
type:
- string
- 'null'
format: SubLocationsHierarchyKey
description: 'A sequence of one or more base 64 (url-safe) uuid substrings.
These substrings are separated by dots (.).
'
example: AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA.AAAAAAAAAAAAAAAAAAAAAA
pattern: ^([A-Za-z0-9\-_]{22})([.][A-Za-z0-9\-_]{22})*$
subLocationsHierarchyKeyUpdated:
type:
- boolean
- 'null'
uuid:
type:
- string
- 'null'
format: RUUID
description: base 64 (url-safe) uuid string
example: AAAAAAAAAAAAAAAAAAAAAA
Sensor_GetSensorPresenceWindowsWSResponse:
type: object
description: Response object containing stored video information for a sensor.
properties:
error:
type:
- boolean
- 'null'
errorMsg:
type:
- string
- 'null'
presenceWindows:
type:
- array
- 'null'
description: List of presence windows for the sensor
items:
$ref: '#/components/schemas/TimeWindowSeconds'
warningMsg:
type:
- string
- 'null'
Climate_DeleteEnvironmentalGatewayWSResponse:
type: object
description: Response indicating the result of deleting an environmental gateway.
properties:
error:
type:
- boolean
- 'null'
errorMsg:
type:
- string
- 'null'
responseStatus:
$ref: '#/components/schemas/WebResponseStatusEnum'
warningMsg:
type:
- string
- 'null'
Climate_GetClimateSensorConfigWSResponse:
type: object
description: Response containing configuration for an environmental sensor.
properties:
config:
$ref: '#/components/schemas/IClimateUserConfig'
error:
type:
- boolean
- 'null'
errorMsg:
type:
- string
- 'null'
warningMsg:
type:
- string
- 'null'
Climate_GetClimateEventsForSensorWSResponse:
type: object
description: Response containing climate events for an environmental sensor.
properties:
climateEvents:
type:
- array
- 'null'
description: List of climate events for the sensor
items:
$ref: '#/components/schemas/ClimateEventType'
error:
type:
- boolean
- 'null'
errorMsg:
type:
- string
- 'null'
warningMsg:
type:
- string
- 'null'
Climate_GetEventsForEnvironmentalGatewayWSResponse:
type: object
description: Response containing events for an environmental gateway.
properties:
events:
type:
- array
- 'null'
description: List of climate events for the environmental gateway
items:
$ref: '#/components/schemas/E50ClimateEventType'
lastEvaluatedKey:
type:
- string
- 'null'
ClipSeekPointV2Type:
type: object
description: List of seek points for the clip
properties:
activity:
$ref: '#/components/schemas/ActivityEnum'
alert:
type:
- boolean
- 'null'
customActivityColor:
$ref: '#/components/schemas/FootageSeekPointColorEnum'
customActivityDescription:
type:
- string
- 'null'
customActivityDisplayName:
type:
- string
- 'null'
dcao:
type:
- boolean
- 'null'
dwelling:
type:
- boolean
- 'null'
faceName:
type:
- string
- 'null'
id:
type:
- integer
- 'null'
format: int32
inMotion:
type:
- boolean
- 'null'
licensePlate:
type:
- string
- 'null'
loudness:
type:
- integer
- 'null'
format: int32
pose:
type:
- string
- 'null'
relativeSecond:
type:
- number
- 'null'
format: float
sensorValType:
$ref: '#/components/schemas/SensorValType'
stableTrackId:
type:
- integer
- 'null'
format: int32
toastOrderIdInfo:
$ref: '#/components/schemas/ToastOrderIdType'
tu:
type:
- string
- 'null'
unidentifiedFaceId:
type:
- string
- 'null'
vehicleName:
type:
- string
- 'null'
ClipSeekPointType:
type: object
properties:
activity:
$ref: '#/components/schemas/ActivityEnum'
alert:
type:
- boolean
- 'null'
bottom:
type:
- number
- 'null'
format: float
faceName:
type:
- string
- 'null'
keypointsV2:
type:
- object
- 'null'
additionalProperties:
$ref: '#/components/schemas/PointType'
left:
type:
- number
- 'null'
format: float
licensePlate:
type:
- string
- 'null'
pose:
type:
- string
- 'null'
relativeSecond:
type:
- number
- 'null'
format: float
right:
type:
- number
- 'null'
format: float
top:
type:
- number
- 'null'
format: float
unidentifiedFaceId:
type:
- string
- 'null'
vehicleName:
type:
- string
- 'null'
Climate_GetMinimalEnvironmentalGatewayStatesWSResponse:
type: object
description: Response containing minimal environmental gateway states.
properties:
error:
type:
- boolean
- 'null'
errorMsg:
type:
- string
- 'null'
lastEvaluatedKey:
type:
- string
- 'null'
minimalEnvironmentalGatewayStates:
type:
- array
- 'null'
description: List of minimal environmental gateway states
items:
$ref: '#/components/schemas/Climate_MinimalEnvironmentalGatewayStateType'
warningMsg:
type:
- string
- 'null'
DeviceStatusEnum:
type: string
enum:
- RED
- ORANGE
- YELLOW
- GREEN
TimeWindowSeconds:
type: object
description: List of uptime windows for the device
properties:
durationSeconds:
type:
- integer
- 'null'
format: int64
startSeconds:
type:
- integer
- 'null'
format: int64
E50ClimateEventType:
type: object
description: List of climate events for the environmental gateway
properties:
activities:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ActivityEnum'
alertTriggerThresholds:
type:
- array
- 'null'
items:
type:
- number
- 'null'
format: double
alertTriggers:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ActivityEnum'
carbonMonoSense:
$ref: '#/components/schemas/COSensorType'
clipMetaData:
$ref: '#/components/schemas/ClipMetaDataType'
co2Sense:
$ref: '#/components/schemas/Co2SensorType'
derivedValues:
$ref: '#/components/schemas/E50DerivedValuesType'
deviceType:
$ref: '#/components/schemas/DeviceTypeEnum'
deviceUuid:
type:
- string
- 'null'
format: RUUID
description: base 64 (url-safe) uuid string
example: AAAAAAAAAAAAAAAAAAAAAA
firmwareVersion:
type:
- string
- 'null'
formaSense:
$ref: '#/components/schemas/FormaSensorType'
hwVariation:
$ref: '#/components/schemas/HardwareVariationEnum'
leakProbe:
$ref: '#/components/schemas/LeakProbeType'
orgUuid:
type:
- string
- 'null'
format: RUUID
description: base 64 (url-safe) uuid string
example: AAAAAAAAAAAAAAAAAAAAAA
pmSense:
$ref: '#/components/schemas/PmSensorType'
policyUuid:
type:
- string
- 'null'
format: RUUID
description: base 64 (url-safe) uuid string
example: AAAAAAAAAAAAAAAAAAAAAA
pressSense:
$ref: '#/components/schemas/PressureSensorType'
tempProbe:
$ref: '#/components/schemas/TempProbeType'
timestampMs:
type:
- integer
- 'null'
format: int64
uuid:
type:
- string
- 'null'
format: RUUID
description: base 64 (url-safe) uuid string
example: AAAAAAAAAAAAAAAAAAAAAA
Climate_GetEventsForEnvironmentalGatewayWSRequest:
type: object
description: Request to retrieve events for an environmental gateway.
properties:
createdAfterMs:
type:
- integer
- 'null'
format: int64
description: Timestamp in milliseconds after which events should be retrieved
example: 1640991600000
createdBeforeMs:
type:
- integer
- 'null'
format: int64
description: Timestamp in milliseconds before which events should be retrieved
example: 1640995200000
deviceUuid:
type:
- string
- 'null'
format: RUUID
description: base 64 (url-safe) uuid string
example: AAAAAAAAAAAAAAAAAAAAAA
lastEvaluatedKey:
type:
- string
- 'null'
maxPageSize:
type:
- integer
- 'null'
format: int32
description: Maximum number of results to return per page
example: 50
Climate_GetClimateSensorConfigWSRequest:
type: object
description: Request to retrieve configuration for an environmental sensor.
properties:
uuid:
type:
- string
- 'null'
format: RUUID
description: base 64 (url-safe) uuid string
example: AAAAAAAAAAAAAAAAAAAAAA
Common_devices_RebootDeviceWSResponse:
type: object
description: Response indicating the result of rebooting a device.
properties:
result:
$ref: '#/components/schemas/Common_devices_RebootDeviceWSResponse_RebootResult'
Climate_GetClimateEventsForSensorWSRequest:
type: object
description: Request to retrieve climate events for an environmen
# --- truncated at 32 KB (83 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rhombus-systems/refs/heads/main/openapi/rhombus-systems-climate-webservice-api-openapi.yml