Migrating Existing Access Codes
Learn how to migrate existing lock access codes into Seam
Prior to using Seam to manage your devices, you may have used another lock management system to manage the access codes on your devices. Where possible, we will help you keep any existing access codes on devices, and transition those codes to ones managed by your Seam workspace.
If migrating existing codes into your Seam workspace is not possible, you can still get a list of these existing codes, and replace them with new access codes managed by your Seam workspace.
Seam differentiates between managed access codes and unmanaged access codes. When you create an access code on a device in Seam, it is created as a managed code. Codes that exist on a device that were not created on Seam are considered unmanaged codes. We strictly limit the operations that can be performed on unmanaged codes to:
- Viewing a list of the unmanaged codes on a device
- Converting an unmanaged code into a managed code
- Deleting an unmanaged code
Strictly speaking, unmanaged codes are any codes on a device that were not created by the current workspace. For example, if you are within Workspace 1 and created codes Code 1 and Code 2, those two codes would be considered unmanaged if you were looking at the same device in Workspace 2. Therefore, unmanaged codes include both codes not managed by Seam at all, and codes that might be managed by a different workspace within Seam.
You can retrieve a list of all unmanaged access codes for a particular device using a
GET /access_codes/unmanaged/list
request, passing in device_id
as a query parameter, for example:get
https://connect.getseam.com
/access_codes/unmanaged/list
Get a list of unmanaged codes
You can convert unmanaged access codes into managed ones using a
POST /access_codes/unmanaged/update
request, and passing in a JSON body similar to:{
"access_code_id": "xxxx-xxxx-xxxx-xxxx",
"is_managed": true
}
The request will return immediately but the conversion is an asynchronous process that completes in the background. You can listen to the
access_code.unmanaged.converted_to_managed
and access_code.unmanaged.failed_to_convert_to_managed
to be notified when conversion succeeds or fails.Once an unmanaged code is successfully converted to a managed code, all of the normal managed access code operations and behavior is available.
Some third-party device providers strictly limit the information available about existing access codes on a device. Thus, for devices connected using these providers, we cannot convert unmanaged codes to managed ones. The current list of providers which do not support conversion are:
- SmartThings
- igloohome
For SmartThings devices, you can still see a list of all unmanaged codes on the devices using the
GET /access_codes/unmanaged/list
endpoint, but you will not be able to see the actual pin code for the access codes (the code
property won't be present).After you have converted unmanaged codes to managed codes, or replaced them with new ones, you can allow users to delete any remaining unmanaged codes on their device. You can do this by using the
DELETE /access_codes/unmanaged/delete
endpoint, and passing in a JSON body similar to:{
"access_code_id": "xxxx-xxxx-xxxx-xxxx"
}
The request will return an action attempt, similar to the managed code deletion endpoint. Take a look at the Delete an access code for more details.