v1

latestOpenAPI 3.0.02026-07-22201291.8 MB
/access_codes

Create an Access Code

Creates a new access code. For granting access, we recommend Access Grants instead: they work across both standalone smart locks and access control systems and manage the underlying codes for you. Use this low-level endpoint only when you need direct control over a code on a single device, such as setting a custom PIN value.

post/access_codes/create

Request body

allow_external_modificationboolean

Indicates whether external modification of the code is allowed. Default: false.

attempt_for_offline_deviceboolean
codestring

Code to be used for access.

common_code_keystring

Key to identify access codes that should have the same code. Any two access codes with the same common_code_key are guaranteed to have the same code. See also Creating and Updating Multiple Linked Access Codes.

device_idstring uuid required

ID of the device for which you want to create the new access code.

ends_atstring

Date and time at which the validity of the new access code ends, in ISO 8601 format. Must be a time in the future and after starts_at.

is_external_modification_allowedboolean

Indicates whether external modification of the code is allowed. Default: false.

is_offline_access_codeboolean

Indicates whether the access code is an offline access code.

is_one_time_useboolean

Indicates whether the offline access code is a single-use access code.

max_time_rounding'1hour' | '1day' | '1h' | '1d'

Maximum rounding adjustment. To create a daily-bound offline access code for devices that support this feature, set this parameter to 1d.

namestring

Name of the new 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).
prefer_native_schedulingboolean

Indicates whether native scheduling should be used for time-bound codes when supported by the provider. Default: true.

preferred_code_lengthnumber float

Preferred code length. Only applicable if you do not specify a code. If the affected device does not support the preferred code length, Seam reverts to using the shortest supported code length.

starts_atstring

Date and time at which the validity of the new access code starts, in ISO 8601 format.

use_backup_access_code_poolboolean

Indicates whether to use a backup access code pool provided by Seam. If true, you can use /access_codes/pull_backup_access_code.

use_offline_access_codeboolean

Deprecated. Use is_offline_access_code instead.

Response

OK

All 201 operations