Unmanaged Access Codes
The unmanaged_access_code Object
Represents an unmanaged smart lock access code.
An access code is a code used for a keypad or pinpad device. Unlike physical keys, which can easily be lost or duplicated, PIN codes can be customized, tracked, and altered on the fly.
When you create an access code on a device in Seam, it is created as a managed access code. Access codes that exist on a device that were not created through Seam are considered unmanaged codes. We strictly limit the operations that can be performed on unmanaged codes.
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 help you keep any existing access codes on devices and transition those codes to ones managed by your Seam workspace.
Not all providers support unmanaged access codes. The following providers do not support unmanaged access codes:
An unmanaged access code resource.
{
"access_code_id": "88fa1812-bef8-4108-9fb4-4855376c3edf",
"code": "1234",
"created_at": "2025-06-16T16:54:17.946283Z",
"device_id": "b3439f17-7273-46f3-9e20-9a283d9cb5b4",
"ends_at": "2025-06-23T16:54:17.946261Z",
"errors": [],
"is_managed": false,
"name": "My Unmanaged Access Code",
"starts_at": "2025-06-21T16:54:17.946261Z",
"status": "set",
"type": "time_bound",
"warnings": [],
"workspace_id": "750fc0bc-4450-4356-8d9f-18c6a3a6b2c7"
}
Properties
access_code_id
UUID
Unique identifier for the access code.
code
String
Code used for access. Typically, a numeric or alphanumeric string.
created_at
Datetime
Date and time at which the access code was created.
device_id
UUID
Unique identifier for the device associated with the access code.
ends_at
Datetime
Date and time after which the time-bound access code becomes inactive.
errors
List of Objects
Errors associated with the access code.
The specific structure of each object in this list depends on the value of its error_code
field.
Variants:
is_managed
Boolean
Indicates that Seam does not manage the access code.
name
String
Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as first_name
and last_name
. To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints. To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called appearance
. This is an object with a name
property and, optionally, first_name
and last_name
properties (for providers that break down a name into components).
starts_at
Datetime
Date and time at which the time-bound access code becomes active.
status
Enum
Current status of the access code within the operational lifecycle. set
indicates that the code is active and operational.
type
Enum
Type of the access code. ongoing
access codes are active continuously until deactivated manually. time_bound
access codes have a specific duration.
warnings
List of Objects
Warnings associated with the access code.
The specific structure of each object in this list depends on the value of its warning_code
field.
Variants:
workspace_id
UUID
Unique identifier for the Seam workspace associated with the access code.
Errors
account_disconnected
Indicates that the account is disconnected.
august_device_programming_delay
Access code has not yet been fully moved to the device.
august_device_slots_full
All access code slots on the device are full.
august_lock_invalid_code_length
Invalid code length for August lock.
august_lock_missing_bridge
Indicates that the lock is not connected to a bridge.
august_lock_missing_keypad
August lock is missing a keypad.
august_lock_not_authorized
Indicates that the user is not authorized to use the August lock.
august_lock_temporarily_offline
August lock is temporarily offline.
bridge_disconnected
Indicates that the Seam API cannot communicate with Seam Bridge, for example, if the Seam Bridge executable has stopped or if the computer running the Seam Bridge executable is offline. See also Troubleshooting Your Access Control System.
code_modified_external_to_seam
Code was modified or removed externally after Seam successfully set it on the device.
device_disconnected
Indicates that the device is disconnected.
device_offline
Indicates that the device is offline.
device_removed
Indicates that the device has been removed.
dormakaba_oracode_no_valid_user_level
No valid user level for Oracode.
duplicate_code_attempt_prevented
An attempt to modify this access code was prevented.
duplicate_code_on_device
Duplicate access code detected on device.
empty_backup_access_code_pool
Indicates that the backup access code pool is empty.
failed_to_remove_from_device
Failed to remove code from device.
failed_to_set_on_device
Failed to set code on device.
hub_disconnected
Indicates that the hub is disconnected.
hubitat_device_programming_delay
Access code has not yet been fully moved to the device.
hubitat_no_free_positions_available
No free positions available on the device.
igloohome_bridge_offline
Igloohome bridge is offline.
igloohome_bridge_too_many_pending_jobs
Igloohome bridge has too many pending jobs in the queue.
igloohome_offline_access_code_no_variance_available
Lock has reached maximum amount of codes.
invalid_credentials
Indicates that the credentials provided were invalid.
kwikset_unable_to_confirm_code
Unable to confirm that the access code is set on Kwikset device.
kwikset_unable_to_confirm_deletion
Unable to confirm the deletion of the access code on Kwikset device.
lockly_missing_wifi_bridge
Indicates that the Lockly lock is not connected to a Wi-Fi bridge.
missing_device_credentials
Indicates that device credentials are missing.
no_space_for_access_code_on_device
No space for access code on device.
salto_ks_subscription_limit_exceeded
Indicates that the Salto site user limit has been reached.
salto_ks_user_not_subscribed
Salto site user is not subscribed.
smartthings_failed_to_set_access_code
Failed to set code on SmartThings device.
smartthings_failed_to_set_after_multiple_retries
Failed to set code after multiple retries.
smartthings_no_free_slots_available
No free slots available on the device.
subscription_required
Indicates that a subscription is required to connect.
ttlock_lock_not_paired_to_gateway
Indicates that the lock is not paired with a gateway.
wyze_duplicate_code_name
Duplicate access code name detected.
wyze_potential_duplicate_code
Potential duplicate access code detected.
Warnings
august_device_programming_delay
Access code has not yet been fully moved to the device.
august_lock_temporarily_offline
August lock is temporarily offline.
code_modified_external_to_seam
Code was modified or removed externally after Seam successfully set it on the device.
delay_in_removing_from_device
Delay in removing code from device.
delay_in_setting_on_device
Delay in setting code on device.
igloo_algopin_must_be_used_within_24_hours
Algopins must be used within 24 hours.
kwikset_unable_to_confirm_code
Unable to confirm that the access code is set on Kwikset device.
management_transferred
Management was transferred to another workspace.
schlage_creation_outage
Received an error when attempting to create this code.
schlage_detected_duplicate
Duplicate access code detected.
smartthings_failed_to_set_access_code
Failed to set code on SmartThings device.
third_party_integration_detected
Third-party integration detected that may cause access codes to fail.
Events
access_code.unmanaged.converted_to_managed
An unmanaged access code was converted successfully to a managed access code.
access_code.unmanaged.failed_to_convert_to_managed
An unmanaged access code failed to be converted to a managed access code.
access_code.unmanaged.created
An unmanaged access code was created on a device.
access_code.unmanaged.removed
An unmanaged access code was removed from a device.
Endpoints
/access_codes/unmanaged/convert_to_managed
Converts an unmanaged access code to an access code managed through Seam.
/access_codes/unmanaged/delete
Deletes an unmanaged access code.
Returns a specified unmanaged access code.
Returns a list of all unmanaged access codes.
/access_codes/unmanaged/update
Updates a specified unmanaged access code.
Last updated
Was this helpful?