- JavaScript
- cURL
- Python
- Ruby
- PHP
- C#
- Seam CLI
- Standalone smart locks, such as August, Yale, Schlage, Lockly, TTLock, Tedee, and igloohome devices. Specify the locks directly with
device_ids. - Access control systems (ACS), such as Salto KS, Salto Space, ASSA ABLOY Visionline and Vostio, dormakaba, Brivo, and Avigilon Alta. Specify entrances with
acs_entrance_ids. - Mixed estates. Combine
device_idsandacs_entrance_idsin the same Access Grant, or group access points into spaces and grant access to the whole group withspace_ids.
Start Simple, Then Scale Up
We recommend learning Access Grants in three steps, from the simplest setup to the most advanced:- One device. Connect a smart lock and create an Access Grant with a single
device_idand acodeaccess method. See Creating an Access Grant Using Devices. - Multiple devices and spaces. Pass several
device_idsin one call to grant access to a set of locks at once. To manage groups of access points by name—for example, everything a guest in Unit 101 needs—organize them into spaces and grant access byspace_id. - Access control systems. Connect an ACS, such as Salto, Visionline, or Brivo, and grant access to entrances with
acs_entrance_ids. This path can involve additional setup, such as licenses, on-premises connections through Seam Bridge, mobile key configuration, and reservations for offline-override systems. See Creating an Access Grant Using Entrances.
Access Grant Characteristics
An Access Grant includes the following characteristics:| Characteristic | Creation Parameter | Description |
|---|---|---|
| Who | user_identity_id or user_identity | The user to whom to grant access. You can either create a user identity separately and specify the ID to the Access Grant or create a new user identity as part of the Access Grant creation action. |
| Where | device_ids, space_ids, or
acs_entrance_ids | The access points to which to grant access. Specify one or more devices (such as standalone smart locks) by ID, one or more access system entrances by ID, or both. Alternately, you can define spaces that contain groups of related devices and entrances and then specify one or more spaces by ID. |
| When | starts_at and ends_at | The access schedule. |
| How | requested_access_methods and mode | The access methods that you want to grant for the user. In each
requested_access_method, specify the desired
mode of access, such as a PIN code, key card, or mobile key
(with an
Instant Key
). |
Access Grant Process
The Access Grant process consists of the following steps:| Step | Description |
|---|---|
| To connect your devices or access system to Seam, we recommend embedding
aConnect Webviewin your application. The Connect Webview flow guides the property
manager through each step of the connection process. For standalone smart locks, this is all the setup you need. For on-premises access systems, use Seam Bridge to connect the access system securely to Seam. For details, seeConnect an Access System to Seam. |
| If you are granting access to access system entrances, confirm hardware capabilities and make sure that you have the required licenses. For example, if you plan to use mobile keys or Instant Keys, your lock hardware must support Bluetooth Low Energy (BLE) keys. Also, to use mobile keys with your access system, you may need to purchase licenses or subscriptions to activate certain software features. These requirements vary by access system. For details, seeSetting Up Your Site for Instant Keysand thesystem integration guidefor your access system. |
| You can use spaces to create groups of devices and entrances for
efficiency. For example, a user staying in Room 101 may need access to
the Room 101 door, the main entrance door, and the nearest elevator. You
could create a space that includes these access points and then use this
space when creating an Access Grant. For details, see spaces. |
| User identities represent your users—the people to whom you want to
grant access. You can create a user identity before creating an Access
Grant, or you can create a user identity as part of creating the Access
Grant. SeeManaging Mobile App User Accounts with User Identities. |
| When you create an Access Grant, you specify the user identity to whom
you want to grant access, the access schedule, the set of devices,
entrances, or spaces, and one or more access methods that you want to
request. SeeCreating an Access Grant Using Devices,Creating an Access Grant Using Spaces, andCreating an Access Grant Using Entrances. You can poll for access method status changes or watch for Access Grant and access method lifecycle events that alert you to next steps, such as how and when to deliver each created access method to your user. |
| Once Seam alerts you that your access methods are ready, deliver them to your user. Delivery steps depend on the mode of access, such as PIN code, plastic key card, or mobile key.
|
Which API Should I Use to Grant Access?
Use Access Grants. The lower-level APIs remain available for a small set of specific scenarios:| Scenario | API to use |
|---|---|
| Grant a person access to one or more smart locks | Access Grants (device_ids) |
| Grant a person access to ACS entrances | Access Grants (acs_entrance_ids) |
| Grant a person access to a group of access points | Access Grants + spaces (space_ids) |
| Issue a mobile key or Instant Key | Access Grants (mode: "mobile_key") |
| Set a PIN with a specific custom code value on a single lock | Access Codes API (low-level) |
| Manage offline or backup PIN code pools on a single lock | Access Codes API (low-level) |
| Directly manage ACS users, credentials, and access groups | ACS API (low-level) |
| Lock or unlock a door remotely | Smart Locks API (not a granting workflow) |

