# Seam: Guides

## Guides

### Getting Started

- [Seam Documentation](https://www.seam.co/docs/index.md): Build with Seam APIs for smart locks, access systems, thermostats, and sensors. Find quickstarts, integration guides, SDKs, and API references.
- [Seam MCP](https://www.seam.co/docs/developer-tools/seam-mcp.md): Connect your AI coding assistant to Seam documentation in under a minute — no API keys or authentication required.
- [Quick Start](https://www.seam.co/docs/quickstart.md): Start using the Seam API to connect devices and grant access. Follow the quick start to create your first Access Grant for a smart lock.
- [Go Live!](https://www.seam.co/docs/go-live.md): Move your Seam integration from sandbox testing to real devices: create a production workspace and API key, then customize your Connect Webviews.

### Use Cases

#### Granting Access

- [Overview](https://www.seam.co/docs/use-cases/granting-access/index.md): One API to grant access across smart locks and access control systems — PIN codes, mobile keys, key cards, and cloud keys.
- [Creating an Access Grant](https://www.seam.co/docs/use-cases/granting-access/creating-an-access-grant.md): Create a Seam Access Grant for a user, resources, schedule, and access modes. Check the resulting access methods before delivering credentials.
- [Managing Access Grants](https://www.seam.co/docs/use-cases/granting-access/managing-access-grants.md): Update the schedule or resources on an Access Grant, or delete a grant entirely when access should end.
- [Managing Access Methods](https://www.seam.co/docs/use-cases/granting-access/managing-access-methods.md): Add an access method to an existing Seam Access Grant or revoke an individual credential while preserving the grant and its other access methods.
- [Reservation Access Grants](https://www.seam.co/docs/use-cases/granting-access/reservation-access-grants.md): Learn how to use reservation_key with Access Grants to handle guest and resident credentials on offline access systems.

##### Delivering Access Methods

- [Using PIN Codes](https://www.seam.co/docs/use-cases/granting-access/using-pin-codes.md): Learn how to create an Access Grant with a PIN code access method and deliver the code to your user.
- [Using Mobile Keys](https://www.seam.co/docs/use-cases/granting-access/using-mobile-keys.md): Learn how to create an Access Grant with a mobile key access method and deliver it through your mobile app using the Seam mobile SDKs.
- [Using Key Cards](https://www.seam.co/docs/use-cases/granting-access/using-key-cards.md): Learn how to create an Access Grant with a key card access method, then encode or assign the card to your user.
- [Using Cloud Keys](https://www.seam.co/docs/use-cases/granting-access/using-cloud-keys.md): Learn how to use cloud keys to trigger web-based unlocks attributed to specific user identities in the ACS audit trail.

###### Instant Keys

- [Using Instant Keys](https://www.seam.co/docs/use-cases/granting-access/using-instant-keys.md): Learn how to deliver Instant Keys — shareable unlock links that work without an app download — through Access Grants.
- [How Instant Keys Work](https://www.seam.co/docs/use-cases/granting-access/instant-keys/how-instant-keys-work.md): Understand how Seam Instant Keys provide mobile access, including the guest experience, supported locking hardware, and credential delivery.
- [Setting Up Your Site for Instant Keys](https://www.seam.co/docs/use-cases/granting-access/instant-keys/setting-up-your-site-for-instant-keys.md): Learn about the site requirements for using Instant Keys.
- [Using Seam Console to Issue Instant Keys](https://www.seam.co/docs/use-cases/granting-access/instant-keys/using-seam-console-to-issue-instant-keys.md): Learn how to issue an Instant Key through Seam Console.

### Core Concepts

- [Overview](https://www.seam.co/docs/core-concepts/overview.md): Learn the core concepts behind Seam, including workspaces, Connect Webviews, device capabilities, and the Seam Console used to manage them.
- [Workspaces](https://www.seam.co/docs/core-concepts/workspaces/index.md): Workspaces are the top-level resource in the Seam ecosystem. They encapsulate all other resources, such as devices, events, and connected third-party accounts.
- [Mapping Your Resources to Seam Resources](https://www.seam.co/docs/core-concepts/mapping-your-resources-to-seam-resources.md): Learn how Seam makes it easy to tag Seam resources with your own internal IDs.
- [Action Attempts](https://www.seam.co/docs/core-concepts/action-attempts.md): Learn about action attempts and how they help you to track the progress of asynchronous actions in the physical world.

#### Seam Console

- [Seam Console](https://www.seam.co/docs/core-concepts/seam-console/index.md): Use Seam Console to manage your Seam workspaces, Connect Webviews, devices, and systems; generate API keys; use the Seam Online CLI; and perform other tasks.
- [Seam Online CLI](https://www.seam.co/docs/core-concepts/seam-console/seam-online-cli.md): Use the interactive Seam Online CLI as a user-friendly and efficient way to explore and test the Seam API from within Seam Console.

#### Authentication

- [Authentication](https://www.seam.co/docs/core-concepts/authentication/index.md): Choose Seam authentication for your app: API keys for servers, client sessions for frontend access, and personal access tokens for development.
- [API Keys](https://www.seam.co/docs/core-concepts/authentication/api-keys.md): Create an API key for authorization that enables you to control devices connected to a specific Seam workspace.
- [Personal Access Tokens](https://www.seam.co/docs/core-concepts/authentication/personal-access-tokens.md): Create a Personal Access Token to access multiple Seam workspaces using a single credential.
- [Client Sessions and Client Session Tokens](https://www.seam.co/docs/core-concepts/authentication/client-session-tokens/index.md): Use a client session token to restrict access to the devices that a specific user owns.
- [Backend Client Sessions for Device Management](https://www.seam.co/docs/core-concepts/authentication/client-session-tokens/implementing-client-sessions-for-device-management-in-the-backend.md): Learn how to use client sessions to control your users' access to devices.

#### Connect Webviews

- [Connect Webviews](https://www.seam.co/docs/core-concepts/connect-webviews/index.md): Connect user devices and access systems to Seam with Connect Webviews. Embed an authorization flow that lets users link their provider accounts.
- [Connect Webview Process](https://www.seam.co/docs/core-concepts/connect-webviews/connect-webview-process.md): Learn how to create, display, and complete Connect Webviews to connect devices and systems to Seam.
- [Embedding a Connect Webview in Your App](https://www.seam.co/docs/core-concepts/connect-webviews/embedding-a-connect-webview-in-your-app.md): Use redirection or an iframe to embed a Connect Webview in your app.
- [Verifying Successful Account Connection](https://www.seam.co/docs/core-concepts/connect-webviews/verifying-successful-account-connection.md): Learn how to find out when your user's device or ACS account has connected successfully to Seam.
- [Retrieving Devices from a Connect Webview](https://www.seam.co/docs/core-concepts/connect-webviews/retrieving-devices-or-access-control-systems-connected-through-a-connect-webview.md): Learn how to retrieve the set of devices or ACS that your app user connected to Seam through a specific Connect Webview.
- [Attaching Custom Metadata to the Connect Webview](https://www.seam.co/docs/core-concepts/connect-webviews/attaching-custom-data-to-the-connect-webview.md): Use custom metadata to link internal IDs from your application to a Seam Connect Webview and connected account.
- [Filtering Connect Webviews by Custom Metadata](https://www.seam.co/docs/core-concepts/connect-webviews/filtering-connect-webviews-by-custom-metadata.md): When listing Connect Webviews, you can filter by custom metadata.
- [Customizing Connect Webviews](https://www.seam.co/docs/core-concepts/connect-webviews/customizing-connect-webviews.md): You can customize the look and feel, brand list, and behavior of your Connect Webviews.

#### Devices

- [Devices and Capabilities](https://www.seam.co/docs/core-concepts/devices/index.md): Learn how Seam represents locks, thermostats, and sensors as devices, with capabilities, connection status, properties, and managed state.
- [Displaying Device Health](https://www.seam.co/docs/core-concepts/devices/displaying-device-health.md): You can display the health status of your end users' devices in your app.
- [Displaying Device Power Status](https://www.seam.co/docs/core-concepts/devices/displaying-device-power-status.md): You can display the power status of your end users' devices in your app.
- [Managed and Unmanaged Devices](https://www.seam.co/docs/core-concepts/devices/managed-and-unmanaged-devices.md): You can indicate the devices in your workspace that you intend to control using the Seam API.
- [Adding Custom Metadata to a Device](https://www.seam.co/docs/core-concepts/devices/adding-custom-metadata-to-a-device.md): You can add or change custom metadata for a device.
- [Filtering Devices by Custom Metadata](https://www.seam.co/docs/core-concepts/devices/filtering-devices-by-custom-metadata.md): When listing devices, you can filter by custom metadata.
- [Handling Device Errors](https://www.seam.co/docs/core-concepts/devices/handling-device-errors.md): Learn the device errors for which you should add handling to your app.
- [Testing Device Disconnection and Removal](https://www.seam.co/docs/core-concepts/devices/testing-your-app-against-device-disconnection-and-removal.md): Learn how to use the Seam suite of simulate endpoints to test your app against events that are difficult to orchestrate in your quality assurance environment.

#### Providers

- [Providers](https://www.seam.co/docs/core-concepts/providers/index.md): Look up supported device providers with the Seam API. Review provider names, categories, and capabilities to guide your integration.
- [Provider Metadata](https://www.seam.co/docs/core-concepts/providers/provider-metadata.md): Learn about provider metadata that is used to provide data about a device that can't be or hasn't yet been standardized across all providers.

#### Connected Accounts

- [Connected Accounts](https://www.seam.co/docs/core-concepts/connected-accounts/index.md): Understand connected accounts: third-party device accounts authorized through Connect Webviews, with provider details, metadata, errors, and warnings.
- [Adding Custom Metadata to a Connected Account](https://www.seam.co/docs/core-concepts/connected-accounts/adding-custom-metadata-to-a-connected-account.md): You can add or change custom metadata for a connected account.
- [Filtering Connected Accounts by Custom Metadata](https://www.seam.co/docs/core-concepts/connected-accounts/filtering-connected-accounts-by-custom-metadata.md): When listing connected accounts, you can filter by custom metadata.
- [Reconnecting an Account](https://www.seam.co/docs/core-concepts/connected-accounts/reconnecting-an-account.md): Learn why an account may become disconnected and how to reconnect it.

### Capability Guides

- [Device and System Capabilities](https://www.seam.co/docs/capability-guides/device-and-system-capabilities.md): Use Seam capability flags to check which actions a connected device supports and show appropriate controls or error states in your application.
- [Reservation Automations](https://www.seam.co/docs/capability-guides/reservation-automations.md): Connect reservation and guest data to Seam access and climate automations. Set up spaces, handle booking changes, and monitor results with webhooks.

#### Mobile Access

- [Mobile Access](https://www.seam.co/docs/capability-guides/mobile-access/index.md): Understand Seam mobile credentials, supported Bluetooth and NFC access platforms, and the process for issuing mobile keys to your app users.
- [Prepare your Workspace](https://www.seam.co/docs/capability-guides/mobile-access/mobile-access-setup.md): Learn how to set up the prerequisite components for the Seam mobile access solution.
- [Managing Mobile Users with User Identities](https://www.seam.co/docs/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities.md): Learn how to use Seam user identities to manage mobile app user accounts.
- [Managing Phones for a User Identity](https://www.seam.co/docs/capability-guides/mobile-access/managing-phones-for-a-user-identity.md): Learn how to manage the phones associated with a user identity.
- [Issuing Mobile Credentials from Access Systems](https://www.seam.co/docs/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system.md): Learn how to create mobile credentials across a user's multiple phones.
- [Developing in a Sandbox Workspace](https://www.seam.co/docs/capability-guides/mobile-access/developing-in-a-sandbox-workspace.md): Develop and test mobile key integrations without real hardware by using a Seam sandbox workspace and simulated phones for user identities.
- [Integrating into Your Mobile Application](https://www.seam.co/docs/capability-guides/mobile-access/mobile-device-sdks/index.md): The Seam mobile SDKs help you to create native applications for Apple (iOS) and Android devices and platforms.
- [Initializing the Seam Mobile SDK](https://www.seam.co/docs/capability-guides/mobile-access/mobile-device-sdks/initializing-the-seam-mobile-sdk.md): Install and initialize the Seam Mobile SDK in your Android or iOS app, configure Gradle for Seam GitHub Packages, and start issuing mobile keys.
- [Handling System Permissions](https://www.seam.co/docs/capability-guides/mobile-access/mobile-device-sdks/handling-system-permissions.md): Detect and resolve missing system permissions like Bluetooth and connectivity in your mobile app by handling the Seam SDK's credential errors.
- [Using Unlock With Tap](https://www.seam.co/docs/capability-guides/mobile-access/mobile-device-sdks/using-unlock-with-tap.md): Unlock doors with mobile credentials using SeamSDK, monitor credential errors and unlock events, and cancel an unlock operation when needed.

#### Thermostats

- [Thermostats](https://www.seam.co/docs/capability-guides/thermostats/index.md): Learn about managing smart thermostats that automatically adjust and program your users' heating and cooling systems for comfort and cost savings.
- [Understanding Thermostat Concepts](https://www.seam.co/docs/capability-guides/thermostats/understanding-thermostat-concepts/index.md): Understand thermostat HVAC modes and temperature set points in Seam before configuring heating, cooling, climate presets, or schedules.
- [HVAC Mode](https://www.seam.co/docs/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode.md): Learn about the HVAC mode setting that you can configure for thermostats.
- [Set Points](https://www.seam.co/docs/capability-guides/thermostats/understanding-thermostat-concepts/set-points.md): Learn about heating and cooling set point temperatures that you can configure for thermostats.
- [Retrieving Thermostats](https://www.seam.co/docs/capability-guides/thermostats/retrieving-thermostats.md): Learn how to retrieve all thermostats or a specific thermostat by ID.
- [Setting and Monitoring Temperature Thresholds](https://www.seam.co/docs/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds.md): Learn how to use temperature thresholds to monitor your thermostat for potential HVAC system misuse or malfunctioning.
- [Setting the Current HVAC and Fan Mode Settings](https://www.seam.co/docs/capability-guides/thermostats/configure-current-climate-settings.md): Learn how to configure the current climate settings on a thermostat.
- [Resuming a Thermostat Schedule](https://www.seam.co/docs/capability-guides/thermostats/resuming-a-thermostat-schedule.md): Release a hold and return a thermostat to its native weekly program using the Seam API.
- [Creating and Managing Climate Presets](https://www.seam.co/docs/capability-guides/thermostats/creating-and-managing-climate-presets/index.md): Learn how to create, list, update, and delete climate presets for thermostats.
- [Setting the Fallback Climate Preset](https://www.seam.co/docs/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset.md): Learn how to set a configured climate preset as the "fallback" preset for a thermostat.
- [Activating a Climate Preset](https://www.seam.co/docs/capability-guides/thermostats/creating-and-managing-climate-presets/activating-a-climate-preset.md): Learn how to activate a preconfigured climate preset immediately.
- [Creating and Managing Thermostat Schedules](https://www.seam.co/docs/capability-guides/thermostats/creating-and-managing-thermostat-schedules.md): Learn how to create, list, get, update, and delete thermostat schedules for thermostats.
- [Creating and Managing Thermostat Programs](https://www.seam.co/docs/capability-guides/thermostats/creating-and-managing-thermostat-programs.md): Learn how to create and manage daily and weekly programs for thermostats.
- [Testing Your Thermostat App with Simulate Endpoints](https://www.seam.co/docs/capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints.md): Learn how to use the Seam suite of simulate endpoints to test your thermostat app.

#### Noise Sensors

- [Noise Sensors](https://www.seam.co/docs/capability-guides/noise-sensors/index.md): Configure noise thresholds, receive verified noise events, and queue an application alert.
- [Configuring Noise Threshold Settings](https://www.seam.co/docs/capability-guides/noise-sensors/configure-noise-threshold-settings.md): Learn how to configure noise thresholds for noise sensors.

#### Cameras

- [Cameras](https://www.seam.co/docs/capability-guides/cameras/index.md): Receive camera motion and doorbell events, retrieve the clip and thumbnail for each event, and stream live video in the browser.
- [Retrieve Event Media](https://www.seam.co/docs/capability-guides/cameras/retrieve-event-media.md): Fetch the video clip and thumbnail for a camera motion or doorbell event using media IDs and the /media/get endpoint.
- [Stream Live Video](https://www.seam.co/docs/capability-guides/cameras/stream-live-video.md): Play a camera's live feed in the browser over WebRTC using a client session and the /cameras/live_views endpoints.

#### Seam Bridge

- [Seam Bridge](https://www.seam.co/docs/capability-guides/seam-bridge.md): Connect an on-premises access system to Seam with a secure tunnel. Install Seam Bridge, pair your workspace, and follow your system setup guide.
- [Seam Bridge Setup for Windows](https://www.seam.co/docs/capability-guides/seam-bridge/seam-bridge-setup-for-windows.md): Step-by-step instructions for installing, launching, and configuring Seam Bridge on Windows.
- [Seam Bridge Setup for macOS](https://www.seam.co/docs/capability-guides/seam-bridge/seam-bridge-setup-for-macos.md): Step-by-step instructions for installing, launching, and configuring Seam Bridge on macOS.
- [Seam Bridge Setup for Linux](https://www.seam.co/docs/capability-guides/seam-bridge/seam-bridge-setup-for-linux.md): Step-by-step instructions for installing, launching, and configuring Seam Bridge on Linux.

#### Customer Portals

- [Customer Portals](https://www.seam.co/docs/capability-guides/customer-portals/index.md): Give customers a branded portal to connect, organize, and manage their devices. Configure it in Seam Console or generate portals through the API.
- [Customers](https://www.seam.co/docs/capability-guides/customer-portals/customers.md): Link your application customers to Seam with customer_key. Scope portal access, devices, and connected accounts to the correct customer.
- [Preview the customer portal in Console](https://www.seam.co/docs/capability-guides/customer-portals/preview-the-customer-portal-in-console.md): Preview how Customer Portals work and experiment with the API by setting up a temporary portal directly from the Seam Console.
- [Integrate customer portal into your application](https://www.seam.co/docs/capability-guides/customer-portals/integrate-customer-portal-into-your-application.md): Generate Customer Portals programmatically with the create_portal endpoint, or grab a ready-made code snippet from the Seam Console.
- [Filtering Portal Resources by Custom Metadata](https://www.seam.co/docs/capability-guides/customer-portals/filtering-portal-resources-by-custom-metadata.md): Use customer_resources_filters to control which resources are visible to customers in a portal, based on custom_metadata on property_listings and reservations.

### UI Components

#### Seam Components

- [Seam Components](https://www.seam.co/docs/ui-components/overview/index.md): Build device management flows with prebuilt Seam UI components for device details, access codes, and troubleshooting. Explore setup guides and examples.
- [Using User Identities to Scope Users' Device Access](https://www.seam.co/docs/ui-components/overview/using-user-identities-to-scope-users-device-access.md): Grant a user identity access to specific devices, create a client session, and use its token to restrict device access in your application.

##### Getting Started

- [Getting Started with Seam Components](https://www.seam.co/docs/ui-components/overview/getting-started-with-seam-components/index.md): Get started with Seam Components in your application. Choose an integration approach and configure the UI for connected devices and accounts.
- [Get Started with React](https://www.seam.co/docs/ui-components/overview/getting-started-with-seam-components/get-started-with-react-components-and-client-session-tokens.md): Create client sessions on your backend and pass a token to SeamProvider so React components can connect and control devices for the current user.
- [Get started with Client Side Components](https://www.seam.co/docs/ui-components/overview/getting-started-with-seam-components/get-started-with-client-side-components.md): Embed Seam client-side components without a backend integration. Configure components to let users connect accounts and manage their devices.

##### React Components

- [Components](https://www.seam.co/docs/ui-components/overview/react-components/index.md): Browse Seam's React components for building smart lock, access code, and device management interfaces directly into your application.
- [Device Details](https://www.seam.co/docs/ui-components/overview/react-components/device-details.md): Display the properties, settings, and issues for a device in your app with Seam's React Device Details component, with views per device type.
- [Device Table](https://www.seam.co/docs/ui-components/overview/react-components/device-table.md): Show a list of devices and their statuses in your app with Seam's React Device Table component, filterable by device or connected account.
- [Access Code Table](https://www.seam.co/docs/ui-components/overview/react-components/access-code-table.md): Show a list of current and future access codes and their statuses in your app with Seam's React Access Code Table component.
- [Access Code Details](https://www.seam.co/docs/ui-components/overview/react-components/access-code-details.md): Display the properties, settings, and issues for an access code in your app with Seam's React Access Code Details component.
- [Create Access Code Form](https://www.seam.co/docs/ui-components/overview/react-components/create-access-code-form.md): Let users create access codes directly in your app with Seam's React Create Access Code Form component.
- [Update Access Code Form](https://www.seam.co/docs/ui-components/overview/react-components/update-access-code-form.md): Let users modify an existing access code directly in your app with Seam's React Update Access Code Form component.
- [Seam Provider](https://www.seam.co/docs/ui-components/overview/react-components/seam-provider.md): Pass a client session token to SeamProvider to give descendant React components access to the Seam API, scoped to the device owner.
- [Connect Account Button](https://www.seam.co/docs/ui-components/overview/react-components/connect-account-button.md): Button that opens up a Connect Webview for connecting a new account

#### Seam Mobile Components

- [‘Seam Mobile Components’](https://www.seam.co/docs/ui-components/seam-mobile-components/index.md): Drop-in UI components for unlocking and credential handling, fully customizable to match your app’s brand.

##### Seam Mobile Components for iOS

- [Seam Mobile Components for iOS](https://www.seam.co/docs/ui-components/seam-mobile-components/seam-mobile-components-for-ios/index.md): Set up Seam Mobile Components with Swift Package Manager, add SeamAccessView for mobile unlocking, and customize your iOS interface with SeamTheme.
- [iOS Component Theming](https://www.seam.co/docs/ui-components/seam-mobile-components/seam-mobile-components-for-ios/theming/index.md): Theming — Apply your brand’s colors, fonts, and styles to Seam Mobile Components with SeamTheme.
- [iOS Theme Colors](https://www.seam.co/docs/ui-components/seam-mobile-components/seam-mobile-components-for-ios/theming/colors.md): Define semantic colors for text, backgrounds, states, and accents with SeamTheme.Colors.
- [iOS Theme Fonts](https://www.seam.co/docs/ui-components/seam-mobile-components/seam-mobile-components-for-ios/theming/fonts.md): Set typography roles with SeamTheme.Fonts to match your app’s text hierarchy.
- [Keycard styles](https://www.seam.co/docs/ui-components/seam-mobile-components/seam-mobile-components-for-ios/theming/keycard-styles.md): Style key card components with custom gradients, logos, corner radius, and shadows.
- [Toast styles](https://www.seam.co/docs/ui-components/seam-mobile-components/seam-mobile-components-for-ios/theming/toast-styles.md): Configure transient banners by customizing background, text, accent, and layout.
- [UnlockCard styles](https://www.seam.co/docs/ui-components/seam-mobile-components/seam-mobile-components-for-ios/theming/unlockcard-styles.md): Control unlock card appearance, including header, key button, progress, instructions, and status states.

#### Device Database Components

- [Supported Device Table](https://www.seam.co/docs/ui-components/device-database-components/supported-device-table.md): Embed Seam's live table of supported devices on your own website, filtered by the capabilities and manufacturers you care about.

### Developer Tools

- [Webhooks](https://www.seam.co/docs/developer-tools/webhooks.md): Configure and test workspace webhooks in Seam Console to receive device and account events, and use webhook secrets to verify incoming payloads.
- [Seam CLI](https://www.seam.co/docs/developer-tools/seam-cli.md): Install the interactive Seam CLI locally or use it in Console to explore API methods, inspect devices, and test requests and responses.
- [Seam Wizard](https://www.seam.co/docs/developer-tools/seam-wizard.md): Set up an existing project with the Seam terminal wizard: connect a workspace, install your language SDK, and configure developer tools.
- [Test Accounts](https://www.seam.co/docs/developer-tools/test-accounts.md): Log in to shared sandbox test accounts to connect virtual devices from any manufacturer, so you can build and test without physical hardware.

### Industry Guides

#### Hospitality Industry Guide

- [Hospitality Industry Guide](https://www.seam.co/docs/industry-guides/hospitality-industry-guide/index.md): Learn the key access functions that Seam provides for hospitality, as well as how to design your app to use Seam.
- [Feature Overview](https://www.seam.co/docs/industry-guides/hospitality-industry-guide/feature-overview.md): Explore the hospitality access modes Seam supports, including Instant Keys, mobile keys, encoded and preconfigured plastic cards, and PIN codes.
- [Seam API Overview](https://www.seam.co/docs/industry-guides/hospitality-industry-guide/seam-api-overview.md): Grant and manage guest access across all supported hotel access systems with Seam's unified API and the powerful Access Grants endpoint.
- [Setting Up the Hotel Site](https://www.seam.co/docs/industry-guides/hospitality-industry-guide/setting-up-the-hotel-site.md): Set up your hotel access system and integrate it with your Seam-powered PMS app by confirming capabilities, connecting the site, and configuring access.
- [Granting Access Using Seam Instant Keys](https://www.seam.co/docs/industry-guides/hospitality-industry-guide/granting-access-using-seam-instant-keys.md): Issue Seam Instant Keys to hotel guests by creating a user identity and Access Grant, then sending the key URL by text or email with no app needed.
- [Granting Access Using Mobile Keys](https://www.seam.co/docs/industry-guides/hospitality-industry-guide/granting-access-using-mobile-keys.md): Issue mobile keys to hotel guests with Seam by creating a user identity and Access Grant, then delivering the keys through your own mobile app.
- [Granting Access Using Encoded Plastic Key Cards](https://www.seam.co/docs/industry-guides/hospitality-industry-guide/granting-access-using-encoded-plastic-key-cards.md): Issue plastic key cards to hotel guests with Seam by creating a user identity and Access Grant, then encoding the access method onto a card.
- [Additional Guest Access Actions](https://www.seam.co/docs/industry-guides/hospitality-industry-guide/additional-guest-access-actions.md): Handle common and edge-case hotel guest scenarios with the Seam API, including access sharing, multi-unit access, room changes, lost cards, and check-out.

### Device Manufacturer Guidance

#### Smart Lock API

- [Building a Seam-Compatible Smart Lock API](https://www.seam.co/docs/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/index.md): A practical guide for device manufacturers on building a robust smart lock API.
- [Implementing Authentication](https://www.seam.co/docs/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/implementing-authentication.md): A guide to implementing OAuth2 so Seam can securely connect to your platform and access user devices.
- [Implementing your Device Model & Discovery](https://www.seam.co/docs/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/implementing-your-device-model-and-discovery.md): How to structure your device schema and expose the endpoints Seam uses to list and sync a user’s locks.
- [Implementing Lock Actions](https://www.seam.co/docs/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/implementing-lock-actions.md): How to process lock and unlock requests and send events that confirm the final outcome.
- [Implementing Access Codes](https://www.seam.co/docs/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/implementing-access-codes.md): How to create, update, list, and track PIN codes on smart locks through your API.
- [Webhooks & Events](https://www.seam.co/docs/device-manufacturer-guidance/building-a-seam-compatible-smart-lock-api/webhooks-and-events.md): Send real-time device updates to Seam through a single webhook endpoint per environment to keep lock state, access codes, and connectivity accurate.

#### Intercom API

- [Creating a Seam-Compatible Intercom API](https://www.seam.co/docs/device-manufacturer-guidance/creating-a-seam-compatible-intercom-api/index.md): Make your intercom system Seam-compatible by building an HTTP REST API with OAuth and CRUD endpoints to receive deliveries from major providers.
- [Creating OAuth Endpoints](https://www.seam.co/docs/device-manufacturer-guidance/creating-a-seam-compatible-intercom-api/creating-oauth-endpoints.md): Create OAuth endpoints for a Seam-compatible intercom API so users can authorize account access and connect their intercom systems securely.
- [Creating Intercom CRUD Endpoints](https://www.seam.co/docs/device-manufacturer-guidance/creating-a-seam-compatible-intercom-api/creating-intercom-crud-endpoints.md): Build the intercom CRUD endpoints your API needs so Seam can list intercoms, retrieve their details, and trigger them to open doors.
- [Creating Access Code CRUD Endpoints](https://www.seam.co/docs/device-manufacturer-guidance/creating-a-seam-compatible-intercom-api/creating-access-code-crud-endpoints.md): Build the access code CRUD endpoints your intercom API needs so Seam can list, retrieve, and remove access codes programmed on your intercoms.
- [Creating the Health Endpoint](https://www.seam.co/docs/device-manufacturer-guidance/creating-a-seam-compatible-intercom-api/creating-the-health-endpoint.md): Build a health endpoint for your intercom API so Seam can check that your service is up and running.

### Low-Level APIs

#### Smart Locks

- [Smart Locks](https://www.seam.co/docs/low-level-apis/smart-locks/index.md): Learn about managing smart locks and access codes that enable you to lock and unlock doors and other entry points.
- [Get started with Smart Locks](https://www.seam.co/docs/low-level-apis/smart-locks/get-started-with-smartlocks-api.md): Install a Seam SDK, connect a supported smart-lock account, and retrieve devices. Follow API examples for remote unlock and access codes.
- [Locking and Unlocking Smart Locks](https://www.seam.co/docs/low-level-apis/smart-locks/lock-and-unlock.md): Learn how to lock and unlock a smart lock, and confirm the action's success.

##### Creating and Managing Smart Lock Access Codes

- [Creating and Managing Smart Lock Access Codes](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/index.md): Access codes are codes for keypad devices. These are used when you want to provide access to a lock using a PIN code.
- [Retrieving Access Codes](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/retrieving-access-codes.md): Learn how to retrieve access codes using various filters or by referencing their specific IDs
- [Modifying Access Codes](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/modifying-access-codes.md): Learn how to update your access codes, and ensure that the changes are successfully set on the device.
- [Deleting Access Codes](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/deleting-access-codes.md): Learn how to delete your access codes, and ensure that the code is successfully removed from the device.
- [Lifecycle of Access Codes](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/lifecycle-of-access-codes.md): Learn how access codes move through their lifecycle, and the display statuses, events, errors, and warnings Seam uses to tell you what is happening.
- [Migrating to Access Code Lifecycle Events](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/migrating-to-access-code-lifecycle-events.md): Learn how to migrate from the deprecated device-oriented access code events, errors, and warnings to the new lifecycle vocabulary.
- [Access Code Requirements for Door Locks](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/access-code-requirements-for-door-locks.md): Learn about the specific requirements and constraints for setting access codes on door locks.
- [Managing Access Codes in Manufacturer Apps](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/accommodating-manufacturer-mobile-apps.md): This guide covers how to ensure that codes created via the Seam API are easily identified and can be editable within the smart lock manufacturer app.
- [Troubleshooting Access Codes](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/troubleshooting-access-code-issues.md): Learn about how to diagnose and fix access code issues.
- [Managing Backup Access Codes](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/backup-access-codes.md): Maintain a pool of pre-programmed backup access codes, check device support, and retrieve a backup code when a primary code fails.
- [Managing Offline Access Codes](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/offline-access-codes.md): Learn how to create offline access codes for applicable smart locks with keypads.
- [Creating and Updating Multiple Linked Access Codes](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/creating-and-updating-multiple-linked-access-codes.md): Learn how to create and update groups of access codes with the same code for properties with multiple door locks.
- [Migrating Existing Unmanaged Access Codes](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/migrating-existing-access-codes.md): Learn how to migrate existing lock access codes into Seam

###### Creating Access Codes

- [Creating Access Codes](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/creating-access-codes/index.md): Learn how to program an access code onto a smart lock with a keypad, and ensure the code is successfully set.
- [Understanding Code Constraints](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/creating-access-codes/understanding-code-constraints.md): Learn about manufacturer- and device-specific constraints on codes.
- [Understanding Time Frame Options](https://www.seam.co/docs/low-level-apis/smart-locks/access-codes/creating-access-codes/understanding-time-frame-options.md): Learn about manufacturer- and device-specific limits on the time frame of an access code.

#### Access Control Systems

- [Access Control Systems](https://www.seam.co/docs/low-level-apis/access-systems/index.md): Learn about managing access control systems that enable you to control users' access to physical spaces, using credentials.
- [Retrieving Entrance Details](https://www.seam.co/docs/low-level-apis/access-systems/retrieving-entrance-details.md): Learn how to get details about the entrances in your ACS, including listing the credentials that provide access to a specific entrance.
- [Troubleshooting Your Access Control System](https://www.seam.co/docs/low-level-apis/access-systems/troubleshooting-your-access-control-system.md): Learn about ACS-related errors and warnings, as well as how to resolve them.

##### Access System Quick Starts

- [Access System Quick Starts](https://www.seam.co/docs/low-level-apis/access-systems/acs-quick-starts/index.md): Seam provides a unified API to manage your access system. These guides walk you through the process of issuing your first credentials to access system users.
- [PIN Code Quick Start](https://www.seam.co/docs/low-level-apis/access-systems/acs-quick-starts/pin-code-quick-start.md): Create your first PIN code credential to start controlling an access control system with Seam.
- [Encodable Key Card Quick Start](https://www.seam.co/docs/low-level-apis/access-systems/acs-quick-starts/encodable-key-card-quick-start.md): Create your first encodable key card credential to start controlling an access control system with Seam.
- [Mobile Key Quick Start](https://www.seam.co/docs/low-level-apis/access-systems/acs-quick-starts/mobile-key-quick-start.md): Create your first mobile key credential to start controlling an access control system with Seam.

##### Connect an Access System to Seam

- [Connect an Access System to Seam](https://www.seam.co/docs/low-level-apis/access-systems/connect-an-acs-to-seam/index.md): Connect an access control system to Seam. Learn about ACS resources, provider differences, and retrieving system and entrance details.
- [Retrieving ACS System Details](https://www.seam.co/docs/low-level-apis/access-systems/connect-an-acs-to-seam/retrieving-acs-system-details.md): Learn how to list and get information about your ACS systems.
- [Access Control System Resources](https://www.seam.co/docs/low-level-apis/access-systems/connect-an-acs-to-seam/access-control-system-resources.md): Learn about the Seam resources that you use to manage your ACS.
- [Understanding Access Control System Differences](https://www.seam.co/docs/low-level-apis/access-systems/connect-an-acs-to-seam/understanding-access-control-system-differences.md): Seam provides the flexibility to support various ACSs, including manufacturer-specific differences.

##### Managing ACS Users

- [Managing ACS Users](https://www.seam.co/docs/low-level-apis/access-systems/user-management.md): Create, list, update, and delete users in a connected access control system with Seam. Identify your ACS system before managing its users.
- [Suspending and Unsuspending ACS Users](https://www.seam.co/docs/low-level-apis/access-systems/user-management/suspending-and-unsuspending-users.md): Learn how to make temporary access changes by suspending or unsuspending ACS users.
- [Assigning ACS Users to Access Groups](https://www.seam.co/docs/low-level-apis/access-systems/user-management/assigning-users-to-access-groups.md): Learn how to use access groups to manage ACS user permissions across different doors and areas.

##### Managing Credentials

- [Managing Credentials](https://www.seam.co/docs/low-level-apis/access-systems/managing-credentials.md): Manage individual ACS credentials with low-level Seam APIs. Create, list, assign, and delete credentials; use Access Grants for general access flows.
- [Assigning Credentials to ACS Users](https://www.seam.co/docs/low-level-apis/access-systems/managing-credentials/assigning-credentials-to-users.md): Assign existing credentials to access control system users, or unassign them to remove access, using the user and credential IDs.
- [Listing Credentials and Associated Entrances](https://www.seam.co/docs/low-level-apis/access-systems/managing-credentials/listing-credentials-and-associated-entrances.md): Learn how to list entrances associated with a credential and credentials associated with an entrance.

##### Working with Card Encoders and Scanners

- [Working with Card Encoders and Scanners](https://www.seam.co/docs/low-level-apis/access-systems/working-with-card-encoders-and-scanners/index.md): Learn how to encode plastic cards and then scan these cards.
- [Creating and Encoding Card-based Credentials](https://www.seam.co/docs/low-level-apis/access-systems/working-with-card-encoders-and-scanners/creating-and-encoding-card-based-credentials.md): Learn how to create a card-based credential and then encode this credential onto a plastic card.
- [Scanning Encoded Cards](https://www.seam.co/docs/low-level-apis/access-systems/working-with-card-encoders-and-scanners/scanning-encoded-cards.md): Learn how to scan an encoded card to retrieve useful information about the card.
