Smart Locks That Support Mobile Keys
- Supported models
- 91
- Manufacturers
- 5
- Connected systems
- 7
Every model, and the systems that cover it
Systems that issue mobile keys
- BetaAmbiance
- BetaCommunity
- LiveHotek
- LiveLatch
- LiveSalto Space
- LiveVisionline
- LiveVostio
Browse the other 41 devices
- Salto XS4 Locker Lock
- Salto XS4 Mini - ANSI
- Salto XS4 Mini - Australia
- Salto XS4 Mini - European / DIN
- Salto XS4 Mini - Finnish
- Salto XS4 Mini - Scandinavian
- Salto XS4 Mini Metal - European / DIN
- Salto XS4 Mini Metal - Scandinavian
- Salto XS4 One - Deadlatch
- Salto XS4 One - DIN
- Salto XS4 One - EU
- Salto XS4 One S - ANSI
- Salto XS4 One S - DIN
- Salto XS4 One S - Euro
- Salto XS4 One S - Scandinavian
- Salto XS4 One S Heavy Duty - EURO
- Salto XS4 One S Keypad ANSI
- Salto XS4 One S Keypad Euro
- Salto XS4 One S Keypad Scandinavian
- Salto XS4 One S Wide Euro
- Salto XS4 One S Wide Scandinavian
- Salto XS4 Original+ ANSI
- Salto XS4 Original+ DIN
- Salto XS4 Original+ EURO
- Salto XS4 Original+ Heavy Duty - Euro
- Salto XS4 Original+ Scandinavian
- Salto XS4 Original+ Wide EURO
- Salto XS4 Original+ Wide Scandinavian
- Dormakaba Confidant
- Dormakaba MT RFID
- Dormakaba Quantum Pixel+
- Dormakaba QuantumIV
- Dormakaba RT Plus Lock
- Dormakaba Saffire LX-D
- Dormakaba Saffire LX-I
- Dormakaba Saffire LX-L
- Dormakaba Saffire LX-M
- Dormakaba Saffire LX-P
- Dormakaba Saflok Quantum Pixel
- Dormakaba Saflok Quantum RFID
- Dormakaba Saflok SR3
Issue a mobile key in 60 seconds
1# A three-day window starting now, so a copied snippet is never a dead grant.
2STARTS_AT=$(date -u +%Y-%m-%dT%H:%M:%SZ)
3ENDS_AT=$(date -u -v+3d +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u -d '+3 days' +%Y-%m-%dT%H:%M:%SZ)
4
5curl -X POST 'https://connect.getseam.com/access_grants/create' \
6 -H "Authorization: Bearer ${SEAM_API_KEY}" \
7 -H 'Content-Type: application/json' \
8 -d '{
9 "user_identity": {
10 "full_name": "Jane Doe",
11 "email_address": "jane@example.com"
12 },
13 "acs_entrance_ids": ["f74e4879-5991-4e2f-a368-888983dcfbfc"],
14 "requested_access_methods": [{ "mode": "mobile_key" }],
15 "starts_at": "'"$STARTS_AT"'",
16 "ends_at": "'"$ENDS_AT"'"
17 }'Build it with your AI agent
- Reservation AutomationsPush reservations to Seam and let it manage codes across the booking lifecycle.
- Access GrantsPer-entrance, per-credential access: PIN codes, mobile keys and Instant Keys.
- Access CodesDirect, manual control of individual time-bound codes on a specific device.
1. Install the plugin
/plugin marketplace add seamapi/seam-plugin
/plugin install seam@seamapiThe Claude Code install also adds our documentation MCP server, so the agent can look up endpoints and device capabilities while it works. Cursor, Codex and other agents get the skills through npx skills add and can add the MCP server there separately.
2. Paste this prompt
Using the Seam Access Grants skill, add mobile key unlock to my app. In a sandbox workspace: create a user identity for a member, create an access grant on an entrance with requested_access_methods [{ mode: "mobile_key" }] for a one-month membership window, then list the access methods and show me the client_session_id and the instant_key_url. Then walk me through exchanging the client_session_id for a client session token for the mobile SDK, and explain which of the two artifacts I need for a native app versus a text message.How it works
Connect the lock and confirm support
Your user links their lock or access system account through Seam Connect Webview. Seam returns the doors behind it as devices and entrances. There is no device flag for mobile keys: Seam publishes eight boolean capability flags and this is not one of them. Check the device's capabilities_supported array, or ask for { mode: "mobile_key" } in requested_access_methods and handle what Seam reports back.
Create an Access Grant
Name the person, the doors and the window, then ask for a mobile key in requested_access_methods. Seam works out how to satisfy that on the specific hardware, so the call is the same for a battery deadbolt and a wired reader. Swap acs_entrance_ids for space_ids to cover a group of doors, or device_ids when the door is a standalone lock. Seam removes the credential at ends_at, and deleting the grant revokes it on the spot.
1import { Seam } from "seam" 2 3const seam = new Seam() 4 5// Relative to now, so the window is always in the future when this runs. 6const startsAt = new Date() 7const endsAt = new Date(startsAt.getTime() + 3 * 24 * 60 * 60 * 1000) 8 9// One call: who gets in, which doors, and for how long. 10const accessGrant = await seam.accessGrants.create({ 11 user_identity: { 12 full_name: "Jane Doe", 13 email_address: "jane@example.com", 14 }, 15 acs_entrance_ids: ["f74e4879-5991-4e2f-a368-888983dcfbfc"], 16 requested_access_methods: [{ mode: "mobile_key" }], 17 starts_at: startsAt.toISOString(), 18 ends_at: endsAt.toISOString(), 19}) 20 21// Seam issues the credential and programs the door. Read it back when ready. 22const [accessMethod] = await seam.accessMethods.list({ 23 access_grant_id: accessGrant.access_grant_id, 24})Hand the mobile key to the phone
List the access methods to get the client_session_id, then look up that client session's token. The iOS entry point is initialize(clientSessionToken:), so the id on its own will not start a session. Every mobile key also carries an instant_key_url, a browser-based key you can text to a guest who will never install an app.
1const [accessMethod] = await seam.accessMethods.list({ 2 access_grant_id: accessGrant.access_grant_id, 3}) 4 5if (accessMethod.is_issued) { 6 // Look up this client session's token. The mobile SDK takes the token, not 7 // the id: initialize(clientSessionToken:). 8 console.log(accessMethod.client_session_id) 9 console.log(accessMethod.instant_key_url) // or text this instead 10}
Frequently asked questions
Which smart locks support mobile keys?
Seam supports mobile keys on 91 smart lock models from 5 manufacturers, including Salto, Assa Abloy and Dormakaba. The table on this page comes from Seam's device database, and each model links to its own page with the per-system status and any hardware requirements.
How do I check whether a door can take a mobile key?
The device object has eight boolean capability flags, and can_provision_mobile_keys is not one of them. Read the device's capabilities_supported array, or just ask for { mode: "mobile_key" } on the Access Grant and handle what Seam reports back.
Do my users need to install an app to use a mobile key?
Not always. With your own app, the Seam mobile SDK holds the credential and unlocks over Bluetooth. Without one, text the instant_key_url that comes with every mobile key.
Does a mobile key work when the phone has no signal?
Yes, on systems that provision the credential to the phone. The key unlocks over Bluetooth with both the phone and the lock offline, which is why mobile keys suit stairwells and garages.
Can one person hold a mobile key and a PIN code at the same time?
Yes. Request both modes in one Access Grant, or add an access method to an existing grant later. They share the grant's schedule and doors, so a lost phone is not a lockout.
How is this different from each lock vendor's own mobile SDK?
Vendor SDKs are per brand: a different credential model, provisioning flow and revocation rule each time. Seam issues mobile keys through one Access Grants call and one mobile SDK across every system listed here.
Related
- Smart locks that support online access codesEvery model, with the status of each system that issues online access codes.
- Smart locks that support encoded plastic cardsEvery model, with the status of each system that issues encoded plastic cards.
- Smart locks that support remote unlockEvery model, with the status of each system that supports remote unlock.
- Smart locks that support remote lockEvery model, with the status of each system that supports remote lock.
- Smart locks that support offline access codesEvery model, with the status of each system that issues offline access codes.
- Every device and system Seam supportsSearch the whole device database by brand, device type and capability.
- Access control systemsThe wired systems behind the entrances in these grants: Salto, dormakaba, Brivo, ASSA ABLOY and more.
- Smart lock API overviewHow Seam's smart lock API works, from device connection to access automation.