Skip to main content
POST
/
connect_webviews
/
create
await seam.connectWebviews.create({
  custom_redirect_url: "https://example.com/redirect",
  custom_redirect_failure_url: "https://example.com/failure-redirect",
  customer_id: "8d7a8cc0-2e69-4bc6-85c8-545036fdd5c0",
  provider_category: "stable",
  custom_metadata: { id: "internalId1" },
  automatically_manage_new_devices: true,
  wait_for_device_creation: true,
  accepted_capabilities: ["lock", "thermostat"],
});

/*
{
  "accepted_capabilities": [
    "lock",
    "thermostat"
  ],
  "accepted_devices": [],
  "accepted_providers": [
    "schlage",
    "kwikset",
    "yale",
    "smartthings",
    "august",
    "avigilon_alta",
    "brivo",
    "nuki",
    "salto_ks",
    "salto_space",
    "controlbyweb",
    "minut",
    "my_2n",
    "ttlock",
    "noiseaware",
    "igloohome",
    "ecobee",
    "four_suites",
    "lockly",
    "wyze",
    "google_nest",
    "tede",
    "seam_bridge",
    "honeywell_resideo",
    "visionline",
    "assa_abloy_credential_service",
    "latch",
    "akiles",
    "sensi",
    "assa_abloy_vostio"
  ],
  "any_device_allowed": true,
  "any_provider_allowed": false,
  "authorized_at": null,
  "automatically_manage_new_devices": true,
  "connect_webview_id": "c4c30885-ec87-4b31-8d7b-9bc0678fa028",
  "connected_account_id": null,
  "created_at": "2025-06-14T16:54:17.946323Z",
  "custom_metadata": {
    "id": "internalId1"
  },
  "custom_redirect_failure_url": "https://example.com/failure-redirect",
  "custom_redirect_url": "https://example.com/redirect",
  "device_selection_mode": "none",
  "login_successful": false,
  "selected_provider": null,
  "status": "pending",
  "url": "https://connect.getseam.com/connect_webviews/view?connect_webview_id=c4c30885-ec87-4b31-8d7b-9bc0678fa028&auth_token=2r2Rn8V5QUtxE79gMsTmLK58KkuqrwU8d",
  "wait_for_device_creation": true,
  "workspace_id": "9db95105-e77d-4577-b1b7-0a20b360d5e0"
}
*/
{
  "connect_webview": {
    "accepted_capabilities": [],
    "accepted_devices": [
      "<string>"
    ],
    "accepted_providers": [
      "<string>"
    ],
    "any_device_allowed": true,
    "any_provider_allowed": true,
    "authorized_at": "2023-11-07T05:31:56Z",
    "automatically_manage_new_devices": true,
    "connect_webview_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "connected_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "created_at": "2023-11-07T05:31:56Z",
    "custom_metadata": {},
    "custom_redirect_failure_url": "<string>",
    "custom_redirect_url": "<string>",
    "login_successful": true,
    "selected_provider": "<string>",
    "url": "<string>",
    "wait_for_device_creation": true,
    "workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "customer_key": "<string>"
  },
  "ok": true
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
accepted_capabilities
enum<string>[]

List of accepted device capabilities that restrict the types of devices that can be connected through the Connect Webview. If not provided, defaults will be determined based on the accepted providers.

High-level device capabilities that can be restricted in connect webviews. These represent the main device categories that customers can opt into.

Available options:
lock,
thermostat,
noise_sensor,
access_control,
camera
accepted_providers
enum<string>[]

Accepted device provider keys as an alternative to provider_category. Use this parameter to specify accepted providers explicitly. See Customize the Brands to Display in Your Connect Webviews. To list all provider keys, use /devices/list_device_providers with no filters.

Available options:
hotek,
dormakaba_community,
legic_connect,
akuvox,
august,
avigilon_alta,
brivo,
butterflymx,
schlage,
smartthings,
yale,
genie,
doorking,
salto,
salto_ks,
lockly,
ttlock,
linear,
noiseaware,
nuki,
igloo,
kwikset,
minut,
my_2n,
controlbyweb,
nest,
igloohome,
ecobee,
four_suites,
dormakaba_oracode,
pti,
wyze,
seam_passport,
visionline,
assa_abloy_credential_service,
tedee,
honeywell_resideo,
latch,
akiles,
assa_abloy_vostio,
assa_abloy_vostio_credential_service,
tado,
salto_space,
sensi,
keynest,
korelock,
dormakaba_ambiance,
ultraloq,
ring,
ical,
yale_access,
hid_cm,
google_nest
automatically_manage_new_devices
boolean

Indicates whether newly-added devices should appear as managed devices. See also: Customize the Behavior Settings of Your Connect Webviews.

custom_metadata
object

Custom metadata that you want to associate with the Connect Webview. Supports up to 50 JSON key:value pairs. Adding custom metadata to a Connect Webview enables you to store custom information, like customer details or internal IDs from your application. The custom metadata is then transferred to any connected accounts that were connected using the Connect Webview, making it easy to find and filter these resources in your workspace. You can also filter Connect Webviews by custom metadata.

custom_redirect_failure_url
string

Alternative URL that you want to redirect the user to on an error. If you do not set this parameter, the Connect Webview falls back to the custom_redirect_url.

custom_redirect_url
string

URL that you want to redirect the user to after the provider login is complete.

customer_key
string

Associate the Connect Webview, the connected account, and all resources under the connected account with a customer. If the connected account already exists, it will be associated with the customer. If the connected account already exists, but is already associated with a customer, the Connect Webview will show an error.

Minimum string length: 1
device_selection_mode
enum<string>
Available options:
none,
single,
multiple
excluded_providers
string[]

List of provider keys to exclude from the Connect Webview. These providers will not be shown when the user tries to connect an account.

provider_category
enum<string>

Specifies the category of providers that you want to include. To list all providers within a category, use /devices/list_device_providers with the desired provider_category filter.

Available options:
stable,
consumer_smartlocks,
beta,
thermostats,
noise_sensors,
access_control_systems,
cameras,
connectors,
internal_beta
wait_for_device_creation
boolean
default:false

Indicates whether Seam should finish syncing all devices in a newly-connected account before completing the associated Connect Webview. See also: Customize the Behavior Settings of Your Connect Webviews.

Response

OK

connect_webview
object
required

Represents a Connect Webview.

ok
boolean
required