Granting Access Using Seam Instant Keys
To issue an Instant Key, identify the user to whom you want to grant access and create a user identity to represent this user. Then, create an Access Grant to specify the entrances and spaces to which you want to grant the user access. The Access Grant returns the Instant Key URL that you can deliver to your user through text or email.

This section details the steps in this process and provides accompanying Seam API code samples. See the following instructions:
Create a User Identity
Use the Seam API to create a user_identity
. A user identity represents the hotel guest.
Code:
# Create a user identity for your user.
jane_user = seam.user_identities.create(
full_name = "Jane Doe",
phone_number = "+15555550100"
)
Output:
UserIdentity(
user_identity_id='43947360-cdc8-4db6-8b22-e079416d1d8b',
full_name='Jane Doe',
phone_number='+15555550100',
...
)
Create an Access Grant
To create an Access Grant, specify the user identity, entrance or space IDs, and starting and ending times. Include mobile_key
as a requested access method.
Code:
seam.access_grants.create(
# You can specify the ID of an existing user identity or
# use the user_identity parameter to create a new one.
user_identity_id=jane_user.user_identity_id,
# You can specify acs_entrance_ids, space_ids, or both.
acs_entrance_ids=[
"48ebfb50-c531-43c5-b9ea-409f26dabbd7",
"f74e4879-5991-4e2f-a368-888983dcfbfc"
],
requested_access_methods=[
{"mode": "mobile_key"}
],
starts_at="2025-07-13T15:00:00.000Z",
ends_at="2025-07-16T11:00:00.000Z"
)
Output:
AccessGrant(
access_grant_id="ef83cca9-5fdf-4ac2-93f3-c21c5a8be54b",
display_name="My Access Grant",
user_identity_id="43947360-cdc8-4db6-8b22-e079416d1d8b",
starts_at="2025-07-13T15:00:00.000Z",
ends_at="2025-07-16T11:00:00.000Z",
instant_key_url="https://ik.seam.co/ABCXYZ",
...
)
# Share the instant_key_url with your user.
Deliver the Instant Key
Share the generated instant_key_url
with your user in your preferred way, depending on your product flow and guest experience. For most use cases, the simplest way to deliver an Instant Key is using a link in a text message or email. This method works well if you already collect the guest's phone number or email at booking.

Note that Instant Keys are also designed to have an appropriately-short validity period, as indicated by the Instant Key resource's expires_at
property.
Last updated
Was this helpful?