Represents a lock.The Seam API enables you to control connected smart locks from a wide variety of manufacturers, including locks that provide online and offline access code programming.Depending on the smart lock brand and model, actions that you can perform include remote unlock, remote lock, and programming access codes. You can also view a lock’s properties, capabilities, and status. Further, you can monitor for unlock and lock events.See also Webhooks.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Label for this option. For a single-option device, the product name (for example, algoPIN or SmartPIN); for a multi-option device, a label that distinguishes it (for example, Hourly or Fixed start times).
iCalendar recurrence rule (RRULE) that the end date must fall on. Constrains which calendar dates are selectable, independent of the time-of-day rules.
iCalendar recurrence rule (RRULE) that the start date must fall on (for example, FREQ=MONTHLY;BYDAY=1MO,3MO). Constrains which calendar dates are selectable, independent of the time-of-day rules.
End time of day as a 24-hour HH:MM value, interpreted in the option’s time_zone. An end_time earlier on the clock than start_time means the end falls on a later date.
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.
Label for this option. For a single-option device, the product name (for example, algoPIN or SmartPIN); for a multi-option device, a label that distinguishes it (for example, Hourly or Fixed start times).
iCalendar recurrence rule (RRULE) that the end date must fall on. Constrains which calendar dates are selectable, independent of the time-of-day rules.
iCalendar recurrence rule (RRULE) that the start date must fall on (for example, FREQ=MONTHLY;BYDAY=1MO,3MO). Constrains which calendar dates are selectable, independent of the time-of-day rules.
End time of day as a 24-hour HH:MM value, interpreted in the option’s time_zone. An end_time earlier on the clock than start_time means the end falls on a later date.
Deprecated. Use ‘thermostat_schedule.is_override_allowed’Indicates whether a person at the thermostat can change the thermostat’s settings. See Specifying Manual Override Permissions.
Deprecated. Use ‘thermostat_schedule.is_override_allowed’Indicates whether a person at the thermostat can change the thermostat’s settings. See Specifying Manual Override Permissions.
Deprecated. Use ‘thermostat_schedule.is_override_allowed’Indicates whether a person at the thermostat can change the thermostat’s settings. See Specifying Manual Override Permissions.
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.
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.
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.
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.
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.
Label for this option. For a single-option device, the product name (for example, algoPIN or SmartPIN); for a multi-option device, a label that distinguishes it (for example, Hourly or Fixed start times).
iCalendar recurrence rule (RRULE) that the end date must fall on. Constrains which calendar dates are selectable, independent of the time-of-day rules.
iCalendar recurrence rule (RRULE) that the start date must fall on (for example, FREQ=MONTHLY;BYDAY=1MO,3MO). Constrains which calendar dates are selectable, independent of the time-of-day rules.
End time of day as a 24-hour HH:MM value, interpreted in the option’s time_zone. An end_time earlier on the clock than start_time means the end falls on a later date.
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.
Label for this option. For a single-option device, the product name (for example, algoPIN or SmartPIN); for a multi-option device, a label that distinguishes it (for example, Hourly or Fixed start times).
iCalendar recurrence rule (RRULE) that the end date must fall on. Constrains which calendar dates are selectable, independent of the time-of-day rules.
iCalendar recurrence rule (RRULE) that the start date must fall on (for example, FREQ=MONTHLY;BYDAY=1MO,3MO). Constrains which calendar dates are selectable, independent of the time-of-day rules.
End time of day as a 24-hour HH:MM value, interpreted in the option’s time_zone. An end_time earlier on the clock than start_time means the end falls on a later date.