Smart Locks That Support Plastic Card Encoding
- Supported models
- 91
- Manufacturers
- 4
- Connected systems
- 6
Every model, and the systems that cover it
Systems that issue encoded plastic cards
- LiveAmbiance
- LiveCommunity
- LiveHotek
- LiveSalto Space
- LiveVisionline
- LiveVostio
Browse the other 41 devices
- Salto Neo - European Cylinder
- Salto Neo - Mortise Cylinder
- Salto Neo - Scandinavian Oval Cylinder
- Salto Neo - Scandinavian Security Cylinder
- Salto Neo - Swing Handle Cylinder
- Salto Neo - Swiss Cylinder
- Salto Neo - UK Oval Cylinder
- Salto Neo - UK Rim Cylinder
- Salto Neo - US RIM Cylinder
- Salto Neoxx Padlock - G3
- Salto Neoxx Padlock - G4
- Salto XS4 Glass Door - DIN
- 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 Double Reader - EU
- 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
Issue a key card 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": "card" }],
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, walk me through issuing a plastic key card. In a sandbox workspace: create a user identity for a guest, create an access grant on the room and lobby entrances with requested_access_methods [{ mode: "card" }] for a two-night stay, then show me how to encode that access method onto a card with a card encoder and how to scan a card to see what is on it. Point out where is_issued flips from false to true in that sequence.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 encoded plastic cards: Seam publishes eight boolean capability flags and this is not one of them. Check the device's capabilities_supported array, or ask for { mode: "card" } 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 key card 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: "card" }], 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})Encode or assign the physical card
Send the card access method to an encoder to write a blank card, or let the system attach it to a pre-registered one. is_issued stays false until the credential is on plastic, so read false as your cue to encode. Scan an encoded card later to see which credential it carries and when it expires.
1const [accessMethod] = await seam.accessMethods.list({ 2 access_grant_id: accessGrant.access_grant_id, 3}) 4 5if (accessMethod.is_issued) { 6 console.log("Already encoded. This card opens the doors on the grant.") 7} 8else { 9 // A card credential is not issued until it is written to plastic, so this is 10 // the branch that needs an encoder or a pre-registered card. 11 console.log(accessMethod.access_method_id) // encode this one 12}
Frequently asked questions
Which smart locks support encoded plastic cards?
Seam supports encoded plastic cards on 91 smart lock models from 4 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 system can encode a card for a door?
Not with a device flag. can_encode_plastic_cards is a device database capability, not one of the eight booleans on the API's device object. Read capabilities_supported, or request { mode: "card" } on the Access Grant and handle what comes back.
Do I need a card encoder at the property?
For systems that write credentials onto blank cards, yes: Seam creates the credential and drives your existing encoder. Other systems assign the credential to a card that is already registered, and no encoder is involved.
Can the same card open several doors?
Yes. Put every entrance on the Access Grant, or pass a space that covers them, and the card is encoded for all of them at once. Adding a door later updates the credential.
What happens to a card when a stay ends?
The credential expires with the grant, so the card stops opening doors at ends_at whether or not it comes back to the desk. Revoking early is a deletion, not a trip to the lock.
Are plastic cards only for hotels?
No, but hotels and offices earn the most from them, because the readers and card stock are already installed. Cards are the cheapest credential to hand someone with no smartphone.
Related
- Smart locks that support online access codesEvery model, with the status of each system that issues online access codes.
- Smart locks that support mobile keysEvery model, with the status of each system that issues mobile keys.
- 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.