---
title: "List Unmanaged Access Codes"
method: POST
path: "/access_codes/unmanaged/list"
tags: ["/access_codes"]
---

# List Unmanaged Access Codes

`POST /access_codes/unmanaged/list`

Returns a list of all [unmanaged access codes](/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes).

## Request body

- object
  - `device_id` string, uuid, required — ID of the device for which you want to list unmanaged access codes.
  - `limit` number, float — Numerical limit on the number of unmanaged access codes to return.
  - `page_cursor` string, nullable — Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.
  - `search` string — String for which to search. Filters returned access codes to include all records that satisfy a partial match using `name`, `code` or `access_code_id`.
  - `user_identifier_key` string — Your user ID for the user by which to filter unmanaged access codes.

## Response `200`

OK

- object
  - `access_codes` UnmanagedAccessCode[], required
    - `access_code_id` string, uuid, required — Unique identifier for the access code.
    - `cannot_be_managed` true — Indicates that Seam cannot convert this unmanaged access code to a managed access code. Some providers do not support management of unmanaged access codes through API integrations.
    - `cannot_delete_unmanaged_access_code` true — Indicates that Seam cannot delete this unmanaged access code through the provider. If this access code needs to be deleted, it will only be possible from the manufacturer app.
    - `code` string, nullable, required — Code used for access. Typically, a numeric or alphanumeric string.
    - `created_at` string, date-time, required — Date and time at which the access code was created.
    - `device_id` string, uuid, required — Unique identifier for the device associated with the access code.
    - `dormakaba_oracode_metadata` object, nullable — Metadata for a dormakaba Oracode unmanaged access code. Only present for unmanaged access codes from dormakaba Oracode devices.
      - `is_cancellable` boolean — Indicates whether the stay can be cancelled via the Dormakaba Oracode API.
      - `is_early_checkin_able` boolean — Indicates whether early check-in is available for this stay.
      - `is_extendable` boolean — Indicates whether the stay can be extended via the Dormakaba Oracode API.
      - `is_overridable` boolean — Indicates whether the access code can be overridden. When false, the maximum number of overrides has been reached.
      - `site_name` string — Dormakaba Oracode site name associated with this access code.
      - `stay_id` number, float — Dormakaba Oracode stay ID associated with this access code.
      - `user_level_id` string — Dormakaba Oracode user level ID associated with this access code.
      - `user_level_name` string, nullable — Dormakaba Oracode user level name associated with this access code.
    - `ends_at` string, date-time, nullable — Date and time after which the time-bound access code becomes inactive.
    - `errors` object[], required — Errors associated with the [access code](/low-level-apis/smart-locks/access-codes).
      - `error_code` string — Error or warning code.
      - `message` string — Human-readable description.
      - `created_at` string, date-time — When this error or warning was generated.
    - `is_managed` false, required — Indicates that Seam does not manage the access code.
    - `name` string, nullable, required — 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` string, date-time, nullable — Date and time at which the time-bound access code becomes active.
    - `status` 'set' | 'unset', required — Current status of the access code within the operational lifecycle. `set` indicates that the code is active and operational. `unset` indicates that the code exists on the provider but is not usable on the device.
    - `type` 'time_bound' | 'ongoing', required — Type of the access code. `ongoing` access codes are active continuously until deactivated manually. `time_bound` access codes have a specific duration.
    - `warnings` object[], required — Warnings associated with the [access code](/low-level-apis/smart-locks/access-codes).
      - `error_code` string — Error or warning code.
      - `message` string — Human-readable description.
      - `created_at` string, date-time — When this error or warning was generated.
    - `workspace_id` string, uuid, required — Unique identifier for the Seam workspace associated with the access code.
  - `pagination` Pagination, required — Information about the current page of results.
    - `has_next_page` boolean, required — Indicates whether there is another page of results after this one.
    - `next_page_cursor` string, nullable, required — Opaque value that can be used to select the next page of results via the `page_cursor` parameter.
    - `next_page_url` string, uri, nullable, required — URL to get the next page of results.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized

---

[API](https://skmtc.net/seam/apis/seam-connect.md) · [All operations](https://skmtc.net/seam/apis/seam-connect/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/seam/seam-connect/versions/00c35395ce12/schema)
