@seamapi/http - v2.1.0
    Preparing search index...

    Type Alias Device

    Represents a device that has been connected to Seam.

    type Device = {
        can_configure_auto_lock?: boolean;
        can_hvac_cool?: boolean;
        can_hvac_heat?: boolean;
        can_hvac_heat_cool?: boolean;
        can_program_offline_access_codes?: boolean;
        can_program_online_access_codes?: boolean;
        can_program_thermostat_programs_as_different_each_day?: boolean;
        can_program_thermostat_programs_as_same_each_day?: boolean;
        can_program_thermostat_programs_as_weekday_weekend?: boolean;
        can_remotely_lock?: boolean;
        can_remotely_unlock?: boolean;
        can_run_thermostat_programs?: boolean;
        can_simulate_connection?: boolean;
        can_simulate_disconnection?: boolean;
        can_simulate_hub_connection?: boolean;
        can_simulate_hub_disconnection?: boolean;
        can_simulate_paid_subscription?: boolean;
        can_simulate_removal?: boolean;
        can_turn_off_hvac?: boolean;
        can_unlock_with_code?: boolean;
        capabilities_supported: (
            | "access_code"
            | "lock"
            | "noise_detection"
            | "thermostat"
            | "battery"
            | "phone"
        )[];
        connected_account_id: string;
        created_at: string;
        custom_metadata: Record<string, unknown>;
        device_id: string;
        device_manufacturer?: {
            display_name: string;
            image_url?: string;
            manufacturer: string;
        };
        device_provider?: {
            device_provider_name: string;
            display_name: string;
            image_url?: string;
            provider_category: string;
        };
        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"
        | "aqara_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: string;
        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: boolean;
        location?: {
            location_name?: string;
            time_zone?: string;
            timezone?: string;
        };
        nickname?: string;
        properties: {
            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 };
            aqara_metadata?: {
                device_name?: string;
                did?: string;
                firmware_version?: string | null;
                model?: string;
                model_type?: number;
                parent_did?: string;
                position_id?: string | null;
                time_zone?: string | null;
            };
            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: string[];
        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: string;
    }
    Index
    can_configure_auto_lock?: boolean

    Indicates whether the lock supports configuring automatic locking.

    can_hvac_cool?: boolean

    Indicates whether the thermostat supports cooling.

    can_hvac_heat?: boolean

    Indicates whether the thermostat supports heating.

    can_hvac_heat_cool?: boolean

    Indicates whether the thermostat supports simultaneous heating and cooling.

    can_program_offline_access_codes?: boolean

    Indicates whether the device supports programming offline access codes.

    can_program_online_access_codes?: boolean

    Indicates whether the device supports programming online access codes.

    can_program_thermostat_programs_as_different_each_day?: boolean

    Indicates whether the thermostat supports different climate programs for each day of the week.

    can_program_thermostat_programs_as_same_each_day?: boolean

    Indicates whether the thermostat supports a single climate program applied to every day.

    can_program_thermostat_programs_as_weekday_weekend?: boolean

    Indicates whether the thermostat supports weekday/weekend climate programs.

    can_remotely_lock?: boolean

    Indicates whether the device supports remote locking.

    can_remotely_unlock?: boolean

    Indicates whether the device supports remote unlocking.

    can_run_thermostat_programs?: boolean

    Indicates whether the thermostat supports running climate programs.

    can_simulate_connection?: boolean

    Indicates whether the device supports simulating connection in a sandbox.

    can_simulate_disconnection?: boolean

    Indicates whether the device supports simulating disconnection in a sandbox.

    can_simulate_hub_connection?: boolean

    Indicates whether the hub supports simulating connection in a sandbox.

    can_simulate_hub_disconnection?: boolean

    Indicates whether the hub supports simulating disconnection in a sandbox.

    can_simulate_paid_subscription?: boolean

    Indicates whether the device supports simulating a paid subscription in a sandbox.

    can_simulate_removal?: boolean

    Indicates whether the device supports simulating removal in a sandbox.

    can_turn_off_hvac?: boolean

    Indicates whether the thermostat can be turned off.

    can_unlock_with_code?: boolean

    Indicates whether the lock supports unlocking with an access code.

    capabilities_supported: (
        | "access_code"
        | "lock"
        | "noise_detection"
        | "thermostat"
        | "battery"
        | "phone"
    )[]

    Collection of capabilities that the device supports when connected to Seam. Values are access_code, which indicates that the device can manage and utilize digital PIN codes for secure access; lock, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; noise_detection, which indicates that the device supports monitoring and responding to ambient noise levels; thermostat, which indicates that the device can regulate and adjust indoor temperatures; battery, which indicates that the device can manage battery life and health; and phone, which indicates that the device is a mobile device, such as a smartphone. Important: Superseded by capability flags.

    connected_account_id: string

    Unique identifier for the account associated with the device.

    created_at: string

    Date and time at which the device object was created.

    custom_metadata: Record<string, unknown>

    Set of key:value pairs. Adding custom metadata to a resource, such as a Connect Webview, connected account, or device, enables you to store custom information, like customer details or internal IDs from your application.

    device_id: string

    ID of the device.

    device_manufacturer?: {
        display_name: string;
        image_url?: string;
        manufacturer: string;
    }

    Manufacturer of the device. Represents the hardware brand, which may differ from the provider.

    Type Declaration

    • display_name: string

      Display name for the manufacturer, such as August, Yale, Salto, and so on.

    • Optionalimage_url?: string

      Image URL for the manufacturer logo.

    • manufacturer: string

      Manufacturer identifier, such as august, yale, salto, and so on.

    device_provider?: {
        device_provider_name: string;
        display_name: string;
        image_url?: string;
        provider_category: string;
    }

    Provider of the device. Represents the third-party service through which the device is controlled.

    Type Declaration

    • device_provider_name: string

      Device provider name. Corresponds to the integration type, such as august, schlage, yale_access, and so on.

    • display_name: string

      Display name for the device provider type.

    • Optionalimage_url?: string

      Image URL for the device provider.

    • provider_category: string

      Provider category. Indicates the third-party provider type, such as stable, for stable integrations, or internal, for internal integrations.

    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"
        | "aqara_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"

    Type of the device.

    display_name: string

    Display name of the device, defaults to nickname (if it is set) or properties.appearance.name, otherwise. Enables administrators and users to identify the device easily, especially when there are numerous devices.

    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;
        }
    )[]

    Array of errors associated with the device. Each error object within the array contains two fields: error_code and message. error_code is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. message provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.

    Type Declaration

    • {
          created_at: string;
          error_code: "account_disconnected";
          is_connected_account_error: boolean;
          is_device_error: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "account_disconnected"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • is_connected_account_error: boolean

        Indicates that the error is a connected account error.

      • is_device_error: boolean

        Indicates that the error is not a device error.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    • {
          created_at: string;
          error_code: "salto_ks_subscription_limit_exceeded";
          is_connected_account_error: boolean;
          is_device_error: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "salto_ks_subscription_limit_exceeded"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • is_connected_account_error: boolean

        Indicates that the error is a connected account error.

      • is_device_error: boolean

        Indicates that the error is not a device error.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    • {
          created_at: string;
          error_code: "dormakaba_sites_disconnected";
          is_connected_account_error: boolean;
          is_device_error: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "dormakaba_sites_disconnected"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • is_connected_account_error: boolean

        Indicates that the error is a connected account error.

      • is_device_error: boolean

        Indicates that the error is not a device error.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    • {
          created_at: string;
          error_code: "device_offline";
          is_device_error: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "device_offline"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • is_device_error: boolean

        Indicates that the error is a device error.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    • {
          created_at: string;
          error_code: "device_removed";
          is_device_error: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "device_removed"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • is_device_error: boolean

        Indicates that the error is a device error.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    • {
          created_at: string;
          error_code: "hub_disconnected";
          is_device_error: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "hub_disconnected"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • is_device_error: boolean

        Indicates that the error is a device error.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    • {
          created_at: string;
          error_code: "device_disconnected";
          is_device_error: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "device_disconnected"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • is_device_error: boolean

        Indicates that the error is a device error.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    • {
          created_at: string;
          error_code: "empty_backup_access_code_pool";
          is_device_error: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "empty_backup_access_code_pool"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • is_device_error: boolean

        Indicates that the error is a device error.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    • {
          created_at: string;
          error_code: "august_lock_not_authorized";
          is_device_error: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "august_lock_not_authorized"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • is_device_error: boolean

        Indicates that the error is a device error.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    • {
          created_at: string;
          error_code: "missing_device_credentials";
          is_device_error: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "missing_device_credentials"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • is_device_error: boolean

        Indicates that the error is a device error.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    • {
          created_at: string;
          error_code: "auxiliary_heat_running";
          is_device_error: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "auxiliary_heat_running"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • is_device_error: boolean

        Indicates that the error is a device error.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    • {
          created_at: string;
          error_code: "subscription_required";
          is_device_error: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "subscription_required"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • is_device_error: boolean

        Indicates that the error is a device error.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    • {
          created_at: string;
          error_code: "bridge_disconnected";
          is_bridge_error?: boolean;
          is_connected_account_error?: boolean;
          message: string;
      }
      • created_at: string

        Date and time at which Seam created the error.

      • error_code: "bridge_disconnected"

        Unique identifier of the type of error. Enables quick recognition and categorization of the issue.

      • Optionalis_bridge_error?: boolean

        Indicates whether the error is related to Seam Bridge.

      • Optionalis_connected_account_error?: boolean

        Indicates whether the error is related specifically to the connected account.

      • message: string

        Detailed description of the error. Provides insights into the issue and potentially how to rectify it.

    is_managed: boolean

    Indicates whether Seam manages the device. See also Managed and Unmanaged Devices.

    location?: { location_name?: string; time_zone?: string; timezone?: string }

    Location information for the device.

    Type Declaration

    • Optionallocation_name?: string

      Name of the device location.

    • Optionaltime_zone?: string

      Time zone of the device location.

    • Optionaltimezone?: string

      Time zone of the device location.

      Use time_zone instead.

    nickname?: string

    Optional nickname to describe the device, settable through Seam.

    properties: {
        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 };
        aqara_metadata?: {
            device_name?: string;
            did?: string;
            firmware_version?: string | null;
            model?: string;
            model_type?: number;
            parent_did?: string;
            position_id?: string | null;
            time_zone?: string | null;
        };
        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;
        };
    }

    Properties of the device.

    Type Declaration

    • Optionalaccessory_keypad?: { battery?: { level: number }; is_connected: boolean }

      Accessory keypad properties and state.

      • Optionalbattery?: { level: number }

        Keypad battery properties.

      • is_connected: boolean

        Indicates if an accessory keypad is connected to the device.

    • Optionalactive_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

      Use active_thermostat_schedule_id with /thermostats/schedules/get instead.

    • Optionalactive_thermostat_schedule_id?: string | null

      ID of the active thermostat schedule.

    • Optionalakiles_metadata?: {
          _member_group_id?: string;
          gadget_id?: string;
          gadget_name?: string;
          product_name?: string;
      }

      Metadata for an Akiles device.

      • Optional_member_group_id?: string

        Group ID to which to add users for an Akiles device.

      • Optionalgadget_id?: string

        Gadget ID for an Akiles device.

      • Optionalgadget_name?: string

        Gadget name for an Akiles device.

      • Optionalproduct_name?: string

        Product name for an Akiles device.

    • appearance: { name: string }

      Appearance-related properties, as reported by the device.

      • name: string

        Name of the device as seen from the provider API and application, not settable through Seam.

    • Optionalaqara_metadata?: {
          device_name?: string;
          did?: string;
          firmware_version?: string | null;
          model?: string;
          model_type?: number;
          parent_did?: string;
          position_id?: string | null;
          time_zone?: string | null;
      }

      Metadata for an Aqara device.

      • Optionaldevice_name?: string

        Device name for an Aqara device.

      • Optionaldid?: string

        Device ID (did) for an Aqara device.

      • Optionalfirmware_version?: string | null

        Firmware version for an Aqara device.

      • Optionalmodel?: string

        Model identifier for an Aqara device.

      • Optionalmodel_type?: number

        Model type for an Aqara device.

      • Optionalparent_did?: string

        Parent gateway device ID for an Aqara device.

      • Optionalposition_id?: string | null

        Position (room) ID for an Aqara device.

      • Optionaltime_zone?: string | null

        Time zone reported for an Aqara device (e.g. GMT-07:00).

    • Optionalassa_abloy_credential_service_metadata?: {
          endpoints?: { endpoint_id?: string; is_active?: boolean }[];
          has_active_endpoint?: boolean;
      }

      ASSA ABLOY Credential Service metadata for the phone.

      • Optionalendpoints?: { endpoint_id?: string; is_active?: boolean }[]

        Endpoints associated with the phone.

      • Optionalhas_active_endpoint?: boolean

        Indicates whether the credential service has active endpoints associated with the phone.

    • Optionalassa_abloy_vostio_metadata?: { encoder_name?: string }

      Metadata for an ASSA ABLOY Vostio system.

      • Optionalencoder_name?: string

        Encoder name for an ASSA ABLOY Vostio system.

    • Optionalaugust_metadata?: {
          has_keypad?: boolean;
          house_id?: string;
          house_name?: string;
          keypad_battery_level?: string;
          lock_id?: string;
          lock_name?: string;
          model?: string;
      }

      Metadata for an August device.

      • Optionalhas_keypad?: boolean

        Indicates whether an August device has a keypad.

      • Optionalhouse_id?: string

        House ID for an August device.

      • Optionalhouse_name?: string

        House name for an August device.

      • Optionalkeypad_battery_level?: string

        Keypad battery level for an August device.

      • Optionallock_id?: string

        Lock ID for an August device.

      • Optionallock_name?: string

        Lock name for an August device.

      • Optionalmodel?: string

        Model for an August device.

    • Optionalauto_lock_delay_seconds?: number

      The delay in seconds before the lock automatically locks after being unlocked.

    • Optionalauto_lock_enabled?: boolean

      Indicates whether automatic locking is enabled.

    • Optionalavailable_climate_preset_modes?: ("home" | "away" | "wake" | "sleep" | "occupied" | "unoccupied")[]

      Climate preset modes that the thermostat supports, such as "home", "away", "wake", "sleep", "occupied", and "unoccupied".

    • Optionalavailable_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 climate presets for the thermostat.

    • Optionalavailable_fan_mode_settings?: ("auto" | "on" | "circulate")[]

      Fan mode settings that the thermostat supports.

    • Optionalavailable_hvac_mode_settings?: ("off" | "heat" | "cool" | "heat_cool" | "eco")[]

      HVAC mode settings that the thermostat supports.

    • Optionalavigilon_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;
      }

      Metadata for an Avigilon Alta system.

      • Optionalentry_name?: string

        Entry name for an Avigilon Alta system.

      • Optionalentry_relays_total_count?: number

        Total count of entry relays for an Avigilon Alta system.

      • Optionalorg_name?: string

        Organization name for an Avigilon Alta system.

      • Optionalsite_id?: number

        Site ID for an Avigilon Alta system.

      • Optionalsite_name?: string

        Site name for an Avigilon Alta system.

      • Optionalzone_id?: number

        Zone ID for an Avigilon Alta system.

      • Optionalzone_name?: string

        Zone name for an Avigilon Alta system.

    • Optionalbackup_access_code_pool_enabled?: boolean

      Indicates whether the backup access code pool is currently enabled for the device. To disable it, set this to false using /devices/update.

    • Optionalbattery?: { level: number; status: "critical" | "low" | "good" | "full" }

      Represents the current status of the battery charge level.

      • level: number

        Battery charge level as a value between 0 and 1, inclusive.

      • status: "critical" | "low" | "good" | "full"

        Represents the current status of the battery charge level. Values are critical, which indicates an extremely low level, suggesting imminent shutdown or an urgent need for charging; low, which signifies that the battery is under the preferred threshold and should be charged soon; good, which denotes a satisfactory charge level, adequate for normal use without the immediate need for recharging; and full, which represents a battery that is fully charged, providing the maximum duration of usage.

    • Optionalbattery_level?: number

      Indicates the battery level of the device as a decimal value between 0 and 1, inclusive.

    • Optionalbrivo_metadata?: { activation_enabled?: boolean; device_name?: string }

      Metadata for a Brivo device.

      • Optionalactivation_enabled?: boolean

        Indicates whether the Brivo access point has activation (remote unlock) enabled.

      • Optionaldevice_name?: string

        Device name for a Brivo device.

    • Optionalcode_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;
      }[]

      Constraints on access codes for the device. Seam represents each constraint as an object with a constraint_type property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer- or device-specific.

    • Optionalcontrolbyweb_metadata?: { device_id?: string; device_name?: string; relay_name?: string | null }

      Metadata for a ControlByWeb device.

      • Optionaldevice_id?: string

        Device ID for a ControlByWeb device.

      • Optionaldevice_name?: string

        Device name for a ControlByWeb device.

      • Optionalrelay_name?: string | null

        Relay name for a ControlByWeb device.

    • Optionalcurrent_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;
      }

      Current climate setting.

      • Optionalcan_delete?: boolean

        Indicates whether the climate preset key can be deleted.

      • Optionalcan_edit?: boolean

        Indicates whether the climate preset key can be edited.

      • Optionalcan_use_with_thermostat_daily_programs?: boolean

        Indicates whether the climate preset key can be programmed in a thermostat daily program.

      • Optionalclimate_preset_key?: string

        Unique key to identify the climate preset.

      • Optionalclimate_preset_mode?: "home" | "away" | "wake" | "sleep" | "occupied" | "unoccupied"

        The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.

      • Optionalcooling_set_point_celsius?: number

        Temperature to which the thermostat should cool (in °C). See also Set Points.

      • Optionalcooling_set_point_fahrenheit?: number

        Temperature to which the thermostat should cool (in °F). See also Set Points.

      • Optionaldisplay_name?: string

        Display name for the climate preset.

      • Optionalecobee_metadata?: { climate_ref?: string; is_optimized?: boolean; owner?: "user" | "system" }

        Metadata specific to the Ecobee climate, if applicable.

        • Optionalclimate_ref?: string

          Reference to the Ecobee climate, if applicable.

        • Optionalis_optimized?: boolean

          Indicates if the climate preset is optimized by Ecobee.

        • Optionalowner?: "user" | "system"

          Indicates whether the climate preset is owned by the user or the system.

      • Optionalfan_mode_setting?: "auto" | "on" | "circulate"

        Desired fan mode setting, such as on, auto, or circulate.

      • Optionalheating_set_point_celsius?: number

        Temperature to which the thermostat should heat (in °C). See also Set Points.

      • Optionalheating_set_point_fahrenheit?: number

        Temperature to which the thermostat should heat (in °F). See also Set Points.

      • Optionalhvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco"

        Desired HVAC mode setting, such as heat, cool, heat_cool, or off.

      • Optionalmanual_override_allowed?: boolean

        Indicates whether a person at the thermostat can change the thermostat's settings. See Specifying Manual Override Permissions.

        Use 'thermostat_schedule.is_override_allowed'

      • Optionalname?: string | null

        User-friendly name to identify the climate preset.

    • Optionalcurrently_triggering_noise_threshold_ids?: string[]

      Array of noise threshold IDs that are currently triggering.

    • Optionaldefault_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;
      }

      use fallback_climate_preset_key to specify a fallback climate preset instead.

      • Optionalcan_delete?: boolean

        Indicates whether the climate preset key can be deleted.

      • Optionalcan_edit?: boolean

        Indicates whether the climate preset key can be edited.

      • Optionalcan_use_with_thermostat_daily_programs?: boolean

        Indicates whether the climate preset key can be programmed in a thermostat daily program.

      • Optionalclimate_preset_key?: string

        Unique key to identify the climate preset.

      • Optionalclimate_preset_mode?: "home" | "away" | "wake" | "sleep" | "occupied" | "unoccupied"

        The climate preset mode for the thermostat, based on the available climate preset modes reported by the device.

      • Optionalcooling_set_point_celsius?: number

        Temperature to which the thermostat should cool (in °C). See also Set Points.

      • Optionalcooling_set_point_fahrenheit?: number

        Temperature to which the thermostat should cool (in °F). See also Set Points.

      • Optionaldisplay_name?: string

        Display name for the climate preset.

      • Optionalecobee_metadata?: { climate_ref?: string; is_optimized?: boolean; owner?: "user" | "system" }

        Metadata specific to the Ecobee climate, if applicable.

        • Optionalclimate_ref?: string

          Reference to the Ecobee climate, if applicable.

        • Optionalis_optimized?: boolean

          Indicates if the climate preset is optimized by Ecobee.

        • Optionalowner?: "user" | "system"

          Indicates whether the climate preset is owned by the user or the system.

      • Optionalfan_mode_setting?: "auto" | "on" | "circulate"

        Desired fan mode setting, such as on, auto, or circulate.

      • Optionalheating_set_point_celsius?: number

        Temperature to which the thermostat should heat (in °C). See also Set Points.

      • Optionalheating_set_point_fahrenheit?: number

        Temperature to which the thermostat should heat (in °F). See also Set Points.

      • Optionalhvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco"

        Desired HVAC mode setting, such as heat, cool, heat_cool, or off.

      • Optionalmanual_override_allowed?: boolean

        Indicates whether a person at the thermostat can change the thermostat's settings. See Specifying Manual Override Permissions.

        Use 'thermostat_schedule.is_override_allowed'

      • Optionalname?: string | null

        User-friendly name to identify the climate preset.

    • Optionaldoor_open?: boolean

      Indicates whether the door is open.

    • Optionaldormakaba_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;
      }

      Metadata for a dormakaba Oracode device.

      • Optionaldevice_id?: {}

        Device ID for a dormakaba Oracode device.

      • Optionaldoor_id?: number

        Door ID for a dormakaba Oracode device.

      • Optionaldoor_is_wireless?: boolean

        Indicates whether a door is wireless for a dormakaba Oracode device.

      • Optionaldoor_name?: string

        Door name for a dormakaba Oracode device.

      • Optionaliana_timezone?: string

        IANA time zone for a dormakaba Oracode device.

      • Optionalpredefined_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;
        }[]

        Predefined time slots for a dormakaba Oracode device.

      • Optionalsite_id?: number | null

        Site ID for a dormakaba Oracode device.

        Previously marked as "@DEPRECATED."

      • Optionalsite_name?: string

        Site name for a dormakaba Oracode device.

    • Optionalecobee_metadata?: { device_name?: string; ecobee_device_id?: string }

      Metadata for an ecobee device.

      • Optionaldevice_name?: string

        Device name for an ecobee device.

      • Optionalecobee_device_id?: string

        Device ID for an ecobee device.

    • Optionalfallback_climate_preset_key?: string | null

      Key of the fallback climate preset for the thermostat.

    • Optionalfan_mode_setting?: "auto" | "on" | "circulate"

      Use current_climate_setting.fan_mode_setting instead.

    • Optionalfour_suites_metadata?: { device_id?: number; device_name?: string; reclose_delay_in_seconds?: number }

      Metadata for a 4SUITES device.

      • Optionaldevice_id?: number

        Device ID for a 4SUITES device.

      • Optionaldevice_name?: string

        Device name for a 4SUITES device.

      • Optionalreclose_delay_in_seconds?: number

        Reclose delay, in seconds, for a 4SUITES device.

    • Optionalgenie_metadata?: { device_name?: string; door_name?: string }

      Metadata for a Genie device.

      • Optionaldevice_name?: string

        Lock name for a Genie device.

      • Optionaldoor_name?: string

        Door name for a Genie device.

    • Optionalhas_direct_power?: boolean

      Indicates whether the device has direct power.

    • Optionalhas_native_entry_events?: boolean

      Indicates whether the device supports native entry events.

    • Optionalhoneywell_resideo_metadata?: { device_name?: string; honeywell_resideo_device_id?: string }

      Metadata for a Honeywell Resideo device.

      • Optionaldevice_name?: string

        Device name for a Honeywell Resideo device.

      • Optionalhoneywell_resideo_device_id?: string

        Device ID for a Honeywell Resideo device.

    • Optionaligloo_metadata?: { bridge_id?: string; device_id?: string; model?: string }

      Metadata for an igloo device.

      • Optionalbridge_id?: string

        Bridge ID for an igloo device.

      • Optionaldevice_id?: string

        Device ID for an igloo device.

      • Optionalmodel?: string

        Model for an igloo device.

    • Optionaligloohome_metadata?: {
          bridge_id?: string;
          bridge_name?: string;
          device_id?: string;
          device_name?: string;
          is_accessory_keypad_linked_to_bridge?: boolean;
          keypad_id?: string;
      }

      Metadata for an igloohome device.

      • Optionalbridge_id?: string

        Bridge ID for an igloohome device.

      • Optionalbridge_name?: string

        Bridge name for an igloohome device.

      • Optionaldevice_id?: string

        Device ID for an igloohome device.

      • Optionaldevice_name?: string

        Device name for an igloohome device.

      • Optionalis_accessory_keypad_linked_to_bridge?: boolean

        Indicates whether a keypad is linked to a bridge for an igloohome device.

      • Optionalkeypad_id?: string

        Keypad ID for an igloohome device.

    • Optionalimage_alt_text?: string

      Alt text for the device image.

    • Optionalimage_url?: string

      Image URL for the device.

    • Optionalis_cooling?: boolean

      Indicates whether the connected HVAC system is currently cooling, as reported by the thermostat.

    • Optionalis_fan_running?: boolean

      Indicates whether the fan in the connected HVAC system is currently running, as reported by the thermostat.

    • Optionalis_heating?: boolean

      Indicates whether the connected HVAC system is currently heating, as reported by the thermostat.

    • Optionalis_temporary_manual_override_active?: boolean

      Indicates whether the current thermostat settings differ from the most recent active program or schedule that Seam activated. For this condition to occur, current_climate_setting.manual_override_allowed must also be true.

    • Optionalkeynest_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;
      }

      Metadata for a KeyNest device.

      • Optionaladdress?: string | null

        Address for a KeyNest device.

      • Optionalcurrent_or_last_store_id?: number

        Current or last store ID for a KeyNest device.

      • Optionalcurrent_status?: string | null

        Current status for a KeyNest device.

      • Optionalcurrent_user_company?: string | null

        Current user company for a KeyNest device.

      • Optionalcurrent_user_email?: string | null

        Current user email for a KeyNest device.

      • Optionalcurrent_user_name?: string | null

        Current user name for a KeyNest device.

      • Optionalcurrent_user_phone_number?: string | null

        Current user phone number for a KeyNest device.

      • Optionaldefault_office_id?: number

        Default office ID for a KeyNest device.

      • Optionaldevice_name?: string

        Device name for a KeyNest device.

      • Optionalfob_id?: number

        Fob ID for a KeyNest device.

      • Optionalhandover_method?: string | null

        Handover method for a KeyNest device.

      • Optionalhas_photo?: boolean

        Whether the KeyNest device has a photo.

      • Optionalis_quadient_locker?: boolean

        Whether the key is in a locker that does not support the access codes API.

      • Optionalkey_id?: string

        Key ID for a KeyNest device.

      • Optionalkey_notes?: string | null

        Key notes for a KeyNest device.

      • Optionalkeynest_app_user?: string | null

        KeyNest app user for a KeyNest device.

      • Optionallast_movement?: string

        Last movement timestamp for a KeyNest device.

      • Optionalproperty_id?: string | null

        Property ID for a KeyNest device.

      • Optionalproperty_postcode?: string | null

        Property postcode for a KeyNest device.

      • Optionalstatus_type?: string

        Status type for a KeyNest device.

      • Optionalsubscription_plan?: string

        Subscription plan for a KeyNest device.

    • Optionalkeypad_battery?: { level: number }

      Keypad battery status.

      • level: number

        Keypad battery charge level.

    • Optionalkisi_metadata?: {
          description?: string | null;
          lock_id?: number;
          lock_name?: string;
          place_name?: string | null;
      }

      Metadata for a Kisi device.

      • Optionaldescription?: string | null

        Description for a Kisi device.

      • Optionallock_id?: number

        Lock ID for a Kisi device.

      • Optionallock_name?: string

        Lock name for a Kisi device.

      • Optionalplace_name?: string | null

        Place name for a Kisi device.

    • Optionalkorelock_metadata?: {
          device_id?: string;
          device_name?: string;
          firmware_version?: string;
          location_id?: string | null;
          model_code?: string;
          serial_number?: string;
          wifi_signal_strength?: number;
      }

      Metadata for a Korelock device.

      • Optionaldevice_id?: string

        Device ID for a Korelock device.

      • Optionaldevice_name?: string

        Device name for a Korelock device.

      • Optionalfirmware_version?: string

        Firmware version for a Korelock device.

      • Optionallocation_id?: string | null

        Location ID for a Korelock device. Required for timebound access codes.

      • Optionalmodel_code?: string

        Model code for a Korelock device.

      • Optionalserial_number?: string

        Serial number for a Korelock device.

      • Optionalwifi_signal_strength?: number

        WiFi signal strength (0-1) for a Korelock device.

    • Optionalkwikset_metadata?: { device_id?: string; device_name?: string; model_number?: string }

      Metadata for a Kwikset device.

      • Optionaldevice_id?: string

        Device ID for a Kwikset device.

      • Optionaldevice_name?: string

        Device name for a Kwikset device.

      • Optionalmodel_number?: string

        Model number for a Kwikset device.

    • Optionallocked?: boolean

      Indicates whether the lock is locked.

    • Optionallockly_metadata?: { device_id?: string; device_name?: string; model?: string }

      Metadata for a Lockly device.

      • Optionaldevice_id?: string

        Device ID for a Lockly device.

      • Optionaldevice_name?: string

        Device name for a Lockly device.

      • Optionalmodel?: string

        Model for a Lockly device.

    • Optionalmanufacturer?: string

      Manufacturer of the device. When a device, such as a smart lock, is connected through a smart hub, the manufacturer of the device might be different from that of the smart hub.

    • Optionalmax_active_codes_supported?: number

      Maximum number of active access codes that the device supports.

    • Optionalmax_cooling_set_point_celsius?: number

      Maximum cooling set point in °C.

    • Optionalmax_cooling_set_point_fahrenheit?: number

      Maximum cooling set point in °F.

    • Optionalmax_heating_set_point_celsius?: number

      Maximum heating set point in °C.

    • Optionalmax_heating_set_point_fahrenheit?: number

      Maximum heating set point in °F.

    • Optionalmax_thermostat_daily_program_periods_per_day?: number

      Maximum number of periods that the thermostat can support per day. For example, if the thermostat supports 4 periods per day, this value is 4.

    • Optionalmax_unique_climate_presets_per_thermostat_weekly_program?: number

      Maximum number of climate presets that the thermostat can support for weekly programming.

    • Optionalmin_cooling_set_point_celsius?: number

      Minimum cooling set point in °C.

    • Optionalmin_cooling_set_point_fahrenheit?: number

      Minimum cooling set point in °F.

    • Optionalmin_heating_cooling_delta_celsius?: number

      Minimum temperature difference in °C between the cooling and heating set points when in heat-cool (auto) mode.

    • Optionalmin_heating_cooling_delta_fahrenheit?: number

      Minimum temperature difference in °F between the cooling and heating set points when in heat-cool (auto) mode.

    • Optionalmin_heating_set_point_celsius?: number

      Minimum heating set point in °C.

    • Optionalmin_heating_set_point_fahrenheit?: number

      Minimum heating set point in °F.

    • Optionalminut_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 };
          };
      }

      Metadata for a Minut device.

      • Optionaldevice_id?: string

        Device ID for a Minut device.

      • Optionaldevice_name?: string

        Device name for a Minut device.

      • Optionallatest_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 };
        }

        Latest sensor values for a Minut device.

        • Optionalaccelerometer_z?: { time?: string; value?: number }

          Latest accelerometer Z-axis reading for a Minut device.

          • Optionaltime?: string

            Time of latest accelerometer Z-axis reading for a Minut device.

          • Optionalvalue?: number

            Value of latest accelerometer Z-axis reading for a Minut device.

        • Optionalhumidity?: { time?: string; value?: number }

          Latest humidity reading for a Minut device.

          • Optionaltime?: string

            Time of latest humidity reading for a Minut device.

          • Optionalvalue?: number

            Value of latest humidity reading for a Minut device.

        • Optionalpressure?: { time?: string; value?: number }

          Latest pressure reading for a Minut device.

          • Optionaltime?: string

            Time of latest pressure reading for a Minut device.

          • Optionalvalue?: number

            Value of latest pressure reading for a Minut device.

        • Optionalsound?: { time?: string; value?: number }

          Latest sound reading for a Minut device.

          • Optionaltime?: string

            Time of latest sound reading for a Minut device.

          • Optionalvalue?: number

            Value of latest sound reading for a Minut device.

        • Optionaltemperature?: { time?: string; value?: number }

          Latest temperature reading for a Minut device.

          • Optionaltime?: string

            Time of latest temperature reading for a Minut device.

          • Optionalvalue?: number

            Value of latest temperature reading for a Minut device.

    • 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;
      }

      Device model-related properties.

      • Optionalaccessory_keypad_supported?: boolean

        use device.properties.model.can_connect_accessory_keypad

      • Optionalcan_connect_accessory_keypad?: boolean

        Indicates whether the device can connect a accessory keypad.

      • display_name: string

        Display name of the device model.

      • Optionalhas_built_in_keypad?: boolean

        Indicates whether the device has a built in accessory keypad.

      • manufacturer_display_name: string

        Display name that corresponds to the manufacturer-specific terminology for the device.

      • Optionaloffline_access_codes_supported?: boolean

        use device.can_program_offline_access_codes.

      • Optionalonline_access_codes_supported?: boolean

        use device.can_program_online_access_codes.

    • name: string

      Name of the device.

      use device.display_name instead

    • Optionalnest_metadata?: {
          device_custom_name?: string;
          device_name?: string;
          display_name?: string;
          nest_device_id?: string;
      }

      Metadata for a Google Nest device.

      • Optionaldevice_custom_name?: string

        Custom device name for a Google Nest device. The device owner sets this value.

      • Optionaldevice_name?: string

        Device name for a Google Nest device. Google sets this value.

      • Optionaldisplay_name?: string

        Display name for a Google Nest device.

      • Optionalnest_device_id?: string

        Device ID for a Google Nest device.

    • Optionalnoise_level_decibels?: number

      Indicates current noise level in decibels, if the device supports noise detection.

    • Optionalnoiseaware_metadata?: {
          device_id?: string;
          device_model?: "indoor" | "outdoor";
          device_name?: string;
          noise_level_decibel?: number;
          noise_level_nrs?: number;
      }

      Metadata for a NoiseAware device.

      • Optionaldevice_id?: string

        Device ID for a NoiseAware device.

      • Optionaldevice_model?: "indoor" | "outdoor"

        Device model for a NoiseAware device.

      • Optionaldevice_name?: string

        Device name for a NoiseAware device.

      • Optionalnoise_level_decibel?: number

        Noise level, in decibels, for a NoiseAware device.

      • Optionalnoise_level_nrs?: number

        Noise level, expressed as a Noise Risk Score (NRS), for a NoiseAware device.

    • Optionalnuki_metadata?: {
          device_id?: string;
          device_name?: string;
          keypad_2_paired?: boolean;
          keypad_battery_critical?: boolean;
          keypad_paired?: boolean;
      }

      Metadata for a Nuki device.

      • Optionaldevice_id?: string

        Device ID for a Nuki device.

      • Optionaldevice_name?: string

        Device name for a Nuki device.

      • Optionalkeypad_2_paired?: boolean

        Indicates whether keypad 2 is paired for a Nuki device.

      • Optionalkeypad_battery_critical?: boolean

        Indicates whether the keypad battery is in a critical state for a Nuki device.

      • Optionalkeypad_paired?: boolean

        Indicates whether the keypad is paired for a Nuki device.

    • Optionaloffline_access_codes_enabled?: boolean

      Indicates whether it is currently possible to use offline access codes for the device.

      use device.can_program_offline_access_codes

    • Optionaloffline_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;
      }[]

      Time frames that may be requested when creating an offline access code, expressed as a list of options. The caller picks one option (by matching the requested duration when the options' duration ranges do not overlap, or by display_name when they do) and satisfies that one option's rules. When undefined, any time frame works.

    • Optionalomnitec_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;
      }

      Metadata for an Omnitec device.

      • Optionalhas_gateway?: boolean

        Whether the Omnitec lock has a connected gateway for remote operations.

      • Optionallock_alias?: string

        Operator-assigned alias for an Omnitec device.

      • Optionallock_id?: number

        Lock ID for an Omnitec device.

      • Optionallock_mac?: string

        Bluetooth MAC address for an Omnitec device.

      • Optionallock_name?: string

        Lock name for an Omnitec device.

      • Optionaltime_zone?: string | null

        IANA time zone for the Omnitec device, used to schedule time-bound access codes at the correct local time (accounting for DST).

      • Optionaltimezone_raw_offset_ms?: number

        Static UTC offset of the Omnitec lock in milliseconds. Does not account for DST.

    • online: boolean

      Indicates whether the device is online.

    • Optionalonline_access_codes_enabled?: boolean

      Indicates whether it is currently possible to use online access codes for the device.

      use device.can_program_online_access_codes

    • Optionalonline_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;
      }[]

      Time frames that may be requested when creating an online access code, expressed as a list of options. The caller picks one option (by matching the requested duration when the options' duration ranges do not overlap, or by display_name when they do) and satisfies that one option's rules. When undefined, any time frame works.

    • Optionalrelative_humidity?: number

      Reported relative humidity, as a value between 0 and 1, inclusive.

    • Optionalring_metadata?: { device_id?: string; device_name?: string }

      Metadata for a Ring device.

      • Optionaldevice_id?: string

        Device ID for a Ring device.

      • Optionaldevice_name?: string

        Device name for a Ring device.

    • Optionalsalto_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;
      }

      Metadata for a Salto KS device.

      • Optionalbattery_level?: string

        Battery level for a Salto KS device.

      • Optionalcustomer_reference?: string

        Customer reference for a Salto KS device.

      • Optionalhas_custom_pin_subscription?: boolean

        Indicates whether the site has a Salto KS subscription that supports custom PINs.

      • Optionallock_id?: string

        Lock ID for a Salto KS device.

      • Optionallock_type?: string

        Lock type for a Salto KS device.

      • Optionallocked_state?: string

        Locked state for a Salto KS device.

      • Optionalmodel?: string

        Model for a Salto KS device.

      • Optionalsite_id?: string

        Site ID for the Salto KS site to which the device belongs.

      • Optionalsite_name?: string

        Site name for the Salto KS site to which the device belongs.

    • Optionalsalto_metadata?: {
          battery_level?: string;
          customer_reference?: string;
          lock_id?: string;
          lock_type?: string;
          locked_state?: string;
          model?: string;
          site_id?: string;
          site_name?: string;
      }

      Metada for a Salto device.

      Use salto_ks_metadata instead.

      • Optionalbattery_level?: string

        Battery level for a Salto device.

      • Optionalcustomer_reference?: string

        Customer reference for a Salto device.

      • Optionallock_id?: string

        Lock ID for a Salto device.

      • Optionallock_type?: string

        Lock type for a Salto device.

      • Optionallocked_state?: string

        Locked state for a Salto device.

      • Optionalmodel?: string

        Model for a Salto device.

      • Optionalsite_id?: string

        Site ID for the Salto KS site to which the device belongs.

      • Optionalsite_name?: string

        Site name for the Salto KS site to which the device belongs.

    • Optionalsalto_space_credential_service_metadata?: { has_active_phone?: boolean }

      Salto Space credential service metadata for the phone.

      • Optionalhas_active_phone?: boolean

        Indicates whether the credential service has an active associated phone.

    • Optionalschlage_metadata?: { device_id?: string; device_name?: string; model?: string }

      Metadata for a Schlage device.

      • Optionaldevice_id?: string

        Device ID for a Schlage device.

      • Optionaldevice_name?: string

        Device name for a Schlage device.

      • Optionalmodel?: string

        Model for a Schlage device.

    • Optionalseam_bridge_metadata?: { device_num?: number; name?: string; unlock_method?: "bridge" | "doorking" }

      Metadata for Seam Bridge.

      • Optionaldevice_num?: number

        Device number for Seam Bridge.

      • Optionalname?: string

        Name for Seam Bridge.

      • Optionalunlock_method?: "bridge" | "doorking"

        Unlock method for Seam Bridge.

    • Optionalsensi_metadata?: {
          device_id?: string;
          device_name?: string;
          dual_setpoints_not_supported?: boolean;
          product_type?: string;
      }

      Metadata for a Sensi device.

      • Optionaldevice_id?: string

        Device ID for a Sensi device.

      • Optionaldevice_name?: string

        Device name for a Sensi device.

      • Optionaldual_setpoints_not_supported?: boolean

        Set to true when the device does not support the /dual-setpoints API endpoint.

      • Optionalproduct_type?: string

        Product type for a Sensi device.

    • Optionalserial_number?: string

      Serial number of the device.

    • Optionalsmartthings_metadata?: {
          device_id?: string;
          device_name?: string;
          location_id?: string;
          model?: string;
      }

      Metadata for a SmartThings device.

      • Optionaldevice_id?: string

        Device ID for a SmartThings device.

      • Optionaldevice_name?: string

        Device name for a SmartThings device.

      • Optionallocation_id?: string

        Location ID for a SmartThings device.

      • Optionalmodel?: string

        Model for a SmartThings device.

    • Optionalsupported_code_lengths?: number[]

      Supported code lengths for access codes.

    • Optionalsupports_accessory_keypad?: boolean

      use device.properties.model.can_connect_accessory_keypad

    • Optionalsupports_backup_access_code_pool?: boolean

      Indicates whether the device supports a backup access code pool.

    • Optionalsupports_offline_access_codes?: boolean

      use offline_access_codes_enabled

    • Optionaltado_metadata?: { device_type?: string; serial_no?: string }

      Metadata for a tado° device.

      • Optionaldevice_type?: string

        Device type for a tado° device.

      • Optionalserial_no?: string

        Serial number for a tado° device.

    • Optionaltedee_metadata?: {
          bridge_id?: number;
          bridge_name?: string;
          device_id?: number;
          device_model?: string;
          device_name?: string;
          keypad_id?: number;
          serial_number?: string;
      }

      Metadata for a Tedee device.

      • Optionalbridge_id?: number

        Bridge ID for a Tedee device.

      • Optionalbridge_name?: string

        Bridge name for a Tedee device.

      • Optionaldevice_id?: number

        Device ID for a Tedee device.

      • Optionaldevice_model?: string

        Device model for a Tedee device.

      • Optionaldevice_name?: string

        Device name for a Tedee device.

      • Optionalkeypad_id?: number

        Keypad ID for a Tedee device.

      • Optionalserial_number?: string

        Serial number for a Tedee device.

    • Optionaltemperature_celsius?: number

      Reported temperature in °C.

    • Optionaltemperature_fahrenheit?: number

      Reported temperature in °F.

    • Optionaltemperature_threshold?: {
          lower_limit_celsius: number | null;
          lower_limit_fahrenheit: number | null;
          upper_limit_celsius: number | null;
          upper_limit_fahrenheit: number | null;
      }

      Current temperature threshold set for the thermostat.

      • lower_limit_celsius: number | null

        Lower limit in °C within the current temperature threshold set for the thermostat.

      • lower_limit_fahrenheit: number | null

        Lower limit in °F within the current temperature threshold set for the thermostat.

      • upper_limit_celsius: number | null

        Upper limit in °C within the current temperature threshold set for the thermostat.

      • upper_limit_fahrenheit: number | null

        Upper limit in °F within the current temperature threshold set for the thermostat.

    • Optionalthermostat_daily_program_period_precision_minutes?: number

      Precision of the thermostat's period in minutes. For example, if the thermostat supports 15-minute periods, this value is 15. All values are relative to the top of the hour, so for 15 minutes, the periods would be 0, 15, 30, and 45 minutes past the hour.

    • Optionalthermostat_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;
      }[]

      Configured daily programs for the thermostat.

    • Optionalthermostat_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

      Current weekly program for the thermostat.

    • Optionalttlock_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;
          }[];
      }

      Metadata for a TTLock device.

      • Optionalfeature_value?: string

        Feature value for a TTLock device.

      • Optionalfeatures?: {
            auto_lock_time_config?: boolean;
            incomplete_keyboard_passcode?: boolean;
            lock_command?: boolean;
            passcode?: boolean;
            passcode_management?: boolean;
            unlock_via_gateway?: boolean;
            wifi?: boolean;
        }

        Features for a TTLock device.

        • Optionalauto_lock_time_config?: boolean

          Indicates whether a TTLock device supports auto-lock time configuration.

        • Optionalincomplete_keyboard_passcode?: boolean

          Indicates whether a TTLock device supports an incomplete keyboard passcode.

        • Optionallock_command?: boolean

          Indicates whether a TTLock device supports the lock command.

        • Optionalpasscode?: boolean

          Indicates whether a TTLock device supports a passcode.

        • Optionalpasscode_management?: boolean

          Indicates whether a TTLock device supports passcode management.

        • Optionalunlock_via_gateway?: boolean

          Indicates whether a TTLock device supports unlock via gateway.

        • Optionalwifi?: boolean

          Indicates whether a TTLock device supports Wi-Fi.

      • Optionalhas_gateway?: boolean

        Indicates whether a TTLock device has a gateway.

      • Optionallock_alias?: string

        Lock alias for a TTLock device.

      • Optionallock_id?: number

        Lock ID for a TTLock device.

      • Optionaltimezone_raw_offset_ms?: number | null

        Lock-side timezone offset in milliseconds east of UTC, as configured in the TTLock app. Source of truth for the lock's wall-clock interpretation of access code start/end times — a misconfigured value here is the typical cause of customer "codes offset by N hours" reports. Diagnostic only; Seam does not convert times based on this value.

      • Optionalwireless_keypads?: { wireless_keypad_id?: number; wireless_keypad_name?: string }[]

        Wireless keypads for a TTLock device.

    • Optionaltwo_n_metadata?: { device_id?: number; device_name?: string }

      Metadata for a 2N device.

      • Optionaldevice_id?: number

        Device ID for a 2N device.

      • Optionaldevice_name?: string

        Device name for a 2N device.

    • Optionalultraloq_metadata?: {
          device_id?: string;
          device_name?: string;
          device_type?: string;
          time_zone?: string | null;
      }

      Metadata for an Ultraloq device.

      • Optionaldevice_id?: string

        Device ID for an Ultraloq device.

      • Optionaldevice_name?: string

        Device name for an Ultraloq device.

      • Optionaldevice_type?: string

        Device type for an Ultraloq device.

      • Optionaltime_zone?: string | null

        IANA timezone for the Ultraloq device.

    • Optionalvisionline_metadata?: { encoder_id?: string }

      Metadata for an ASSA ABLOY Visionline system.

      • Optionalencoder_id?: string

        Encoder ID for an ASSA ABLOY Visionline system.

    • Optionalwyze_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;
      }

      Metadata for a Wyze device.

      • Optionaldevice_id?: string

        Device ID for a Wyze device.

      • Optionaldevice_info_model?: string

        Device information model for a Wyze device.

      • Optionaldevice_name?: string

        Device name for a Wyze device.

      • Optionalkeypad_uuid?: string

        Keypad UUID for a Wyze device.

      • Optionallocker_status_hardlock?: number

        Locker status (hardlock) for a Wyze device.

      • Optionalproduct_model?: string

        Product model for a Wyze device.

      • Optionalproduct_name?: string

        Product name for a Wyze device.

      • Optionalproduct_type?: string

        Product type for a Wyze device.

    space_ids: string[]

    IDs of the spaces the device is in.

    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";
        }
    )[]

    Array of warnings associated with the device. Each warning object within the array contains two fields: warning_code and message. warning_code is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. message provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.

    Type Declaration

    • {
          created_at: string;
          message: string;
          warning_code: "partial_backup_access_code_pool";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "partial_backup_access_code_pool"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "many_active_backup_codes";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "many_active_backup_codes"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "third_party_integration_detected";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "third_party_integration_detected"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "ttlock_lock_gateway_unlocking_not_enabled";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "ttlock_lock_gateway_unlocking_not_enabled"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "ttlock_weak_gateway_signal";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "ttlock_weak_gateway_signal"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • { created_at: string; message: string; warning_code: "power_saving_mode" }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "power_saving_mode"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "temperature_threshold_exceeded";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "temperature_threshold_exceeded"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "device_communication_degraded";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "device_communication_degraded"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "scheduled_maintenance_window";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "scheduled_maintenance_window"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "device_has_flaky_connection";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "device_has_flaky_connection"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • { created_at: string; message: string; warning_code: "salto_ks_office_mode" }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "salto_ks_office_mode"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • { created_at: string; message: string; warning_code: "salto_ks_privacy_mode" }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "salto_ks_privacy_mode"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • { created_at: string; message: string; warning_code: "privacy_mode" }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "privacy_mode"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "salto_ks_subscription_limit_almost_reached";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "salto_ks_subscription_limit_almost_reached"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "salto_ks_lock_access_code_support_removed";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "salto_ks_lock_access_code_support_removed"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "unknown_issue_with_phone";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "unknown_issue_with_phone"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "lockly_time_zone_not_configured";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "lockly_time_zone_not_configured"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "ultraloq_time_zone_unknown";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "ultraloq_time_zone_unknown"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • { created_at: string; message: string; warning_code: "time_zone_unknown" }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "time_zone_unknown"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • { created_at: string; message: string; warning_code: "time_zone_mismatch" }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "time_zone_mismatch"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "two_n_device_missing_timezone";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "two_n_device_missing_timezone"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "hub_required_for_additional_capabilities";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "hub_required_for_additional_capabilities"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • { created_at: string; message: string; warning_code: "provider_issue" }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "provider_issue"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "keynest_unsupported_locker";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "keynest_unsupported_locker"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "accessory_keypad_setup_required";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "accessory_keypad_setup_required"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "unreliable_online_status";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "unreliable_online_status"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          active_access_code_count: number;
          created_at: string;
          max_active_access_code_count: number;
          message: string;
          warning_code: "max_access_codes_reached";
      }
      • active_access_code_count: number

        Number of active access codes on the device when the warning was set.

      • created_at: string

        Date and time at which Seam created the warning.

      • max_active_access_code_count: number

        Maximum number of active access codes supported by the device.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "max_access_codes_reached"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    • {
          created_at: string;
          message: string;
          warning_code: "insufficient_permissions";
      }
      • created_at: string

        Date and time at which Seam created the warning.

      • message: string

        Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.

      • warning_code: "insufficient_permissions"

        Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.

    workspace_id: string

    Unique identifier for the Seam workspace associated with the device.