# Create Customer Portal

{% hint style="info" %}
**Early Access Preview.** The customers API is currently in Alpha. We're actively developing it and seeking early feedback at <support@seam.co>. Expect breaking changes as we refine the design.
{% endhint %}

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

Creates a new customer portal magic link with configurable features.

<details>

<summary>Authentication Methods</summary>

* API key
* 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

**`customer_data`** *Object*

<details>

<summary><code>access_grants</code> <em>List</em></summary>

List of access grants.

</details>

***

<details>

<summary><code>bookings</code> <em>List</em></summary>

List of bookings.

</details>

***

<details>

<summary><code>buildings</code> <em>List</em></summary>

List of buildings.

</details>

***

<details>

<summary><code>common_areas</code> <em>List</em></summary>

List of shared common areas.

</details>

***

<details>

<summary><code>customer_key</code> <em>String</em></summary>

Your unique identifier for the customer.

</details>

***

<details>

<summary><code>facilities</code> <em>List</em></summary>

List of gym or fitness facilities.

</details>

***

<details>

<summary><code>guests</code> <em>List</em></summary>

List of guests.

</details>

***

<details>

<summary><code>listings</code> <em>List</em></summary>

List of property listings.

</details>

***

<details>

<summary><code>properties</code> <em>List</em></summary>

List of short-term rental properties.

</details>

***

<details>

<summary><code>property_listings</code> <em>List</em></summary>

List of property listings.

</details>

***

<details>

<summary><code>reservations</code> <em>List</em></summary>

List of reservations.

</details>

***

<details>

<summary><code>residents</code> <em>List</em></summary>

List of residents.

</details>

***

<details>

<summary><code>rooms</code> <em>List</em></summary>

List of hotel or hospitality rooms.

</details>

***

<details>

<summary><code>sites</code> <em>List</em></summary>

List of general sites or areas.

</details>

***

<details>

<summary><code>spaces</code> <em>List</em></summary>

List of general spaces or areas.

</details>

***

<details>

<summary><code>staff_members</code> <em>List</em></summary>

List of staff members.

</details>

***

<details>

<summary><code>tenants</code> <em>List</em></summary>

List of tenants.

</details>

***

<details>

<summary><code>units</code> <em>List</em></summary>

List of multi-family residential units.

</details>

***

<details>

<summary><code>user_identities</code> <em>List</em></summary>

List of user identities.

</details>

***

<details>

<summary><code>users</code> <em>List</em></summary>

List of users.

</details>

***

**`customer_resources_filters`** *Array* *of Objects*

Filter configuration for resources based on their custom\_metadata. Each filter specifies a field, operation, and value to match against resource custom\_metadata.

<details>

<summary><code>field</code> <em>String</em></summary>

The custom\_metadata field name to filter on.

</details>

***

<details>

<summary><code>operation</code> <em>Enum</em></summary>

The comparison operation. Currently only '=' is supported.

Enum values:

* `=`

</details>

***

<details>

<summary><code>value</code> <em>Object</em></summary>

The value to compare against.

</details>

***

**`customization_profile_id`** *String*

The ID of the customization profile to use for the portal.

***

**`exclude_locale_picker`** *Boolean*

Whether to exclude the option to select a locale within the portal UI.

***

**`features`** *Object*

<details>

<summary><code>configure</code> <em>Object</em></summary>

Configuration for the configure feature.

</details>

***

<details>

<summary><code>connect</code> <em>Object</em></summary>

Configuration for the connect accounts feature.

</details>

***

<details>

<summary><code>manage</code> <em>Object</em></summary>

Configuration for the manage feature.

</details>

***

<details>

<summary><code>manage_devices</code> <em>Object</em></summary>

### Configuration for the manage devices feature.

### deprecated: Use `manage` instead.

</details>

***

<details>

<summary><code>organize</code> <em>Object</em></summary>

Configuration for the organize feature.

</details>

***

**`is_embedded`** *Boolean*

Whether the portal is embedded in another application.

***

**`landing_page`** *Object*

Configuration for the landing page when the portal loads.

<details>

<summary><code>manage</code> <em>Object</em></summary>

</details>

***

**`locale`** *String*

The locale to use for the portal.

***

**`navigation_mode`** *String*

Navigation mode for the portal. 'restricted' tells frontend to hide navigation UI, typically used for embedded deep links.

***

## Response

{% hint style="success" %}
Returns: [**magic\_link**](https://github.com/seamapi/docs/blob/main/docs/api/unstable_partner/building_blocks/README.md)
{% endhint %}

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

```json
{
  "building_block_type": "connect_accounts",
  "created_at": "2025-06-16T16:54:17.946594Z",
  "customer_key": "My Company",
  "expires_at": "2025-06-17T16:54:17.946594Z",
  "url": "https://se.am/1234",
  "workspace_id": "67c58f1f-f148-4415-a63c-dc6c145c6b91"
}
```

{% endtab %}
{% endtabs %}
