seam logo
Seam ACS API

Access Systems

Grant Access to Any Building

Provision and manage users across access control system brands and assign them to access groups using the Seam API. Create mobile credentials and distribute them directly inside your app using the Seam SDK.

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.

Connect system via Seam Connect Webview

Universal API

Use a single API to communicate with dozens of different access control system brands.

Connect system via Seam Bridge

Unified SDK

Use a single mobile SDK to automatically distribute BLE and NFC credentials.

Compatible with
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

Hotel Building Example

Infrasctructure

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.

Connect Systems

Connect an access system and credential provider with Seam. Use the Seam Bridge to connect on-prem systems.

Connect any system to Seam

Provision Users

Use Seam's unified API to create users and assign them to access groups, across any brand of supported access control system.

Provision and manager users across systems using one API

Distribute Credentials

Seam provides mobile SDK that automatically provision and distribute mobile credentials to your app's users.

Distribute mobile credentials
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
Connect system via Seam Connect Webview

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
Connect system via Seam Bridge

Seam Bridge

Seam Bridge lets you connect on-prem, offline access control systems. Compatible with many hardware platforms, it takes mere minutes to setup anywhere.

One API

Provision Users

Seam provides a single, standardized API that lets you create users and assign them to access groups across dozens of different brands of different access control system brands.

Seam ACS API
1// Retrieve an access control system
2const my_acs = 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: my_acs.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: my_acs.acs_system_id,
15  acs_access_group_ids: [employee_group.acs_access_group_id],
16})
17
One SDK

Distribute Credentials

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:
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})
15
Mobile Side:
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)
Connect system via Seam Connect Webview

Mobile SDK

Use Seam's unified SDK to issue Apple Wallet, Google Wallet, or BLE mobile credentials across brands like HID, LEGIC, StiD, Salto, and more.

Standardization

A Universal Schema

Seam's access control system API uses a universal schema shared amongsts 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, turnstile 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 systems 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.

Let's Connect

Ready to get started?

Explore our case studies or submit a request for consultation. You can also contact us if you have any specific question you want answered.