---
title: "Create Customer Portal"
method: POST
path: "/customers/create_portal"
---

# Create Customer Portal

`POST /customers/create_portal`

Creates a new customer portal magic link with configurable features.

## Request body

- object — Configuration for a customer portal
  - `customer_resources_filters` object[] — Filter configuration for resources based on their custom_metadata. Each filter specifies a field, operation, and value to match against resource custom_metadata.
    - `field` string, required — The custom_metadata field name to filter on.
    - `operation` '=', required — The comparison operation. Currently only '=' is supported.
    - `value` union, required — The value to compare against.
      - string
      - boolean
  - `customization_profile_id` string, uuid — 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
    - `configure` object — Configuration for the configure feature.
      - `allow_access_automation_rule_customization` boolean — Indicates whether the customer can customize the access automation rules for their properties.
      - `allow_climate_automation_rule_customization` boolean — Indicates whether the customer can customize the climate automation rules for their properties.
      - `allow_instant_key_customization` boolean — Indicates whether the customer can customize the Instant Key profile for their properties.
      - `exclude` boolean — Whether to exclude this feature from the portal.
    - `connect` object — Configuration for the connect accounts feature.
      - `accepted_providers` string[] — List of provider keys to allow for the connect feature. These providers will be shown when the customer tries to connect an account.
      - `exclude` boolean — Whether to exclude this feature from the portal.
      - `excluded_providers` string[] — List of provider keys to exclude from the connect feature. These providers will not be shown when the customer tries to connect an account.
    - `manage` object — Configuration for the manage feature.
      - `device_management_confirmation` object — Custom copy for the confirmation modal shown before unmanaged devices are added to a space and begin being managed (and billed). Only takes effect when the MANAGE_DEVICES_CONFIRMATION_MODAL feature flag is enabled for the workspace. Any omitted string falls back to a localized default.
        - `body` string — Custom body text for the confirmation modal. May include the {count} token, which is replaced with the number of devices that will begin being managed.
        - `cancel_button_label` string — Custom label for the cancel button.
        - `confirm_button_label` string — Custom label for the confirm button.
        - `title` string — Custom title for the confirmation modal.
      - `events` object — Configuration for event type filtering in the manage feature.
        - `allowed_events` string[] — List of event types to show in the events filter. When set, only these event types will be available. Leave empty to show all events.
        - `default_events` string[] — List of event types that are pre-selected in the events filter when the user first loads the events tab.
      - `exclude` boolean — Whether to exclude this feature from the portal.
      - `exclude_reservation_management` boolean — Indicates whether the customer can manage reservations for their properties.
      - `exclude_reservation_technical_details` boolean — Indicates whether to exclude technical details from reservation views.
      - `exclude_staff_management` boolean — Indicates whether the customer can manage staff for their properties.
    - `manage_devices` object — Configuration for the manage devices feature. --- deprecated: Use `manage` instead. ---
      - `exclude` boolean — Whether to exclude this feature from the portal.
    - `organize` object — Configuration for the organize feature.
      - `exclude` boolean — Whether to exclude this feature from the portal.
  - `is_embedded` boolean — Whether the portal is embedded in another application.
  - `landing_page` object — Configuration for the landing page when the portal loads.
    - `manage` union
      - object
        - `space_key` string, required
      - object
        - `property_key` string, required
      - object
        - `room_key` string, required
      - object
        - `common_area_key` string, required
      - object
        - `unit_key` string, required
      - object
        - `facility_key` string, required
      - object
        - `building_key` string, required
      - object
        - `listing_key` string, required
      - object
        - `property_listing_key` string, required
      - object
        - `site_key` string, required
      - object
        - `reservation_key` string, required
      - object
        - `booking_key` string, required
      - object
        - `access_grant_key` string, required
  - `locale` 'en-US' | 'pt-PT' | 'fr-FR' | 'it-IT' | 'es-ES' | 'de-DE' | 'nl-NL' | 'el-GR' | 'pl-PL' | 'ru-RU' — The locale to use for the portal.
  - `navigation_mode` 'full' | 'restricted' — Navigation mode for the portal. 'restricted' tells frontend to hide navigation UI, typically used for embedded deep links.
  - `customer_data` object
    - `access_grants` object[] — List of access grants.
      - `access_grant_key` string, required — Your unique identifier for the access grant.
      - `building_keys` string[] — Building keys associated with the access grant.
      - `common_area_keys` string[] — Common area keys associated with the access grant.
      - `ends_at` string, date-time — Ending date and time for the access grant.
      - `facility_keys` string[] — Facility keys associated with the access grant.
      - `guest_key` string — Guest key associated with the access grant.
      - `listing_keys` string[] — Listing keys associated with the access grant.
      - `name` string — Your name for this access grant resource.
      - `preferred_code` string — Preferred PIN code to use when creating access for this reservation.
      - `property_keys` string[] — Property keys associated with the access grant.
      - `resident_key` string — Resident key associated with the access grant.
      - `room_keys` string[] — Room keys associated with the access grant.
      - `space_keys` string[] — Space keys associated with the access grant.
      - `starts_at` string, date-time — Starting date and time for the access grant.
      - `tenant_key` string — Tenant key associated with the access grant.
      - `unit_keys` string[] — Unit keys associated with the access grant.
      - `user_identity_key` string — User identity key associated with the access grant.
      - `user_key` string — User key associated with the access grant.
    - `bookings` object[] — List of bookings.
      - `booking_key` string, required — Your unique identifier for the booking.
      - `building_keys` string[] — Building keys associated with the access grant.
      - `common_area_keys` string[] — Common area keys associated with the access grant.
      - `ends_at` string, date-time — Ending date and time for the access grant.
      - `facility_keys` string[] — Facility keys associated with the access grant.
      - `guest_key` string — Guest key associated with the access grant.
      - `listing_keys` string[] — Listing keys associated with the access grant.
      - `name` string — Your name for this access grant resource.
      - `preferred_code` string — Preferred PIN code to use when creating access for this reservation.
      - `property_keys` string[] — Property keys associated with the access grant.
      - `resident_key` string — Resident key associated with the access grant.
      - `room_keys` string[] — Room keys associated with the access grant.
      - `space_keys` string[] — Space keys associated with the access grant.
      - `starts_at` string, date-time — Starting date and time for the access grant.
      - `tenant_key` string — Tenant key associated with the access grant.
      - `unit_keys` string[] — Unit keys associated with the access grant.
      - `user_identity_key` string — User identity key associated with the access grant.
      - `user_key` string — User key associated with the access grant.
    - `buildings` object[] — List of buildings.
      - `building_key` string, required — Your unique identifier for the building.
      - `name` string, required — Your display name for this location resource.
    - `common_areas` object[] — List of shared common areas.
      - `common_area_key` string, required — Your unique identifier for the common area.
      - `name` string, required — Your display name for this location resource.
      - `parent_site_key` string — Your unique identifier for the site.
    - `customer_key` string, required — Your unique identifier for the customer.
    - `facilities` object[] — List of gym or fitness facilities.
      - `facility_key` string, required — Your unique identifier for the facility.
      - `name` string, required — Your display name for this location resource.
    - `guests` object[] — List of guests.
      - `email_address` string — Email address associated with the user identity.
      - `guest_key` string, required — Your unique identifier for the guest.
      - `name` string, required — Your display name for this user identity resource.
      - `phone_number` string — Phone number associated with the user identity.
    - `listings` object[] — List of property listings.
      - `listing_key` string, required — Your unique identifier for the listing.
      - `name` string, required — Your display name for this location resource.
    - `properties` object[] — List of short-term rental properties.
      - `name` string, required — Your display name for this location resource.
      - `property_key` string, required — Your unique identifier for the property.
    - `property_listings` object[] — List of property listings.
      - `custom_metadata` object — Set key:value pairs. Accepts string or Boolean values. Adding custom metadata to a property listing enables you to store custom information, like customer details or internal IDs from your application.
      - `name` string, required — Your display name for this location resource.
      - `property_listing_key` string, required — Your unique identifier for the property listing.
    - `reservations` object[] — List of reservations.
      - `building_keys` string[] — Building keys associated with the access grant.
      - `common_area_keys` string[] — Common area keys associated with the access grant.
      - `custom_metadata` object — Set key:value pairs for filtering reservations by custom criteria.
      - `ends_at` string, date-time — Ending date and time for the access grant.
      - `facility_keys` string[] — Facility keys associated with the access grant.
      - `guest_key` string — Guest key associated with the access grant.
      - `listing_keys` string[] — Listing keys associated with the access grant.
      - `name` string — Your name for this access grant resource.
      - `preferred_code` string — Preferred PIN code to use when creating access for this reservation.
      - `property_keys` string[] — Property keys associated with the access grant.
      - `reservation_key` string, required — Your unique identifier for the reservation.
      - `resident_key` string — Resident key associated with the access grant.
      - `room_keys` string[] — Room keys associated with the access grant.
      - `space_keys` string[] — Space keys associated with the access grant.
      - `starts_at` string, date-time — Starting date and time for the access grant.
      - `tenant_key` string — Tenant key associated with the access grant.
      - `unit_keys` string[] — Unit keys associated with the access grant.
      - `user_identity_key` string — User identity key associated with the access grant.
      - `user_key` string — User key associated with the access grant.
    - `residents` object[] — List of residents.
      - `email_address` string — Email address associated with the user identity.
      - `name` string, required — Your display name for this user identity resource.
      - `phone_number` string — Phone number associated with the user identity.
      - `resident_key` string, required — Your unique identifier for the resident.
    - `rooms` object[] — List of hotel or hospitality rooms.
      - `name` string, required — Your display name for this location resource.
      - `parent_site_key` string — Your unique identifier for the site.
      - `room_key` string, required — Your unique identifier for the room.
    - `sites` object[] — List of general sites or areas.
      - `name` string, required — Your display name for this location resource.
      - `site_key` string, required — Your unique identifier for the site.
    - `spaces` object[] — List of general spaces or areas.
      - `customer_data` object — Reservation/stay-related defaults for the space (time zone, default check-in/out times, address).
        - `address` string, nullable — Postal address for the space.
        - `default_checkin_time` string, nullable — Default check-in time for reservations at the space, as HH:mm or HH:mm:ss.
        - `default_checkout_time` string, nullable — Default check-out time for reservations at the space, as HH:mm or HH:mm:ss.
        - `time_zone` string, nullable — IANA time zone for the space, e.g. America/Los_Angeles.
      - `duration_minutes` integer — Default duration of this space in minutes, when the space represents a fixed-length bookable slot (e.g. an appointment type). Used to interpret reservations booked against this space.
      - `geolocation` object — Geographic coordinates (latitude and longitude) of the space.
        - `latitude` number, float, required — Latitude of the space, in decimal degrees.
        - `longitude` number, float, required — Longitude of the space, in decimal degrees.
      - `name` string, required — Your display name for this location resource.
      - `parent_site_key` string — Your unique identifier for the site.
      - `space_key` string, required — Your unique identifier for the space.
    - `staff_members` object[] — List of staff members.
      - `building_keys` string[] — List of unique identifiers for the buildings the staff member is associated with.
      - `common_area_keys` string[] — List of unique identifiers for the common areas the staff member is associated with.
      - `email_address` string — Email address associated with the user identity.
      - `facility_keys` string[] — List of unique identifiers for the facilities the staff member is associated with.
      - `listing_keys` string[] — List of unique identifiers for the listings the staff member is associated with.
      - `name` string, required — Your display name for this user identity resource.
      - `phone_number` string — Phone number associated with the user identity.
      - `property_keys` string[] — List of unique identifiers for the properties the staff member is associated with.
      - `property_listing_keys` string[] — List of unique identifiers for the property listings the staff member is associated with.
      - `room_keys` string[] — List of unique identifiers for the rooms the staff member is associated with.
      - `site_keys` string[] — List of unique identifiers for the sites the staff member is associated with.
      - `space_keys` string[] — List of unique identifiers for the spaces the staff member is associated with.
      - `staff_member_key` string, required — Your unique identifier for the staff.
      - `unit_keys` string[] — List of unique identifiers for the units the staff member is associated with.
    - `tenants` object[] — List of tenants.
      - `email_address` string — Email address associated with the user identity.
      - `name` string, required — Your display name for this user identity resource.
      - `phone_number` string — Phone number associated with the user identity.
      - `tenant_key` string, required — Your unique identifier for the tenant.
    - `units` object[] — List of multi-family residential units.
      - `name` string, required — Your display name for this location resource.
      - `parent_site_key` string — Your unique identifier for the site.
      - `unit_key` string, required — Your unique identifier for the unit.
    - `user_identities` object[] — List of user identities.
      - `email_address` string — Email address associated with the user identity.
      - `name` string, required — Your display name for this user identity resource.
      - `phone_number` string — Phone number associated with the user identity.
      - `user_identity_key` string, required — Your unique identifier for the user identity.
    - `users` object[] — List of users.
      - `email_address` string — Email address associated with the user identity.
      - `name` string, required — Your display name for this user identity resource.
      - `phone_number` string — Phone number associated with the user identity.
      - `user_key` string, required — Your unique identifier for the user.

## Response `200`

OK

- object
  - `customer_portal` CustomerPortal, required — Represents a Customer Portal. Customer Portal is a hosted, customizable interface for managing device access. It enables you to embed secure, pre-authenticated access flows into your product—either by sharing a link with users or embedding a view in an iframe. See the [customer_portal object](/api/customers/object).
    - `created_at` string, date-time, required — Date and time at which the customer portal link was created.
    - `customer_key` string, required — Customer key for the customer portal.
    - `expires_at` string, date-time, required — Date and time at which the customer portal link expires.
    - `url` string, uri, required — URL for the customer portal.
    - `workspace_id` string, uuid, required — ID of the workspace associated with the customer portal.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized

---

[API](https://skmtc.net/seam/apis/seam-connect.md) · [All operations](https://skmtc.net/seam/apis/seam-connect/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/seam/seam-connect/versions/00c35395ce12/schema)
