Overview
Seam provides a universal API to connect and control many brands of access control systems. This guide provides a rapid introduction to connecting your Kisi organization, granting a cloud key, and remotely unlocking a door using the Seam API. Kisi is cloud-native, so no Seam gateway or bridge is required. Seam models each Kisi organization as an access control system, exposes each door as an entrance, and issues cloud keys through Access Grants. To learn more about other access control systems supported by Seam, head over to our integration page.1 — Install Seam SDK
Seam provides client libraries for many languages, such as JavaScript, Python, Ruby, PHP, and others, as well as a Postman collection and OpenAPI spec.- JavaScript / TypeScript (npm, GitHub)
- Python (pip, GitHub)
- Ruby Gem (rubygem, GitHub)
- PHP (packagist, GitHub)
- C# (nuget, GitHub)
- Java (Maven, GitHub)
This guide uses a Sandbox Workspace. Only virtual systems can be connected. If
you need to connect a real Kisi organization, use a non-sandbox workspace and
API key.
2 — Link Kisi System with Seam
To control your Kisi system via the Seam API, you must first authorize your Seam workspace against your Kisi organization. To do so, Seam provides Connect Webviews: pre-built UX flows that walk your users through authorizing your application to control their Kisi system. Kisi connects using a Kisi API key. In production, your users generate this key in their Kisi dashboard under My Account → API. See the Kisi Setup Guide for details.Request a Connect Webview
Authorize Your Workspace
Navigate to the URL returned by the Webview object. Since you are using a sandbox workspace, complete the login flow by entering the Kisi sandbox test account API key below:- API Key:
1234
3 — Retrieve the ACS System
After the Kisi system is linked with Seam, you can retrieve the ACS system. This represents the connected Kisi organization.4 — List Entrances
Entrances represent the doors managed by the Kisi system. In the sandbox, this includes Front Door (online) and Back Door (offline, with restrictions enabled) in a place named Main Office.5 — Grant a Cloud Key
To give a member access, create an Access Grant. An Access Grant is a single call that defines who gets access, where they can go, when access is valid, and how they get in. For Kisi, request thecloud_key access method to issue a cloud key — a web-based unlock attributed to that specific user.
Seam provisions the underlying Kisi user and cloud-key credential for you, so you do not create Kisi users directly.
A Kisi cloud key triggers a web-based unlock — the member opens the granted
doors over the internet from a shareable link or an unlock button in your app,
and each unlock is attributed to that member in the Kisi audit log. See Using
Cloud Keys for details.
6 — Unlock a Door
Each Kisi door is also exposed as a device, which lets you trigger a remote unlock directly. Kisi processes the unlock through its cloud, so the action is fire-and-forget — Seam does not receive confirmation of the physical unlock from the device.Kisi does not support a remote lock action. Only unlock is available. Unlock
requests against doors with geofence or reader-proximity restrictions may be
rejected by Kisi.
Next Steps
Now that you’ve completed this guide, you can try to connect a real Kisi organization. To do so, make sure to switch to a non-sandbox workspace and API key, as real systems cannot be connected to sandbox workspaces. In addition, if you’d like to explore other aspects of Seam, here is a list of helpful resources:- Access Grants — the recommended way to manage access across providers
- Using Cloud Keys
- Receiving webhooks for device events
- Core Concepts