# Core Concepts

- [Overview](https://docs.seam.co/latest/core-concepts/overview.md)
- [Seam Console](https://docs.seam.co/latest/core-concepts/seam-console.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://docs.seam.co/latest/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.
- [Workspaces](https://docs.seam.co/latest/core-concepts/workspaces.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.
- [Authentication](https://docs.seam.co/latest/core-concepts/authentication.md): You can use any of several methods to authenticate with the Seam API.
- [API Keys](https://docs.seam.co/latest/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://docs.seam.co/latest/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://docs.seam.co/latest/core-concepts/authentication/client-session-tokens.md): Use a client session token to restrict access to the devices that a specific user owns.
- [Implementing Client Sessions for Device Management in the Backend](https://docs.seam.co/latest/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](https://docs.seam.co/latest/core-concepts/connect-webviews.md): Use Connect Webviews to connect your users' devices or access control system to Seam. Your users authorize your app to control these devices or ACS with the Seam API.
- [Connect Webview Process](https://docs.seam.co/latest/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://docs.seam.co/latest/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://docs.seam.co/latest/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 or Access Control Systems Connected Through a Connect Webview](https://docs.seam.co/latest/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://docs.seam.co/latest/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://docs.seam.co/latest/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://docs.seam.co/latest/core-concepts/connect-webviews/customizing-connect-webviews.md): You can customize the look and feel, brand list, and behavior of your Connect Webviews.
- [Devices](https://docs.seam.co/latest/core-concepts/devices.md): Devices are objects like locks, thermostats, or sensors. In the Seam API, devices have capabilities that describe the functions that they can perform, as well as online and managed status.
- [Displaying Device Health](https://docs.seam.co/latest/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://docs.seam.co/latest/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://docs.seam.co/latest/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://docs.seam.co/latest/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://docs.seam.co/latest/core-concepts/devices/filtering-devices-by-custom-metadata.md): When listing devices, you can filter by custom metadata.
- [Handling Device Errors](https://docs.seam.co/latest/core-concepts/devices/handling-device-errors.md): Learn the device errors for which you should add handling to your app.
- [Testing Your App Against Device Disconnection and Removal](https://docs.seam.co/latest/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](https://docs.seam.co/latest/core-concepts/providers.md): Learn how to find out information about the providers that Seam supports.
- [Provider Metadata](https://docs.seam.co/latest/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](https://docs.seam.co/latest/core-concepts/connected-accounts.md): External third-party accounts to which your user has authorized Seam to get access
- [Adding Custom Metadata to a Connected Account](https://docs.seam.co/latest/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://docs.seam.co/latest/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://docs.seam.co/latest/core-concepts/connected-accounts/reconnecting-an-account.md): Learn why an account may become disconnected and how to reconnect it.
- [Mapping Your Resources to Seam Resources](https://docs.seam.co/latest/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://docs.seam.co/latest/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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.seam.co/latest/core-concepts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
