
Scaling Seam
This week, we’ve been hard at work strengthening the foundation of the Seam platform to support your growth and improve performance at scale. We’ve implemented a series of infrastructure upgrades that not only make the platform faster and more responsive, but also unlock new capabilities for building reliable, large-scale applications. These changes help ensure that as your footprint expands—from a few devices to tens of thousands—Seam continues to deliver dependable, real-time connectivity across the board.
Pagination
For endpoints that can return long lists of resources, using pagination makes your app faster and more efficient—and helps you scale. We’ve implemented pagination in the Seam API for our most demanding endpoints: devices, access codes, access system users, and connected accounts. Our JavaScript, Python, PHP, and Ruby SDKs also support pagination. We plan to add pagination support for all list endpoints in the future.
For example, to list devices with pagination using the Seam JavaScript SDK:
For details about the various ways in which you can use pagination, see our docs.
Schlage Webhooks
We’ve mentioned previously that we upgraded our Schlage integration to leverage the new Schlage API version. Now, we’ve replaced our legacy Schlage polling with real-time webhooks, making secure, real-time access management possible at scale.
These new webhook-based workflows provide real-time event notifications for lock and unlock actions, access code changes, and device status. You will see status changes much faster and more reliably than before, it greatly reduces the risk of encountering provider rate limits, and it lowers the load on a valued manufacturer partner.
This change results in more robust troubleshooting, reduced error rates, and faster onboarding for you. It also paves the way for new features, like more granular event insights and enhanced reliability for access code management.
To take advantage of our new Schlage real-time webhook workflows, you don’t need to do anything. We handle the maintenance and improvements for our provider integrations so that you don’t have to. For example, when providers deprecate older APIs, we upgrade our integrations proactively to prevent potential disruptions and losses of connectivity. We provide you with a seamless experience with no surprise service breaks.
Pending Mutations
As a developer, you need clear and thorough mechanisms for tracking resource status and changes. It is crucial to know when a change that your app has requested has been applied on the provider system.
For example, suppose that your app sends an API request to Seam to update an access system user’s access group assignment. You need to be able to track when the user has been added to the new access group in the access system itself, as visible in the access system’s dashboard.
To enhance resource visibility and traceability, we’ve added the pending_mutations property to acs_users, and we plan to continue adding this functionality to more resources. This property is an array of changes that Seam is in the process of pushing to the connected access system. Each element of the array is an object based on a mutation_code, such as creating, deleting, updating_group_membership, and so on. The structure of the object varies depending on the mutation_code.
For details, see the pending_mutations property in our docs.
2025.05.30 Changelog
New
- Thermostat weekly programs in Seam Console: Last week, we introduced you to thermostat weekly programs in the Seam API. We’ve added the ability to set weekly programs through Seam Console as well.

Changed
- Salto KS access group naming: We improved the naming scheme that we use to create Salto KS access groups.
Fixes
- Extraneous TTLock weak signal error: We corrected an instance in which an extraneous
lock.ttlock_weak_gateway_signalerror was being emitted for a TTLock that actually had no connected Wi-Fi gateway. - Honeywell Resideo account deletion: We corrected an issue that was preventing the deletion of a connected Honeywell Resideo account.
- Sensi climate preset set points: We corrected an issue in which set points were being set incorrectly for climate presets on Sensi devices.