Access Control Systems API
Integrate ACS Across Global Brands With a Single API
Provision and manage users across access control system brands.
Assign them to access groups using the Seam API.
Create mobile credentials and distribute them directly inside your app using the Seam SDK.
assa logobrivo logodormakaba logogenetec logohid logolatch logosalto logo
A growing network of supported global brands
Contexts
Grant Access to Any Building
Enable instant access to apartment buildings, hotels, commercial sites, universities, and much more.
Apartment Building Example

Apartments

Office Building Example

Offices

Hotel Building Example

Hotels

Infrastructure Building Example

Infrastructure

Highlights
One API—Any System
Control dozens of different brands of access control systems using one API. Create and manage users, access permissions, and distribute mobile credentials such as Apple Wallet and BLE-keys using one unified mobile SDK.
Provision user diagram
Universal API
Use a single API to communicate with dozens of different access control system brands.
Image showing various OS Wallets and Brands
Unified SDK
Use a single mobile SDK to automatically distribute BLE and NFC credentials.
Compatible with
2n logo
4suites logo
allegion logo
akuvox logo
amag logo
assa logo
avigilon logo
brivo logo
doorbird logo
doorking logo
dormakaba logo
genetec logo
hid logo
latch logo
legic logo
openpath logo
pti logo
salto logo
30+
Easy as 1, 2, 3
How it works
Seam connects to any smart lock or access system. Create a Seam account, connect your devices, and begin controlling them using a single API and dashboard.
Image showing selection of system to connect
Connect Systems
Connect an access system and credential provider with Seam. Use the Seam Bridge to connect on-prem systems.
Image of a terminal with Seam API commands
Provision Users
Use Seam's unified API to create users and assign them to access groups, across any brand of supported access control system.
Screenshot of Seam UI components
Distribute Credentials
Seam provides mobile SDKs that automatically provision and distribute mobile credentials to your app's users.
Authorize
Connect Any System
Start by connecting an access control system to your Seam workspace. For cloud-connected systems such as Brivo, use Seam Connect Webviews to collect authorization information. For on-prem access systems such as Visionline, use the Seam Bridge to connect them to your workspace.
Cloud systems
Provision user diagram
Connect Webviews
Link any cloud-connected access control systems with Seam using Connect Webview. Webviews handle cloud-to-cloud authorization and can be integrated anywhere.
Offline systems
Image showing various OS Wallets and Brands
Seam Bridge
Seam Bridge enables you to connect on-prem, offline access control systems. Compatible with many hardware platforms, it takes mere minutes to set up anywhere.
Universal Access Control
Create and Assign ACS Users Programmatically
Seam provides a single, standardized API that enables you to create users and assign them to access groups across dozens of different brands of different access control system brands.
Provision Users
Create users and assign them to the right access groups using a few lines of code.
1// Retrieve an access control system
2const myAcs = await seam.acs.systems.get("my building")
3
4// Retrive the employee access group for that system
5const employee_group = seam.acs.access_groups.get({
6  acs_system_id: myAcs.acs_system_id,
7  name: "Employee Access Group",
8})
9
10// Create a user in the system and
11// assign them to the Employee access group
12const acs_user = await seam.acs.users.create({
13  email: "jane@example.com",
14  acs_system_id: myAcs.acs_system_id,
15  acs_access_group_ids: [employee_group.acs_access_group_id],
16})
One SDK
Distribute Credentials Across Any Mobile Wallet
Use a single SDK to issue Apple Wallet, Google Wallet, or BLE mobile credentials across brands like HID, LEGIC, StiD, Salto, and more.
Server Side
Provision NFC or BLE access credentials to user devices using one seamless SDK.
1// create a user identity
2user_identity = seam.user_identities.create((email = "jane@example.com"))
3
4// Link it to the ACS user created earlier
5seam.user_identities.add_acs_user(
6  (user_identity = user_identity.user_identity_id),
7  (acs_user_id = acs_user.acs_user_id)
8)
9
10// Create a client session to enable auto-provisioning
11clientSession = seam.clientSessions.getOrCreate({
12  user_identifier_key: "some-unique-key-you-define",
13  user_identities_ids: [user_identity.user_identity_id],
14})
Mobile Side
Initialize Seam on iOS, Android, or React to automatically provision access credentials.
1// Pass the clientSession object to your mobile app
2let clientSession = getSeamClientSession(email: "jane@example.com")
3
4// Initialize the SeamDeviceManager with the client session token and
5// Any access Credentials (NFC, BLE...etc) for acs users tied to 
6// the client session will be automatically provisioned
7SeamDeviceManager(clientSessionToken: clientSession.token)
Standardization
A Universal Schema
Seam's access control system API uses a universal schema shared amongst brands & systems supported by Seam, making integrations a breeze.
System
Buildings or locations, and represent a grouping of access groups, entrances and users.
Access Groups
Grouping of entrances and zones. Users can then be added to a group, which gives them access to the entrances of that group.
Entrances
Doors, elevators, turnstiles and other ingress points that restrict access and are opened based on user authorization via credentials.
Users & Credentials
Create many users and assign them credentials both plastic and mobile with a single API.
Universal ACS Schema
Key Benefits
Infinite Possibilities
Use Seam's integrated API & SDK to grant access to users, audit entry logs, and rule the day.
Connect Any System
Use a single API to provision users & credentials across dozens of different access control system brands.
Distribute Credentials
Use a single SDK to embed mobile credentials from different identity providers directly inside your mobile apps.
Unified Analytics
Audit entry logs, and get aggregated usage analytics across one or more sites.