Summary
Sensibo is a smart AC controller that exposes a REST API over HTTPS for remote control of air conditioning units. The API is versioned (v2) and uses JSON for all requests and responses. Authentication is via API key passed as a query parameter.
Transport
protocols:
- http
addressing:
base_url: https://home.sensibo.com/api/v2
auth:
type: apiKey
location: query_param
param_name: apiKey
# UNRESOLVED: key format/length not stated in source
# UNRESOLVED: key rotation frequency/requirements not stated in source
Traits
# inferred from AC state control examples:
traits:
- powerable
- levelable # temperature setpoint
- queryable # state queries present
# UNRESOLVED: swing/mode/fan speed not confirmed as discrete traits
Actions
actions:
# Device enumeration
- id: get_all_devices
label: Get All Devices
kind: query
params: []
method: GET
path: /users/me/pods
description: Retrieve all Sensibo pods for the authenticated user
- id: get_device
label: Get Device Info
kind: query
params:
- name: device_id
type: string
location: path
description: Device identifier
method: GET
path: /pods/{device_id}
# AC State control
- id: get_ac_states
label: Get AC States
kind: query
params:
- name: device_id
type: string
location: path
method: GET
path: /pods/{device_id}/acStates
- id: set_ac_state
label: Set AC State
kind: action
params:
- name: device_id
type: string
location: path
- name: acState
type: object
location: body
description: Full AC state object with on, mode, fanLevel, targetTemperature, swing, etc.
method: POST
path: /pods/{device_id}/acStates
- id: patch_ac_state
label: Update AC State Property
kind: action
params:
- name: device_id
type: string
location: path
- name: property
type: string
location: path
description: Property name to update (e.g., on, targetTemperature)
- name: acState
type: object
location: body
description: Partial AC state object
method: POST
path: /pods/{device_id}/acStates/{property}
# Measurements and events
- id: get_historical_measurements
label: Get Historical Measurements
kind: query
params:
- name: device_id
type: string
location: path
- name: days
type: integer
location: query
description: Number of days of history (default varies)
method: GET
path: /pods/{device_id}/historicalMeasurements
- id: get_device_events
label: Get Device Events
kind: query
params:
- name: device_id
type: string
location: path
method: GET
path: /pods/{device_id}/events
- id: get_door_sensor_events
label: Get Door Sensor Events
kind: query
params:
- name: sensor_id
type: string
location: path
method: GET
path: /doorsensors/{sensor_id}/events
# Timer operations
- id: get_timer
label: Get Current Timer
kind: query
params:
- name: device_id
type: string
location: path
method: GET
path: /pods/{device_id}/timer
- id: set_timer
label: Set Timer
kind: action
params:
- name: device_id
type: string
location: path
method: PUT
path: /pods/{device_id}/timer
- id: delete_timer
label: Delete Timer
kind: action
params:
- name: device_id
type: string
location: path
method: DELETE
path: /pods/{device_id}/timer
# Schedule operations
- id: get_schedules
label: Get Scheduled Items
kind: query
params:
- name: device_id
type: string
location: path
method: GET
path: /pods/{device_id}/schedules
- id: create_schedule
label: Create Schedule
kind: action
params:
- name: device_id
type: string
location: path
method: POST
path: /pods/{device_id}/schedules
- id: get_schedule
label: Get Specific Schedule
kind: query
params:
- name: device_id
type: string
location: path
- name: schedule_id
type: string
location: path
method: GET
path: /pods/{device_id}/schedules/{schedule_id}
- id: update_schedule
label: Enable or Disable Schedule
kind: action
params:
- name: device_id
type: string
location: path
- name: schedule_id
type: string
location: path
method: PUT
path: /pods/{device_id}/schedules/{schedule_id}
- id: delete_schedule
label: Delete Schedule
kind: action
params:
- name: device_id
type: string
location: path
- name: schedule_id
type: string
location: path
method: DELETE
path: /pods/{device_id}/schedules/{schedule_id}
# Climate React operations
- id: get_climate_react
label: Get Climate React Settings
kind: query
params:
- name: device_id
type: string
location: path
method: GET
path: /pods/{device_id}/smartmode
- id: set_climate_react_enabled
label: Enable or Disable Climate React
kind: action
params:
- name: device_id
type: string
location: path
method: PUT
path: /pods/{device_id}/smartmode
- id: configure_climate_react
label: Set Climate React Configuration
kind: action
params:
- name: device_id
type: string
location: path
method: POST
path: /pods/{device_id}/smartmode
# Airbend operations (organization-level bulk control)
- id: airbend_get_devices
label: Get Airbend Organization Devices
kind: query
params: []
method: GET
path: /airbend/me/devices
- id: airbend_bulk_historical
label: Get Bulk Historical Measurements
kind: query
params: []
method: GET
path: /airbend/me/bulk-historical-measurements
- id: airbend_bulk_door_events
label: Get Bulk Door Sensor Events
kind: query
params: []
method: GET
path: /airbend/me/bulk-door-sensor-events
- id: airbend_bulk_events
label: Get Bulk Device Events
kind: query
params: []
method: GET
path: /airbend/me/bulk-events
- id: airbend_set_bulk_ac_states
label: Set AC State for Multiple Devices
kind: action
params: []
method: POST
path: /airbend/me/bulk-ac-states
- id: airbend_bulk_device_reset
label: Bulk Reset Devices (Admin Only)
kind: action
params: []
method: POST
path: /airbend/me/bulk-device-reset
- id: airbend_get_users
label: Get Airbend Organization Users (Admin Only)
kind: query
params: []
method: GET
path: /airbend/me/users
- id: airbend_remove_user
label: Remove User from Airbend Organization (Admin Only)
kind: action
params:
- name: email
type: string
location: path
method: DELETE
path: /airbend/me/users/{email}
- id: airbend_get_user_permissions
label: Get User Permissions in Airbend Organization
kind: query
params:
- name: email
type: string
location: path
method: GET
path: /airbend/me/users/{email}/permissions
Feedbacks
# AC state properties returned by the API:
# UNRESOLVED: full enum values not explicitly enumerated in source documentation
feedbacks:
- id: ac_state_on
label: AC Power State
type: boolean
description: Whether the AC unit is on or off
- id: ac_state_mode
label: AC Mode
type: string
# UNRESOLVED: mode enum values not stated (cooling/heating/auto/dry/fan only)
- id: fan_level
label: Fan Level
type: string
# UNRESOLVED: fan level enum values not stated
- id: target_temperature
label: Target Temperature
type: number
# UNRESOLVED: temperature range not stated
- id: swing
label: Swing Mode
type: string
# UNRESOLVED: swing enum values not stated
Variables
# UNRESOLVED: full list of AC state properties not explicitly enumerated in source
Events
# Device emits events via GET endpoint; specific event types not enumerated in source
# UNRESOLVED: event schema and subscription mechanism not described in source
Macros
# UNRESOLVED: multi-step sequences not documented in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source
Notes
Sensibo API requires Accept-Encoding: gzip header to achieve higher rate limits. Rate limiting returns HTTP 429. OAuth2 available for commercial users via support@sensibo.com.
Provenance
source_domains:
- support.sensibo.com
- home.sensibo.com
source_urls:
- https://support.sensibo.com/api/
- https://support.sensibo.com/api/operations/podsdevice_idacstates/post
- https://home.sensibo.com/me/api
retrieved_at: 2026-05-27T14:00:29.234Z
last_checked_at: 2026-05-31T21:05:27.544Z
Verification Summary
verdict: verified
checked_at: 2026-05-31T21:05:27.544Z
matched_actions: 28
action_count: 28
confidence: medium
summary: "All 28 spec actions have literal matches in the source documentation; transport parameters verified; one-to-one coverage of source operations. (17 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "specific AC unit models compatible with Sensibo hardware not listed in source"
- "key format/length not stated in source"
- "key rotation frequency/requirements not stated in source"
- "swing/mode/fan speed not confirmed as discrete traits"
- "full enum values not explicitly enumerated in source documentation"
- "mode enum values not stated (cooling/heating/auto/dry/fan only)"
- "fan level enum values not stated"
- "temperature range not stated"
- "swing enum values not stated"
- "full list of AC state properties not explicitly enumerated in source"
- "event schema and subscription mechanism not described in source"
- "multi-step sequences not documented in source"
- "no safety warnings or interlock procedures in source"
- "AC state property enum values (mode, fanLevel, swing) not enumerated in source"
- "temperature range/min/max not stated in source"
- "device event subscription mechanism not described in source"
- "specific Sensibo hardware model variants not enumerated in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0