can_configure_auto_lock?: boolean
Optionalcan_hvac_cool
can_hvac_cool?: boolean
Optionalcan_hvac_heat
can_hvac_heat?: boolean
Optionalcan_hvac_heat_cool
can_hvac_heat_cool?: boolean
Optionalcan_program_offline_access_codes
can_program_offline_access_codes?: boolean
Optionalcan_program_online_access_codes
can_program_online_access_codes?: boolean
Optionalcan_program_thermostat_programs_as_different_each_day
can_program_thermostat_programs_as_different_each_day?: boolean
Optionalcan_program_thermostat_programs_as_same_each_day
can_program_thermostat_programs_as_same_each_day?: boolean
Optionalcan_program_thermostat_programs_as_weekday_weekend
can_program_thermostat_programs_as_weekday_weekend?: boolean
Optionalcan_remotely_lock
can_remotely_lock?: boolean
Optionalcan_remotely_unlock
can_remotely_unlock?: boolean
Optionalcan_run_thermostat_programs
can_run_thermostat_programs?: boolean
Optionalcan_simulate_connection
can_simulate_connection?: boolean
Optionalcan_simulate_disconnection
can_simulate_disconnection?: boolean
Optionalcan_simulate_hub_connection
can_simulate_hub_connection?: boolean
Optionalcan_simulate_hub_disconnection
can_simulate_hub_disconnection?: boolean
Optionalcan_simulate_paid_subscription
can_simulate_paid_subscription?: boolean
Optionalcan_simulate_removal
can_simulate_removal?: boolean
Optionalcan_turn_off_hvac
can_turn_off_hvac?: boolean
Optionalcan_unlock_with_code
can_unlock_with_code?: boolean
capabilities_supported
capabilities_supported: (
| "access_code"
| "lock"
| "noise_detection"
| "thermostat"
| "battery"
| "phone"
)[]
connected_account_id
connected_account_id: string
created_at
created_at: string
custom_metadata: Record<string, unknown>
device_id
device_id: string
Optionaldevice_manufacturer
device_manufacturer?: {
display_name: string;
image_url?: string;
manufacturer: string;
}
Optionaldevice_provider
device_provider?: {
device_provider_name: string;
display_name: string;
image_url?: string;
provider_category: string;
}
device_type
device_type:
| "akuvox_lock"
| "august_lock"
| "brivo_access_point"
| "butterflymx_panel"
| "avigilon_alta_entry"
| "doorking_lock"
| "genie_door"
| "igloo_lock"
| "linear_lock"
| "lockly_lock"
| "kwikset_lock"
| "nuki_lock"
| "salto_lock"
| "schlage_lock"
| "smartthings_lock"
| "wyze_lock"
| "yale_lock"
| "two_n_intercom"
| "controlbyweb_device"
| "ttlock_lock"
| "igloohome_lock"
| "four_suites_door"
| "dormakaba_oracode_door"
| "tedee_lock"
| "akiles_lock"
| "ultraloq_lock"
| "keyincode_lock"
| "omnitec_lock"
| "kisi_lock"
| "keynest_key"
| "noiseaware_activity_zone"
| "minut_sensor"
| "ecobee_thermostat"
| "nest_thermostat"
| "honeywell_resideo_thermostat"
| "tado_thermostat"
| "sensi_thermostat"
| "smartthings_thermostat"
| "ios_phone"
| "android_phone"
| "ring_camera"
display_name
display_name: string
errors
errors: (
| {
created_at: string;
error_code: "account_disconnected";
is_connected_account_error: boolean;
is_device_error: boolean;
message: string;
}
| {
created_at: string;
error_code: "salto_ks_subscription_limit_exceeded";
is_connected_account_error: boolean;
is_device_error: boolean;
message: string;
}
| {
created_at: string;
error_code: "dormakaba_sites_disconnected";
is_connected_account_error: boolean;
is_device_error: boolean;
message: string;
}
| {
created_at: string;
error_code: "device_offline";
is_device_error: boolean;
message: string;
}
| {
created_at: string;
error_code: "device_removed";
is_device_error: boolean;
message: string;
}
| {
created_at: string;
error_code: "hub_disconnected";
is_device_error: boolean;
message: string;
}
| {
created_at: string;
error_code: "device_disconnected";
is_device_error: boolean;
message: string;
}
| {
created_at: string;
error_code: "empty_backup_access_code_pool";
is_device_error: boolean;
message: string;
}
| {
created_at: string;
error_code: "august_lock_not_authorized";
is_device_error: boolean;
message: string;
}
| {
created_at: string;
error_code: "missing_device_credentials";
is_device_error: boolean;
message: string;
}
| {
created_at: string;
error_code: "auxiliary_heat_running";
is_device_error: boolean;
message: string;
}
| {
created_at: string;
error_code: "subscription_required";
is_device_error: boolean;
message: string;
}
| {
created_at: string;
error_code: "bridge_disconnected";
is_bridge_error?: boolean;
is_connected_account_error?: boolean;
message: string;
}
)[]
is_managed
is_managed: boolean
Optionallocation
location?: { location_name?: string; time_zone?: string; timezone?: string }
Optionalnickname
nickname?: string
properties
properties: {
_experimental_supported_code_from_access_codes_lengths?: number[];
accessory_keypad?: { battery?: { level: number }; is_connected: boolean };
active_thermostat_schedule?:
| {
climate_preset_key: string;
created_at: string;
device_id: string;
ends_at: string;
errors: { created_at: string; error_code: string; message: string }[];
is_override_allowed?: boolean;
max_override_period_minutes?: number | null;
name: string | null;
starts_at: string;
thermostat_schedule_id: string;
workspace_id: string;
}
| null;
active_thermostat_schedule_id?: string
| null;
akiles_metadata?: {
_member_group_id?: string;
gadget_id?: string;
gadget_name?: string;
product_name?: string;
};
appearance: { name: string };
assa_abloy_credential_service_metadata?: {
endpoints?: { endpoint_id?: string; is_active?: boolean }[];
has_active_endpoint?: boolean;
};
assa_abloy_vostio_metadata?: { encoder_name?: string };
august_metadata?: {
has_keypad?: boolean;
house_id?: string;
house_name?: string;
keypad_battery_level?: string;
lock_id?: string;
lock_name?: string;
model?: string;
};
auto_lock_delay_seconds?: number;
auto_lock_enabled?: boolean;
available_climate_preset_modes?: (
"home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied"
)[];
available_climate_presets?: {
can_delete: boolean;
can_edit: boolean;
can_use_with_thermostat_daily_programs: boolean;
climate_preset_key: string;
climate_preset_mode?:
| "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name: string;
ecobee_metadata?: {
climate_ref?: string;
is_optimized?: boolean;
owner?: "user"
| "system";
};
fan_mode_setting?: "auto"
| "on"
| "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed: boolean;
name?: string | null;
}[];
available_fan_mode_settings?: ("auto" | "on" | "circulate")[];
available_hvac_mode_settings?: (
"off"
| "heat"
| "cool"
| "heat_cool"
| "eco"
)[];
avigilon_alta_metadata?: {
entry_name?: string;
entry_relays_total_count?: number;
org_name?: string;
site_id?: number;
site_name?: string;
zone_id?: number;
zone_name?: string;
};
backup_access_code_pool_enabled?: boolean;
battery?: { level: number; status: "critical"
| "low"
| "good"
| "full" };
battery_level?: number;
brivo_metadata?: { activation_enabled?: boolean; device_name?: string };
code_constraints?: {
constraint_type:
| "no_zeros"
| "cannot_start_with_12"
| "no_triple_consecutive_ints"
| "cannot_specify_pin_code"
| "pin_code_matches_existing_set"
| "start_date_in_future"
| "no_ascending_or_descending_sequence"
| "at_least_three_unique_digits"
| "cannot_contain_089"
| "cannot_contain_0789"
| "unique_first_four_digits"
| "no_all_same_digits"
| "name_length"
| "name_must_be_unique";
max_length?: number;
min_length?: number;
}[];
controlbyweb_metadata?: {
device_id?: string;
device_name?: string;
relay_name?: string
| null;
};
current_climate_setting?: {
can_delete?: boolean;
can_edit?: boolean;
can_use_with_thermostat_daily_programs?: boolean;
climate_preset_key?: string;
climate_preset_mode?: | "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name?: string;
ecobee_metadata?: {
climate_ref?: string;
is_optimized?: boolean;
owner?: "user"
| "system";
};
fan_mode_setting?: "auto"
| "on"
| "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed?: boolean;
name?: string | null;
};
currently_triggering_noise_threshold_ids?: string[];
default_climate_setting?: {
can_delete?: boolean;
can_edit?: boolean;
can_use_with_thermostat_daily_programs?: boolean;
climate_preset_key?: string;
climate_preset_mode?: | "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name?: string;
ecobee_metadata?: {
climate_ref?: string;
is_optimized?: boolean;
owner?: "user"
| "system";
};
fan_mode_setting?: "auto"
| "on"
| "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed?: boolean;
name?: string | null;
};
door_open?: boolean;
dormakaba_oracode_metadata?: {
device_id?: {};
door_id?: number;
door_is_wireless?: boolean;
door_name?: string;
iana_timezone?: string;
predefined_time_slots?: {
check_in_time?: string;
check_out_time?: string;
dormakaba_oracode_user_level_id?: string;
dormakaba_oracode_user_level_prefix?: number;
is_24_hour?: boolean;
is_biweekly_mode?: boolean;
is_master?: boolean;
is_one_shot?: boolean;
name?: string;
prefix?: number;
}[];
site_id?: number
| null;
site_name?: string;
};
ecobee_metadata?: { device_name?: string; ecobee_device_id?: string };
fallback_climate_preset_key?: string | null;
fan_mode_setting?: "auto" | "on" | "circulate";
four_suites_metadata?: {
device_id?: number;
device_name?: string;
reclose_delay_in_seconds?: number;
};
genie_metadata?: { device_name?: string; door_name?: string };
has_direct_power?: boolean;
has_native_entry_events?: boolean;
honeywell_resideo_metadata?: {
device_name?: string;
honeywell_resideo_device_id?: string;
};
igloo_metadata?: { bridge_id?: string; device_id?: string; model?: string };
igloohome_metadata?: {
bridge_id?: string;
bridge_name?: string;
device_id?: string;
device_name?: string;
is_accessory_keypad_linked_to_bridge?: boolean;
keypad_id?: string;
};
image_alt_text?: string;
image_url?: string;
is_cooling?: boolean;
is_fan_running?: boolean;
is_heating?: boolean;
is_temporary_manual_override_active?: boolean;
keynest_metadata?: {
address?: string
| null;
current_or_last_store_id?: number;
current_status?: string | null;
current_user_company?: string | null;
current_user_email?: string | null;
current_user_name?: string | null;
current_user_phone_number?: string | null;
default_office_id?: number;
device_name?: string;
fob_id?: number;
handover_method?: string | null;
has_photo?: boolean;
is_quadient_locker?: boolean;
key_id?: string;
key_notes?: string | null;
keynest_app_user?: string | null;
last_movement?: string;
property_id?: string | null;
property_postcode?: string | null;
status_type?: string;
subscription_plan?: string;
};
keypad_battery?: { level: number };
kisi_metadata?: {
description?: string | null;
lock_id?: number;
lock_name?: string;
place_name?: string | null;
};
korelock_metadata?: {
device_id?: string;
device_name?: string;
firmware_version?: string;
location_id?: string
| null;
model_code?: string;
serial_number?: string;
wifi_signal_strength?: number;
};
kwikset_metadata?: {
device_id?: string;
device_name?: string;
model_number?: string;
};
locked?: boolean;
lockly_metadata?: {
device_id?: string;
device_name?: string;
model?: string;
};
manufacturer?: string;
max_active_codes_supported?: number;
max_cooling_set_point_celsius?: number;
max_cooling_set_point_fahrenheit?: number;
max_heating_set_point_celsius?: number;
max_heating_set_point_fahrenheit?: number;
max_thermostat_daily_program_periods_per_day?: number;
max_unique_climate_presets_per_thermostat_weekly_program?: number;
min_cooling_set_point_celsius?: number;
min_cooling_set_point_fahrenheit?: number;
min_heating_cooling_delta_celsius?: number;
min_heating_cooling_delta_fahrenheit?: number;
min_heating_set_point_celsius?: number;
min_heating_set_point_fahrenheit?: number;
minut_metadata?: {
device_id?: string;
device_name?: string;
latest_sensor_values?: {
accelerometer_z?: { time?: string; value?: number };
humidity?: { time?: string; value?: number };
pressure?: { time?: string; value?: number };
sound?: { time?: string; value?: number };
temperature?: { time?: string; value?: number };
};
};
model: {
accessory_keypad_supported?: boolean;
can_connect_accessory_keypad?: boolean;
display_name: string;
has_built_in_keypad?: boolean;
manufacturer_display_name: string;
offline_access_codes_supported?: boolean;
online_access_codes_supported?: boolean;
};
name: string;
nest_metadata?: {
device_custom_name?: string;
device_name?: string;
display_name?: string;
nest_device_id?: string;
};
noise_level_decibels?: number;
noiseaware_metadata?: {
device_id?: string;
device_model?: "indoor"
| "outdoor";
device_name?: string;
noise_level_decibel?: number;
noise_level_nrs?: number;
};
nuki_metadata?: {
device_id?: string;
device_name?: string;
keypad_2_paired?: boolean;
keypad_battery_critical?: boolean;
keypad_paired?: boolean;
};
offline_access_codes_enabled?: boolean;
offline_time_frame_options?: {
display_name: string;
end_date_recurrence_rule?: string;
matching_start_end_time?: boolean;
max_duration?: string;
min_duration?: string;
start_date_recurrence_rule?: string;
time_pairs?: {
display_name: string;
end_time: string;
start_time: string;
}[];
time_zone?: string;
}[];
omnitec_metadata?: {
has_gateway?: boolean;
lock_alias?: string;
lock_id?: number;
lock_mac?: string;
lock_name?: string;
time_zone?: string
| null;
timezone_raw_offset_ms?: number;
};
online: boolean;
online_access_codes_enabled?: boolean;
online_time_frame_options?: {
display_name: string;
end_date_recurrence_rule?: string;
matching_start_end_time?: boolean;
max_duration?: string;
min_duration?: string;
start_date_recurrence_rule?: string;
time_pairs?: {
display_name: string;
end_time: string;
start_time: string;
}[];
time_zone?: string;
}[];
relative_humidity?: number;
ring_metadata?: { device_id?: string; device_name?: string };
salto_ks_metadata?: {
battery_level?: string;
customer_reference?: string;
has_custom_pin_subscription?: boolean;
lock_id?: string;
lock_type?: string;
locked_state?: string;
model?: string;
site_id?: string;
site_name?: string;
};
salto_metadata?: {
battery_level?: string;
customer_reference?: string;
lock_id?: string;
lock_type?: string;
locked_state?: string;
model?: string;
site_id?: string;
site_name?: string;
};
salto_space_credential_service_metadata?: { has_active_phone?: boolean };
schlage_metadata?: {
device_id?: string;
device_name?: string;
model?: string;
};
seam_bridge_metadata?: {
device_num?: number;
name?: string;
unlock_method?: "bridge"
| "doorking";
};
sensi_metadata?: {
device_id?: string;
device_name?: string;
dual_setpoints_not_supported?: boolean;
product_type?: string;
};
serial_number?: string;
smartthings_metadata?: {
device_id?: string;
device_name?: string;
location_id?: string;
model?: string;
};
supported_code_lengths?: number[];
supports_accessory_keypad?: boolean;
supports_backup_access_code_pool?: boolean;
supports_offline_access_codes?: boolean;
tado_metadata?: { device_type?: string; serial_no?: string };
tedee_metadata?: {
bridge_id?: number;
bridge_name?: string;
device_id?: number;
device_model?: string;
device_name?: string;
keypad_id?: number;
serial_number?: string;
};
temperature_celsius?: number;
temperature_fahrenheit?: number;
temperature_threshold?: {
lower_limit_celsius: number
| null;
lower_limit_fahrenheit: number | null;
upper_limit_celsius: number | null;
upper_limit_fahrenheit: number | null;
};
thermostat_daily_program_period_precision_minutes?: number;
thermostat_daily_programs?: {
created_at: string;
device_id: string;
name: string
| null;
periods: { climate_preset_key: string; starts_at_time: string }[];
thermostat_daily_program_id: string;
workspace_id: string;
}[];
thermostat_weekly_program?: | {
created_at: string;
friday_program_id: string
| null;
monday_program_id: string | null;
saturday_program_id: string | null;
sunday_program_id: string | null;
thursday_program_id: string | null;
tuesday_program_id: string | null;
wednesday_program_id: string | null;
}
| null;
ttlock_metadata?: {
feature_value?: string;
features?: {
auto_lock_time_config?: boolean;
incomplete_keyboard_passcode?: boolean;
lock_command?: boolean;
passcode?: boolean;
passcode_management?: boolean;
unlock_via_gateway?: boolean;
wifi?: boolean;
};
has_gateway?: boolean;
lock_alias?: string;
lock_id?: number;
timezone_raw_offset_ms?: number
| null;
wireless_keypads?: {
wireless_keypad_id?: number;
wireless_keypad_name?: string;
}[];
};
two_n_metadata?: { device_id?: number; device_name?: string };
ultraloq_metadata?: {
device_id?: string;
device_name?: string;
device_type?: string;
time_zone?: string | null;
};
visionline_metadata?: { encoder_id?: string };
wyze_metadata?: {
device_id?: string;
device_info_model?: string;
device_name?: string;
keypad_uuid?: string;
locker_status_hardlock?: number;
product_model?: string;
product_name?: string;
product_type?: string;
};
}
space_ids
space_ids: string[]
warnings
warnings: (
| {
created_at: string;
message: string;
warning_code: "partial_backup_access_code_pool";
}
| {
created_at: string;
message: string;
warning_code: "many_active_backup_codes";
}
| {
created_at: string;
message: string;
warning_code: "third_party_integration_detected";
}
| {
created_at: string;
message: string;
warning_code: "ttlock_lock_gateway_unlocking_not_enabled";
}
| {
created_at: string;
message: string;
warning_code: "ttlock_weak_gateway_signal";
}
| {
created_at: string;
message: string;
warning_code: "power_saving_mode";
}
| {
created_at: string;
message: string;
warning_code: "temperature_threshold_exceeded";
}
| {
created_at: string;
message: string;
warning_code: "device_communication_degraded";
}
| {
created_at: string;
message: string;
warning_code: "scheduled_maintenance_window";
}
| {
created_at: string;
message: string;
warning_code: "device_has_flaky_connection";
}
| {
created_at: string;
message: string;
warning_code: "salto_ks_office_mode";
}
| {
created_at: string;
message: string;
warning_code: "salto_ks_privacy_mode";
}
| { created_at: string; message: string; warning_code: "privacy_mode" }
| {
created_at: string;
message: string;
warning_code: "salto_ks_subscription_limit_almost_reached";
}
| {
created_at: string;
message: string;
warning_code: "salto_ks_lock_access_code_support_removed";
}
| {
created_at: string;
message: string;
warning_code: "unknown_issue_with_phone";
}
| {
created_at: string;
message: string;
warning_code: "lockly_time_zone_not_configured";
}
| {
created_at: string;
message: string;
warning_code: "ultraloq_time_zone_unknown";
}
| {
created_at: string;
message: string;
warning_code: "time_zone_unknown";
}
| {
created_at: string;
message: string;
warning_code: "time_zone_mismatch";
}
| {
created_at: string;
message: string;
warning_code: "two_n_device_missing_timezone";
}
| {
created_at: string;
message: string;
warning_code: "hub_required_for_additional_capabilities";
}
| { created_at: string; message: string; warning_code: "provider_issue" }
| {
created_at: string;
message: string;
warning_code: "keynest_unsupported_locker";
}
| {
created_at: string;
message: string;
warning_code: "accessory_keypad_setup_required";
}
| {
created_at: string;
message: string;
warning_code: "unreliable_online_status";
}
| {
active_access_code_count: number;
created_at: string;
max_active_access_code_count: number;
message: string;
warning_code: "max_access_codes_reached";
}
| {
created_at: string;
message: string;
warning_code: "insufficient_permissions";
}
)[]
workspace_id
workspace_id: string