# Create a Connect Webview

* [Request Parameters](#request-parameters)
* [Response](#response)
* [Examples](#examples)

Creates a new [Connect Webview](https://docs.seam.co/latest/core-concepts/connect-webviews).

To enable a user to connect their devices or systems to Seam, they must sign in to their device or system account. To enable a user to sign in, you create a `connect_webview`. After creating the Connect Webview, you receive a URL that you can use to display the visual component of this Connect Webview for your user. You can open an iframe or new window to display the Connect Webview.

You should make a new `connect_webview` for each unique login request. Each `connect_webview` tracks the user that signed in with it. You receive an error if you reuse a Connect Webview for the same user twice or if you use the same Connect Webview for multiple users.

See also: [Connect Webview Process](https://docs.seam.co/latest/core-concepts/connect-webviews/connect-webview-process).

{% tabs %}
{% tab title="JavaScript" %}
Creates a new Connect Webview that accepts all stable providers.

**Code:**

```javascript
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"],
});
```

**Output:**

```javascript
{
  "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"
}
```

{% endtab %}

{% tab title="cURL" %}
Creates a new Connect Webview that accepts all stable providers.

**Code:**

```curl
curl --include --request POST "https://connect.getseam.com/connect_webviews/create" \
  --header "Authorization: Bearer $SEAM_API_KEY" \
  --json @- <<EOF
{
  "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"
  ]
}
EOF
```

**Output:**

```curl
{
  "connect_webview": {
    "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"
  }
}
```

{% endtab %}

{% tab title="Python" %}
Creates a new Connect Webview that accepts all stable providers.

**Code:**

```python
seam.connect_webviews.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"],
)
```

**Output:**

```python
ConnectWebview(
    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=None,
    automatically_manage_new_devices=true,
    connect_webview_id="c4c30885-ec87-4b31-8d7b-9bc0678fa028",
    connected_account_id=None,
    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=None,
    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",
)
```

{% endtab %}

{% tab title="Ruby" %}
Creates a new Connect Webview that accepts all stable providers.

**Code:**

```ruby
seam.connect_webviews.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: %w[lock thermostat],
)
```

**Output:**

```ruby
{
  "accepted_capabilities" => %w[lock thermostat],
  "accepted_devices" => [],
  "accepted_providers" => %w[
    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" => nil,
  "automatically_manage_new_devices" => true,
  "connect_webview_id" => "c4c30885-ec87-4b31-8d7b-9bc0678fa028",
  "connected_account_id" => nil,
  "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" => nil,
  "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",
}
```

{% endtab %}

{% tab title="PHP" %}
Creates a new Connect Webview that accepts all stable providers.

**Code:**

```php
$seam->connect_webviews->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"],
);
```

**Output:**

```php
[
    "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",
];
```

{% endtab %}

{% tab title="Seam CLI" %}
Creates a new Connect Webview that accepts all stable providers.

**Code:**

```seam_cli
seam connect-webviews 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"]
```

**Output:**

```seam_cli
{
  "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"
}
```

{% endtab %}
{% endtabs %}

<details>

<summary>Authentication Methods</summary>

* API key
* Client session token
* Personal access token\
  Must also include the `seam-workspace` header in the request.

To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication).

</details>

## Request Parameters

**`accepted_capabilities`** *Array* *of Enums*

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.

<details>

<summary>Enum values</summary>

Possible enum values:

* `lock`
* `thermostat`
* `noise_sensor`
* `access_control`
* `camera`

</details>

***

**`accepted_providers`** *Array* *of Enums*

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](https://docs.seam.co/latest/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-brands-to-display-in-your-connect-webviews). To list all provider keys, use [`/devices/list_device_providers`](https://docs.seam.co/latest/api/devices/list_device_providers) with no filters.

<details>

<summary>Enum values</summary>

Possible enum values:

* `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`
* `yale_access`
* `hid_cm`
* `google_nest`

</details>

***

**`automatically_manage_new_devices`** *Boolean*

Indicates whether newly-added devices should appear as [managed devices](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices). See also: [Customize the Behavior Settings of Your Connect Webviews](https://docs.seam.co/latest/core-concepts/connect-webviews/customizing-connect-webviews#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](https://docs.seam.co/latest/core-concepts/connect-webviews/attaching-custom-data-to-the-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](https://docs.seam.co/latest/core-concepts/connected-accounts) that were connected using the Connect Webview, making it easy to find and filter these resources in your [workspace](https://docs.seam.co/latest/core-concepts/workspaces). You can also [filter Connect Webviews by custom metadata](https://docs.seam.co/latest/core-concepts/connect-webviews/filtering-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.

***

**`excluded_providers`** *Array* *of Strings*

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`** *String*

Specifies the category of providers that you want to include. To list all providers within a category, use [`/devices/list_device_providers`](https://docs.seam.co/latest/api/devices/list_device_providers) with the desired `provider_category` filter.

***

**`wait_for_device_creation`** *Boolean*

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](https://docs.seam.co/latest/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-behavior-settings-of-your-connect-webviews).

***

## Response

{% hint style="success" %}
Returns: [**connect\_webview**](https://docs.seam.co/latest/api/connect_webviews)
{% endhint %}

{% tabs %}
{% tab title="JSON" %}

```json
{
  "accepted_capabilities": ["lock", "thermostat"],
  "accepted_devices": [],
  "accepted_providers": ["schlage", "kwikset", "yale", "smartthings"],
  "any_device_allowed": false,
  "any_provider_allowed": false,
  "authorized_at": "2025-06-14T16:54:17.946323Z",
  "automatically_manage_new_devices": true,
  "connect_webview_id": "c4c30885-ec87-4b31-8d7b-9bc0678fa028",
  "connected_account_id": "5d2fe05f-4f5b-4b91-909c-96e2601dccbe",
  "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": "single",
  "login_successful": true,
  "selected_provider": "schlage",
  "status": "authorized",
  "url": "https://connect.getseam.com/connect_webviews/view?connect_webview_id=12345678-1234-1234-1234-123456789012&auth_token=2r2Rn8V5QUtxE79gNsTmLK58KkuqrwU8d",
  "wait_for_device_creation": true,
  "workspace_id": "9db95105-e77d-4577-b1b7-0a20b360d5e0"
}
```

{% endtab %}
{% endtabs %}

***

## Examples

### Create a Connect Webview for specific providers

Creates a new Connect Webview that accepts specific providers.

{% tabs %}
{% tab title="JavaScript" %}
**Code:**

```javascript
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",
  accepted_providers: ["kwikset", "schlage", "smartthings", "yale"],
  provider_category: "stable",
  custom_metadata: { id: "internalId1" },
  automatically_manage_new_devices: true,
  wait_for_device_creation: true,
  accepted_capabilities: ["lock", "thermostat"],
});
```

**Output:**

```javascript
{
  "accepted_capabilities": ["lock", "thermostat"],
  "accepted_devices": [],
  "accepted_providers": ["kwikset", "schlage", "smartthings", "yale"],
  "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"
}
```

{% endtab %}

{% tab title="cURL" %}
**Code:**

```curl
curl --include --request POST "https://connect.getseam.com/connect_webviews/create" \
  --header "Authorization: Bearer $SEAM_API_KEY" \
  --json @- <<EOF
{
  "custom_redirect_url": "https://example.com/redirect",
  "custom_redirect_failure_url": "https://example.com/failure-redirect",
  "customer_id": "8d7a8cc0-2e69-4bc6-85c8-545036fdd5c0",
  "accepted_providers": [
    "kwikset",
    "schlage",
    "smartthings",
    "yale"
  ],
  "provider_category": "stable",
  "custom_metadata": {
    "id": "internalId1"
  },
  "automatically_manage_new_devices": true,
  "wait_for_device_creation": true,
  "accepted_capabilities": [
    "lock",
    "thermostat"
  ]
}
EOF
```

**Output:**

```curl
{
  "connect_webview": {
    "accepted_capabilities": ["lock", "thermostat"],
    "accepted_devices": [],
    "accepted_providers": ["kwikset", "schlage", "smartthings", "yale"],
    "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"
  }
}
```

{% endtab %}

{% tab title="Python" %}
**Code:**

```python
seam.connect_webviews.create(
    custom_redirect_url="https://example.com/redirect",
    custom_redirect_failure_url="https://example.com/failure-redirect",
    customer_id="8d7a8cc0-2e69-4bc6-85c8-545036fdd5c0",
    accepted_providers=["kwikset", "schlage", "smartthings", "yale"],
    provider_category="stable",
    custom_metadata={"id": "internalId1"},
    automatically_manage_new_devices=true,
    wait_for_device_creation=true,
    accepted_capabilities=["lock", "thermostat"],
)
```

**Output:**

```python
ConnectWebview(
    accepted_capabilities=["lock", "thermostat"],
    accepted_devices=[],
    accepted_providers=["kwikset", "schlage", "smartthings", "yale"],
    any_device_allowed=true,
    any_provider_allowed=false,
    authorized_at=None,
    automatically_manage_new_devices=true,
    connect_webview_id="c4c30885-ec87-4b31-8d7b-9bc0678fa028",
    connected_account_id=None,
    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=None,
    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",
)
```

{% endtab %}

{% tab title="Ruby" %}
**Code:**

```ruby
seam.connect_webviews.create(
  custom_redirect_url: "https://example.com/redirect",
  custom_redirect_failure_url: "https://example.com/failure-redirect",
  customer_id: "8d7a8cc0-2e69-4bc6-85c8-545036fdd5c0",
  accepted_providers: %w[kwikset schlage smartthings yale],
  provider_category: "stable",
  custom_metadata: {
    id: "internalId1",
  },
  automatically_manage_new_devices: true,
  wait_for_device_creation: true,
  accepted_capabilities: %w[lock thermostat],
)
```

**Output:**

```ruby
{
  "accepted_capabilities" => %w[lock thermostat],
  "accepted_devices" => [],
  "accepted_providers" => %w[kwikset schlage smartthings yale],
  "any_device_allowed" => true,
  "any_provider_allowed" => false,
  "authorized_at" => nil,
  "automatically_manage_new_devices" => true,
  "connect_webview_id" => "c4c30885-ec87-4b31-8d7b-9bc0678fa028",
  "connected_account_id" => nil,
  "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" => nil,
  "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",
}
```

{% endtab %}

{% tab title="PHP" %}
**Code:**

```php
$seam->connect_webviews->create(
    custom_redirect_url: "https://example.com/redirect",
    custom_redirect_failure_url: "https://example.com/failure-redirect",
    customer_id: "8d7a8cc0-2e69-4bc6-85c8-545036fdd5c0",
    accepted_providers: ["kwikset", "schlage", "smartthings", "yale"],
    provider_category: "stable",
    custom_metadata: ["id" => "internalId1"],
    automatically_manage_new_devices: true,
    wait_for_device_creation: true,
    accepted_capabilities: ["lock", "thermostat"],
);
```

**Output:**

```php
[
    "accepted_capabilities" => ["lock", "thermostat"],
    "accepted_devices" => [],
    "accepted_providers" => ["kwikset", "schlage", "smartthings", "yale"],
    "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",
];
```

{% endtab %}

{% tab title="Seam CLI" %}
**Code:**

```seam_cli
seam connect-webviews create --custom_redirect_url "https://example.com/redirect" --custom_redirect_failure_url "https://example.com/failure-redirect" --customer_id "8d7a8cc0-2e69-4bc6-85c8-545036fdd5c0" --accepted_providers ["kwikset","schlage","smartthings","yale"] --provider_category "stable" --custom_metadata {"id":"internalId1"} --automatically_manage_new_devices true --wait_for_device_creation true --accepted_capabilities ["lock","thermostat"]
```

**Output:**

```seam_cli
{
  "accepted_capabilities": ["lock", "thermostat"],
  "accepted_devices": [],
  "accepted_providers": ["kwikset", "schlage", "smartthings", "yale"],
  "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"
}
```

{% endtab %}
{% endtabs %}
