Skip to main content
A clean, predictable device model helps Seam present accurate information to end users and orchestrate smart-lock behavior across hospitality, multifamily, STR, and coworking environments. The fields listed below form the baseline for a Seam-compatible integration.

Device Object Schema

Your API should expose a device resource with a stable, predictable structure. This lets Seam identify devices, correlate events, and display meaningful details to the user. A typical device object includes:
  • device_id: unique, stable identifier
  • device_type: smart_lock, hub, or bridge
  • device_model: hardware model identifier
  • online: whether your cloud can reach the device
  • battery_level: percentage 0–100
  • signal_quality: optional, recommended
  • location: latitude/longitude if available
  • timezone: IANA timezone string
  • bridge_id: parent hub/bridge if applicable
  • lock_state: locked, unlocked, or unknown
  • door_state: open, closed, or ajar (if supported)

Device example


Listing door locks

After a lock owner logs in through OAuth, Seam lists all locks associated with their account so the user can select which devices to connect. Your API should return a JSON list of all accessible locks.

List All Locks Example

GET https://devicecloud.example.com/locks

Getting a single lock

Seam may request information about a specific lock to display full details or perform deeper synchronization.

Get a Lock Example

GET https://devicecloud.example.com/locks/<LOCK_ID>

Connectivity reporting

To keep device state fresh, your platform should send webhook events whenever connectivity changes.
  • Send an event when the device goes offline
  • Send another when it comes back online
  • Report hub or bridge status separately

Online event example

Offline event example


Power & battery reporting

Your API should report battery percentage and emit events when power levels change.

Battery level example

Low-battery event

Battery replaced / charged


Time & timezone reporting

Accurate time lets Seam validate access-code schedules and align audit logs. Accurate timezone data is especially important during daylight-savings transitions.

Required fields

  • device_time: the current time reported by the device
  • timezone: an IANA timezone string

Device-time example

Seam compares device_time with server time to detect clock drift and identify devices that may evaluate schedules incorrectly.

Guidance for manufacturers

If scheduling is evaluated on-device, the reported device time and timezone must be kept accurate and updated reliably.