diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 6b56272d..6c7ddb1d 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -126,55 +126,24 @@ * [Overview](api-clients/overview.md) * [Installation](api-clients/installation.md) * [Authentication](api-clients/authentication.md) -* [Workspaces](api-clients/workspaces/README.md) - * [Get Workspace](api-clients/workspaces/get.md) - * [Reset Workspace](api-clients/workspaces/reset_sandbox.md) -* [Client Sessions](api-clients/client_sessions/README.md) - * [Create a Client Session](api-clients/client_sessions/create.md) - * [Get or Create a Client Session](api-clients/client_sessions/get_or_create.md) - * [List Client Sessions](api-clients/client_sessions/list.md) - * [Get a Client Session](api-clients/client_sessions/get.md) - * [Grant Access to a Client Session](api-clients/client_sessions/grant_access.md) - * [Delete a Client Session](api-clients/client_sessions/delete.md) -* [Connect Webviews](api-clients/connect_webviews/README.md) - * [Create a Connect Webview](api-clients/connect_webviews/create.md) - * [List Connect Webviews](api-clients/connect_webviews/list.md) - * [Get a Connect Webview](api-clients/connect_webviews/get.md) - * [Delete a Connect Webview](api-clients/connect_webviews/delete.md) -* [Connected Accounts](api-clients/connected_accounts/README.md) - * [Get a Connected Account](api-clients/connected_accounts/get.md) - * [List Connected Accounts](api-clients/connected_accounts/list.md) - * [Update a Connected Account](api-clients/connected_accounts/update.md) - * [Delete a Connected Account](api-clients/connected_accounts/delete.md) -* [Devices](api-clients/devices/README.md) - * [List Devices](api-clients/devices/list.md) - * [List Device Providers](api-clients/devices/list_device_providers.md) - * [Device Provider Metadata](reference/device-provider-metadata.md) - * [Get a Device](api-clients/devices/get.md) - * [Update a Device](api-clients/devices/update.md) - * [Unmanaged Devices](api-clients/devices/unmanaged/README.md) - * [Update an Unmanaged Device](api-clients/devices/unmanaged/update.md) - * [List Unmanaged Devices](api-clients/devices/unmanaged/list.md) - * [Get an Unmanaged Device](api-clients/devices/unmanaged/get.md) -* [Access Codes](api-clients/access_codes/README.md) - * [Create an Access Code](api-clients/access_codes/create.md) - * [Create Multiple Linked Access Codes](api-clients/access_codes/create_multiple.md) - * [List Access Codes](api-clients/access_codes/list.md) - * [Get an Access Code](api-clients/access_codes/get.md) - * [Update an Access Code](api-clients/access_codes/update.md) - * [Update Multiple Linked Access Codes](api-clients/access_codes/update-multiple-linked-access-codes.md) - * [Delete an Access Code](api-clients/access_codes/delete.md) - * [Pull Backup Access Code](api-clients/access_codes/pull_backup_access_code.md) - * [Unmanaged Access Codes](api-clients/access_codes/unmanaged/README.md) - * [List Unmanaged Access Codes](api-clients/access_codes/unmanaged/list.md) - * [Convert an Unmanaged Access Code](api-clients/access_codes/unmanaged/convert_to_managed.md) - * [Delete an Unmanaged Access Code](api-clients/access_codes/unmanaged/delete.md) -* [Locks](api-clients/locks/README.md) - * [Get Lock](api-clients/locks/get.md) - * [Lock a Lock](api-clients/locks/lock_door.md) - * [Unlock a Lock](api-clients/locks/unlock_door.md) - * [List Locks](api-clients/locks/list.md) -* [Access Control Systems](api/acs/README.md) +* [Access Codes](api/access_codes/README.md) + * [Create an Access Code](api/access_codes/create.md) + * [Create Multiple Linked Access Codes](api/access_codes/create_multiple.md) + * [List Access Codes](api/access_codes/list.md) + * [Get an Access Code](api/access_codes/get.md) + * [Update an Access Code](api/access_codes/update.md) + * [Update Multiple Linked Access Codes](api/access_codes/update-multiple-linked-access-codes.md) + * [Delete an Access Code](api/access_codes/delete.md) + * [Pull a Backup Access Code](api/access_codes/pull_backup_access_code.md) + * [Unmanaged Access Codes](api/access_codes/unmanaged/README.md) + * [List Unmanaged Access Codes](api/access_codes/unmanaged/list.md) + * [Get an Unmanaged Access Code](api/access_codes/unmanaged/get.md) + * [Convert an Unmanaged Access Code](api/access_codes/unmanaged/convert_to_managed.md) + * [Update an Unmanaged Access Code](api/access_codes/unmanaged/update.md) + * [Delete an Unmanaged Access Code](api/access_codes/unmanaged/delete.md) + * [Access Code Simulations](api/access_codes/simulate/README.md) + * [Simulate Creating an Unmanaged Access Code](api/access_codes/simulate/create_unmanaged_access_code.md) +* [Access Control Systems (ACS)](api/acs/README.md) * [Systems](api/acs/systems/README.md) * [List ACS Systems](api/acs/systems/list.md) * [Get an ACS System](api/acs/systems/get.md) @@ -217,6 +186,43 @@ * [Simulate that the Next Credential Encoding Will Succeed](api/acs/encoders/simulate/next_credential_encode_will_succeed.md) * [Simulate that the Next Credential Scan Will Fail](api/acs/encoders/simulate/next_credential_scan_will_fail.md) * [Simulate that the Next Credential Scan Will Succeed](api/acs/encoders/simulate/next_credential_scan_will_succeed.md) +* [Action Attempts](api-clients/action_attempts/README.md) + * [Get Action Attempt](api-clients/action_attempts/get.md) +* [Client Sessions](api-clients/client_sessions/README.md) + * [Create a Client Session](api-clients/client_sessions/create.md) + * [Get or Create a Client Session](api-clients/client_sessions/get_or_create.md) + * [List Client Sessions](api-clients/client_sessions/list.md) + * [Get a Client Session](api-clients/client_sessions/get.md) + * [Grant Access to a Client Session](api-clients/client_sessions/grant_access.md) + * [Delete a Client Session](api-clients/client_sessions/delete.md) +* [Connect Webviews](api-clients/connect_webviews/README.md) + * [Create a Connect Webview](api-clients/connect_webviews/create.md) + * [List Connect Webviews](api-clients/connect_webviews/list.md) + * [Get a Connect Webview](api-clients/connect_webviews/get.md) + * [Delete a Connect Webview](api-clients/connect_webviews/delete.md) +* [Connected Accounts](api-clients/connected_accounts/README.md) + * [Get a Connected Account](api-clients/connected_accounts/get.md) + * [List Connected Accounts](api-clients/connected_accounts/list.md) + * [Update a Connected Account](api-clients/connected_accounts/update.md) + * [Delete a Connected Account](api-clients/connected_accounts/delete.md) +* [Devices](api-clients/devices/README.md) + * [List Devices](api-clients/devices/list.md) + * [List Device Providers](api-clients/devices/list_device_providers.md) + * [Device Provider Metadata](reference/device-provider-metadata.md) + * [Get a Device](api-clients/devices/get.md) + * [Update a Device](api-clients/devices/update.md) + * [Unmanaged Devices](api-clients/devices/unmanaged/README.md) + * [Update an Unmanaged Device](api-clients/devices/unmanaged/update.md) + * [List Unmanaged Devices](api-clients/devices/unmanaged/list.md) + * [Get an Unmanaged Device](api-clients/devices/unmanaged/get.md) +* [Events](api-clients/events/README.md) + * [List Events](api-clients/events/list.md) + * [Get an Event](api-clients/events/get.md) +* [Locks](api-clients/locks/README.md) + * [Get Lock](api-clients/locks/get.md) + * [Lock a Lock](api-clients/locks/lock_door.md) + * [Unlock a Lock](api-clients/locks/unlock_door.md) + * [List Locks](api-clients/locks/list.md) * [Noise Sensors](api-clients/noise_sensors/README.md) * [Noise Thresholds](api-clients/noise_sensors/noise_thresholds/README.md) * [Create Noise Thresholds](api-clients/noise_sensors/noise_thresholds/create.md) @@ -270,11 +276,9 @@ * [List Enrollment Automations](api/user_identities/enrollment_automations/list.md) * [Get an Enrollment Automation](api/user_identities/enrollment_automations/get.md) * [Delete an Enrollment Automation](api/user_identities/enrollment_automations/delete.md) -* [Action Attempts](api-clients/action_attempts/README.md) - * [Get Action Attempt](api-clients/action_attempts/get.md) -* [Events](api-clients/events/README.md) - * [List Events](api-clients/events/list.md) - * [Get an Event](api-clients/events/get.md) +* [Workspaces](api-clients/workspaces/README.md) + * [Get Workspace](api-clients/workspaces/get.md) + * [Reset Workspace](api-clients/workspaces/reset_sandbox.md) ## 🛠️ Developer Tools diff --git a/docs/api/_report.md b/docs/api/_report.md index 6aeec985..cdc7453d 100644 --- a/docs/api/_report.md +++ b/docs/api/_report.md @@ -4,9 +4,6 @@ ### Routes -- `/access_codes` -- `/access_codes/simulate` -- `/access_codes/unmanaged` - `/action_attempts` - `/bridges` - `/client_sessions` @@ -26,21 +23,7 @@ ### Endpoints -- `/access_codes/create` -- `/access_codes/create_multiple` -- `/access_codes/delete` - `/access_codes/generate_code` -- `/access_codes/get` -- `/access_codes/list` -- `/access_codes/pull_backup_access_code` -- `/access_codes/update` -- `/access_codes/update_multiple` -- `/access_codes/simulate/create_unmanaged_access_code` -- `/access_codes/unmanaged/convert_to_managed` -- `/access_codes/unmanaged/delete` -- `/access_codes/unmanaged/get` -- `/access_codes/unmanaged/list` -- `/access_codes/unmanaged/update` - `/action_attempts/get` - `/action_attempts/list` - `/bridges/get` @@ -114,11 +97,11 @@ These items are intentionally undocumented. - `acs_user.is_latest_desired_state_synced_with_provider`: Only used internally. - `acs_user.latest_desired_state_synced_with_provider_at`: Only used internally. -- `acs_user.pending_modifications`: Experimental. +- `acs_user.pending_mutations`: Experimental. - `thermostat_schedule.unstable_is_override_allowed`: Unstable - `unmanaged_acs_user.is_latest_desired_state_synced_with_provider`: Only used internally. - `unmanaged_acs_user.latest_desired_state_synced_with_provider_at`: Only used internally. -- `unmanaged_acs_user.pending_modifications`: Experimental. +- `unmanaged_acs_user.pending_mutations`: Experimental. ### Namespaces @@ -154,6 +137,16 @@ These items are intentionally undocumented. ### Endpoint parameters +- `/access_codes/create` + - `sync`: Only used internally. +- `/access_codes/delete` + - `sync`: Only used internally. +- `/access_codes/update` + - `sync`: Only used internally. +- `/access_codes/unmanaged/convert_to_managed` + - `sync`: Only used internally. +- `/access_codes/unmanaged/delete` + - `sync`: Only used internally. - `/devices/list` - `exclude_if`: Only used internally. - `include_if`: Only used internally. @@ -192,18 +185,18 @@ Items that are intentionally undocumented are not included in this section. ### Resources -- `access_code` - `acs_credential_pool` - `acs_credential_provisioning_automation` - `client_session` - `connect_webview` - `connected_account` +- `device` - `device_provider` - `event` - `network` - `noise_threshold` -- `unmanaged_access_code` - `unmanaged_acs_access_group` +- `unmanaged_device` - `webhook` - `workspace` @@ -227,6 +220,8 @@ Items that are intentionally undocumented are not included in this section. - `acs_credential_provisioning_automation.credential_manager_acs_system_id` - `acs_credential_provisioning_automation.user_identity_id` - `acs_credential_provisioning_automation.workspace_id` +- `acs_system.acs_access_group_count` +- `acs_system.acs_user_count` - `acs_system.location` - `acs_system.system_type` - `acs_system.system_type_display_name` @@ -236,7 +231,7 @@ Items that are intentionally undocumented are not included in this section. - `acs_user.is_latest_desired_state_synced_with_provider` - `acs_user.is_managed` - `acs_user.latest_desired_state_synced_with_provider_at` -- `acs_user.pending_modifications` +- `acs_user.pending_mutations` - `client_session.client_session_id` - `client_session.connect_webview_ids` - `client_session.connected_account_ids` @@ -275,6 +270,18 @@ Items that are intentionally undocumented are not included in this section. - `connected_account.errors` - `connected_account.user_identifier` - `connected_account.warnings` +- `device.can_hvac_cool` +- `device.can_hvac_heat` +- `device.can_hvac_heat_cool` +- `device.can_program_offline_access_codes` +- `device.can_program_online_access_codes` +- `device.can_remotely_lock` +- `device.can_remotely_unlock` +- `device.can_simulate_connection` +- `device.can_simulate_disconnection` +- `device.can_simulate_removal` +- `device.can_turn_off_hvac` +- `device.custom_metadata` - `device_provider.can_hvac_cool` - `device_provider.can_hvac_heat` - `device_provider.can_hvac_heat_cool` @@ -302,8 +309,6 @@ Items that are intentionally undocumented are not included in this section. - `noise_threshold.noise_threshold_id` - `noise_threshold.noise_threshold_nrs` - `noise_threshold.starts_daily_at` -- `unmanaged_access_code.is_managed` -- `unmanaged_access_code.status` - `unmanaged_acs_access_group.access_group_type` - `unmanaged_acs_access_group.access_group_type_display_name` - `unmanaged_acs_access_group.display_name` @@ -315,7 +320,20 @@ Items that are intentionally undocumented are not included in this section. - `unmanaged_acs_user.is_latest_desired_state_synced_with_provider` - `unmanaged_acs_user.is_managed` - `unmanaged_acs_user.latest_desired_state_synced_with_provider_at` -- `unmanaged_acs_user.pending_modifications` +- `unmanaged_acs_user.pending_mutations` +- `unmanaged_device.can_hvac_cool` +- `unmanaged_device.can_hvac_heat` +- `unmanaged_device.can_hvac_heat_cool` +- `unmanaged_device.can_program_offline_access_codes` +- `unmanaged_device.can_program_online_access_codes` +- `unmanaged_device.can_remotely_lock` +- `unmanaged_device.can_remotely_unlock` +- `unmanaged_device.can_simulate_connection` +- `unmanaged_device.can_simulate_disconnection` +- `unmanaged_device.can_simulate_removal` +- `unmanaged_device.can_turn_off_hvac` +- `unmanaged_device.is_managed` +- `unmanaged_device.properties` - `user_identity.display_name` - `user_identity.full_name` - `webhook.event_types` @@ -330,20 +348,7 @@ Items that are intentionally undocumented are not included in this section. ### Endpoints -- `/access_codes/create` -- `/access_codes/create_multiple` -- `/access_codes/delete` - `/access_codes/generate_code` -- `/access_codes/get` -- `/access_codes/list` -- `/access_codes/update` -- `/access_codes/update_multiple` -- `/access_codes/simulate/create_unmanaged_access_code` -- `/access_codes/unmanaged/convert_to_managed` -- `/access_codes/unmanaged/delete` -- `/access_codes/unmanaged/get` -- `/access_codes/unmanaged/list` -- `/access_codes/unmanaged/update` - `/acs/credential_pools/list` - `/acs/credential_provisioning_automations/launch` - `/acs/entrances/grant_access` @@ -409,106 +414,25 @@ Items that are intentionally undocumented are not included in this section. ### Endpoint parameters - `/access_codes/create` - - `allow_external_modification` - `attempt_for_offline_device` - - `code` - - `common_code_key` - - `device_id` - - `ends_at` - - `is_external_modification_allowed` - - `is_offline_access_code` - - `is_one_time_use` - - `max_time_rounding` - - `name` - - `prefer_native_scheduling` - - `preferred_code_length` - - `starts_at` - `sync` - - `use_backup_access_code_pool` - `use_offline_access_code` - `/access_codes/create_multiple` - - `allow_external_modification` - `attempt_for_offline_device` - - `behavior_when_code_cannot_be_shared` - - `code` - - `device_ids` - - `ends_at` - - `is_external_modification_allowed` - - `is_offline_access_code` - - `is_one_time_use` - - `max_time_rounding` - - `name` - - `prefer_native_scheduling` - - `preferred_code_length` - - `starts_at` - - `use_backup_access_code_pool` - `use_offline_access_code` - `/access_codes/delete` - - `access_code_id` - - `device_id` - `sync` - `/access_codes/generate_code` - `device_id` -- `/access_codes/get` - - `access_code_id` - - `code` - - `device_id` -- `/access_codes/list` - - `access_code_ids` - - `device_id` - - `user_identifier_key` -- `/access_codes/pull_backup_access_code` - - `access_code_id` - `/access_codes/update` - - `access_code_id` - - `allow_external_modification` - `attempt_for_offline_device` - - `code` - - `device_id` - - `ends_at` - - `is_external_modification_allowed` - - `is_managed` - - `is_offline_access_code` - - `is_one_time_use` - - `max_time_rounding` - - `name` - - `prefer_native_scheduling` - - `preferred_code_length` - - `starts_at` - `sync` - - `type` - - `use_backup_access_code_pool` - `use_offline_access_code` -- `/access_codes/update_multiple` - - `common_code_key` - - `ends_at` - - `name` - - `starts_at` -- `/access_codes/simulate/create_unmanaged_access_code` - - `code` - - `device_id` - - `name` - `/access_codes/unmanaged/convert_to_managed` - - `access_code_id` - - `allow_external_modification` - - `force` - - `is_external_modification_allowed` - `sync` - `/access_codes/unmanaged/delete` - - `access_code_id` - `sync` -- `/access_codes/unmanaged/get` - - `access_code_id` - - `code` - - `device_id` -- `/access_codes/unmanaged/list` - - `device_id` - - `user_identifier_key` - `/access_codes/unmanaged/update` - - `access_code_id` - - `allow_external_modification` - - `force` - - `is_external_modification_allowed` - `is_managed` - `/acs/credential_pools/list` - `acs_system_id` @@ -826,6 +750,8 @@ These items are deprecated. - `backup_access_code` - `/acs/users/list` - `pagination` +- `/connected_accounts/list` + - `pagination` - `/events/get` - `message` - `/locks/get` diff --git a/docs/api/access_codes/README.md b/docs/api/access_codes/README.md new file mode 100644 index 00000000..9bfc9a9a --- /dev/null +++ b/docs/api/access_codes/README.md @@ -0,0 +1,1569 @@ +# Access Codes + +## The access_code Object + +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) + + +Represents a smart lock [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + +An access code is a code used for a keypad or pinpad device. Unlike physical keys, which can easily be lost or duplicated, PIN codes can be customized, tracked, and altered on the fly. Using the Seam Access Code API, you can easily generate access codes on the hundreds of door lock models with which we integrate. + +Seam supports programming two types of access codes: [ongoing](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#ongoing-access-codes) and [time-bound](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#time-bound-access-codes). To differentiate between the two, refer to the `type` property of the access code. Ongoing codes display as `ongoing`, whereas time-bound codes are labeled `time_bound`. + +In addition, for certain devices, Seam also supports [offline access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#offline-access-codes). Offline access (PIN) codes are designed for door locks that might not always maintain an internet connection. For this type of access code, the device manufacturer uses encryption keys (tokens) to create server-based registries of algorithmically-generated offline PIN codes. Because the tokens remain synchronized with the managed devices, the locks do not require an active internet connection—and you do not need to be near the locks—to create an offline access code. Then, owners or managers can share these offline codes with users through a variety of mechanisms, such as messaging applications. That is, lock users do not need to install a smartphone application to receive an offline access code. + +{% tabs %} +{% tab title="JSON" %} +```json +{ + access_code_id: [example value], + code: [example value], + common_code_key: [example value], + created_at: [example value], + device_id: [example value], + ends_at: [example value], + errors: [example value], + is_backup: [example value], + is_backup_access_code_available: [example value], + is_external_modification_allowed: [example value], + is_managed: [example value], + is_offline_access_code: [example value], + is_one_time_use: [example value], + is_scheduled_on_device: [example value], + is_waiting_for_code_assignment: [example value], + name: [example value], + pulled_backup_access_code_id: [example value], + starts_at: [example value], + status: [example value], + type: [example value], + warnings: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Properties + +**`access_code_id`** *UUID* + +Unique identifier for the access code. + + +--- + +**`code`** *String* + +Code used for access. Typically, a numeric or alphanumeric string. + + +--- + +**`common_code_key`** *String* + +Unique identifier for a group of access codes that share the same code. + + +--- + +**`created_at`** *Datetime* + +Date and time at which the access code was created. + + +--- + +**`device_id`** *UUID* + +Unique identifier for the device associated with the access code. + + +--- + +**`ends_at`** *Datetime* + +Date and time after which the time-bound access code becomes inactive. + + +--- + +[**`errors`**](./#errors) *List* *of Objects* + +Errors associated with the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + +--- + +**`is_backup`** *Boolean* + +Indicates whether the access code is a backup code. + + +--- + +**`is_backup_access_code_available`** *Boolean* + +Indicates whether a backup access code is available for use if the primary access code is lost or compromised. + + +--- + +**`is_external_modification_allowed`** *Boolean* + +Indicates whether changes to the access code from external sources are permitted. + + +--- + +**`is_managed`** *Boolean* + +Indicates whether Seam manages the access code. + + +--- + +**`is_offline_access_code`** *Boolean* + +Indicates whether the access code is intended for use in offline scenarios. If `true`, this code can be created on a device without a network connection. + + +--- + +**`is_one_time_use`** *Boolean* + +Indicates whether the access code can only be used once. If `true`, the code becomes invalid after the first use. + + +--- + +**`is_scheduled_on_device`** *Boolean* + +Indicates whether the code is set on the device according to a preconfigured schedule. + + +--- + +**`is_waiting_for_code_assignment`** *Boolean* + +Indicates whether the access code is waiting for a code assignment. + + +--- + +**`name`** *String* + +Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. + + +--- + +**`pulled_backup_access_code_id`** *UUID* + +Identifier of the pulled backup access code. Used to associate the pulled backup access code with the original access code. + + +--- + +**`starts_at`** *Datetime* + +Date and time at which the time-bound access code becomes active. + + +--- + +**`status`** *Enum* + +Current status of the access code within the operational lifecycle. Values are `setting`, a transitional phase that indicates that the code is being configured or activated; `set`, which indicates that the code is active and operational; `unset`, which indicates a deactivated or unused state, either before activation or after deliberate deactivation; `removing`, which indicates a transitional period in which the code is being deleted or made inactive; and `unknown`, which indicates an indeterminate state, due to reasons such as system errors or incomplete data, that highlights a potential need for system review or troubleshooting. + +
+ +Enum values + +- `setting` +- `set` +- `unset` +- `removing` +- `unknown` +
+ + +--- + +**`type`** *Enum* + +Nature of the access code. Values are `ongoing` for access codes that are active continuously until deactivated manually or `time_bound` for access codes that have a specific duration. + +
+ +Enum values + +- `time_bound` +- `ongoing` +
+ + +--- + +[**`warnings`**](./#warnings) *List* *of Objects* + +Warnings associated with the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + +--- + + +## Errors + +**`smartthings_failed_to_set_access_code`** + +Failed to set code on SmartThings device. + +--- + +**`smartthings_failed_to_set_after_multiple_retries`** + +Failed to set code after multiple retries. + +--- + +**`smartthings_no_free_slots_available`** + +No free slots available on the device. + +--- + +**`failed_to_set_on_device`** + +Failed to set code on device. + +--- + +**`failed_to_remove_from_device`** + +Failed to remove code from device. + +--- + +**`duplicate_code_on_device`** + +Duplicate access code detected on device. + +--- + +**`duplicate_code_attempt_prevented`** + +An attempt to modify this access code was prevented. + +--- + +**`igloohome_bridge_too_many_pending_jobs`** + +Igloohome bridge has too many pending jobs in the queue. + +--- + +**`igloohome_bridge_offline`** + +Igloohome bridge is offline. + +--- + +**`igloohome_offline_access_code_no_variance_available`** + +Lock has reached maximum amount of codes. + +--- + +**`kwikset_unable_to_confirm_code`** + +Unable to confirm that the access code is set on Kwikset device. + +--- + +**`kwikset_unable_to_confirm_deletion`** + +Unable to confirm the deletion of the access code on Kwikset device. + +--- + +**`code_modified_external_to_seam`** + +Code was modified or removed externally after Seam successfully set it on the device. + +--- + +**`august_lock_invalid_code_length`** + +Invalid code length for August lock. + +--- + +**`august_device_programming_delay`** + +Access code has not yet been fully moved to the device. + +--- + +**`august_device_slots_full`** + +All access code slots on the device are full. + +--- + +**`august_lock_missing_keypad`** + +August lock is missing a keypad. + +--- + +**`august_lock_temporarily_offline`** + +August lock is temporarily offline. + +--- + +**`salto_ks_user_not_subscribed`** + +Salto site user is not subscribed. + +--- + +**`hubitat_device_programming_delay`** + +Access code has not yet been fully moved to the device. + +--- + +**`hubitat_no_free_positions_available`** + +No free positions available on the device. + +--- + +**`wyze_duplicate_code_name`** + +Duplicate access code name detected. + +--- + +**`wyze_potential_duplicate_code`** + +Potential duplicate access code detected. + +--- + +**`dormakaba_oracode_no_valid_user_level`** + +No valid user level for Oracode. + +--- + +**`account_disconnected`** + +Account is disconnected + +--- + +**`salto_ks_subscription_limit_exceeded`** + +Salto site user limit reached. + +--- + +**`device_offline`** + +Device is offline + +--- + +**`device_removed`** + +Device has been removed + +--- + +**`hub_disconnected`** + +Hub is disconnected + +--- + +**`device_disconnected`** + +Device is disconnected + +--- + +**`empty_backup_access_code_pool`** + +The backup access code pool is empty. + +--- + +**`august_lock_not_authorized`** + +User is not authorized to use the August Lock. + +--- + +**`august_lock_missing_bridge`** + +Lock is not connected to the Seam Bridge. + +--- + +**`ttlock_lock_not_paired_to_gateway`** + +Lock is not paired with a Gateway. + +--- + +**`missing_device_credentials`** + +Missing device credentials. + +--- + +**`auxiliary_heat_running`** + +The auxiliary heat is running. + +--- + +**`subscription_required`** + +Subscription required to connect. + +--- + +**`invalid_credentials`** + +Credentials provided were invalid. + +--- + +**`bridge_disconnected`** + +Indicates that the Seam API cannot communicate with [Seam Bridge](../../capability-guides/seam-bridge.md), for example, if Seam Bridge executable has stopped or if the computer running the Seam Bridge executable is offline. + See also [Troubleshooting Your Access Control System](../../capability-guides/access-systems/troubleshooting-your-access-control-system.md#acs_system.errors.seam_bridge_disconnected). + +--- + + +## Warnings + +**`smartthings_failed_to_set_access_code`** + +Failed to set code on SmartThings device. + +--- + +**`schlage_detected_duplicate`** + +Duplicate access code detected. + +--- + +**`schlage_creation_outage`** + +Received an error when attempting to create this code. + +--- + +**`code_modified_external_to_seam`** + +Code was modified or removed externally after Seam successfully set it on the device. + +--- + +**`delay_in_setting_on_device`** + +Delay in setting code on device. + +--- + +**`delay_in_removing_from_device`** + +Delay in removing code from device. + +--- + +**`third_party_integration_detected`** + +Third-party integration detected that may cause access codes to fail. + +--- + +**`august_device_programming_delay`** + +Access code has not yet been fully moved to the device. + +--- + +**`august_lock_temporarily_offline`** + +August lock is temporarily offline. + +--- + +**`igloo_algopin_must_be_used_within_24_hours`** + +Algopins must be used within 24 hours. + +--- + +**`management_transferred`** + +Management was transferred to another workspace. + +--- + +**`kwikset_unable_to_confirm_code`** + +Unable to confirm that the access code is set on Kwikset device. + +--- + + +## Events + +**`access_code.created`** + +An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) was created. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.changed`** + +An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) was changed. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.scheduled_on_device`** + +An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) was [scheduled natively](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#native-scheduling) on a device. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- code String + + Code for the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.set_on_device`** + +An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) was set on a device. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- code String + + Code for the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.removed_from_device`** + +An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) was removed from a device. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.delay_in_setting_on_device`** + +There was an unusually long delay in setting an [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) on a device. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.failed_to_set_on_device`** + +An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) failed to be set on a device. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.deleted`** + +An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) was deleted. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- code String + + Code for the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.delay_in_removing_from_device`** + +There was an unusually long delay in removing an [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) from a device. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.failed_to_remove_from_device`** + +An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) failed to be removed from a device. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.modified_external_to_seam`** + +An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) was modified outside of Seam. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.deleted_external_to_seam`** + +An [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) was deleted outside of Seam. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.backup_access_code_pulled`** + +A [backup access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes) was pulled from the backup access code pool and set on a device. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- backup_access_code_id String + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.unmanaged.converted_to_managed`** + +An [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) was converted successfully to a managed access code. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.unmanaged.failed_to_convert_to_managed`** + +An [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) failed to be converted to a managed access code. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.unmanaged.created`** + +An [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) was created on a device. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +**`access_code.unmanaged.removed`** + +An [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) was removed from a device. + +
+ +Properties + +- access_code_id UUID + + ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + + +- connected_account_id UUID + + ID of the [connected account](../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- device_id UUID + + ID of the [device](../../core-concepts/devices/README.md). + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + + +
+ +--- + +## Endpoints + + +[**`/access_codes/create`**](./create.md) + +Creates a new [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + +[**`/access_codes/create_multiple`**](./create_multiple.md) + +Creates new [access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that share a common code across multiple devices. + + +[**`/access_codes/delete`**](./delete.md) + +Deletes an [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + +[**`/access_codes/get`**](./get.md) + +Returns a specified [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + +[**`/access_codes/list`**](./list.md) + +Returns a list of all [access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + +[**`/access_codes/pull_backup_access_code`**](./pull_backup_access_code.md) + +Retrieves a backup access code for an [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). See also [Managing Backup Access Codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes). + + +[**`/access_codes/update`**](./update.md) + +Updates a specified active or upcoming [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + +[**`/access_codes/update_multiple`**](./update_multiple.md) + +Updates [access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that share a common code across multiple devices. + + diff --git a/docs/api/access_codes/create.md b/docs/api/access_codes/create.md new file mode 100644 index 00000000..09590edc --- /dev/null +++ b/docs/api/access_codes/create.md @@ -0,0 +1,139 @@ +# Create an Access Code + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Creates a new [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + +{% tabs %} +{% tab title="Signature" %} +``` +POST /access_codes/create ⇒ { access_code } +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_id`** *String* (Required) + +ID of the device for which to create the new access code. + +--- + +**`allow_external_modification`** *Boolean* + +Indicates whether [external modification](https://docs.seam.co/latest/api/access_codes#external-modification) of the code is allowed. Default: `false`. + +--- + +**`attempt_for_offline_device`** *Boolean* + +--- + +**`code`** *String* + +Code to be used for access. + +--- + +**`common_code_key`** *String* + +Key to identify access codes that should have the same code. Any two access codes with the same `common_code_key` are guaranteed to have the same `code`. See also [Creating and Updating Multiple Linked Access Codes](../../capability-guides/smart-locks/access-codes/creating-and-updating-multiple-linked-access-codes.md). + +--- + +**`ends_at`** *String* + +Date and time at which the validity of the new access code ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. + +--- + +**`is_external_modification_allowed`** *Boolean* + +Indicates whether [external modification](https://docs.seam.co/latest/api/access_codes#external-modification) of the code is allowed. Default: `false`. + +--- + +**`is_offline_access_code`** *Boolean* + +Indicates whether the access code is an [offline access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/offline-access-codes). + +--- + +**`is_one_time_use`** *Boolean* + +Indicates whether the [offline access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/offline-access-codes) is a single-use access code. + +--- + +**`max_time_rounding`** *String* + +Maximum rounding adjustment. To create a daily-bound [offline access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/offline-access-codes) for devices that support this feature, set this parameter to `1d`. + +--- + +**`name`** *String* + +Name of the new access code. + +--- + +**`prefer_native_scheduling`** *Boolean* + +Indicates whether [native scheduling](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#native-scheduling) should be used for time-bound codes when supported by the provider. Default: `true`. + +--- + +**`preferred_code_length`** *Number* + +Preferred code length. Only applicable if you do not specify a `code`. If the affected device does not support the preferred code length, Seam reverts to using the shortest supported code length. + +--- + +**`starts_at`** *String* + +Date and time at which the validity of the new access code starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. + +--- + +**`use_backup_access_code_pool`** *Boolean* + +Indicates whether to use a [backup access code pool](https://docs.seam.co/latest/core-concepts/access-codes#backup-access-codes) provided by Seam. If `true`, you can use [`/access_codes/pull_backup_access_code`](../../api-clients/access_codes/pull_backup_access_code.md). + +--- + +**`use_offline_access_code`** *Boolean* + +--- + + +## Response + +[access\_code](./) + +**`CREATE_ACCESS_CODE`** +{% tabs %} +{% tab title="JSON" %} +```json +{ + action_attempt_id: [example value], + action_type: [example value], + status: [example value] +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/create_multiple.md b/docs/api/access_codes/create_multiple.md new file mode 100644 index 00000000..38c3807d --- /dev/null +++ b/docs/api/access_codes/create_multiple.md @@ -0,0 +1,143 @@ +# Create Multiple Linked Access Codes + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Creates new [access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that share a common code across multiple devices. + +Users with more than one door lock in a property may want to create groups of linked access codes, all of which have the same code (PIN). For example, a short-term rental host may want to provide guests the same PIN for both a front door lock and a back door lock. + +If you specify a custom code, Seam assigns this custom code to each of the resulting access codes. However, in this case, Seam does not link these access codes together with a `common_code_key`. That is, `common_code_key` remains null for these access codes. + +If you want to change these access codes that are not linked by a `common_code_key`, you cannot use `/access_codes/update_multiple`. However, you can update each of these access codes individually, using `/access_codes/update`. + +See also [Creating and Updating Multiple Linked Access Codes](../../capability-guides/smart-locks/access-codes/creating-and-updating-multiple-linked-access-codes.md). + +{% tabs %} +{% tab title="Signature" %} +``` +PUT /access_codes/create_multiple ⇒ { access_codes: [access_code, …] } +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_ids`** *Array* *of UUIDs* (Required) + +IDs of the devices for which to create the new access codes. + +--- + +**`allow_external_modification`** *Boolean* + +Indicates whether [external modification](https://docs.seam.co/latest/api/access_codes#external-modification) of the code is allowed. Default: `false`. + +--- + +**`attempt_for_offline_device`** *Boolean* + +--- + +**`behavior_when_code_cannot_be_shared`** *String* + +Desired behavior if any device cannot share a code. If `throw` (default), no access codes will be created if any device cannot share a code. If `create_random_code`, a random code will be created on devices that cannot share a code. + +--- + +**`code`** *String* + +Code to be used for access. + +--- + +**`ends_at`** *String* + +Date and time at which the validity of the new access code ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. + +--- + +**`is_external_modification_allowed`** *Boolean* + +Indicates whether [external modification](https://docs.seam.co/latest/api/access_codes#external-modification) of the code is allowed. Default: `false`. + +--- + +**`is_offline_access_code`** *Boolean* + +Indicates whether the access code is an [offline access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/offline-access-codes). + +--- + +**`is_one_time_use`** *Boolean* + +Indicates whether the [offline access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/offline-access-codes) is a single-use access code. + +--- + +**`max_time_rounding`** *String* + +Maximum rounding adjustment. To create a daily-bound [offline access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/offline-access-codes) for devices that support this feature, set this parameter to `1d`. + +--- + +**`name`** *String* + +Name of the new access code. + +--- + +**`prefer_native_scheduling`** *Boolean* + +Indicates whether [native scheduling](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#native-scheduling) should be used for time-bound codes when supported by the provider. Default: `true`. + +--- + +**`preferred_code_length`** *Number* + +Preferred code length. Only applicable if you do not specify a `code`. If the affected device does not support the preferred code length, Seam reverts to using the shortest supported code length. + +--- + +**`starts_at`** *String* + +Date and time at which the validity of the new access code starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. + +--- + +**`use_backup_access_code_pool`** *Boolean* + +Indicates whether to use a [backup access code pool](https://docs.seam.co/latest/core-concepts/access-codes#backup-access-codes) provided by Seam. If `true`, you can use [`/access_codes/pull_backup_access_code`](../../api-clients/access_codes/pull_backup_access_code.md). + +--- + +**`use_offline_access_code`** *Boolean* + +--- + + +## Response + +Array of [access\_codes](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of access_code +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/delete.md b/docs/api/access_codes/delete.md new file mode 100644 index 00000000..b7465f2c --- /dev/null +++ b/docs/api/access_codes/delete.md @@ -0,0 +1,46 @@ +# Delete an Access Code + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Deletes an [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + +{% tabs %} +{% tab title="Signature" %} +``` +POST /access_codes/delete ⇒ void +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`access_code_id`** *String* (Required) + +ID of the access code to delete. + +--- + +**`device_id`** *String* + +ID of the device for which to delete the access code. + +--- + + +## Response + +void diff --git a/docs/api/access_codes/get.md b/docs/api/access_codes/get.md new file mode 100644 index 00000000..878e2dd0 --- /dev/null +++ b/docs/api/access_codes/get.md @@ -0,0 +1,61 @@ +# Get an Access Code + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a specified [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + +You must specify either `access_code_id` or both `device_id` and `code`. + +{% tabs %} +{% tab title="Signature" %} +``` +POST /access_codes/get ⇒ { access_code } +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- API key +- Client session token + +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
+ +## Request Parameters + +**`access_code_id`** *String* + +ID of the access code that you want to get. You must specify either `access_code_id` or both `device_id` and `code`. + +--- + +**`code`** *String* + +Code of the access code that you want to get. You must specify either `access_code_id` or both `device_id` and `code`. + +--- + +**`device_id`** *String* + +ID of the device containing the access code that you want to get. You must specify either `access_code_id` or both `device_id` and `code`. + +--- + + +## Response + +[access\_code](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of access_code +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/list.md b/docs/api/access_codes/list.md new file mode 100644 index 00000000..771b4491 --- /dev/null +++ b/docs/api/access_codes/list.md @@ -0,0 +1,63 @@ +# List Access Codes + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + +Specify either `device_id` or `access_code_ids`. + +{% tabs %} +{% tab title="Signature" %} +``` +POST /access_codes/list ⇒ { access_codes: [access_code, …] } +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`access_code_ids`** *Array* *of UUIDs* + +IDs of the access codes that you want to retrieve. Specify either `device_id` or `access_code_ids`. + +--- + +**`device_id`** *String* + +ID of the device for which you want to list access codes. Specify either `device_id` or `access_code_ids`. + +--- + +**`user_identifier_key`** *String* + +Your user ID for the user by which to filter access codes. + +--- + + +## Response + +Array of [access\_codes](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of access_code +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/pull_backup_access_code.md b/docs/api/access_codes/pull_backup_access_code.md new file mode 100644 index 00000000..48ff7116 --- /dev/null +++ b/docs/api/access_codes/pull_backup_access_code.md @@ -0,0 +1,57 @@ +# Pull a Backup Access Code + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Retrieves a backup access code for an [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). See also [Managing Backup Access Codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes). + +A backup access code pool is a collection of pre-programmed access codes stored on a device, ready for use. These codes are programmed in addition to the regular access codes on Seam, serving as a safety net for any issues with the primary codes. + +If there's ever a complication with a primary access code—be it due to intermittent connectivity, manual removal from a device, or provider outages—a backup code can be retrieved. Its end time can then be adjusted to align with the original code, facilitating seamless and uninterrupted access. + +You can only pull backup access codes for time-bound access codes. + +Before pulling a backup access code, make sure that the device's `properties.supports_backup_access_code_pool` is `true`. Then, to activate the backup pool, set `use_backup_access_code_pool` to `true` when creating an access code. + +{% tabs %} +{% tab title="Signature" %} +``` +POST /access_codes/pull_backup_access_code ⇒ { access_code } +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`access_code_id`** *String* (Required) + +ID of the access code for which you want to pull a backup access code. + +--- + + +## Response + +[access\_code](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of access_code +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/simulate/README.md b/docs/api/access_codes/simulate/README.md new file mode 100644 index 00000000..02bd1d35 --- /dev/null +++ b/docs/api/access_codes/simulate/README.md @@ -0,0 +1,10 @@ +# Access Code Simulations + +## Endpoints + + +[**`/access_codes/simulate/create_unmanaged_access_code`**](./create_unmanaged_access_code.md) + +Simulates the creation of an [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) in a [sandbox workspace](../../../core-concepts/workspaces/README.md#sandbox-workspaces). + + diff --git a/docs/api/access_codes/simulate/create_unmanaged_access_code.md b/docs/api/access_codes/simulate/create_unmanaged_access_code.md new file mode 100644 index 00000000..9dea2b84 --- /dev/null +++ b/docs/api/access_codes/simulate/create_unmanaged_access_code.md @@ -0,0 +1,61 @@ +# Simulate Creating an Unmanaged Access Code + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Simulates the creation of an [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) in a [sandbox workspace](../../../core-concepts/workspaces/README.md#sandbox-workspaces). + +{% tabs %} +{% tab title="Signature" %} +``` +POST /access_codes/simulate/create_unmanaged_access_code ⇒ { access_code } +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`code`** *String* (Required) + +Code of the simulated unmanaged access code. + +--- + +**`device_id`** *String* (Required) + +ID of the device for which you want to simulate the creation of an unmanaged access code. + +--- + +**`name`** *String* (Required) + +Name of the simulated unmanaged access code. + +--- + + +## Response + +[unmanaged\_access\_code](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of unmanaged_access_code +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/unmanaged/README.md b/docs/api/access_codes/unmanaged/README.md new file mode 100644 index 00000000..5a0b3c00 --- /dev/null +++ b/docs/api/access_codes/unmanaged/README.md @@ -0,0 +1,477 @@ +# Unmanaged Access Code + +## The unmanaged_access_code Object + +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) + + +Represents an [unmanaged smart lock access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes). + +An access code is a code used for a keypad or pinpad device. Unlike physical keys, which can easily be lost or duplicated, PIN codes can be customized, tracked, and altered on the fly. + +When you create an access code on a device in Seam, it is created as a managed access code. Access codes that exist on a device that were not created through Seam are considered unmanaged codes. We strictly limit the operations that can be performed on unmanaged codes. + +Prior to using Seam to manage your devices, you may have used another lock management system to manage the access codes on your devices. Where possible, we help you keep any existing access codes on devices and transition those codes to ones managed by your Seam workspace. + +{% tabs %} +{% tab title="JSON" %} +```json +{ + access_code_id: [example value], + code: [example value], + created_at: [example value], + device_id: [example value], + ends_at: [example value], + errors: [example value], + is_managed: [example value], + name: [example value], + starts_at: [example value], + status: [example value], + type: [example value], + warnings: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Properties + +**`access_code_id`** *UUID* + +Unique identifier for the access code. + + +--- + +**`code`** *String* + +Code used for access. Typically, a numeric or alphanumeric string. + + +--- + +**`created_at`** *Datetime* + +Date and time at which the access code was created. + + +--- + +**`device_id`** *UUID* + +Unique identifier for the device associated with the access code. + + +--- + +**`ends_at`** *Datetime* + +Date and time after which the time-bound access code becomes inactive. + + +--- + +[**`errors`**](./#errors) *List* *of Objects* + +Errors associated with the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + +--- + +**`is_managed`** *Boolean* + +Indicates that Seam does not manage the access code. + + +--- + +**`name`** *String* + +Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. + + +--- + +**`starts_at`** *Datetime* + +Date and time at which the time-bound access code becomes active. + + +--- + +**`status`** *String* + +Current status of the access code within the operational lifecycle. `set` indicates that the code is active and operational. + + +--- + +**`type`** *Enum* + +Nature of the access code. Values are `ongoing` for access codes that are active continuously until deactivated manually or `time_bound` for access codes that have a specific duration. + +
+ +Enum values + +- `time_bound` +- `ongoing` +
+ + +--- + +[**`warnings`**](./#warnings) *List* *of Objects* + +Warnings associated with the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + +--- + + +## Errors + +**`smartthings_failed_to_set_access_code`** + +Failed to set code on SmartThings device. + +--- + +**`smartthings_failed_to_set_after_multiple_retries`** + +Failed to set code after multiple retries. + +--- + +**`smartthings_no_free_slots_available`** + +No free slots available on the device. + +--- + +**`failed_to_set_on_device`** + +Failed to set code on device. + +--- + +**`failed_to_remove_from_device`** + +Failed to remove code from device. + +--- + +**`duplicate_code_on_device`** + +Duplicate access code detected on device. + +--- + +**`duplicate_code_attempt_prevented`** + +An attempt to modify this access code was prevented. + +--- + +**`igloohome_bridge_too_many_pending_jobs`** + +Igloohome bridge has too many pending jobs in the queue. + +--- + +**`igloohome_bridge_offline`** + +Igloohome bridge is offline. + +--- + +**`igloohome_offline_access_code_no_variance_available`** + +Lock has reached maximum amount of codes. + +--- + +**`kwikset_unable_to_confirm_code`** + +Unable to confirm that the access code is set on Kwikset device. + +--- + +**`kwikset_unable_to_confirm_deletion`** + +Unable to confirm the deletion of the access code on Kwikset device. + +--- + +**`code_modified_external_to_seam`** + +Code was modified or removed externally after Seam successfully set it on the device. + +--- + +**`august_lock_invalid_code_length`** + +Invalid code length for August lock. + +--- + +**`august_device_programming_delay`** + +Access code has not yet been fully moved to the device. + +--- + +**`august_device_slots_full`** + +All access code slots on the device are full. + +--- + +**`august_lock_missing_keypad`** + +August lock is missing a keypad. + +--- + +**`august_lock_temporarily_offline`** + +August lock is temporarily offline. + +--- + +**`salto_ks_user_not_subscribed`** + +Salto site user is not subscribed. + +--- + +**`hubitat_device_programming_delay`** + +Access code has not yet been fully moved to the device. + +--- + +**`hubitat_no_free_positions_available`** + +No free positions available on the device. + +--- + +**`wyze_duplicate_code_name`** + +Duplicate access code name detected. + +--- + +**`wyze_potential_duplicate_code`** + +Potential duplicate access code detected. + +--- + +**`dormakaba_oracode_no_valid_user_level`** + +No valid user level for Oracode. + +--- + +**`account_disconnected`** + +Account is disconnected + +--- + +**`salto_ks_subscription_limit_exceeded`** + +Salto site user limit reached. + +--- + +**`device_offline`** + +Device is offline + +--- + +**`device_removed`** + +Device has been removed + +--- + +**`hub_disconnected`** + +Hub is disconnected + +--- + +**`device_disconnected`** + +Device is disconnected + +--- + +**`empty_backup_access_code_pool`** + +The backup access code pool is empty. + +--- + +**`august_lock_not_authorized`** + +User is not authorized to use the August Lock. + +--- + +**`august_lock_missing_bridge`** + +Lock is not connected to the Seam Bridge. + +--- + +**`ttlock_lock_not_paired_to_gateway`** + +Lock is not paired with a Gateway. + +--- + +**`missing_device_credentials`** + +Missing device credentials. + +--- + +**`auxiliary_heat_running`** + +The auxiliary heat is running. + +--- + +**`subscription_required`** + +Subscription required to connect. + +--- + +**`invalid_credentials`** + +Credentials provided were invalid. + +--- + +**`bridge_disconnected`** + +Indicates that the Seam API cannot communicate with [Seam Bridge](../../../capability-guides/seam-bridge.md), for example, if Seam Bridge executable has stopped or if the computer running the Seam Bridge executable is offline. + See also [Troubleshooting Your Access Control System](../../../capability-guides/access-systems/troubleshooting-your-access-control-system.md#acs_system.errors.seam_bridge_disconnected). + +--- + + +## Warnings + +**`smartthings_failed_to_set_access_code`** + +Failed to set code on SmartThings device. + +--- + +**`schlage_detected_duplicate`** + +Duplicate access code detected. + +--- + +**`schlage_creation_outage`** + +Received an error when attempting to create this code. + +--- + +**`code_modified_external_to_seam`** + +Code was modified or removed externally after Seam successfully set it on the device. + +--- + +**`delay_in_setting_on_device`** + +Delay in setting code on device. + +--- + +**`delay_in_removing_from_device`** + +Delay in removing code from device. + +--- + +**`third_party_integration_detected`** + +Third-party integration detected that may cause access codes to fail. + +--- + +**`august_device_programming_delay`** + +Access code has not yet been fully moved to the device. + +--- + +**`august_lock_temporarily_offline`** + +August lock is temporarily offline. + +--- + +**`igloo_algopin_must_be_used_within_24_hours`** + +Algopins must be used within 24 hours. + +--- + +**`management_transferred`** + +Management was transferred to another workspace. + +--- + +**`kwikset_unable_to_confirm_code`** + +Unable to confirm that the access code is set on Kwikset device. + +--- + +## Endpoints + + +[**`/access_codes/unmanaged/convert_to_managed`**](./convert_to_managed.md) + +Converts an [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) to an [access code managed through Seam](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + + +[**`/access_codes/unmanaged/delete`**](./delete.md) + +Deletes an [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes). + + +[**`/access_codes/unmanaged/get`**](./get.md) + +Returns a specified [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes). + + +[**`/access_codes/unmanaged/list`**](./list.md) + +Returns a list of all [unmanaged access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes). + + +[**`/access_codes/unmanaged/update`**](./update.md) + +Updates a specified [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes). + + diff --git a/docs/api/access_codes/unmanaged/convert_to_managed.md b/docs/api/access_codes/unmanaged/convert_to_managed.md new file mode 100644 index 00000000..0bc7123c --- /dev/null +++ b/docs/api/access_codes/unmanaged/convert_to_managed.md @@ -0,0 +1,62 @@ +# Convert an Unmanaged Access Code + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Converts an [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes) to an [access code managed through Seam](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + +An unmanaged access code has a limited set of operations that you can perform on it. Once you convert an unmanaged access code to a managed access code, the full set of access code operations and lifecycle events becomes available for it. + +Note that not all device providers support converting an unmanaged access code to a managed access code. + +{% tabs %} +{% tab title="Signature" %} +``` +PATCH /access_codes/unmanaged/convert_to_managed ⇒ void +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`access_code_id`** *String* (Required) + +ID of the unmanaged access code that you want to convert to a managed access code. + +--- + +**`allow_external_modification`** *Boolean* + +Indicates whether external modification of the access code is allowed. + +--- + +**`force`** *Boolean* + +Indicates whether to force the access code conversion. To switch management of an access code from one Seam workspace to another, set `force` to `true`. + +--- + +**`is_external_modification_allowed`** *Boolean* + +Indicates whether external modification of the access code is allowed. + +--- + + +## Response + +void diff --git a/docs/api/access_codes/unmanaged/delete.md b/docs/api/access_codes/unmanaged/delete.md new file mode 100644 index 00000000..25eb0a93 --- /dev/null +++ b/docs/api/access_codes/unmanaged/delete.md @@ -0,0 +1,40 @@ +# Delete an Unmanaged Access Code + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Deletes an [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes). + +{% tabs %} +{% tab title="Signature" %} +``` +POST /access_codes/unmanaged/delete ⇒ void +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`access_code_id`** *String* (Required) + +ID of the unmanaged access code to delete. + +--- + + +## Response + +void diff --git a/docs/api/access_codes/unmanaged/get.md b/docs/api/access_codes/unmanaged/get.md new file mode 100644 index 00000000..53035d0f --- /dev/null +++ b/docs/api/access_codes/unmanaged/get.md @@ -0,0 +1,63 @@ +# Get an Unmanaged Access Code + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a specified [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes). + +You must specify either `access_code_id` or both `device_id` and `code`. + +{% tabs %} +{% tab title="Signature" %} +``` +POST /access_codes/unmanaged/get ⇒ { access_code } +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`access_code_id`** *String* + +ID of the unmanaged access code that you want to get. You must specify either `access_code_id` or both `device_id` and `code`. + +--- + +**`code`** *String* + +Code of the unmanaged access code that you want to get. You must specify either `access_code_id` or both `device_id` and `code`. + +--- + +**`device_id`** *String* + +ID of the device containing the unmanaged access code that you want to get. You must specify either `access_code_id` or both `device_id` and `code`. + +--- + + +## Response + +[unmanaged\_access\_code](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of unmanaged_access_code +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/unmanaged/list.md b/docs/api/access_codes/unmanaged/list.md new file mode 100644 index 00000000..439b309e --- /dev/null +++ b/docs/api/access_codes/unmanaged/list.md @@ -0,0 +1,55 @@ +# List Unmanaged Access Codes + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [unmanaged access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes). + +{% tabs %} +{% tab title="Signature" %} +``` +POST /access_codes/unmanaged/list ⇒ { access_codes: [unmanaged_access_code, …] } +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_id`** *String* (Required) + +ID of the device for which you want to list unmanaged access codes. + +--- + +**`user_identifier_key`** *String* + +Your user ID for the user by which to filter unmanaged access codes. + +--- + + +## Response + +Array of [unmanaged\_access\_codes](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of unmanaged_access_code +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/unmanaged/update.md b/docs/api/access_codes/unmanaged/update.md new file mode 100644 index 00000000..a7fd10c5 --- /dev/null +++ b/docs/api/access_codes/unmanaged/update.md @@ -0,0 +1,62 @@ +# Update an Unmanaged Access Code + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Updates a specified [unmanaged access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/migrating-existing-access-codes). + +{% tabs %} +{% tab title="Signature" %} +``` +PATCH /access_codes/unmanaged/update ⇒ void +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`access_code_id`** *String* (Required) + +ID of the unmanaged access code that you want to update. + +--- + +**`is_managed`** *Boolean* (Required) + +--- + +**`allow_external_modification`** *Boolean* + +Indicates whether [external modification](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#external-modification) of the code is allowed. + +--- + +**`force`** *Boolean* + +Indicates whether to force the unmanaged access code update. + +--- + +**`is_external_modification_allowed`** *Boolean* + +Indicates whether [external modification](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#external-modification) of the code is allowed. + +--- + + +## Response + +void diff --git a/docs/api/access_codes/update.md b/docs/api/access_codes/update.md new file mode 100644 index 00000000..92c7a07e --- /dev/null +++ b/docs/api/access_codes/update.md @@ -0,0 +1,140 @@ +# Update an Access Code + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Updates a specified active or upcoming [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes). + +See also [Modifying Access Codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/modifying-access-codes). + +{% tabs %} +{% tab title="Signature" %} +``` +PUT /access_codes/update ⇒ void +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`access_code_id`** *String* (Required) + +ID of the access code that you want to update. + +--- + +**`allow_external_modification`** *Boolean* + +Indicates whether [external modification](https://docs.seam.co/latest/api/access_codes#external-modification) of the code is allowed. Default: `false`. + +--- + +**`attempt_for_offline_device`** *Boolean* + +--- + +**`code`** *String* + +Code to be used for access. + +--- + +**`device_id`** *String* + +ID of the device containing the access code that you want to update. + +--- + +**`ends_at`** *String* + +Date and time at which the validity of the new access code ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. + +--- + +**`is_external_modification_allowed`** *Boolean* + +Indicates whether [external modification](https://docs.seam.co/latest/api/access_codes#external-modification) of the code is allowed. Default: `false`. + +--- + +**`is_managed`** *Boolean* + +Indicates whether the access code is managed through Seam. Note that to convert an unmanaged access code into a managed access code, use `/access_codes/unmanaged/convert_to_managed`. + +--- + +**`is_offline_access_code`** *Boolean* + +Indicates whether the access code is an [offline access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/offline-access-codes). + +--- + +**`is_one_time_use`** *Boolean* + +Indicates whether the [offline access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/offline-access-codes) is a single-use access code. + +--- + +**`max_time_rounding`** *String* + +Maximum rounding adjustment. To create a daily-bound [offline access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/offline-access-codes) for devices that support this feature, set this parameter to `1d`. + +--- + +**`name`** *String* + +Name of the new access code. + +--- + +**`prefer_native_scheduling`** *Boolean* + +Indicates whether [native scheduling](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes#native-scheduling) should be used for time-bound codes when supported by the provider. Default: `true`. + +--- + +**`preferred_code_length`** *Number* + +Preferred code length. Only applicable if you do not specify a `code`. If the affected device does not support the preferred code length, Seam reverts to using the shortest supported code length. + +--- + +**`starts_at`** *String* + +Date and time at which the validity of the new access code starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. + +--- + +**`type`** *String* + +Type to which you want to convert the access code. To convert a time-bound access code to an ongoing access code, set `type` to `ongoing`. See also [Changing a time-bound access code to permanent access](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/modifying-access-codes#special-case-2-changing-a-time-bound-access-code-to-permanent-access). + +--- + +**`use_backup_access_code_pool`** *Boolean* + +Indicates whether to use a [backup access code pool](https://docs.seam.co/latest/core-concepts/access-codes#backup-access-codes) provided by Seam. If `true`, you can use [`/access_codes/pull_backup_access_code`](../../api-clients/access_codes/pull_backup_access_code.md). + +--- + +**`use_offline_access_code`** *Boolean* + +--- + + +## Response + +void diff --git a/docs/api/access_codes/update_multiple.md b/docs/api/access_codes/update_multiple.md new file mode 100644 index 00000000..358f7d78 --- /dev/null +++ b/docs/api/access_codes/update_multiple.md @@ -0,0 +1,62 @@ +# Update Multiple Linked Access Codes + +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Updates [access codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that share a common code across multiple devices. + +Specify the `common_code_key` to identify the set of access codes that you want to update. + +See also [Update Linked Access Codes](../../capability-guides/smart-locks/access-codes/creating-and-updating-multiple-linked-access-codes.md#update-linked-access-codes). + +{% tabs %} +{% tab title="Signature" %} +``` +PATCH /access_codes/update_multiple ⇒ void +``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`common_code_key`** *String* (Required) + +Key that links the group of access codes, assigned on creation by `/access_codes/create_multiple`. + +--- + +**`ends_at`** *String* + +Date and time at which the validity of the new access code ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. + +--- + +**`name`** *String* + +Name of the new access code. + +--- + +**`starts_at`** *String* + +Date and time at which the validity of the new access code starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. + +--- + + +## Response + +void diff --git a/docs/api/acs/README.md b/docs/api/acs/README.md index da76448f..f7f0c9bc 100644 --- a/docs/api/acs/README.md +++ b/docs/api/acs/README.md @@ -2,7 +2,7 @@ description: Systems for managing and monitoring access to physical spaces --- -# Access Control Systems +# Access Control Systems (ACS) Access control systems centralize access authorization for buildings, which means that you can use a single system to grant users access to one or more entrances. An access control system manages the following elements: @@ -21,6 +21,8 @@ To grant access using the Seam access control system API, use the following basi ## Resources +The Access Control Systems (ACS) namespace contains the following resources: + ### [`acs_system`](./systems/README.md#acs_system) Represents an [access control system](https://docs.seam.co/latest/capability-guides/access-systems). @@ -28,6 +30,7 @@ Within an `acs_system`, create [`acs_user`s](https://docs.seam.co/latest/api/acs For details about the resources associated with an access control system, see the [access control systems namespace](https://docs.seam.co/latest/api/acs). +--- ### [`acs_user`](./users/README.md#acs_user) Represents a [user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in an [access control system](https://docs.seam.co/latest/capability-guides/access-systems). @@ -35,11 +38,13 @@ An `acs_user` typically refers to an individual who requires access, like an emp For details about how to configure `acs_user`s in your access control system, see the corresponding [system integration guide](../../device-and-system-integration-guides/overview.md#access-control-systems). +--- ### [`acs_entrance`](./entrances/README.md#acs_entrance) Represents an [entrance](../../capability-guides/access-systems/retrieving-entrance-details.md) within an [access control system](https://docs.seam.co/latest/capability-guides/access-systems). In an access control system, an entrance is a secured door, gate, zone, or other method of entry. You can list details for all the `acs_entrance` resources in your workspace or get these details for a specific `acs_entrance`. You can also list all entrances associated with a specific credential, and you can list all credentials associated with a specific entrance. +--- ### [`acs_access_group`](./access_groups/README.md#acs_access_group) Group that defines the entrances to which a set of users has access and, in some cases, the access schedule for these entrances and users. @@ -47,6 +52,7 @@ Some access control systems use [access group](https://docs.seam.co/latest/capab To learn whether your access control system supports access groups, see the corresponding [system integration guide](../../device-and-system-integration-guides/overview.md#access-control-systems). +--- ### [`acs_credential`](./credentials/README.md#acs_credential) Means by which an [access control system user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) gains access at an [entrance](../../capability-guides/access-systems/retrieving-entrance-details.md). The `acs_credential` object represents a [credential](../../capability-guides/access-systems/managing-credentials.md) that provides an ACS user access within an [access control system](https://docs.seam.co/latest/capability-guides/access-systems). @@ -54,6 +60,7 @@ An access control system generally uses digital means of access to authorize a u For each `acs_credential`, you define the access method. You can also specify additional properties, such as a PIN code, depending on the credential type. +--- ### [`acs_encoder`](./encoders/README.md#acs_encoder) Represents a hardware device that encodes [credential](../../capability-guides/access-systems/managing-credentials.md) data onto physical cards within an [access control system](https://docs.seam.co/latest/capability-guides/access-systems). @@ -70,3 +77,4 @@ Separately, the Seam API also supports card scanning, which enables you to scan To verify if your access control system requires a card encoder, see the corresponding [system integration guide](../../device-and-system-integration-guides/overview.md#access-control-systems). +--- diff --git a/docs/api/acs/access_groups/README.md b/docs/api/acs/access_groups/README.md index 62031cc8..5577680b 100644 --- a/docs/api/acs/access_groups/README.md +++ b/docs/api/acs/access_groups/README.md @@ -1,6 +1,13 @@ # Access Groups -## `acs_access_group` +## The acs_access_group Object + +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) + Group that defines the entrances to which a set of users has access and, in some cases, the access schedule for these entrances and users. @@ -8,210 +15,250 @@ Some access control systems use [access group](https://docs.seam.co/latest/capab To learn whether your access control system supports access groups, see the corresponding [system integration guide](../../../device-and-system-integration-guides/overview.md#access-control-systems). -### `access_group_type` +{% tabs %} +{% tab title="JSON" %} +```json +{ + access_group_type: [example value], + access_group_type_display_name: [example value], + acs_access_group_id: [example value], + acs_system_id: [example value], + created_at: [example value], + display_name: [example value], + external_type: [example value], + external_type_display_name: [example value], + is_managed: [example value], + name: [example value], + warnings: [example value], + workspace_id: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Properties + +**`access_group_type`** *Enum* {% hint style="warning" %} **Deprecated**. Use `external_type`. {% endhint %} -Format: `Enum` +
+ +Enum values -Possible enum values: - `pti_unit` - `pti_access_level` - `salto_ks_access_group` - `brivo_group` - `salto_space_group` - `dormakaba_community_access_group` +
+ --- -### `access_group_type_display_name` +**`access_group_type_display_name`** *String* {% hint style="warning" %} **Deprecated**. Use `external_type_display_name`. {% endhint %} -Format: `String` --- -### `acs_access_group_id` - -Format: `UUID` +**`acs_access_group_id`** *UUID* ID of the access group. ---- -### `acs_system_id` +--- -Format: `UUID` +**`acs_system_id`** *UUID* ID of the access control system that contains the access group. ---- -### `created_at` +--- -Format: `Datetime` +**`created_at`** *Datetime* Date and time at which the access group was created. + --- -### `display_name` +**`display_name`** *String* -Format: `String` --- -### `external_type` - -Format: `Enum` +**`external_type`** *Enum* Brand-specific terminology for the access group type. -Possible enum values: +
+ +Enum values + - `pti_unit` - `pti_access_level` - `salto_ks_access_group` - `brivo_group` - `salto_space_group` - `dormakaba_community_access_group` +
---- -### `external_type_display_name` +--- -Format: `String` +**`external_type_display_name`** *String* Display name that corresponds to the brand-specific terminology for the access group type. + --- -### `is_managed` +**`is_managed`** *Boolean* -Format: `Boolean` --- -### `name` - -Format: `String` +**`name`** *String* Name of the access group. ---- - -### `warnings` -Format: `List` +--- -Item format: `Object` +**`warnings`** *List* *of Objects* Warnings associated with the `acs_access_group`.
-created_at Format: Datetime +Child Object Properties -Date and time at which Seam created the warning. -
-
+- created_at Datetime -message Format: String + Date and time at which Seam created the warning. -Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. -
-
-warning_code Format: String -Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. -
---- +- message String -### `workspace_id` + Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. -Format: `UUID` -ID of the [workspace](../../../core-concepts/workspaces/README.md) that contains the access group. ---- +- warning_code String -## Endpoints + Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. -### [`/acs/access_groups/add_user`](./add_user.md) -Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). -### [`/acs/access_groups/get`](./get.md) + -Returns a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). -### [`/acs/access_groups/list`](./list.md) -Returns a list of all [access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). -### [`/acs/access_groups/list_accessible_entrances`](./list_accessible_entrances.md) +--- -Returns a list of all accessible entrances for a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). -### [`/acs/access_groups/list_users`](./list_users.md) +**`workspace_id`** *UUID* -Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in an [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). -### [`/acs/access_groups/remove_user`](./remove_user.md) +ID of the [workspace](../../../core-concepts/workspaces/README.md) that contains the access group. -Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). --- + ## Events -### `acs_access_group.deleted` +**`acs_access_group.deleted`** An ACS access group was deleted.
-acs_access_group_id Format: UUID -
-
+Properties -acs_system_id Format: UUID +- acs_access_group_id UUID -ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-
-connected_account_id Format: UUID -ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -
-
+- acs_system_id UUID -created_at Format: Datetime + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -Date and time at which the event was created. -
-
-event_id Format: UUID -ID of the event. -
-
+- connected_account_id UUID -event_type Format: String -
-
+ ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -occurred_at Format: Datetime -Date and time at which the event occurred. -
-
-workspace_id Format: UUID +- created_at Datetime + + Date and time at which the event was created. + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + -ID of the [workspace](../../../core-concepts/workspaces/README.md).
+ --- +## Endpoints + + +[**`/acs/access_groups/add_user`**](./add_user.md) + +Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + + +[**`/acs/access_groups/get`**](./get.md) + +Returns a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + + +[**`/acs/access_groups/list`**](./list.md) + +Returns a list of all [access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + + +[**`/acs/access_groups/list_accessible_entrances`**](./list_accessible_entrances.md) + +Returns a list of all accessible entrances for a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + + +[**`/acs/access_groups/list_users`**](./list_users.md) + +Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in an [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + + +[**`/acs/access_groups/remove_user`**](./remove_user.md) + +Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + + diff --git a/docs/api/acs/access_groups/add_user.md b/docs/api/acs/access_groups/add_user.md index 983d0541..06960814 100644 --- a/docs/api/acs/access_groups/add_user.md +++ b/docs/api/acs/access_groups/add_user.md @@ -1,14 +1,60 @@ # Add an ACS User to an Access Group +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + +{% tabs %} +{% tab title="Signature" %} ``` PUT /acs/access_groups/add_user ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_access_group_id`** *String* (Required) + +ID of the desired access group. + +--- + +**`acs_user_id`** *String* (Required) + +ID of the desired user. + +--- -Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + +## Response + +void + +--- + +## Examples + +### Add an ACS user to an access group + +Specify the `acs_access_group_id` and `acs_user_id` to add an ACS user to an access group. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.accessGroups.addUser({ @@ -17,7 +63,7 @@ await seam.acs.accessGroups.addUser({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +71,7 @@ await seam.acs.accessGroups.addUser({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.access_groups.add_user( @@ -34,7 +80,7 @@ seam.acs.access_groups.add_user( ) ``` -#### Response +#### Output ```python None @@ -42,7 +88,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.access_groups.add_user( @@ -51,7 +97,7 @@ seam.acs.access_groups.add_user( ) ``` -#### Response +#### Output ```ruby nil @@ -59,7 +105,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->access_groups->add_user( ); ``` -#### Response +#### Output ```php null @@ -77,13 +123,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs access-groups add-user --acs_access_group_id "44444444-4444-4444-4444-444444444444" --acs_user_id "33333333-3333-3333-3333-333333333333" ``` -#### Response +#### Output ```seam_cli {} @@ -91,7 +137,7 @@ seam acs access-groups add-user --acs_access_group_id "44444444-4444-4444-4444-4 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -110,7 +156,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -119,32 +165,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_access_group_id` - -Type: `string` -Required: Yes - -ID of the desired access group. - -*** - -### `acs_user_id` -Type: `string` -Required: Yes - -ID of the desired user. - -*** - -## Return Type - -void diff --git a/docs/api/acs/access_groups/get.md b/docs/api/acs/access_groups/get.md index e33a8cb1..efb8009c 100644 --- a/docs/api/acs/access_groups/get.md +++ b/docs/api/acs/access_groups/get.md @@ -1,14 +1,63 @@ # Get an Access Group +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/access_groups/get ⇒ { acs_access_group } ``` +{% endtab %} +{% endtabs %} -Returns a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_access_group_id`** *String* (Required) + +ID of the desired access group. + +--- + + +## Response + +[acs\_access\_group](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_access_group +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Get a specific access group + +Specify the `acs_access_group_id` of the access group that you want to retrieve. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.accessGroups.get({ @@ -16,7 +65,7 @@ await seam.acs.accessGroups.get({ }); ``` -#### Response +#### Output ```javascript { @@ -35,13 +84,13 @@ await seam.acs.accessGroups.get({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.access_groups.get(acs_access_group_id="44444444-4444-4444-4444-444444444444") ``` -#### Response +#### Output ```python AcsAccessGroup( @@ -60,13 +109,13 @@ AcsAccessGroup( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.access_groups.get(acs_access_group_id: "44444444-4444-4444-4444-444444444444") ``` -#### Response +#### Output ```ruby { @@ -85,7 +134,7 @@ seam.acs.access_groups.get(acs_access_group_id: "44444444-4444-4444-4444-4444444 {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->access_groups->get( ); ``` -#### Response +#### Output ```php acs->access_groups->get( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs access-groups get --acs_access_group_id "44444444-4444-4444-4444-444444444444" ``` -#### Response +#### Output ```seam_cli { @@ -139,7 +188,7 @@ seam acs access-groups get --acs_access_group_id "44444444-4444-4444-4444-444444 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -157,7 +206,7 @@ func main() { } ``` -#### Response +#### Output ```go api.AcsAccessGroup{AcsAccessGroupId: "44444444-4444-4444-4444-444444444444", Name: "Lobby Access", DisplayName: "Lobby Access", AccessGroupTypeDisplayName: "PTI access level", AccessGroupType: "pti_access_level", ExternalType: "pti_access_level", ExternalTypeDisplayName: "PTI access level", AcsSystemId: "11111111-1111-1111-1111-111111111111", WorkspaceId: "00000000-0000-0000-0000-000000000000", CreatedAt: "2023-11-30T06:27:15.437Z"} @@ -166,23 +215,4 @@ api.AcsAccessGroup{AcsAccessGroupId: "44444444-4444-4444-4444-444444444444", Nam {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_access_group_id` - -Type: `string` -Required: Yes -ID of the desired access group. - -*** - -## Return Type - -[acs\_access\_group](./) diff --git a/docs/api/acs/access_groups/list.md b/docs/api/acs/access_groups/list.md index 103b790b..a2092ee9 100644 --- a/docs/api/acs/access_groups/list.md +++ b/docs/api/acs/access_groups/list.md @@ -1,14 +1,69 @@ # List Access Groups +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/access_groups/list ⇒ { acs_access_groups: [acs_access_group, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_system_id`** *String* + +ID of the access control system for which you want to retrieve all access groups. + +--- + +**`acs_user_id`** *String* + +ID of the user for which you want to retrieve all access groups. + +--- + + +## Response + +Array of [acs\_access\_groups](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_access_group +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List access groups + +To filter the list of access groups, include an `acs_system_id` or `acs_user_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.accessGroups.list({ @@ -17,7 +72,7 @@ await seam.acs.accessGroups.list({ }); ``` -#### Response +#### Output ```javascript [ @@ -38,7 +93,7 @@ await seam.acs.accessGroups.list({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.access_groups.list( @@ -47,7 +102,7 @@ seam.acs.access_groups.list( ) ``` -#### Response +#### Output ```python [ @@ -68,7 +123,7 @@ seam.acs.access_groups.list( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.access_groups.list( @@ -77,7 +132,7 @@ seam.acs.access_groups.list( ) ``` -#### Response +#### Output ```ruby [ @@ -98,7 +153,7 @@ seam.acs.access_groups.list( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->access_groups->list( ); ``` -#### Response +#### Output ```php acs->access_groups->list( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs access-groups list --acs_system_id "11111111-1111-1111-1111-111111111111" --acs_user_id "33333333-3333-3333-3333-333333333333" ``` -#### Response +#### Output ```seam_cli [ @@ -157,7 +212,7 @@ seam acs access-groups list --acs_system_id "11111111-1111-1111-1111-11111111111 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -176,7 +231,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.AcsAccessGroup{api.AcsAccessGroup{AcsAccessGroupId: "44444444-4444-4444-4444-444444444444", Name: "Lobby Access", DisplayName: "Lobby Access", AccessGroupTypeDisplayName: "PTI access level", AccessGroupType: "pti_access_level", ExternalType: "pti_access_level", ExternalTypeDisplayName: "PTI access level", AcsSystemId: "11111111-1111-1111-1111-111111111111", WorkspaceId: "00000000-0000-0000-0000-000000000000", CreatedAt: "2023-11-30T06:27:15.437Z"}} @@ -185,32 +240,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_system_id` - -Type: `string` -Required: No - -ID of the access control system for which you want to retrieve all access groups. - -*** - -### `acs_user_id` - -Type: `string` -Required: No - -ID of the user for which you want to retrieve all access groups. - -*** - -## Return Type -Array<[acs\_access\_group](./)> diff --git a/docs/api/acs/access_groups/list_accessible_entrances.md b/docs/api/acs/access_groups/list_accessible_entrances.md index 265ab76d..19fa4e62 100644 --- a/docs/api/acs/access_groups/list_accessible_entrances.md +++ b/docs/api/acs/access_groups/list_accessible_entrances.md @@ -1,14 +1,63 @@ # List Entrances Accessible to an Access Group +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all accessible entrances for a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/access_groups/list_accessible_entrances ⇒ { acs_entrances: [acs_entrance, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all accessible entrances for a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_access_group_id`** *String* (Required) + +ID of the access group for which you want to retrieve all accessible entrances. + +--- + + +## Response + +Array of [acs\_entrances](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_entrance +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List accessible entrances for an access group + +Specify the `acs_access_group_id` to retrieve all accessible entrances for an access group. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.accessGroups.listAccessibleEntrances({ @@ -16,7 +65,7 @@ await seam.acs.accessGroups.listAccessibleEntrances({ }); ``` -#### Response +#### Output ```javascript [ @@ -33,7 +82,7 @@ await seam.acs.accessGroups.listAccessibleEntrances({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.access_groups.list_accessible_entrances( @@ -41,7 +90,7 @@ seam.acs.access_groups.list_accessible_entrances( ) ``` -#### Response +#### Output ```python [ @@ -58,7 +107,7 @@ seam.acs.access_groups.list_accessible_entrances( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.access_groups.list_accessible_entrances( @@ -66,7 +115,7 @@ seam.acs.access_groups.list_accessible_entrances( ) ``` -#### Response +#### Output ```ruby [ @@ -83,7 +132,7 @@ seam.acs.access_groups.list_accessible_entrances( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->access_groups->list_accessible_entrances( ); ``` -#### Response +#### Output ```php acs->access_groups->list_accessible_entrances( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs access-groups list-accessible-entrances --acs_access_group_id "44444444-4444-4444-4444-444444444444" ``` -#### Response +#### Output ```seam_cli [ @@ -133,7 +182,7 @@ seam acs access-groups list-accessible-entrances --acs_access_group_id "44444444 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -151,7 +200,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.AcsEntrance{api.AcsEntrance{AcsEntranceId: "66666666-6666-6666-6666-666666666666", Name: "Main Entrance", DisplayName: "Main Entrance", AcsSystemId: "11111111-1111-1111-1111-111111111111", WorkspaceId: "00000000-0000-0000-0000-000000000000", CreatedAt: "2024-10-15T12:00:00.000Z"}} @@ -160,23 +209,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_access_group_id` - -Type: `string` -Required: Yes - -ID of the access group for which you want to retrieve all accessible entrances. - -*** - -## Return Type -Array<[acs\_entrance](./)> diff --git a/docs/api/acs/access_groups/list_users.md b/docs/api/acs/access_groups/list_users.md index c366a94a..9872c0bd 100644 --- a/docs/api/acs/access_groups/list_users.md +++ b/docs/api/acs/access_groups/list_users.md @@ -1,14 +1,63 @@ # List ACS Users in an Access Group +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in an [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/access_groups/list_users ⇒ { acs_users: [acs_user, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in an [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_access_group_id`** *String* (Required) + +ID of the access group for which you want to retrieve all users. + +--- + + +## Response + +Array of [acs\_users](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_user +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List ACS users in an access group + +Specify the `acs_access_group_id` to retrieve all ACS users in an access group. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.accessGroups.listUsers({ @@ -16,7 +65,7 @@ await seam.acs.accessGroups.listUsers({ }); ``` -#### Response +#### Output ```javascript [ @@ -45,7 +94,7 @@ await seam.acs.accessGroups.listUsers({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.access_groups.list_users( @@ -53,7 +102,7 @@ seam.acs.access_groups.list_users( ) ``` -#### Response +#### Output ```python [ @@ -82,13 +131,13 @@ seam.acs.access_groups.list_users( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.access_groups.list_users(acs_access_group_id: "44444444-4444-4444-4444-444444444444") ``` -#### Response +#### Output ```ruby [ @@ -117,7 +166,7 @@ seam.acs.access_groups.list_users(acs_access_group_id: "44444444-4444-4444-4444- {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->access_groups->list_users( ); ``` -#### Response +#### Output ```php acs->access_groups->list_users( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs access-groups list-users --acs_access_group_id "44444444-4444-4444-4444-444444444444" ``` -#### Response +#### Output ```seam_cli [ @@ -191,7 +240,7 @@ seam acs access-groups list-users --acs_access_group_id "44444444-4444-4444-4444 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -209,7 +258,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.AcsUser{api.AcsUser{AcsUserId: "33333333-3333-3333-3333-333333333333", DisplayName: "Jane Doe", FullName: "Jane Doe", Email: "jane@example.com", EmailAddress: "jane@example.com", PhoneNumber: "+15555550100", AcsSystemId: "11111111-1111-1111-1111-111111111111", WorkspaceId: "00000000-0000-0000-0000-000000000000", CreatedAt: "2024-04-05T07:14:28.531Z", IsSuspended: false, AccessSchedule: api.AcsUserAccessSchedule{StartsAt: "2024-03-01T10:40:00.000Z", EndsAt: "2024-03-04T10:40:00.000Z"}, UserIdentityId: "22222222-2222-2222-2222-222222222222", UserIdentityFullName: "Jane Doe", UserIdentityEmailAddress: "jane@example.com", UserIdentityPhoneNumber: "+15555550100"}} @@ -218,23 +267,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_access_group_id` - -Type: `string` -Required: Yes - -ID of the access group for which you want to retrieve all users. - -*** - -## Return Type -Array<[acs\_user](./)> diff --git a/docs/api/acs/access_groups/remove_user.md b/docs/api/acs/access_groups/remove_user.md index 6902f839..6d1f3860 100644 --- a/docs/api/acs/access_groups/remove_user.md +++ b/docs/api/acs/access_groups/remove_user.md @@ -1,14 +1,60 @@ # Remove an ACS User from an Access Group +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/access_groups/remove_user ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_access_group_id`** *String* (Required) + +ID of the desired access group. + +--- + +**`acs_user_id`** *String* (Required) + +ID of the desired user. + +--- -Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + +## Response + +void + +--- + +## Examples + +### Remove an ACS user from an access group + +Specify the `acs_access_group_id` and `acs_user_id` to remove an ACS user from an access group. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.accessGroups.removeUser({ @@ -17,7 +63,7 @@ await seam.acs.accessGroups.removeUser({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +71,7 @@ await seam.acs.accessGroups.removeUser({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.access_groups.remove_user( @@ -34,7 +80,7 @@ seam.acs.access_groups.remove_user( ) ``` -#### Response +#### Output ```python None @@ -42,7 +88,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.access_groups.remove_user( @@ -51,7 +97,7 @@ seam.acs.access_groups.remove_user( ) ``` -#### Response +#### Output ```ruby nil @@ -59,7 +105,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->access_groups->remove_user( ); ``` -#### Response +#### Output ```php null @@ -77,13 +123,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs access-groups remove-user --acs_access_group_id "44444444-4444-4444-4444-444444444444" --acs_user_id "33333333-3333-3333-3333-333333333333" ``` -#### Response +#### Output ```seam_cli {} @@ -91,7 +137,7 @@ seam acs access-groups remove-user --acs_access_group_id "44444444-4444-4444-444 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -110,7 +156,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -119,32 +165,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_access_group_id` - -Type: `string` -Required: Yes - -ID of the desired access group. - -*** - -### `acs_user_id` -Type: `string` -Required: Yes - -ID of the desired user. - -*** - -## Return Type - -void diff --git a/docs/api/acs/credentials/README.md b/docs/api/acs/credentials/README.md index 1a69523e..8e9c4cc2 100644 --- a/docs/api/acs/credentials/README.md +++ b/docs/api/acs/credentials/README.md @@ -1,6 +1,13 @@ # Credentials -## `acs_credential` +## The acs_credential Object + +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) + Means by which an [access control system user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) gains access at an [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md). The `acs_credential` object represents a [credential](../../../capability-guides/access-systems/managing-credentials.md) that provides an ACS user access within an [access control system](https://docs.seam.co/latest/capability-guides/access-systems). @@ -8,142 +15,182 @@ An access control system generally uses digital means of access to authorize a u For each `acs_credential`, you define the access method. You can also specify additional properties, such as a PIN code, depending on the credential type. -### `access_method` - -Format: `Enum` +{% tabs %} +{% tab title="JSON" %} +```json +{ + access_method: [example value], + acs_credential_id: [example value], + acs_credential_pool_id: [example value], + acs_system_id: [example value], + acs_user_id: [example value], + assa_abloy_vostio_metadata: [example value], + card_number: [example value], + code: [example value], + created_at: [example value], + display_name: [example value], + ends_at: [example value], + errors: [example value], + external_type: [example value], + external_type_display_name: [example value], + is_issued: [example value], + is_latest_desired_state_synced_with_provider: [example value], + is_managed: [example value], + is_multi_phone_sync_credential: [example value], + is_one_time_use: [example value], + issued_at: [example value], + latest_desired_state_synced_with_provider_at: [example value], + parent_acs_credential_id: [example value], + starts_at: [example value], + visionline_metadata: [example value], + warnings: [example value], + workspace_id: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Properties + +**`access_method`** *Enum* Access method for the [credential](../../../capability-guides/access-systems/managing-credentials.md). Supported values: `code`, `card`, `mobile_key`. -Possible enum values: +
+ +Enum values + - `code` - `card` - `mobile_key` +
---- -### `acs_credential_id` +--- -Format: `UUID` +**`acs_credential_id`** *UUID* ID of the [credential](../../../capability-guides/access-systems/managing-credentials.md). + --- -### `acs_credential_pool_id` +**`acs_credential_pool_id`** *UUID* -Format: `UUID` --- -### `acs_system_id` - -Format: `UUID` +**`acs_system_id`** *UUID* ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [credential](../../../capability-guides/access-systems/managing-credentials.md). ---- -### `acs_user_id` +--- -Format: `UUID` +**`acs_user_id`** *UUID* ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to whom the [credential](../../../capability-guides/access-systems/managing-credentials.md) belongs. ---- -### `assa_abloy_vostio_metadata` +--- -Format: `Object` +**`assa_abloy_vostio_metadata`** *Object* Vostio-specific metadata for the [credential](../../../capability-guides/access-systems/managing-credentials.md).
-door_names Format: List Item format: String -
-
+Child Properties -endpoint_id Format: String -
-
+- door_names List of Strings -key_id Format: String -
-
-key_issuing_request_id Format: String -
-
-override_guest_acs_entrance_ids Format: List Item format: String -
---- +- endpoint_id String -### `card_number` -Format: `String` -Number of the card associated with the [credential](../../../capability-guides/access-systems/managing-credentials.md). +- key_id String + + + +- key_issuing_request_id String + + + +- override_guest_acs_entrance_ids List of Strings + + + + --- -### `code` +**`card_number`** *String* -Format: `String` +Number of the card associated with the [credential](../../../capability-guides/access-systems/managing-credentials.md). -Access (PIN) code for the [credential](../../../capability-guides/access-systems/managing-credentials.md). --- -### `created_at` +**`code`** *String* -Format: `Datetime` +Access (PIN) code for the [credential](../../../capability-guides/access-systems/managing-credentials.md). -Date and time at which the [credential](../../../capability-guides/access-systems/managing-credentials.md) was created. --- -### `display_name` +**`created_at`** *Datetime* -Format: `String` +Date and time at which the [credential](../../../capability-guides/access-systems/managing-credentials.md) was created. -Display name that corresponds to the [credential](../../../capability-guides/access-systems/managing-credentials.md) type. --- -### `ends_at` +**`display_name`** *String* -Format: `String` +Display name that corresponds to the [credential](../../../capability-guides/access-systems/managing-credentials.md) type. -Date and time at which the [credential](../../../capability-guides/access-systems/managing-credentials.md) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. --- -### `errors` +**`ends_at`** *String* + +Date and time at which the [credential](../../../capability-guides/access-systems/managing-credentials.md) validity ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. + -Format: `List` +--- -Item format: `Object` +**`errors`** *List* *of Objects* Errors associated with the [credential](../../../capability-guides/access-systems/managing-credentials.md).
-error_code Format: String -
-
+Child Object Properties + +- error_code String + + + +- message String + -message Format: String
---- -### `external_type` -Format: `Enum` +--- + +**`external_type`** *Enum* Brand-specific terminology for the [credential](../../../capability-guides/access-systems/managing-credentials.md) type. Supported values: `pti_card`, `brivo_credential`, `hid_credential`, `visionline_card`. -Possible enum values: +
+ +Enum values + - `pti_card` - `brivo_credential` - `hid_credential` @@ -151,365 +198,448 @@ Possible enum values: - `salto_ks_credential` - `assa_abloy_vostio_key` - `salto_space_key` +
---- -### `external_type_display_name` +--- -Format: `String` +**`external_type_display_name`** *String* Display name that corresponds to the brand-specific terminology for the [credential](../../../capability-guides/access-systems/managing-credentials.md) type. ---- -### `is_issued` +--- -Format: `Boolean` +**`is_issued`** *Boolean* Indicates whether the [credential](../../../capability-guides/access-systems/managing-credentials.md) has been encoded onto a card. ---- -### `is_latest_desired_state_synced_with_provider` +--- -Format: `Boolean` +**`is_latest_desired_state_synced_with_provider`** *Boolean* Indicates whether the latest state of the [credential](../../../capability-guides/access-systems/managing-credentials.md) has been synced from Seam to the provider. + --- -### `is_managed` +**`is_managed`** *Boolean* -Format: `Boolean` --- -### `is_multi_phone_sync_credential` - -Format: `Boolean` +**`is_multi_phone_sync_credential`** *Boolean* Indicates whether the [credential](../../../capability-guides/access-systems/managing-credentials.md) is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). ---- -### `is_one_time_use` +--- -Format: `Boolean` +**`is_one_time_use`** *Boolean* Indicates whether the [credential](../../../capability-guides/access-systems/managing-credentials.md) can only be used once. If `true`, the code becomes invalid after the first use. ---- -### `issued_at` +--- -Format: `Datetime` +**`issued_at`** *Datetime* Date and time at which the [credential](../../../capability-guides/access-systems/managing-credentials.md) was encoded onto a card. ---- -### `latest_desired_state_synced_with_provider_at` +--- -Format: `Datetime` +**`latest_desired_state_synced_with_provider_at`** *Datetime* Date and time at which the state of the [credential](../../../capability-guides/access-systems/managing-credentials.md) was most recently synced from Seam to the provider. ---- -### `parent_acs_credential_id` +--- -Format: `UUID` +**`parent_acs_credential_id`** *UUID* ID of the parent [credential](../../../capability-guides/access-systems/managing-credentials.md). ---- -### `starts_at` +--- -Format: `String` +**`starts_at`** *String* Date and time at which the [credential](../../../capability-guides/access-systems/managing-credentials.md) validity starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. ---- -### `visionline_metadata` +--- -Format: `Object` +**`visionline_metadata`** *Object* Visionline-specific metadata for the [credential](../../../capability-guides/access-systems/managing-credentials.md).
-auto_join Format: Boolean -
-
+Child Properties -card_function_type Format: Enum +- auto_join Boolean -Possible enum values: -- `guest` -- `staff` -
-
-card_id Format: String -
-
-common_acs_entrance_ids Format: List Item format: UUID -
-
+- card_function_type Enum -credential_id Format: String -
-
-guest_acs_entrance_ids Format: List Item format: UUID -
-is_valid Format: Boolean +Enum values: + + - `guest` + - `staff`
-
-joiner_acs_credential_ids Format: List Item format: UUID + + +- card_id String + + + +- common_acs_entrance_ids List of UUIDs + + + +- credential_id String + + + +- guest_acs_entrance_ids List of UUIDs + + + +- is_valid Boolean + + + +- joiner_acs_credential_ids List of UUIDs + +
---- -### [`warnings`](./#warnings-1) -Format: `List` +--- -Item format: `Object` +[**`warnings`**](./#warnings) *List* *of Objects* Warnings associated with the [credential](../../../capability-guides/access-systems/managing-credentials.md). ---- -### `workspace_id` +--- -Format: `UUID` +**`workspace_id`** *UUID* ID of the [workspace](../../../core-concepts/workspaces/README.md) that contains the [credential](../../../capability-guides/access-systems/managing-credentials.md). + --- + ## Warnings -### `waiting_to_be_issued` +**`waiting_to_be_issued`** Indicates that the [credential](../../../capability-guides/access-systems/managing-credentials.md) is waiting to be issued. --- -### `schedule_externally_modified` +**`schedule_externally_modified`** Indicates that the schedule of one of the [credential](../../../capability-guides/access-systems/managing-credentials.md)'s children was modified externally. --- -### `schedule_modified` +**`schedule_modified`** Indicates that the schedule of the [credential](../../../capability-guides/access-systems/managing-credentials.md) was modified to avoid creating a credential with a start date in the past. --- -### `being_deleted` +**`being_deleted`** Indicates that the [credential](../../../capability-guides/access-systems/managing-credentials.md) is being deleted. --- -### `unknown_issue_with_acs_credential` +**`unknown_issue_with_acs_credential`** An unknown issue occurred while syncing the state of the [credential](../../../capability-guides/access-systems/managing-credentials.md) with the provider. This issue may affect the proper functioning of the credential. --- -### `needs_to_be_reissued` +**`needs_to_be_reissued`** Access permissions for the [credential](../../../capability-guides/access-systems/managing-credentials.md) have changed. [Reissue](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/creating-and-encoding-card-based-credentials.md) (re-encode) the credential. This issue may affect the proper functioning of the credential. --- -## Endpoints -### [`/acs/credentials/assign`](./assign.md) +## Events -Assigns a specified [credential](../../../capability-guides/access-systems/managing-credentials.md) to a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). -### [`/acs/credentials/create`](./create.md) +**`acs_credential.deleted`** -Creates a new [credential](../../../capability-guides/access-systems/managing-credentials.md) for a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). -### [`/acs/credentials/delete`](./delete.md) +An [ACS credential](../../../capability-guides/access-systems/managing-credentials.md) was deleted. -Deletes a specified [credential](../../../capability-guides/access-systems/managing-credentials.md). -### [`/acs/credentials/get`](./get.md) +
-Returns a specified [credential](../../../capability-guides/access-systems/managing-credentials.md). -### [`/acs/credentials/list`](./list.md) +Properties -Returns a list of all [credentials](../../../capability-guides/access-systems/managing-credentials.md). -### [`/acs/credentials/list_accessible_entrances`](./list_accessible_entrances.md) +- acs_credential_id UUID -Returns a list of all [entrances](https://docs.seam.co/latest/api/acs/entrances) to which a [credential](https://docs.seam.co/latest/api/acs/credentials) grants access. -### [`/acs/credentials/unassign`](./unassign.md) -Unassigns a specified [credential](../../../capability-guides/access-systems/managing-credentials.md) from a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). -### [`/acs/credentials/update`](./update.md) -Updates the code and ends at date and time for a specified [credential](../../../capability-guides/access-systems/managing-credentials.md). +- acs_system_id UUID ---- + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -## Events -### `acs_credential.deleted` -An [ACS credential](../../../capability-guides/access-systems/managing-credentials.md) was deleted. +- connected_account_id UUID -
+ ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -acs_credential_id Format: UUID -
-
-acs_system_id Format: UUID -ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-
+- created_at Datetime -connected_account_id Format: UUID + Date and time at which the event was created. -ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -
-
-created_at Format: Datetime -Date and time at which the event was created. -
-
+- event_id UUID -event_id Format: UUID + ID of the event. -ID of the event. -
-
-event_type Format: String -
-
-occurred_at Format: Datetime +- event_type String -Date and time at which the event occurred. -
-
-workspace_id Format: UUID -ID of the [workspace](../../../core-concepts/workspaces/README.md). +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + +
+ --- -### `acs_credential.issued` +**`acs_credential.issued`** An [ACS credential](../../../capability-guides/access-systems/managing-credentials.md) was issued.
-acs_credential_id Format: UUID -
-
+Properties -acs_system_id Format: UUID +- acs_credential_id UUID -ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-
-connected_account_id Format: UUID -ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -
-
+- acs_system_id UUID -created_at Format: Datetime + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -Date and time at which the event was created. -
-
-event_id Format: UUID -ID of the event. -
-
+- connected_account_id UUID -event_type Format: String -
-
+ ID of the [connected account](../../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- event_id UUID + + ID of the event. + + + +- event_type String -occurred_at Format: Datetime -Date and time at which the event occurred. -
-
-workspace_id Format: UUID +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + -ID of the [workspace](../../../core-concepts/workspaces/README.md).
+ --- -### `acs_credential.reissued` +**`acs_credential.reissued`** An [ACS credential](../../../capability-guides/access-systems/managing-credentials.md) was reissued.
-acs_credential_id Format: UUID -
-
+Properties -acs_system_id Format: UUID +- acs_credential_id UUID -ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-
-connected_account_id Format: UUID -ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -
-
+- acs_system_id UUID -created_at Format: Datetime + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -Date and time at which the event was created. -
-
-event_id Format: UUID -ID of the event. -
-
+- connected_account_id UUID + + ID of the [connected account](../../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + -event_type Format: String -
-
-occurred_at Format: Datetime +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + -Date and time at which the event occurred.
+ +--- + +**`acs_credential.invalidated`** + +An [ACS credential](../../../capability-guides/access-systems/managing-credentials.md) was invalidated. +
-workspace_id Format: UUID +Properties + +- acs_credential_id UUID + + + +- acs_system_id UUID + + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). + + + +- connected_account_id UUID + + ID of the [connected account](../../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + -ID of the [workspace](../../../core-concepts/workspaces/README.md).
+ --- +## Endpoints + + +[**`/acs/credentials/assign`**](./assign.md) + +Assigns a specified [credential](../../../capability-guides/access-systems/managing-credentials.md) to a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + + +[**`/acs/credentials/create`**](./create.md) + +Creates a new [credential](../../../capability-guides/access-systems/managing-credentials.md) for a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + + +[**`/acs/credentials/delete`**](./delete.md) + +Deletes a specified [credential](../../../capability-guides/access-systems/managing-credentials.md). + + +[**`/acs/credentials/get`**](./get.md) + +Returns a specified [credential](../../../capability-guides/access-systems/managing-credentials.md). + + +[**`/acs/credentials/list`**](./list.md) + +Returns a list of all [credentials](../../../capability-guides/access-systems/managing-credentials.md). + + +[**`/acs/credentials/list_accessible_entrances`**](./list_accessible_entrances.md) + +Returns a list of all [entrances](https://docs.seam.co/latest/api/acs/entrances) to which a [credential](https://docs.seam.co/latest/api/acs/credentials) grants access. + + +[**`/acs/credentials/unassign`**](./unassign.md) + +Unassigns a specified [credential](../../../capability-guides/access-systems/managing-credentials.md) from a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + + +[**`/acs/credentials/update`**](./update.md) + +Updates the code and ends at date and time for a specified [credential](../../../capability-guides/access-systems/managing-credentials.md). + + diff --git a/docs/api/acs/credentials/assign.md b/docs/api/acs/credentials/assign.md index e1cae31f..98b34886 100644 --- a/docs/api/acs/credentials/assign.md +++ b/docs/api/acs/credentials/assign.md @@ -1,14 +1,60 @@ # Assign a Credential to an ACS User +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Assigns a specified [credential](../../../capability-guides/access-systems/managing-credentials.md) to a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +{% tabs %} +{% tab title="Signature" %} ``` PATCH /acs/credentials/assign ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_credential_id`** *String* (Required) + +ID of the desired credential. + +--- + +**`acs_user_id`** *String* (Required) + +ID of the desired user. + +--- -Assigns a specified [credential](../../../capability-guides/access-systems/managing-credentials.md) to a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +## Response + +void + +--- + +## Examples + +### Assign a credential to an ACS user + +Specify the desired `acs_user_id` and `acs_credential_id` to assign a credential to an ACS user. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.credentials.assign({ @@ -17,7 +63,7 @@ await seam.acs.credentials.assign({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +71,7 @@ await seam.acs.credentials.assign({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.credentials.assign( @@ -34,7 +80,7 @@ seam.acs.credentials.assign( ) ``` -#### Response +#### Output ```python None @@ -42,7 +88,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.credentials.assign( @@ -51,7 +97,7 @@ seam.acs.credentials.assign( ) ``` -#### Response +#### Output ```ruby nil @@ -59,7 +105,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->credentials->assign( ); ``` -#### Response +#### Output ```php null @@ -77,13 +123,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs credentials assign --acs_user_id "33333333-3333-3333-3333-333333333333" --acs_credential_id "66666666-6666-6666-6666-666666666666" ``` -#### Response +#### Output ```seam_cli {} @@ -91,7 +137,7 @@ seam acs credentials assign --acs_user_id "33333333-3333-3333-3333-333333333333" {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -110,7 +156,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -119,32 +165,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_credential_id` - -Type: `string` -Required: Yes - -ID of the desired credential. - -*** - -### `acs_user_id` -Type: `string` -Required: Yes - -ID of the desired user. - -*** - -## Return Type - -void diff --git a/docs/api/acs/credentials/create.md b/docs/api/acs/credentials/create.md index af1e25bf..c440f996 100644 --- a/docs/api/acs/credentials/create.md +++ b/docs/api/acs/credentials/create.md @@ -1,14 +1,123 @@ # Create a Credential for an ACS User +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Creates a new [credential](../../../capability-guides/access-systems/managing-credentials.md) for a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/credentials/create ⇒ { acs_credential } ``` +{% endtab %} +{% endtabs %} -Creates a new [credential](../../../capability-guides/access-systems/managing-credentials.md) for a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`access_method`** *String* (Required) + +Access method for the new credential. Supported values: `code`, `card`, `mobile_key`. + +--- + +**`acs_user_id`** *String* (Required) + +ID of the ACS user to whom the new credential belongs. + +--- + +**`allowed_acs_entrance_ids`** *Array* *of UUIDs* + +Set of IDs of the [entrances](../../../capability-guides/access-systems/retrieving-entrance-details.md) for which the new credential grants access. + +--- + +**`assa_abloy_vostio_metadata`** *Object* + +Vostio-specific metadata for the new credential. + +--- + +**`code`** *String* + +Access (PIN) code for the new credential. There may be manufacturer-specific code restrictions. For details, see the applicable [device or system integration guide](../../../device-and-system-integration-guides/overview.md). + +--- + +**`credential_manager_acs_system_id`** *String* + +ACS system ID of the credential manager for the new credential. + +--- + +**`ends_at`** *String* + +Date and time at which the validity of the new credential ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. + +--- + +**`is_multi_phone_sync_credential`** *Boolean* + +Indicates whether the new credential is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). + +--- + +**`salto_space_metadata`** *Object* + +Salto Space-specific metadata for the new credential. + +--- + +**`starts_at`** *String* + +Date and time at which the validity of the new credential starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. + +--- + +**`visionline_metadata`** *Object* + +Visionline-specific metadata for the new credential. + +--- + + +## Response + +[acs\_credential](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_credential +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Create a credential for an ACS user + +Specify the `acs_user_id` and `access_method` to create a new credential. You can also specify additional parameters, depending on the `access_method`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.credentials.create({ @@ -25,7 +134,7 @@ await seam.acs.credentials.create({ }); ``` -#### Response +#### Output ```javascript { @@ -43,7 +152,7 @@ await seam.acs.credentials.create({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.credentials.create( @@ -60,7 +169,7 @@ seam.acs.credentials.create( ) ``` -#### Response +#### Output ```python AcsCredential( @@ -78,7 +187,7 @@ AcsCredential( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.credentials.create( @@ -95,7 +204,7 @@ seam.acs.credentials.create( ) ``` -#### Response +#### Output ```ruby { @@ -113,7 +222,7 @@ seam.acs.credentials.create( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->credentials->create( ); ``` -#### Response +#### Output ```php acs->credentials->create( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs credentials create --acs_user_id "33333333-3333-3333-3333-333333333333" --access_method "mobile_key" --allowed_acs_entrance_ids ["55555555-5555-5555-5555-555555555555","55555555-5555-5555-5555-000000000000"] --credential_manager_acs_system_id "88888888-8888-8888-8888-888888888888" --is_multi_phone_sync_credential true --starts_at "2024-03-01T10:40:00Z" --ends_at "2024-03-04T10:40:00Z" ``` -#### Response +#### Output ```seam_cli { @@ -174,7 +283,7 @@ seam acs credentials create --acs_user_id "33333333-3333-3333-3333-333333333333" {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -198,7 +307,7 @@ func main() { } ``` -#### Response +#### Output ```go api.AcsCredential{AcsCredentialId: "99999999-9999-9999-9999-999999999999", AcsUserId: "33333333-3333-3333-3333-333333333333", DisplayName: "Multi Phone Sync Credential", Code: nil, AcsSystemId: "88888888-8888-8888-8888-888888888888", AccessMethod: "mobile_key", WorkspaceId: "00000000-0000-0000-0000-000000000000", CreatedAt: "2024-04-12T03:56:22.396Z", IsMultiPhoneSyncCredential: true} @@ -207,113 +316,4 @@ api.AcsCredential{AcsCredentialId: "99999999-9999-9999-9999-999999999999", AcsUs {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `access_method` - -Type: `string` -Required: Yes - -Access method for the new credential. Supported values: `code`, `card`, `mobile_key`. - -*** - -### `acs_user_id` - -Type: `string` -Required: Yes - -ID of the ACS user to whom the new credential belongs. - -*** - -### `allowed_acs_entrance_ids` - -Type: `array` -Required: No - -Set of IDs of the [entrances](../../../capability-guides/access-systems/retrieving-entrance-details.md) for which the new credential grants access. - -*** - -### `assa_abloy_vostio_metadata` - -Type: `object` -Required: No - -Vostio-specific metadata for the new credential. - -*** - -### `code` - -Type: `string` -Required: No - -Access (PIN) code for the new credential. There may be manufacturer-specific code restrictions. For details, see the applicable [device or system integration guide](../../../device-and-system-integration-guides/overview.md). -*** - -### `credential_manager_acs_system_id` - -Type: `string` -Required: No - -ACS system ID of the credential manager for the new credential. - -*** - -### `ends_at` - -Type: `string` -Required: No - -Date and time at which the validity of the new credential ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after `starts_at`. - -*** - -### `is_multi_phone_sync_credential` - -Type: `boolean` -Required: No - -Indicates whether the new credential is a [multi-phone sync credential](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system#what-are-multi-phone-sync-credentials). - -*** - -### `salto_space_metadata` - -Type: `object` -Required: No - -Salto Space-specific metadata for the new credential. - -*** - -### `starts_at` - -Type: `string` -Required: No - -Date and time at which the validity of the new credential starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. - -*** - -### `visionline_metadata` - -Type: `object` -Required: No - -Visionline-specific metadata for the new credential. - -*** - -## Return Type - -[acs\_credential](./) diff --git a/docs/api/acs/credentials/delete.md b/docs/api/acs/credentials/delete.md index 9a0fee13..c177daf5 100644 --- a/docs/api/acs/credentials/delete.md +++ b/docs/api/acs/credentials/delete.md @@ -1,14 +1,54 @@ # Delete a Credential +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Deletes a specified [credential](../../../capability-guides/access-systems/managing-credentials.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/credentials/delete ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_credential_id`** *String* (Required) + +ID of the desired credential. + +--- -Deletes a specified [credential](../../../capability-guides/access-systems/managing-credentials.md). + +## Response + +void + +--- + +## Examples + +### Delete a credential + +Specify the desired `acs_credential_id` to delete the specified credential. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.credentials.delete({ @@ -16,7 +56,7 @@ await seam.acs.credentials.delete({ }); ``` -#### Response +#### Output ```javascript // void @@ -24,13 +64,13 @@ await seam.acs.credentials.delete({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.credentials.delete(acs_credential_id="66666666-6666-6666-6666-666666666666") ``` -#### Response +#### Output ```python None @@ -38,13 +78,13 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.credentials.delete(acs_credential_id: "66666666-6666-6666-6666-666666666666") ``` -#### Response +#### Output ```ruby nil @@ -52,7 +92,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->credentials->delete( ); ``` -#### Response +#### Output ```php null @@ -69,13 +109,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs credentials delete --acs_credential_id "66666666-6666-6666-6666-666666666666" ``` -#### Response +#### Output ```seam_cli {} @@ -83,7 +123,7 @@ seam acs credentials delete --acs_credential_id "66666666-6666-6666-6666-6666666 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -101,7 +141,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -110,23 +150,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. -## Request Parameters - -### `acs_credential_id` - -Type: `string` -Required: Yes - -ID of the desired credential. - -*** - -## Return Type - -void diff --git a/docs/api/acs/credentials/get.md b/docs/api/acs/credentials/get.md index 649794ce..99eb175a 100644 --- a/docs/api/acs/credentials/get.md +++ b/docs/api/acs/credentials/get.md @@ -1,14 +1,63 @@ # Get a Credential +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a specified [credential](../../../capability-guides/access-systems/managing-credentials.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/credentials/get ⇒ { acs_credential } ``` +{% endtab %} +{% endtabs %} -Returns a specified [credential](../../../capability-guides/access-systems/managing-credentials.md). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_credential_id`** *String* (Required) + +ID of the desired credential. + +--- + + +## Response + +[acs\_credential](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_credential +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Get a credential + +Specify the `acs_credential_id` of the credential that you want to retrieve. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.credentials.get({ @@ -16,7 +65,7 @@ await seam.acs.credentials.get({ }); ``` -#### Response +#### Output ```javascript { @@ -34,13 +83,13 @@ await seam.acs.credentials.get({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.credentials.get(acs_credential_id="66666666-6666-6666-6666-666666666666") ``` -#### Response +#### Output ```python AcsCredential( @@ -58,13 +107,13 @@ AcsCredential( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.credentials.get(acs_credential_id: "66666666-6666-6666-6666-666666666666") ``` -#### Response +#### Output ```ruby { @@ -82,7 +131,7 @@ seam.acs.credentials.get(acs_credential_id: "66666666-6666-6666-6666-66666666666 {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->credentials->get( ); ``` -#### Response +#### Output ```php acs->credentials->get( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs credentials get --acs_credential_id "66666666-6666-6666-6666-666666666666" ``` -#### Response +#### Output ```seam_cli { @@ -134,7 +183,7 @@ seam acs credentials get --acs_credential_id "66666666-6666-6666-6666-6666666666 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -152,7 +201,7 @@ func main() { } ``` -#### Response +#### Output ```go api.AcsCredential{AcsCredentialId: "99999999-9999-9999-9999-999999999999", AcsUserId: "33333333-3333-3333-3333-333333333333", DisplayName: "Multi Phone Sync Credential", Code: nil, AcsSystemId: "11111111-1111-1111-1111-111111111111", AccessMethod: "mobile_key", WorkspaceId: "00000000-0000-0000-0000-000000000000", CreatedAt: "2024-04-12T03:56:22.396Z", IsMultiPhoneSyncCredential: true} @@ -161,23 +210,4 @@ api.AcsCredential{AcsCredentialId: "99999999-9999-9999-9999-999999999999", AcsUs {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_credential_id` - -Type: `string` -Required: Yes -ID of the desired credential. - -*** - -## Return Type - -[acs\_credential](./) diff --git a/docs/api/acs/credentials/list.md b/docs/api/acs/credentials/list.md index 2f656b11..5d0f8ac2 100644 --- a/docs/api/acs/credentials/list.md +++ b/docs/api/acs/credentials/list.md @@ -1,14 +1,94 @@ # List Credentials +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [credentials](../../../capability-guides/access-systems/managing-credentials.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/credentials/list ⇒ { acs_credentials: [acs_credential, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [credentials](../../../capability-guides/access-systems/managing-credentials.md). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_system_id`** *String* + +ID of the access control system for which you want to retrieve all credentials. + +--- + +**`acs_user_id`** *String* + +ID of the ACS user for which you want to retrieve all credentials. + +--- + +**`created_before`** *String* + +Date and time, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format, before which events to return were created. + +--- + +**`is_multi_phone_sync_credential`** *Boolean* + +Indicates whether you want to retrieve only multi-phone sync credentials or non-multi-phone sync credentials. + +--- + +**`limit`** *Number* + +Number of credentials to return. + +--- + +**`user_identity_id`** *String* + +ID of the user identity for which you want to retrieve all credentials. + +--- + + +## Response + +Array of [acs\_credentials](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_credential +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List credentials + +Filter the list of returned credentials by `acs_user_id`, `acs_system_id`, or `user_identity_id`. You can also include `is_multi_phone_sync_credential`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.credentials.list({ @@ -19,7 +99,7 @@ await seam.acs.credentials.list({ }); ``` -#### Response +#### Output ```javascript [ @@ -39,7 +119,7 @@ await seam.acs.credentials.list({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.credentials.list( @@ -50,7 +130,7 @@ seam.acs.credentials.list( ) ``` -#### Response +#### Output ```python [ @@ -70,7 +150,7 @@ seam.acs.credentials.list( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.credentials.list( @@ -81,7 +161,7 @@ seam.acs.credentials.list( ) ``` -#### Response +#### Output ```ruby [ @@ -101,7 +181,7 @@ seam.acs.credentials.list( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->credentials->list( ); ``` -#### Response +#### Output ```php acs->credentials->list( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs credentials list --acs_user_id "33333333-3333-3333-3333-333333333333" --acs_system_id "11111111-1111-1111-1111-111111111111" --user_identity_id "22222222-2222-2222-2222-222222222222" --is_multi_phone_sync_credential true ``` -#### Response +#### Output ```seam_cli [ @@ -160,7 +240,7 @@ seam acs credentials list --acs_user_id "33333333-3333-3333-3333-333333333333" - {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -181,7 +261,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.AcsCredential{api.AcsCredential{AcsCredentialId: "99999999-9999-9999-9999-999999999999", AcsUserId: "33333333-3333-3333-3333-333333333333", DisplayName: "Multi Phone Sync Credential", Code: nil, AcsSystemId: "11111111-1111-1111-1111-111111111111", AccessMethod: "mobile_key", WorkspaceId: "00000000-0000-0000-0000-000000000000", CreatedAt: "2024-04-12T03:56:22.396Z", IsMultiPhoneSyncCredential: true}} @@ -190,69 +270,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_system_id` - -Type: `string` -Required: No - -ID of the access control system for which you want to retrieve all credentials. - -*** - -### `acs_user_id` - -Type: `string` -Required: No - -ID of the ACS user for which you want to retrieve all credentials. - -*** - -### `created_before` - -Type: `string` -Required: No - -Date and time, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format, before which events to return were created. - -*** - -### `is_multi_phone_sync_credential` - -Type: `boolean` -Required: No - -Indicates whether you want to retrieve only multi-phone sync credentials or non-multi-phone sync credentials. - -*** - -### `limit` - -Type: `number` -Required: No - -Number of credentials to return. - -*** - -### `user_identity_id` - -Type: `string` -Required: No - -ID of the user identity for which you want to retrieve all credentials. - -*** - -## Return Type -Array<[acs\_credential](./)> diff --git a/docs/api/acs/credentials/list_accessible_entrances.md b/docs/api/acs/credentials/list_accessible_entrances.md index 3dddcd87..3551ec95 100644 --- a/docs/api/acs/credentials/list_accessible_entrances.md +++ b/docs/api/acs/credentials/list_accessible_entrances.md @@ -1,14 +1,63 @@ # List Accessible Entrances +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [entrances](https://docs.seam.co/latest/api/acs/entrances) to which a [credential](https://docs.seam.co/latest/api/acs/credentials) grants access. + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/credentials/list_accessible_entrances ⇒ { acs_entrances: [acs_entrance, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [entrances](https://docs.seam.co/latest/api/acs/entrances) to which a [credential](https://docs.seam.co/latest/api/acs/credentials) grants access. +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_credential_id`** *String* (Required) + +ID of the credential for which you want to retrieve all entrances to which this credential grants access. + +--- + + +## Response + +Array of [acs\_entrances](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_entrance +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List accessible entrances + +Specify the `acs_credential_id` for which you want to retrieve all entrances to which the credential grants access. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.credentials.listAccessibleEntrances({ @@ -16,7 +65,7 @@ await seam.acs.credentials.listAccessibleEntrances({ }); ``` -#### Response +#### Output ```javascript [ @@ -43,7 +92,7 @@ await seam.acs.credentials.listAccessibleEntrances({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.credentials.list_accessible_entrances( @@ -51,7 +100,7 @@ seam.acs.credentials.list_accessible_entrances( ) ``` -#### Response +#### Output ```python [ @@ -78,7 +127,7 @@ seam.acs.credentials.list_accessible_entrances( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.credentials.list_accessible_entrances( @@ -86,7 +135,7 @@ seam.acs.credentials.list_accessible_entrances( ) ``` -#### Response +#### Output ```ruby [ @@ -108,7 +157,7 @@ seam.acs.credentials.list_accessible_entrances( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->credentials->list_accessible_entrances( ); ``` -#### Response +#### Output ```php acs->credentials->list_accessible_entrances( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs credentials list-accessible-entrances --acs_credential_id "66666666-6666-6666-6666-666666666666" ``` -#### Response +#### Output ```seam_cli [ @@ -178,7 +227,7 @@ seam acs credentials list-accessible-entrances --acs_credential_id "66666666-666 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -196,7 +245,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.AcsEntrance{api.AcsEntrance{AcsEntranceId: "55555555-5555-5555-5555-555555555555", AcsSystemId: "11111111-1111-1111-1111-111111111111", WorkspaceId: "00000000-0000-0000-0000-000000000000", VisionlineMetadata: api.AcsEntranceVisionlineMetadata{Profiles: []AcsEntranceVisionlineMetadataProfiles{api.AcsEntranceVisionlineMetadataProfilesProfiles{VisionlineDoorProfileId: "Guest Door", VisionlineDoorProfileType: "BLE"}}, DoorName: "Guest Lock 2", DoorCategory: "guest"}, LatchMetadata: nil, DisplayName: "Guest Lock 2", CreatedAt: "2024-03-26T14:31:18.979Z"}} @@ -205,23 +254,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_credential_id` - -Type: `string` -Required: Yes - -ID of the credential for which you want to retrieve all entrances to which this credential grants access. - -*** - -## Return Type -Array<[acs\_entrance](./)> diff --git a/docs/api/acs/credentials/unassign.md b/docs/api/acs/credentials/unassign.md index 187a30eb..a43b0dc0 100644 --- a/docs/api/acs/credentials/unassign.md +++ b/docs/api/acs/credentials/unassign.md @@ -1,14 +1,60 @@ # Unassign a Credential from an ACS User +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Unassigns a specified [credential](../../../capability-guides/access-systems/managing-credentials.md) from a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +{% tabs %} +{% tab title="Signature" %} ``` PATCH /acs/credentials/unassign ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_credential_id`** *String* (Required) + +ID of the desired credential. + +--- + +**`acs_user_id`** *String* (Required) + +ID of the desired user. + +--- -Unassigns a specified [credential](../../../capability-guides/access-systems/managing-credentials.md) from a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +## Response + +void + +--- + +## Examples + +### Unassign a credential from an ACS user + +Specify the desired `acs_user_id` and `acs_credential_id` to unassign the specified credential from the specified ACS user. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.credentials.unassign({ @@ -17,7 +63,7 @@ await seam.acs.credentials.unassign({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +71,7 @@ await seam.acs.credentials.unassign({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.credentials.unassign( @@ -34,7 +80,7 @@ seam.acs.credentials.unassign( ) ``` -#### Response +#### Output ```python None @@ -42,7 +88,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.credentials.unassign( @@ -51,7 +97,7 @@ seam.acs.credentials.unassign( ) ``` -#### Response +#### Output ```ruby nil @@ -59,7 +105,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->credentials->unassign( ); ``` -#### Response +#### Output ```php null @@ -77,13 +123,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs credentials unassign --acs_user_id "33333333-3333-3333-3333-333333333333" --acs_credential_id "66666666-6666-6666-6666-666666666666" ``` -#### Response +#### Output ```seam_cli {} @@ -91,7 +137,7 @@ seam acs credentials unassign --acs_user_id "33333333-3333-3333-3333-33333333333 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -110,7 +156,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -119,32 +165,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_credential_id` - -Type: `string` -Required: Yes - -ID of the desired credential. - -*** - -### `acs_user_id` -Type: `string` -Required: Yes - -ID of the desired user. - -*** - -## Return Type - -void diff --git a/docs/api/acs/credentials/update.md b/docs/api/acs/credentials/update.md index 549c4a2b..48cd4022 100644 --- a/docs/api/acs/credentials/update.md +++ b/docs/api/acs/credentials/update.md @@ -1,14 +1,66 @@ # Update a Credential +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Updates the code and ends at date and time for a specified [credential](../../../capability-guides/access-systems/managing-credentials.md). + +{% tabs %} +{% tab title="Signature" %} ``` PATCH /acs/credentials/update ⇒ void ``` +{% endtab %} +{% endtabs %} -Updates the code and ends at date and time for a specified [credential](../../../capability-guides/access-systems/managing-credentials.md). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_credential_id`** *String* (Required) + +ID of the desired credential. + +--- + +**`code`** *String* + +Replacement access (PIN) code for the credential. + +--- + +**`ends_at`** *String* + +Replacement date and time at which the validity of the credential ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after the `starts_at` value that you set when creating the credential. + +--- + + +## Response + +void + +--- + +## Examples + +### Update a credential + +Specify the desired `acs_credential_id` and updated `code` to update the credential. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.credentials.update({ @@ -17,7 +69,7 @@ await seam.acs.credentials.update({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +77,7 @@ await seam.acs.credentials.update({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.credentials.update( @@ -33,7 +85,7 @@ seam.acs.credentials.update( ) ``` -#### Response +#### Output ```python None @@ -41,13 +93,13 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.credentials.update(acs_credential_id: "66666666-6666-6666-6666-666666666666", code: "7890") ``` -#### Response +#### Output ```ruby nil @@ -55,7 +107,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->credentials->update( ); ``` -#### Response +#### Output ```php null @@ -73,13 +125,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs credentials update --acs_credential_id "66666666-6666-6666-6666-666666666666" --code "7890" ``` -#### Response +#### Output ```seam_cli {} @@ -87,7 +139,7 @@ seam acs credentials update --acs_credential_id "66666666-6666-6666-6666-6666666 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -106,7 +158,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -115,41 +167,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_credential_id` - -Type: `string` -Required: Yes - -ID of the desired credential. - -*** - -### `code` - -Type: `string` -Required: No - -Replacement access (PIN) code for the credential. - -*** -### `ends_at` - -Type: `string` -Required: No - -Replacement date and time at which the validity of the credential ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Must be a time in the future and after the `starts_at` value that you set when creating the credential. - -*** - -## Return Type - -void diff --git a/docs/api/acs/encoders/README.md b/docs/api/acs/encoders/README.md index 2e1b40f4..04e45bbc 100644 --- a/docs/api/acs/encoders/README.md +++ b/docs/api/acs/encoders/README.md @@ -1,6 +1,13 @@ # Encoders -## `acs_encoder` +## The acs_encoder Object + +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) + Represents a hardware device that encodes [credential](../../../capability-guides/access-systems/managing-credentials.md) data onto physical cards within an [access control system](https://docs.seam.co/latest/capability-guides/access-systems). @@ -17,191 +24,222 @@ Separately, the Seam API also supports card scanning, which enables you to scan To verify if your access control system requires a card encoder, see the corresponding [system integration guide](../../../device-and-system-integration-guides/overview.md#access-control-systems). -### `acs_encoder_id` +{% tabs %} +{% tab title="JSON" %} +```json +{ + acs_encoder_id: [example value], + acs_system_id: [example value], + created_at: [example value], + display_name: [example value], + errors: [example value], + workspace_id: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- -Format: `UUID` +## Properties + +**`acs_encoder_id`** *UUID* ID of the [encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners. ---- -### `acs_system_id` +--- -Format: `UUID` +**`acs_system_id`** *UUID* ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). ---- -### `created_at` +--- -Format: `Datetime` +**`created_at`** *Datetime* Date and time at which the [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) was created. ---- -### `display_name` +--- -Format: `String` +**`display_name`** *String* Display name for the [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). ---- - -### `errors` -Format: `List` +--- -Item format: `Object` +**`errors`** *List* *of Objects* Errors associated with the [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md).
-created_at Format: Datetime +Child Object Properties -Date and time at which Seam created the error. -
-
+- created_at Datetime -error_code Format: String + Date and time at which Seam created the error. -Unique identifier of the type of error. Enables quick recognition and categorization of the issue. -
-
-message Format: String -Detailed description of the error. Provides insights into the issue and potentially how to rectify it. -
---- +- error_code String -### `workspace_id` + Unique identifier of the type of error. Enables quick recognition and categorization of the issue. -Format: `UUID` -ID of the [workspace](../../../core-concepts/workspaces/README.md) that contains the [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). ---- +- message String -## Endpoints + Detailed description of the error. Provides insights into the issue and potentially how to rectify it. -### [`/acs/encoders/encode_credential`](./encode_credential.md) -Encodes an existing [credential](../../../capability-guides/access-systems/managing-credentials.md) onto a plastic card placed on the specified [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). -### [`/acs/encoders/list`](./list.md) +
-Returns a list of all [encoders](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). -### [`/acs/encoders/scan_credential`](./scan_credential.md) -Scans an encoded [acs_credential](../../../capability-guides/access-systems/managing-credentials.md) from a plastic card placed on the specified [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). +--- + +**`workspace_id`** *UUID* + +ID of the [workspace](../../../core-concepts/workspaces/README.md) that contains the [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). + --- + ## Events -### `acs_encoder.added` +**`acs_encoder.added`** An [ACS encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) was added.
-acs_encoder_id Format: UUID +Properties -ID of the [ACS encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). -
-
+- acs_encoder_id UUID -acs_system_id Format: UUID + ID of the [ACS encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). -ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-
-connected_account_id Format: UUID -ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -
-
+- acs_system_id UUID -created_at Format: Datetime + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -Date and time at which the event was created. -
-
-event_id Format: UUID -ID of the event. -
-
+- connected_account_id UUID -event_type Format: String -
-
+ ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -occurred_at Format: Datetime -Date and time at which the event occurred. -
-
-workspace_id Format: UUID +- created_at Datetime + + Date and time at which the event was created. + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + -ID of the [workspace](../../../core-concepts/workspaces/README.md).
+ --- -### `acs_encoder.removed` +**`acs_encoder.removed`** An [ACS encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) was removed.
-acs_encoder_id Format: UUID +Properties -ID of the [ACS encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). -
-
+- acs_encoder_id UUID -acs_system_id Format: UUID + ID of the [ACS encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). -ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-
-connected_account_id Format: UUID -ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -
-
+- acs_system_id UUID -created_at Format: Datetime + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -Date and time at which the event was created. -
-
-event_id Format: UUID -ID of the event. -
-
+- connected_account_id UUID -event_type Format: String -
-
+ ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -occurred_at Format: Datetime -Date and time at which the event occurred. -
-
-workspace_id Format: UUID +- created_at Datetime + + Date and time at which the event was created. + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + -ID of the [workspace](../../../core-concepts/workspaces/README.md).
+ --- +## Endpoints + + +[**`/acs/encoders/encode_credential`**](./encode_credential.md) + +Encodes an existing [credential](../../../capability-guides/access-systems/managing-credentials.md) onto a plastic card placed on the specified [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). + + +[**`/acs/encoders/list`**](./list.md) + +Returns a list of all [encoders](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). + + +[**`/acs/encoders/scan_credential`**](./scan_credential.md) + +Scans an encoded [acs_credential](../../../capability-guides/access-systems/managing-credentials.md) from a plastic card placed on the specified [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). + + diff --git a/docs/api/acs/encoders/encode_credential.md b/docs/api/acs/encoders/encode_credential.md index 680f0666..40d544be 100644 --- a/docs/api/acs/encoders/encode_credential.md +++ b/docs/api/acs/encoders/encode_credential.md @@ -1,69 +1,58 @@ # Encode a Credential +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Encodes an existing [credential](../../../capability-guides/access-systems/managing-credentials.md) onto a plastic card placed on the specified [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/encoders/encode_credential ⇒ { action_attempt } ``` +{% endtab %} +{% endtabs %} -Encodes an existing [credential](../../../capability-guides/access-systems/managing-credentials.md) onto a plastic card placed on the specified [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `acs_credential_id` +## Request Parameters -Type: `string` -Required: Yes +**`acs_credential_id`** *String* (Required) ID of the `acs_credential` to encode onto a card. -*** - -### `acs_encoder_id` - -Type: `string` -Required: Yes - -ID of the `acs_encoder` to use to encode the `acs_credential`. - -*** - -## Return Type - -[action\_attempt](./) - -### `ENCODE_CREDENTIAL` - -Action attempt to track encoding credential data from the physical encoder onto a card. - -#### `action_attempt_id` - -Format: `UUID` - -ID of the action attempt. - --- -#### `action_type` +**`acs_encoder_id`** *String* (Required) -Format: `String` - -Type of action that the action attempt tracks. +ID of the `acs_encoder` to use to encode the `acs_credential`. --- -#### `status` - -Format: `Enum` -Possible enum values: -- `success` -- `pending` -- `error` +## Response ---- +[action\_attempt](./) +**`ENCODE_CREDENTIAL`** +{% tabs %} +{% tab title="JSON" %} +```json +{ + action_attempt_id: [example value], + action_type: [example value], + status: [example value] +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/encoders/list.md b/docs/api/acs/encoders/list.md index 5705eee1..71cdaa18 100644 --- a/docs/api/acs/encoders/list.md +++ b/docs/api/acs/encoders/list.md @@ -1,55 +1,66 @@ # List Encoders +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [encoders](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/encoders/list ⇒ { acs_encoders: [acs_encoder, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [encoders](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `acs_encoder_ids` +## Request Parameters -Type: `array` -Required: No +**`acs_encoder_ids`** *Array* *of UUIDs* IDs of the `acs_encoder`s that you want to retrieve. -*** +--- -### `acs_system_id` - -Type: `string` -Required: No +**`acs_system_id`** *String* ID of the `acs_system` for which you want to retrieve all `acs_encoder`s. -*** - -### `acs_system_ids` +--- -Type: `array` -Required: No +**`acs_system_ids`** *Array* *of UUIDs* IDs of the `acs_system`s for which you want to retrieve all `acs_encoder`s. -*** - -### `limit` +--- -Type: `number` -Required: No +**`limit`** *Number* Number of `acs_encoders` to return. -*** +--- -## Return Type -Array<[acs\_encoder](./)> +## Response + +Array of [acs\_encoders](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_encoder +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/encoders/scan_credential.md b/docs/api/acs/encoders/scan_credential.md index ec39e369..101d1744 100644 --- a/docs/api/acs/encoders/scan_credential.md +++ b/docs/api/acs/encoders/scan_credential.md @@ -1,58 +1,52 @@ # Scan a Credential +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Scans an encoded [acs_credential](../../../capability-guides/access-systems/managing-credentials.md) from a plastic card placed on the specified [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/encoders/scan_credential ⇒ { action_attempt } ``` +{% endtab %} +{% endtabs %} -Scans an encoded [acs_credential](../../../capability-guides/access-systems/managing-credentials.md) from a plastic card placed on the specified [encoder](../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md). +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `acs_encoder_id` +## Request Parameters -Type: `string` -Required: Yes +**`acs_encoder_id`** *String* (Required) ID of the `acs_encoder` to use for the scan. -*** - -## Return Type - -[action\_attempt](./) - -### `SCAN_CREDENTIAL` - -Reading credential data from physical encoder. - -#### `action_attempt_id` - -Format: `UUID` - -ID of the action attempt. - --- -#### `action_type` - -Format: `String` - ---- -#### `status` +## Response -Format: `Enum` - -Possible enum values: -- `success` -- `pending` -- `error` - ---- +[action\_attempt](./) +**`SCAN_CREDENTIAL`** +{% tabs %} +{% tab title="JSON" %} +```json +{ + action_attempt_id: [example value], + action_type: [example value], + status: [example value] +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/encoders/simulate/README.md b/docs/api/acs/encoders/simulate/README.md index adf03373..91ad7fa2 100644 --- a/docs/api/acs/encoders/simulate/README.md +++ b/docs/api/acs/encoders/simulate/README.md @@ -2,15 +2,24 @@ ## Endpoints -### [`/acs/encoders/simulate/next_credential_encode_will_fail`](./next_credential_encode_will_fail.md) + +[**`/acs/encoders/simulate/next_credential_encode_will_fail`**](./next_credential_encode_will_fail.md) Simulates that the next attempt to encode a [credential](../../../../capability-guides/access-systems/managing-credentials.md) using the specified [encoder](../../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) will fail. You can only perform this action within a [sandbox workspace](../../../../core-concepts/workspaces/README.md#sandbox-workspaces). -### [`/acs/encoders/simulate/next_credential_encode_will_succeed`](./next_credential_encode_will_succeed.md) + + +[**`/acs/encoders/simulate/next_credential_encode_will_succeed`**](./next_credential_encode_will_succeed.md) Simulates that the next attempt to encode a [credential](../../../../capability-guides/access-systems/managing-credentials.md) using the specified [encoder](../../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) will succeed. You can only perform this action within a [sandbox workspace](../../../../core-concepts/workspaces/README.md#sandbox-workspaces). -### [`/acs/encoders/simulate/next_credential_scan_will_fail`](./next_credential_scan_will_fail.md) + + +[**`/acs/encoders/simulate/next_credential_scan_will_fail`**](./next_credential_scan_will_fail.md) Simulates that the next attempt to scan a [credential](../../../../capability-guides/access-systems/managing-credentials.md) using the specified [encoder](../../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) will fail. You can only perform this action within a [sandbox workspace](../../../../core-concepts/workspaces/README.md#sandbox-workspaces). -### [`/acs/encoders/simulate/next_credential_scan_will_succeed`](./next_credential_scan_will_succeed.md) + + +[**`/acs/encoders/simulate/next_credential_scan_will_succeed`**](./next_credential_scan_will_succeed.md) Simulates that the next attempt to scan a [credential](../../../../capability-guides/access-systems/managing-credentials.md) using the specified [encoder](../../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) will succeed. You can only perform this action within a [sandbox workspace](../../../../core-concepts/workspaces/README.md#sandbox-workspaces). + + diff --git a/docs/api/acs/encoders/simulate/next_credential_encode_will_fail.md b/docs/api/acs/encoders/simulate/next_credential_encode_will_fail.md index 5f919c36..b14437d2 100644 --- a/docs/api/acs/encoders/simulate/next_credential_encode_will_fail.md +++ b/docs/api/acs/encoders/simulate/next_credential_encode_will_fail.md @@ -1,46 +1,51 @@ # Simulate that the Next Credential Encoding Will Fail +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Simulates that the next attempt to encode a [credential](../../../../capability-guides/access-systems/managing-credentials.md) using the specified [encoder](../../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) will fail. You can only perform this action within a [sandbox workspace](../../../../core-concepts/workspaces/README.md#sandbox-workspaces). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/encoders/simulate/next_credential_encode_will_fail ⇒ void ``` +{% endtab %} +{% endtabs %} -Simulates that the next attempt to encode a [credential](../../../../capability-guides/access-systems/managing-credentials.md) using the specified [encoder](../../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) will fail. You can only perform this action within a [sandbox workspace](../../../../core-concepts/workspaces/README.md#sandbox-workspaces). +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `acs_encoder_id` +## Request Parameters -Type: `string` -Required: Yes +**`acs_encoder_id`** *String* (Required) ID of the `acs_encoder` that will be used in the next request to encode the `acs_credential`. -*** - -### `acs_credential_id` +--- -Type: `string` -Required: No +**`acs_credential_id`** *String* ID of the `acs_credential` that will fail to be encoded onto a card in the next request. -*** +--- -### `error_code` - -Type: `string` -Required: No +**`error_code`** *String* Code of the error to simulate. -*** +--- + -## Return Type +## Response void diff --git a/docs/api/acs/encoders/simulate/next_credential_encode_will_succeed.md b/docs/api/acs/encoders/simulate/next_credential_encode_will_succeed.md index dd3a7fbe..cf65a091 100644 --- a/docs/api/acs/encoders/simulate/next_credential_encode_will_succeed.md +++ b/docs/api/acs/encoders/simulate/next_credential_encode_will_succeed.md @@ -1,37 +1,45 @@ # Simulate that the Next Credential Encoding Will Succeed +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Simulates that the next attempt to encode a [credential](../../../../capability-guides/access-systems/managing-credentials.md) using the specified [encoder](../../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) will succeed. You can only perform this action within a [sandbox workspace](../../../../core-concepts/workspaces/README.md#sandbox-workspaces). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/encoders/simulate/next_credential_encode_will_succeed ⇒ void ``` +{% endtab %} +{% endtabs %} -Simulates that the next attempt to encode a [credential](../../../../capability-guides/access-systems/managing-credentials.md) using the specified [encoder](../../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) will succeed. You can only perform this action within a [sandbox workspace](../../../../core-concepts/workspaces/README.md#sandbox-workspaces). +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `acs_encoder_id` +## Request Parameters -Type: `string` -Required: Yes +**`acs_encoder_id`** *String* (Required) ID of the `acs_encoder` that will be used in the next request to encode the `acs_credential`. -*** +--- -### `scenario` - -Type: `string` -Required: No +**`scenario`** *String* Scenario to simulate. -*** +--- + -## Return Type +## Response void diff --git a/docs/api/acs/encoders/simulate/next_credential_scan_will_fail.md b/docs/api/acs/encoders/simulate/next_credential_scan_will_fail.md index 8a333350..308d7023 100644 --- a/docs/api/acs/encoders/simulate/next_credential_scan_will_fail.md +++ b/docs/api/acs/encoders/simulate/next_credential_scan_will_fail.md @@ -1,46 +1,47 @@ # Simulate that the Next Credential Scan Will Fail +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Simulates that the next attempt to scan a [credential](../../../../capability-guides/access-systems/managing-credentials.md) using the specified [encoder](../../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) will fail. You can only perform this action within a [sandbox workspace](../../../../core-concepts/workspaces/README.md#sandbox-workspaces). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/encoders/simulate/next_credential_scan_will_fail ⇒ void ``` +{% endtab %} +{% endtabs %} -Simulates that the next attempt to scan a [credential](../../../../capability-guides/access-systems/managing-credentials.md) using the specified [encoder](../../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) will fail. You can only perform this action within a [sandbox workspace](../../../../core-concepts/workspaces/README.md#sandbox-workspaces). +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `acs_encoder_id` +## Request Parameters -Type: `string` -Required: Yes +**`acs_encoder_id`** *String* (Required) ID of the `acs_encoder` that will fail to scan the `acs_credential` in the next request. -*** - -### `acs_credential_id_on_seam` - -Type: `string` -Required: No - - - -*** +--- -### `error_code` +**`acs_credential_id_on_seam`** *String* -Type: `string` -Required: No +--- +**`error_code`** *String* +--- -*** -## Return Type +## Response void diff --git a/docs/api/acs/encoders/simulate/next_credential_scan_will_succeed.md b/docs/api/acs/encoders/simulate/next_credential_scan_will_succeed.md index 92f05df5..f3802da1 100644 --- a/docs/api/acs/encoders/simulate/next_credential_scan_will_succeed.md +++ b/docs/api/acs/encoders/simulate/next_credential_scan_will_succeed.md @@ -1,46 +1,51 @@ # Simulate that the Next Credential Scan Will Succeed +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Simulates that the next attempt to scan a [credential](../../../../capability-guides/access-systems/managing-credentials.md) using the specified [encoder](../../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) will succeed. You can only perform this action within a [sandbox workspace](../../../../core-concepts/workspaces/README.md#sandbox-workspaces). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/encoders/simulate/next_credential_scan_will_succeed ⇒ void ``` +{% endtab %} +{% endtabs %} -Simulates that the next attempt to scan a [credential](../../../../capability-guides/access-systems/managing-credentials.md) using the specified [encoder](../../../../capability-guides/access-systems/working-with-card-encoders-and-scanners/README.md) will succeed. You can only perform this action within a [sandbox workspace](../../../../core-concepts/workspaces/README.md#sandbox-workspaces). +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `acs_encoder_id` +## Request Parameters -Type: `string` -Required: Yes +**`acs_encoder_id`** *String* (Required) ID of the `acs_encoder` that will be used in the next request to scan the `acs_credential`. -*** - -### `acs_credential_id_on_seam` +--- -Type: `string` -Required: No +**`acs_credential_id_on_seam`** *String* ID of the Seam `acs_credential` that matches the `acs_credential` on the encoder in this simulation. -*** +--- -### `scenario` - -Type: `string` -Required: No +**`scenario`** *String* Scenario to simulate. -*** +--- + -## Return Type +## Response void diff --git a/docs/api/acs/entrances/README.md b/docs/api/acs/entrances/README.md index b1f5a2df..61dab062 100644 --- a/docs/api/acs/entrances/README.md +++ b/docs/api/acs/entrances/README.md @@ -1,349 +1,436 @@ # Entrances -## `acs_entrance` +## The acs_entrance Object + +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) + Represents an [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md) within an [access control system](https://docs.seam.co/latest/capability-guides/access-systems). In an access control system, an entrance is a secured door, gate, zone, or other method of entry. You can list details for all the `acs_entrance` resources in your workspace or get these details for a specific `acs_entrance`. You can also list all entrances associated with a specific credential, and you can list all credentials associated with a specific entrance. -### `acs_entrance_id` +{% tabs %} +{% tab title="JSON" %} +```json +{ + acs_entrance_id: [example value], + acs_system_id: [example value], + assa_abloy_vostio_metadata: [example value], + created_at: [example value], + display_name: [example value], + dormakaba_community_metadata: [example value], + errors: [example value], + latch_metadata: [example value], + salto_ks_metadata: [example value], + salto_space_metadata: [example value], + visionline_metadata: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Properties -Format: `UUID` +**`acs_entrance_id`** *UUID* ID of the [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md). ---- -### `acs_system_id` +--- -Format: `UUID` +**`acs_system_id`** *UUID* ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md). ---- -### `assa_abloy_vostio_metadata` +--- -Format: `Object` +**`assa_abloy_vostio_metadata`** *Object* ASSA ABLOY Vostio-specific metadata associated with the [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md).
-door_name Format: String -
-
+Child Properties -door_number Format: Number -
-
+- door_name String + + + +- door_number Number + + + +- door_type Enum -door_type Format: Enum -Possible enum values: -- `CommonDoor` -- `EntranceDoor` -- `GuestDoor` -- `Elevator` -
-pms_id Format: String +Enum values: + + - `CommonDoor` + - `EntranceDoor` + - `GuestDoor` + - `Elevator`
-
-stand_open Format: Boolean + + +- pms_id String + + + +- stand_open Boolean + +
---- -### `created_at` -Format: `Datetime` +--- + +**`created_at`** *Datetime* Date and time at which the [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md) was created. ---- -### `display_name` +--- -Format: `String` +**`display_name`** *String* Display name for the [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md). ---- -### `dormakaba_community_metadata` +--- -Format: `Object` +**`dormakaba_community_metadata`** *Object* dormakaba Community-specific metadata associated with the [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md).
-access_point_name Format: String +Child Properties + +- access_point_name String + +
---- -### `errors` -Format: `List` +--- -Item format: `Object` +**`errors`** *List* *of Objects* Errors associated with the [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md).
-error_code Format: String +Child Object Properties -Unique identifier of the type of error. Enables quick recognition and categorization of the issue. -
-
+- error_code String + + Unique identifier of the type of error. Enables quick recognition and categorization of the issue. + + + +- message String + + Detailed description of the error. Provides insights into the issue and potentially how to rectify it. -message Format: String -Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
---- -### `latch_metadata` -Format: `Object` +--- + +**`latch_metadata`** *Object* Latch-specific metadata associated with the [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md).
-accessibility_type Format: String -
-
+Child Properties -door_name Format: String -
-
+- accessibility_type String + + + +- door_name String + + + +- door_type String + + + +- is_connected Boolean -door_type Format: String -
-
-is_connected Format: Boolean
---- -### `salto_ks_metadata` -Format: `Object` +--- + +**`salto_ks_metadata`** *Object* Salto KS-specific metadata associated with the [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md).
-battery_level Format: String -
-
+Child Properties -door_name Format: String -
-
+- battery_level String -intrusion_alarm Format: Boolean -
-
-left_open_alarm Format: Boolean -
-
-lock_type Format: String -
-
+- door_name String -locked_state Format: String -
-
-online Format: Boolean -
-
-privacy_mode Format: Boolean +- intrusion_alarm Boolean + + + +- left_open_alarm Boolean + + + +- lock_type String + + + +- locked_state String + + + +- online Boolean + + + +- privacy_mode Boolean + +
---- -### `salto_space_metadata` -Format: `Object` +--- + +**`salto_space_metadata`** *Object* Salto Space-specific metadata associated with the [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md).
-door_description Format: String -
-
+Child Properties + +- door_description String + + + +- door_name String + + + +- ext_door_id String -door_name Format: String -
-
-ext_door_id Format: String
---- -### `visionline_metadata` -Format: `Object` +--- + +**`visionline_metadata`** *Object* Visionline-specific metadata associated with the [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md).
-door_category Format: Enum +Child Properties + +- door_category Enum + -Possible enum values: -- `entrance` -- `guest` -- `elevator reader` -- `common` -- `common (PMS)` -
-door_name Format: String +Enum values: + + - `entrance` + - `guest` + - `elevator reader` + - `common` + - `common (PMS)`
-
-profiles Format: List Item format: Object -- visionline_door_profile_id Format: String +- door_name String + + + +- profiles List of Objects + + +- visionline_door_profile_id String -- visionline_door_profile_type Format: Enum - Possible enum values: + +- visionline_door_profile_type Enum + + +
+ +Enum values: + - `BLE` - `commonDoor` - `touch` +
+ +
+ + --- -## Endpoints -### [`/acs/entrances/get`](./get.md) +## Events -Returns a specified [ACS entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md). -### [`/acs/entrances/grant_access`](./grant_access.md) +**`acs_entrance.added`** +An [ACS entrance](https://docs.seam.co/latest/capability-guides/retrieving-entrance-details) was added. -### [`/acs/entrances/list`](./list.md) +
-Returns a list of all [ACS entrances](../../../capability-guides/access-systems/retrieving-entrance-details.md). -### [`/acs/entrances/list_credentials_with_access`](./list_credentials_with_access.md) +Properties -Returns a list of all [credentials](../../../capability-guides/access-systems/managing-credentials.md) with access to a specified [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md). +- acs_entrance_id UUID ---- -## Events -### `acs_entrance.added` +- acs_system_id UUID -An [ACS entrance](https://docs.seam.co/latest/capability-guides/retrieving-entrance-details) was added. + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-acs_entrance_id Format: UUID -
-
-acs_system_id Format: UUID +- connected_account_id UUID -ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-
+ ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -connected_account_id Format: UUID -ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -
-
-created_at Format: Datetime +- created_at Datetime -Date and time at which the event was created. -
-
+ Date and time at which the event was created. -event_id Format: UUID -ID of the event. -
-
-event_type Format: String -
-
+- event_id UUID -occurred_at Format: Datetime + ID of the event. -Date and time at which the event occurred. -
-
-workspace_id Format: UUID -ID of the [workspace](../../../core-concepts/workspaces/README.md). +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + +
+ --- -### `acs_entrance.removed` +**`acs_entrance.removed`** An [ACS entrance](https://docs.seam.co/latest/capability-guides/retrieving-entrance-details) was removed.
-acs_entrance_id Format: UUID -
-
+Properties -acs_system_id Format: UUID +- acs_entrance_id UUID -ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-
-connected_account_id Format: UUID -ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -
-
+- acs_system_id UUID -created_at Format: Datetime + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -Date and time at which the event was created. -
-
-event_id Format: UUID -ID of the event. -
-
+- connected_account_id UUID -event_type Format: String -
-
+ ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -occurred_at Format: Datetime -Date and time at which the event occurred. -
-
-workspace_id Format: UUID +- created_at Datetime + + Date and time at which the event was created. + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + -ID of the [workspace](../../../core-concepts/workspaces/README.md).
+ --- +## Endpoints + + +[**`/acs/entrances/get`**](./get.md) + +Returns a specified [ACS entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md). + + +[**`/acs/entrances/grant_access`**](./grant_access.md) + + + + +[**`/acs/entrances/list`**](./list.md) + +Returns a list of all [ACS entrances](../../../capability-guides/access-systems/retrieving-entrance-details.md). + + +[**`/acs/entrances/list_credentials_with_access`**](./list_credentials_with_access.md) + +Returns a list of all [credentials](../../../capability-guides/access-systems/managing-credentials.md) with access to a specified [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md). + + diff --git a/docs/api/acs/entrances/get.md b/docs/api/acs/entrances/get.md index b4bbbbdf..ac234ca3 100644 --- a/docs/api/acs/entrances/get.md +++ b/docs/api/acs/entrances/get.md @@ -1,14 +1,60 @@ # Get an Entrance +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a specified [ACS entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/entrances/get ⇒ { acs_entrance } ``` +{% endtab %} +{% endtabs %} -Returns a specified [ACS entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md). +
+ +Authentication Methods + +- API key +- Client session token + +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
+ +## Request Parameters + +**`acs_entrance_id`** *String* (Required) + +--- + + +## Response + +[acs\_entrance](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_entrance +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Get an entrance + +Specify the `acs_entrance_id` of the entrance that you want to retrieve. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.entrances.get({ @@ -16,7 +62,7 @@ await seam.acs.entrances.get({ }); ``` -#### Response +#### Output ```javascript { @@ -29,13 +75,13 @@ await seam.acs.entrances.get({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.entrances.get(acs_entrance_id="123e4567-e89b-12d3-a456-426614174000") ``` -#### Response +#### Output ```python AcsEntrance( @@ -48,13 +94,13 @@ AcsEntrance( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.entrances.get(acs_entrance_id: "123e4567-e89b-12d3-a456-426614174000") ``` -#### Response +#### Output ```ruby { @@ -67,7 +113,7 @@ seam.acs.entrances.get(acs_entrance_id: "123e4567-e89b-12d3-a456-426614174000") {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->entrances->get( ); ``` -#### Response +#### Output ```php acs->entrances->get( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs entrances get --acs_entrance_id "123e4567-e89b-12d3-a456-426614174000" ``` -#### Response +#### Output ```seam_cli { @@ -109,7 +155,7 @@ seam acs entrances get --acs_entrance_id "123e4567-e89b-12d3-a456-426614174000" {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -127,7 +173,7 @@ func main() { } ``` -#### Response +#### Output ```go api.AcsEntrance{AcsSystemId: "123e4567-e89b-12d3-a456-426614174000", AcsEntranceId: "123e4567-e89b-12d3-a456-426614174000", CreatedAt: "2024-04-05T07:57:05.323Z", DisplayName: "text"} @@ -136,22 +182,4 @@ api.AcsEntrance{AcsSystemId: "123e4567-e89b-12d3-a456-426614174000", AcsEntrance {% endtabs %} -## Authentication Methods - -- API key -- Client session token - -## Request Parameters - -### `acs_entrance_id` - -Type: `string` -Required: Yes - - -*** - -## Return Type - -[acs\_entrance](./) diff --git a/docs/api/acs/entrances/grant_access.md b/docs/api/acs/entrances/grant_access.md index 8ea04aa6..eac8bc07 100644 --- a/docs/api/acs/entrances/grant_access.md +++ b/docs/api/acs/entrances/grant_access.md @@ -1,37 +1,41 @@ # Grant an ACS User Access to an Entrance +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + + + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/entrances/grant_access ⇒ void ``` +{% endtab %} +{% endtabs %} +
- -## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters - -### `acs_entrance_id` - -Type: `string` -Required: Yes - +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
+## Request Parameters -*** - -### `acs_user_id` +**`acs_entrance_id`** *String* (Required) -Type: `string` -Required: Yes +--- +**`acs_user_id`** *String* (Required) +--- -*** -## Return Type +## Response void diff --git a/docs/api/acs/entrances/list.md b/docs/api/acs/entrances/list.md index acf540d2..d876b005 100644 --- a/docs/api/acs/entrances/list.md +++ b/docs/api/acs/entrances/list.md @@ -1,20 +1,72 @@ # List Entrances +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [ACS entrances](../../../capability-guides/access-systems/retrieving-entrance-details.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/entrances/list ⇒ { acs_entrances: [acs_entrance, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [ACS entrances](../../../capability-guides/access-systems/retrieving-entrance-details.md). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_credential_id`** *String* + +--- + +**`acs_system_id`** *String* + +--- + + +## Response + +Array of [acs\_entrances](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_entrance +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List entrances + +To filter the list of entrances, specify the desired `acs_system_id` or `acs_user_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.entrances.list(); ``` -#### Response +#### Output ```javascript [ @@ -29,13 +81,13 @@ await seam.acs.entrances.list(); {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.entrances.list() ``` -#### Response +#### Output ```python [ @@ -50,13 +102,13 @@ seam.acs.entrances.list() {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.entrances.list() ``` -#### Response +#### Output ```ruby [ @@ -71,14 +123,14 @@ seam.acs.entrances.list() {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->entrances->list(); ``` -#### Response +#### Output ```php acs->entrances->list(); {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs entrances list ``` -#### Response +#### Output ```seam_cli [ @@ -115,7 +167,7 @@ seam acs entrances list {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -125,7 +177,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.AcsEntrance{api.AcsEntrance{AcsSystemId: "123e4567-e89b-12d3-a456-426614174000", AcsEntranceId: "123e4567-e89b-12d3-a456-426614174000", CreatedAt: "2024-04-05T07:57:05.323Z", DisplayName: "text"}} @@ -134,33 +186,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_credential_id` - -Type: `string` -Required: No - - - -*** - -### `acs_system_id` - -Type: `string` -Required: No - - - -*** - -## Return Type -Array<[acs\_entrance](./)> diff --git a/docs/api/acs/entrances/list_credentials_with_access.md b/docs/api/acs/entrances/list_credentials_with_access.md index 6cd85a7b..6925b7dd 100644 --- a/docs/api/acs/entrances/list_credentials_with_access.md +++ b/docs/api/acs/entrances/list_credentials_with_access.md @@ -1,14 +1,73 @@ # List Credentials with Access to an Entrance +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [credentials](../../../capability-guides/access-systems/managing-credentials.md) with access to a specified [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/entrances/list_credentials_with_access ⇒ { acs_credentials: [acs_credential, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [credentials](../../../capability-guides/access-systems/managing-credentials.md) with access to a specified [entrance](../../../capability-guides/access-systems/retrieving-entrance-details.md). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_entrance_id`** *String* (Required) + +--- + +**`include_if`** *Array* *of Enums* +
+ +Enum values + +Possible enum values: +- `visionline_metadata.is_valid` +
+ +--- + + +## Response + +Array of [acs\_credentials](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_credential +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List credentials with access to an entrance + +Specify the `acs_entrance_id` to return all credentials that grant access to the specified entrance. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.entrances.listCredentialsWithAccess({ @@ -16,7 +75,7 @@ await seam.acs.entrances.listCredentialsWithAccess({ }); ``` -#### Response +#### Output ```javascript [ @@ -47,7 +106,7 @@ await seam.acs.entrances.listCredentialsWithAccess({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.entrances.list_credentials_with_access( @@ -55,7 +114,7 @@ seam.acs.entrances.list_credentials_with_access( ) ``` -#### Response +#### Output ```python [ @@ -86,7 +145,7 @@ seam.acs.entrances.list_credentials_with_access( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.entrances.list_credentials_with_access( @@ -94,7 +153,7 @@ seam.acs.entrances.list_credentials_with_access( ) ``` -#### Response +#### Output ```ruby [ @@ -125,7 +184,7 @@ seam.acs.entrances.list_credentials_with_access( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->entrances->list_credentials_with_access( ); ``` -#### Response +#### Output ```php acs->entrances->list_credentials_with_access( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs entrances list-credentials-with-access --acs_entrance_id "123e4567-e89b-12d3-a456-426614174000" ``` -#### Response +#### Output ```seam_cli [ @@ -204,7 +263,7 @@ seam acs entrances list-credentials-with-access --acs_entrance_id "123e4567-e89b {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -222,7 +281,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.AcsCredential{api.AcsCredential{AcsCredentialId: "123e4567-e89b-12d3-a456-426614174000", AcsUserId: "123e4567-e89b-12d3-a456-426614174000", AcsCredentialPoolId: "123e4567-e89b-12d3-a456-426614174000", AcsSystemId: "123e4567-e89b-12d3-a456-426614174000", ParentAcsCredentialId: "123e4567-e89b-12d3-a456-426614174000", DisplayName: "text", Code: "text", CardNumber: "text", IsIssued: false, IssuedAt: "2024-10-15T12:54:04.155Z", AccessMethod: "code", ExternalType: "pti_card", ExternalTypeDisplayName: "text", CreatedAt: "2024-10-15T12:54:04.155Z", WorkspaceId: "123e4567-e89b-12d3-a456-426614174000", StartsAt: "text", EndsAt: "text", IsMultiPhoneSyncCredential: false, IsLatestDesiredStateSyncedWithProvider: false, LatestDesiredStateSyncedWithProviderAt: "2024-10-15T12:54:04.155Z"}} @@ -231,33 +290,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_entrance_id` - -Type: `string` -Required: Yes - - - -*** - -### `include_if` - -Type: `array` -Required: No - - - -*** - -## Return Type -Array<[acs\_credential](./)> diff --git a/docs/api/acs/systems/README.md b/docs/api/acs/systems/README.md index bd7e6ecd..bce9c2a0 100644 --- a/docs/api/acs/systems/README.md +++ b/docs/api/acs/systems/README.md @@ -1,6 +1,13 @@ # Systems -## `acs_system` +## The acs_system Object + +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) + Represents an [access control system](https://docs.seam.co/latest/capability-guides/access-systems). @@ -8,101 +15,135 @@ Within an `acs_system`, create [`acs_user`s](https://docs.seam.co/latest/api/acs For details about the resources associated with an access control system, see the [access control systems namespace](https://docs.seam.co/latest/api/acs). -### `acs_system_id` - -Format: `UUID` +{% tabs %} +{% tab title="JSON" %} +```json +{ + acs_access_group_count: [example value], + acs_system_id: [example value], + acs_user_count: [example value], + can_add_acs_users_to_acs_access_groups: [example value], + can_automate_enrollment: [example value], + can_create_acs_access_groups: [example value], + can_remove_acs_users_from_acs_access_groups: [example value], + connected_account_id: [example value], + connected_account_ids: [example value], + created_at: [example value], + default_credential_manager_acs_system_id: [example value], + errors: [example value], + external_type: [example value], + external_type_display_name: [example value], + image_alt_text: [example value], + image_url: [example value], + is_credential_manager: [example value], + location: [example value], + name: [example value], + system_type: [example value], + system_type_display_name: [example value], + visionline_metadata: [example value], + warnings: [example value], + workspace_id: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Properties + +**`acs_access_group_count`** *Number* + + +--- + +**`acs_system_id`** *UUID* ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). + --- -### `can_add_acs_users_to_acs_access_groups` +**`acs_user_count`** *Number* + + +--- -Format: `Boolean` +**`can_add_acs_users_to_acs_access_groups`** *Boolean* Indicates whether the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) supports [adding users to access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups#add-an-acs-user-to-an-access-group). See also [Access Group-based Access Control Systems](https://docs.seam.co/latest/capability-guides/access-systems/understanding-access-control-system-differences#access-group-based-access-control-systems). ---- -### `can_automate_enrollment` +--- -Format: `Boolean` +**`can_automate_enrollment`** *Boolean* Indicates whether it is possible to [launch enrollment automations](../../../capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system.md#prepare-the-phones-for-a-user-identity-to-start-receiving-mobile-credentials-using-an-enrollment-aut) for the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). ---- -### `can_create_acs_access_groups` +--- -Format: `Boolean` +**`can_create_acs_access_groups`** *Boolean* Indicates whether the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) supports creating [access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). See also [Access Group-based Access Control Systems](https://docs.seam.co/latest/capability-guides/access-systems/understanding-access-control-system-differences#access-group-based-access-control-systems). ---- -### `can_remove_acs_users_from_acs_access_groups` +--- -Format: `Boolean` +**`can_remove_acs_users_from_acs_access_groups`** *Boolean* Indicates whether the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) supports [removing users from access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups#remove-an-acs-user-from-an-access-group). See also [Access Group-based Access Control Systems](https://docs.seam.co/latest/capability-guides/access-systems/understanding-access-control-system-differences#access-group-based-access-control-systems). ---- -### `connected_account_id` +--- -Format: `UUID` +**`connected_account_id`** *UUID* ID of the [connected account](../../../core-concepts/connected-accounts/README.md) associated with the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). + --- -### `connected_account_ids` +**`connected_account_ids`** *List* *of UUIDs* + +IDs of the [connected accounts](../../../core-concepts/connected-accounts/README.md) associated with the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). {% hint style="warning" %} **Deprecated**. Use `connected_account_id`. {% endhint %} -Format: `List` - -Item format: `UUID` - -IDs of the [connected accounts](../../../core-concepts/connected-accounts/README.md) associated with the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). --- -### `created_at` - -Format: `Datetime` +**`created_at`** *Datetime* Date and time at which the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) was created. ---- -### `default_credential_manager_acs_system_id` +--- -Format: `UUID` +**`default_credential_manager_acs_system_id`** *UUID* ID of the default credential manager `acs_system` for this [access control system](https://docs.seam.co/latest/capability-guides/access-systems). ---- - -### [`errors`](./#errors-1) -Format: `List` +--- -Item format: `Object` +[**`errors`**](./#errors) *List* *of Objects* Errors associated with the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). ---- -### `external_type` +--- -Format: `Enum` +**`external_type`** *Enum* Brand-specific terminology for the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) type. -Possible enum values: +
+ +Enum values + - `pti_site` - `alta_org` - `salto_ks_site` @@ -116,70 +157,72 @@ Possible enum values: - `legic_connect_credential_service` - `assa_abloy_vostio` - `assa_abloy_vostio_credential_service` +
---- -### `external_type_display_name` +--- -Format: `String` +**`external_type_display_name`** *String* Display name that corresponds to the brand-specific terminology for the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) type. ---- -### `image_alt_text` +--- -Format: `String` +**`image_alt_text`** *String* Alternative text for the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) image. ---- -### `image_url` +--- -Format: `String` +**`image_url`** *String* URL for the image that represents the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). ---- -### `is_credential_manager` +--- -Format: `Boolean` +**`is_credential_manager`** *Boolean* Indicates whether the `acs_system` is a credential manager. ---- -### `location` +--- -Format: `Object` +**`location`** *Object*
-time_zone Format: String +Child Properties + +- time_zone String + + Time zone in which the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) is located. + -Time zone in which the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) is located.
---- -### `name` -Format: `String` +--- + +**`name`** *String* Name of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). + --- -### `system_type` +**`system_type`** *Enum* {% hint style="warning" %} **Deprecated**. Use `external_type`. {% endhint %} -Format: `Enum` +
+ +Enum values -Possible enum values: - `pti_site` - `alta_org` - `salto_ks_site` @@ -193,72 +236,81 @@ Possible enum values: - `legic_connect_credential_service` - `assa_abloy_vostio` - `assa_abloy_vostio_credential_service` +
+ --- -### `system_type_display_name` +**`system_type_display_name`** *String* {% hint style="warning" %} **Deprecated**. Use `external_type_display_name`. {% endhint %} -Format: `String` --- -### `visionline_metadata` - -Format: `Object` +**`visionline_metadata`** *Object*
-lan_address Format: String +Child Properties -IP address or hostname of the main Visionline server relative to [Seam Bridge](../../../capability-guides/seam-bridge.md) on the local network. -
-
+- lan_address String + + IP address or hostname of the main Visionline server relative to [Seam Bridge](../../../capability-guides/seam-bridge.md) on the local network. + + + +- mobile_access_uuid String + + Keyset loaded into a reader. Mobile keys and reader administration tools securely authenticate only with readers programmed with a matching keyset. -mobile_access_uuid Format: String -Keyset loaded into a reader. Mobile keys and reader administration tools securely authenticate only with readers programmed with a matching keyset. -
-
-system_id Format: String +- system_id String + + Unique ID assigned by the ASSA ABLOY licensing team that identifies each hotel in your credential manager. + -Unique ID assigned by the ASSA ABLOY licensing team that identifies each hotel in your credential manager.
---- -### [`warnings`](./#warnings-1) -Format: `List` +--- -Item format: `Object` +[**`warnings`**](./#warnings) *List* *of Objects* Warnings associated with the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). ---- -### `workspace_id` +--- -Format: `UUID` +**`workspace_id`** *UUID* ID of the [workspace](../../../core-concepts/workspaces/README.md) that contains the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). + --- + ## Errors -### `seam_bridge_disconnected` +**`seam_bridge_disconnected`** Indicates that the Seam API cannot communicate with [Seam Bridge](../../../capability-guides/seam-bridge.md), for example, if Seam Bridge executable has stopped or if the computer running the Seam Bridge executable is offline. This error might also occur if Seam Bridge is connected to the wrong [workspace](../../../core-concepts/workspaces/README.md). - See also [Troubleshooting Your Access Control System](https://docs.seam.co/latest/capability-guides/capability-guides/access-systems/troubleshooting-your-access-control-system#acs_system.errors.seam_bridge_disconnected). + See also [Troubleshooting Your Access Control System](../../../capability-guides/access-systems/troubleshooting-your-access-control-system.md#acs_system.errors.seam_bridge_disconnected). --- -### `visionline_instance_unreachable` +**`bridge_disconnected`** + +Indicates that the Seam API cannot communicate with [Seam Bridge](../../../capability-guides/seam-bridge.md), for example, if Seam Bridge executable has stopped or if the computer running the Seam Bridge executable is offline. + See also [Troubleshooting Your Access Control System](../../../capability-guides/access-systems/troubleshooting-your-access-control-system.md#acs_system.errors.seam_bridge_disconnected). + +--- + +**`visionline_instance_unreachable`** Indicates that [Seam Bridge](../../../capability-guides/seam-bridge.md) is functioning correctly and the Seam API can communicate with Seam Bridge, but the Seam API cannot connect to the on-premises [Visionline access control system](https://docs.seam.co/latest/device-and-system-integration-guides/assa-abloy-visionline-access-control-system). For example, the IP address of the on-premises access control system may be set incorrectly within the Seam [workspace](../../../core-concepts/workspaces/README.md). @@ -266,196 +318,216 @@ Indicates that [Seam Bridge](../../../capability-guides/seam-bridge.md) is funct --- -### `salto_ks_subscription_limit_exceeded` +**`salto_ks_subscription_limit_exceeded`** Indicates that the maximum number of users allowed for the site has been reached. This means that new access codes cannot be created. Contact Salto support to increase the user limit. --- -### `acs_system_disconnected` +**`acs_system_disconnected`** Indicates that the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) has been disconnected. See [Troubleshooting Your Access Control System](../../../capability-guides/access-systems/troubleshooting-your-access-control-system.md) to resolve the issue. --- -### `account_disconnected` +**`account_disconnected`** Indicates that the login credentials are invalid. Reconnect the account using a [Connect Webview](https://docs.seam.co/latest/ui-components/connect-webviews) to restore access. --- -### `salto_ks_certification_expired` +**`salto_ks_certification_expired`** Indicates that the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) has lost its Salto KS certification. Contact [support](mailto:support@seam.co) to regain access. --- + ## Warnings -### `salto_ks_subscription_limit_almost_reached` +**`salto_ks_subscription_limit_almost_reached`** Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users. Increase your subscription limit or delete some users from your site to rectify the issue. --- -### `time_zone_does_not_match_location` +**`time_zone_does_not_match_location`** Indicates the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) time zone could not be determined because the reported physical location does not match the time zone configured on the physical [ACS entrances](../../../capability-guides/access-systems/retrieving-entrance-details.md). --- -## Endpoints -### [`/acs/systems/get`](./get.md) +## Events -Returns a specified [access control system](https://docs.seam.co/latest/capability-guides/access-systems). -### [`/acs/systems/list`](./list.md) +**`acs_system.connected`** -Returns a list of all [access control systems](https://docs.seam.co/latest/capability-guides/access-systems). -### [`/acs/systems/list_compatible_credential_manager_acs_systems`](./list_compatible_credential_manager_acs_systems.md) +An [ACS system](https://docs.seam.co/latest/capability-guides/access-systems) was connected. -Returns a list of all credential manager ACS systems that are compatible with a specified -[access control system](https://docs.seam.co/latest/capability-guides/access-systems). +
---- +Properties -## Events +- acs_system_id UUID -### `acs_system.connected` + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -An [ACS system](https://docs.seam.co/latest/capability-guides/access-systems) was connected. -
-acs_system_id Format: UUID +- connected_account_id UUID -ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-
+ ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -connected_account_id Format: UUID -ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -
-
-created_at Format: Datetime +- created_at Datetime -Date and time at which the event was created. -
-
+ Date and time at which the event was created. -event_id Format: UUID -ID of the event. -
-
-event_type Format: String -
-
+- event_id UUID -occurred_at Format: Datetime + ID of the event. + + + +- event_type String -Date and time at which the event occurred. -
-
-workspace_id Format: UUID -ID of the [workspace](../../../core-concepts/workspaces/README.md). +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + +
+ --- -### `acs_system.added` +**`acs_system.added`** An [ACS system](https://docs.seam.co/latest/capability-guides/access-systems) was added.
-acs_system_id Format: UUID +Properties -ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-
+- acs_system_id UUID -connected_account_id Format: UUID + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -
-
-created_at Format: Datetime -Date and time at which the event was created. -
-
+- connected_account_id UUID -event_id Format: UUID + ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -ID of the event. -
-
-event_type Format: String -
-
-occurred_at Format: Datetime +- created_at Datetime + + Date and time at which the event was created. + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + -Date and time at which the event occurred. -
-
-workspace_id Format: UUID +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + -ID of the [workspace](../../../core-concepts/workspaces/README.md).
+ --- -### `acs_system.disconnected` +**`acs_system.disconnected`** An [ACS system](https://docs.seam.co/latest/capability-guides/access-systems) was disconnected.
-acs_system_id Format: UUID +Properties -ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-
+- acs_system_id UUID -connected_account_id Format: UUID + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -
-
-created_at Format: Datetime -Date and time at which the event was created. -
-
+- connected_account_id UUID -event_id Format: UUID + ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -ID of the event. -
-
-event_type Format: String -
-
-occurred_at Format: Datetime +- created_at Datetime + + Date and time at which the event was created. + + + +- event_id UUID + + ID of the event. + + + +- event_type String -Date and time at which the event occurred. -
-
-workspace_id Format: UUID -ID of the [workspace](../../../core-concepts/workspaces/README.md). +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + +
+ --- +## Endpoints + + +[**`/acs/systems/get`**](./get.md) + +Returns a specified [access control system](https://docs.seam.co/latest/capability-guides/access-systems). + + +[**`/acs/systems/list`**](./list.md) + +Returns a list of all [access control systems](https://docs.seam.co/latest/capability-guides/access-systems). + + +[**`/acs/systems/list_compatible_credential_manager_acs_systems`**](./list_compatible_credential_manager_acs_systems.md) + +Returns a list of all credential manager ACS systems that are compatible with a specified [access control system](https://docs.seam.co/latest/capability-guides/access-systems). + + diff --git a/docs/api/acs/systems/get.md b/docs/api/acs/systems/get.md index a4c54c15..ff3d211c 100644 --- a/docs/api/acs/systems/get.md +++ b/docs/api/acs/systems/get.md @@ -1,16 +1,65 @@ # Get an ACS System +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a specified [access control system](https://docs.seam.co/latest/capability-guides/access-systems). + +Specify the desired access control system by including the corresponding `acs_system_id` in the request body. + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/systems/get ⇒ { acs_system } ``` +{% endtab %} +{% endtabs %} -Returns a specified [access control system](https://docs.seam.co/latest/capability-guides/access-systems). +
-Specify the desired access control system by including the corresponding `acs_system_id` in the request body. +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_system_id`** *String* (Required) + +ID of the desired access control system. + +--- + + +## Response + +[acs\_system](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_system +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Get a Specific ACS system + +Specify the `acs_system_id` of the ACS system that you want to retrieve. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.systems.get({ @@ -18,7 +67,7 @@ await seam.acs.systems.get({ }); ``` -#### Response +#### Output ```javascript [{ "acs_system_id": "8d7e0b3a-b889-49a7-9164-4b71a0506a33" }] @@ -26,13 +75,13 @@ await seam.acs.systems.get({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.systems.get(acs_system_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33") ``` -#### Response +#### Output ```python [AcsSystem(acs_system_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")] @@ -40,13 +89,13 @@ seam.acs.systems.get(acs_system_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33") {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.systems.get(acs_system_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33") ``` -#### Response +#### Output ```ruby [{ "acs_system_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33" }] @@ -54,14 +103,14 @@ seam.acs.systems.get(acs_system_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33") {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->systems->get(acs_system_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33"); ``` -#### Response +#### Output ```php acs->systems->get(acs_system_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33"); {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs systems get --acs_system_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" ``` -#### Response +#### Output ```seam_cli [{ "acs_system_id": "8d7e0b3a-b889-49a7-9164-4b71a0506a33" }] @@ -84,7 +133,7 @@ seam acs systems get --acs_system_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -102,7 +151,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.AcsSystem{api.AcsSystem{AcsSystemId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33"}} @@ -111,23 +160,4 @@ func main() { {% endtabs %} -## Authentication Methods -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_system_id` - -Type: `string` -Required: Yes - -ID of the desired access control system. - -*** - -## Return Type - -[acs\_system](./) diff --git a/docs/api/acs/systems/list.md b/docs/api/acs/systems/list.md index 8efeb348..c63a7e00 100644 --- a/docs/api/acs/systems/list.md +++ b/docs/api/acs/systems/list.md @@ -1,16 +1,66 @@ # List ACS Systems +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [access control systems](https://docs.seam.co/latest/capability-guides/access-systems). + +To filter the list of returned access control systems by a specific connected account ID, include the `connected_account_id` in the request body. If you omit the `connected_account_id` parameter, the response includes all access control systems connected to your workspace. + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/systems/list ⇒ { acs_systems: [acs_system, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [access control systems](https://docs.seam.co/latest/capability-guides/access-systems). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`connected_account_id`** *String* + +ID of the connected account by which to filter the list of returned access control systems. + +--- -To filter the list of returned access control systems by a specific connected account ID, include the `connected_account_id` in the request body. If you omit the `connected_account_id` parameter, the response includes all access control systems connected to your workspace. + +## Response + +Array of [acs\_systems](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_system +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List ACS systems by connected account + +To filter the list of ACS systems, include a `connected_account_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.systems.list({ @@ -18,7 +68,7 @@ await seam.acs.systems.list({ }); ``` -#### Response +#### Output ```javascript [{ "acs_system_id": "8d7e0b3a-b889-49a7-9164-4b71a0506a33" }] @@ -26,13 +76,13 @@ await seam.acs.systems.list({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.systems.list(connected_account_id="123e4567-e89b-12d3-a456-426614174000") ``` -#### Response +#### Output ```python [AcsSystem(acs_system_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33")] @@ -40,13 +90,13 @@ seam.acs.systems.list(connected_account_id="123e4567-e89b-12d3-a456-426614174000 {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.systems.list(connected_account_id: "123e4567-e89b-12d3-a456-426614174000") ``` -#### Response +#### Output ```ruby [{ "acs_system_id" => "8d7e0b3a-b889-49a7-9164-4b71a0506a33" }] @@ -54,7 +104,7 @@ seam.acs.systems.list(connected_account_id: "123e4567-e89b-12d3-a456-42661417400 {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->systems->list( ); ``` -#### Response +#### Output ```php acs->systems->list( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs systems list --connected_account_id "123e4567-e89b-12d3-a456-426614174000" ``` -#### Response +#### Output ```seam_cli [{ "acs_system_id": "8d7e0b3a-b889-49a7-9164-4b71a0506a33" }] @@ -86,7 +136,7 @@ seam acs systems list --connected_account_id "123e4567-e89b-12d3-a456-4266141740 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -104,7 +154,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.AcsSystem{api.AcsSystem{AcsSystemId: "8d7e0b3a-b889-49a7-9164-4b71a0506a33"}} @@ -113,24 +163,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `connected_account_id` - -Type: `string` -Required: No - -ID of the connected account by which to filter the list of returned access control systems. - -*** - -## Return Type -Array<[acs\_system](./)> diff --git a/docs/api/acs/systems/list_compatible_credential_manager_acs_systems.md b/docs/api/acs/systems/list_compatible_credential_manager_acs_systems.md index 64204002..8e69f3bb 100644 --- a/docs/api/acs/systems/list_compatible_credential_manager_acs_systems.md +++ b/docs/api/acs/systems/list_compatible_credential_manager_acs_systems.md @@ -1,18 +1,65 @@ # List Compatible Credential Manager ACS Systems +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all credential manager ACS systems that are compatible with a specified [access control system](https://docs.seam.co/latest/capability-guides/access-systems). + +Specify the ACS system for which you want to retrieve all compatible credential manager ACS systems by including the corresponding `acs_system_id` in the request body. + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/systems/list_compatible_credential_manager_acs_systems ⇒ { acs_systems: [acs_system, …] } ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_system_id`** *String* (Required) + +ID of the ACS system for which you want to retrieve all compatible credential manager ACS systems. + +--- + + +## Response + +Array of [acs\_systems](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_system +} +``` +{% endtab %} +{% endtabs %} + +--- -Returns a list of all credential manager ACS systems that are compatible with a specified -[access control system](https://docs.seam.co/latest/capability-guides/access-systems). +## Examples + +### List compatible credential manager ACS systems -Specify the ACS system for which you want to retrieve all compatible credential manager ACS -systems by including the corresponding `acs_system_id` in the request body. +Specify the `acs_system_id` for which you want to retrieve all compatible credential manager ACS systems. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.systems.listCompatibleCredentialManagerAcsSystems({ @@ -20,7 +67,7 @@ await seam.acs.systems.listCompatibleCredentialManagerAcsSystems({ }); ``` -#### Response +#### Output ```javascript [{ "acs_system_id": "aczp0sgx-gl9f-nygd-r11e-7pc1zufn55z4" }] @@ -28,7 +75,7 @@ await seam.acs.systems.listCompatibleCredentialManagerAcsSystems({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.systems.list_compatible_credential_manager_acs_systems( @@ -36,7 +83,7 @@ seam.acs.systems.list_compatible_credential_manager_acs_systems( ) ``` -#### Response +#### Output ```python [AcsSystem(acs_system_id="aczp0sgx-gl9f-nygd-r11e-7pc1zufn55z4")] @@ -44,7 +91,7 @@ seam.acs.systems.list_compatible_credential_manager_acs_systems( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.systems.list_compatible_credential_manager_acs_systems( @@ -52,7 +99,7 @@ seam.acs.systems.list_compatible_credential_manager_acs_systems( ) ``` -#### Response +#### Output ```ruby [{ "acs_system_id" => "aczp0sgx-gl9f-nygd-r11e-7pc1zufn55z4" }] @@ -60,7 +107,7 @@ seam.acs.systems.list_compatible_credential_manager_acs_systems( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->systems->list_compatible_credential_manager_acs_systems( ); ``` -#### Response +#### Output ```php acs->systems->list_compatible_credential_manager_acs_systems( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs systems list-compatible-credential-manager-acs-systems --acs_system_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" ``` -#### Response +#### Output ```seam_cli [{ "acs_system_id": "aczp0sgx-gl9f-nygd-r11e-7pc1zufn55z4" }] @@ -92,7 +139,7 @@ seam acs systems list-compatible-credential-manager-acs-systems --acs_system_id {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -110,7 +157,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.AcsSystem{api.AcsSystem{AcsSystemId: "aczp0sgx-gl9f-nygd-r11e-7pc1zufn55z4"}} @@ -119,23 +166,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_system_id` - -Type: `string` -Required: Yes - -ID of the ACS system for which you want to retrieve all compatible credential manager ACS systems. - -*** - -## Return Type -Array<[acs\_system](./)> diff --git a/docs/api/acs/users/README.md b/docs/api/acs/users/README.md index d30a590f..8c7c5cc6 100644 --- a/docs/api/acs/users/README.md +++ b/docs/api/acs/users/README.md @@ -1,6 +1,13 @@ # ACS Users -## `acs_user` +## The acs_user Object + +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) + Represents a [user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in an [access control system](https://docs.seam.co/latest/capability-guides/access-systems). @@ -8,93 +15,123 @@ An `acs_user` typically refers to an individual who requires access, like an emp For details about how to configure `acs_user`s in your access control system, see the corresponding [system integration guide](../../../device-and-system-integration-guides/overview.md#access-control-systems). -### `access_schedule` +{% tabs %} +{% tab title="JSON" %} +```json +{ + access_schedule: [example value], + acs_system_id: [example value], + acs_user_id: [example value], + created_at: [example value], + display_name: [example value], + email: [example value], + email_address: [example value], + errors: [example value], + external_type: [example value], + external_type_display_name: [example value], + full_name: [example value], + hid_acs_system_id: [example value], + is_managed: [example value], + is_suspended: [example value], + phone_number: [example value], + user_identity_email_address: [example value], + user_identity_full_name: [example value], + user_identity_id: [example value], + user_identity_phone_number: [example value], + warnings: [example value], + workspace_id: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Properties -Format: `Object` +**`access_schedule`** *Object* `starts_at` and `ends_at` timestamps for the [ACS user's](https://docs.seam.co/latest/capability-guides/access-systems/user-management) access.
-ends_at Format: Datetime +Child Properties + +- ends_at Datetime + + Date and time at which the user's access ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. -Date and time at which the user's access ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. -
-
-starts_at Format: Datetime -Date and time at which the user's access starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. +- starts_at Datetime + + Date and time at which the user's access starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. + +
---- -### `acs_system_id` -Format: `UUID` +--- + +**`acs_system_id`** *UUID* ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). ---- -### `acs_user_id` +--- -Format: `UUID` +**`acs_user_id`** *UUID* ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). ---- -### `created_at` +--- -Format: `Datetime` +**`created_at`** *Datetime* Date and time at which the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) was created. ---- -### `display_name` +--- -Format: `String` +**`display_name`** *String* Display name for the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + --- -### `email` +**`email`** *String* {% hint style="warning" %} **Deprecated**. use email_address. {% endhint %} -Format: `String` --- -### `email_address` - -Format: `String` +**`email_address`** *String* Email address of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). ---- - -### [`errors`](./#errors-1) -Format: `List` +--- -Item format: `Object` +[**`errors`**](./#errors) *List* *of Objects* Errors associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). ---- -### `external_type` +--- -Format: `Enum` +**`external_type`** *Enum* Brand-specific terminology for the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) type. -Possible enum values: +
+ +Enum values + - `pti_user` - `brivo_user` - `hid_credential_manager_user` @@ -102,242 +139,258 @@ Possible enum values: - `latch_user` - `dormakaba_community_user` - `salto_space_user` +
---- -### `external_type_display_name` +--- -Format: `String` +**`external_type_display_name`** *String* Display name that corresponds to the brand-specific terminology for the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) type. ---- -### `full_name` +--- -Format: `String` +**`full_name`** *String* Full name of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + --- -### `hid_acs_system_id` +**`hid_acs_system_id`** *UUID* -Format: `UUID` --- -### `is_managed` +**`is_managed`** *Boolean* -Format: `Boolean` --- -### `is_suspended` - -Format: `Boolean` +**`is_suspended`** *Boolean* Indicates whether the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) is currently [suspended](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users). ---- -### `phone_number` +--- -Format: `String` +**`phone_number`** *String* Phone number of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). ---- -### `user_identity_email_address` +--- -Format: `String` +**`user_identity_email_address`** *String* Email address of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). ---- -### `user_identity_full_name` +--- -Format: `String` +**`user_identity_full_name`** *String* Full name of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). ---- -### `user_identity_id` +--- -Format: `String` +**`user_identity_id`** *String* ID of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). ---- -### `user_identity_phone_number` +--- -Format: `String` +**`user_identity_phone_number`** *String* Phone number of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). ---- -### [`warnings`](./#warnings-1) - -Format: `List` +--- -Item format: `Object` +[**`warnings`**](./#warnings) *List* *of Objects* Warnings associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). ---- -### `workspace_id` +--- -Format: `UUID` +**`workspace_id`** *UUID* ID of the [workspace](../../../core-concepts/workspaces/README.md) that contains the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + --- + ## Errors -### `deleted_externally` +**`deleted_externally`** Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) was deleted from the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) outside of Seam. --- -### `salto_ks_subscription_limit_exceeded` +**`salto_ks_subscription_limit_exceeded`** Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) could not be subscribed on Salto KS because the subscription limit has been exceeded. --- -### `failed_to_create_on_acs_system` +**`failed_to_create_on_acs_system`** Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) was not created on the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). This is likely due to an internal unexpected error. Contact Seam [support](mailto:support@seam.co). --- -### `failed_to_update_on_acs_system` +**`failed_to_update_on_acs_system`** Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) was not updated on the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). This is likely due to an internal unexpected error. Contact Seam [support](mailto:support@seam.co). --- -### `failed_to_delete_on_acs_system` +**`failed_to_delete_on_acs_system`** Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) was not deleted on the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). This is likely due to an internal unexpected error. Contact Seam [support](mailto:support@seam.co). --- + ## Warnings -### `being_deleted` +**`being_deleted`** Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) is being deleted from the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). This is a temporary state, and the ACS user will be deleted shortly. --- -### `salto_ks_user_not_subscribed` +**`salto_ks_user_not_subscribed`** Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) is not subscribed on Salto KS, so they cannot unlock doors or perform any actions. This occurs when the their access schedule hasn’t started yet, if their access schedule has ended, if the site has reached its limit for active users (subscription slots), or if they have been manually unsubscribed. --- -### `unknown_issue_with_acs_user` +**`unknown_issue_with_acs_user`** An unknown issue occurred while syncing the state of this [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) with the provider. This issue may affect the proper functioning of this user. --- + +## Events + +**`acs_user.deleted`** + +An [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) was deleted. + +
+ +Properties + +- acs_system_id UUID + + ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). + + + +- acs_user_id UUID + + + +- connected_account_id UUID + + ID of the [connected account](../../../core-concepts/connected-accounts/README.md). + + + +- created_at Datetime + + Date and time at which the event was created. + + + +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + + +
+ +--- + ## Endpoints -### [`/acs/users/add_to_access_group`](./add_to_access_group.md) + +[**`/acs/users/add_to_access_group`**](./add_to_access_group.md) Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). -### [`/acs/users/create`](./create.md) + + +[**`/acs/users/create`**](./create.md) Creates a new [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). -### [`/acs/users/delete`](./delete.md) -Deletes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) and invalidates the ACS user's [credentials](../../../capability-guides/access-systems/managing-credentials.md). -### [`/acs/users/get`](./get.md) -Returns a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). -### [`/acs/users/list`](./list.md) +[**`/acs/users/delete`**](./delete.md) -Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management). -### [`/acs/users/list_accessible_entrances`](./list_accessible_entrances.md) +Deletes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) and invalidates the ACS user's [credentials](../../../capability-guides/access-systems/managing-credentials.md). -Lists the [entrances](https://docs.seam.co/latest/api/acs/entrances) to which a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) has access. -### [`/acs/users/remove_from_access_group`](./remove_from_access_group.md) -Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). -### [`/acs/users/revoke_access_to_all_entrances`](./revoke_access_to_all_entrances.md) +[**`/acs/users/get`**](./get.md) -Revokes access to all [entrances](https://docs.seam.co/latest/api/acs/entrances) for a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). -### [`/acs/users/suspend`](./suspend.md) +Returns a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). -[Suspends](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users#suspend-an-acs-user) a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Suspending an ACS user revokes their access temporarily. To restore an ACS user's access, you can [unsuspend](https://docs.seam.co/latest/api/acs/users/unsuspend) them. -### [`/acs/users/unsuspend`](./unsuspend.md) -[Unsuspends](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users#unsuspend-an-acs-user) a specified suspended [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). While [suspending an ACS user](https://docs.seam.co/latest/api/acs/users/suspend) revokes their access temporarily, unsuspending the ACS user restores their access. -### [`/acs/users/update`](./update.md) +[**`/acs/users/list`**](./list.md) -Updates the properties of a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). +Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management). ---- -## Events +[**`/acs/users/list_accessible_entrances`**](./list_accessible_entrances.md) -### `acs_user.deleted` +Lists the [entrances](https://docs.seam.co/latest/api/acs/entrances) to which a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) has access. -An [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) was deleted. -
+[**`/acs/users/remove_from_access_group`**](./remove_from_access_group.md) -acs_system_id Format: UUID +Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). -ID of the [ACS system](https://docs.seam.co/latest/capability-guides/access-systems). -
-
-acs_user_id Format: UUID -
-
+[**`/acs/users/revoke_access_to_all_entrances`**](./revoke_access_to_all_entrances.md) -connected_account_id Format: UUID +Revokes access to all [entrances](https://docs.seam.co/latest/api/acs/entrances) for a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). -ID of the [connected account](../../../core-concepts/connected-accounts/README.md). -
-
-created_at Format: Datetime +[**`/acs/users/suspend`**](./suspend.md) -Date and time at which the event was created. -
-
+[Suspends](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users#suspend-an-acs-user) a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Suspending an ACS user revokes their access temporarily. To restore an ACS user's access, you can [unsuspend](https://docs.seam.co/latest/api/acs/users/unsuspend) them. -event_id Format: UUID -ID of the event. -
-
+[**`/acs/users/unsuspend`**](./unsuspend.md) -event_type Format: String -
-
+[Unsuspends](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users#unsuspend-an-acs-user) a specified suspended [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). While [suspending an ACS user](https://docs.seam.co/latest/api/acs/users/suspend) revokes their access temporarily, unsuspending the ACS user restores their access. -occurred_at Format: Datetime -Date and time at which the event occurred. -
-
+[**`/acs/users/update`**](./update.md) -workspace_id Format: UUID +Updates the properties of a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). -ID of the [workspace](../../../core-concepts/workspaces/README.md). -
---- diff --git a/docs/api/acs/users/add_to_access_group.md b/docs/api/acs/users/add_to_access_group.md index 220fea9d..c4fc24a7 100644 --- a/docs/api/acs/users/add_to_access_group.md +++ b/docs/api/acs/users/add_to_access_group.md @@ -1,14 +1,60 @@ # Add an ACS User to an Access Group +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + +{% tabs %} +{% tab title="Signature" %} ``` PUT /acs/users/add_to_access_group ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_access_group_id`** *String* (Required) + +ID of the desired access group. + +--- + +**`acs_user_id`** *String* (Required) + +ID of the desired `acs_user`. + +--- + + +## Response + +void + +--- + +## Examples + +### Add an ACS user to an access group Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.users.addToAccessGroup({ @@ -17,7 +63,7 @@ await seam.acs.users.addToAccessGroup({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +71,7 @@ await seam.acs.users.addToAccessGroup({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.users.add_to_access_group( @@ -34,7 +80,7 @@ seam.acs.users.add_to_access_group( ) ``` -#### Response +#### Output ```python None @@ -42,7 +88,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.users.add_to_access_group( @@ -51,7 +97,7 @@ seam.acs.users.add_to_access_group( ) ``` -#### Response +#### Output ```ruby nil @@ -59,7 +105,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->users->add_to_access_group( ); ``` -#### Response +#### Output ```php null @@ -77,13 +123,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs users add-to-access-group --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" --acs_access_group_id "123e4567-e89b-12d3-a456-426614174000" ``` -#### Response +#### Output ```seam_cli {} @@ -91,7 +137,7 @@ seam acs users add-to-access-group --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -110,7 +156,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -119,32 +165,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_access_group_id` -Type: `string` -Required: Yes - -ID of the desired access group. - -*** - -### `acs_user_id` - -Type: `string` -Required: Yes - -ID of the desired `acs_user`. - -*** - -## Return Type - -void diff --git a/docs/api/acs/users/create.md b/docs/api/acs/users/create.md index 6137a24e..e96b8353 100644 --- a/docs/api/acs/users/create.md +++ b/docs/api/acs/users/create.md @@ -1,14 +1,103 @@ # Create an ACS User +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Creates a new [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/users/create ⇒ { acs_user } ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_system_id`** *String* (Required) + +ID of the `acs_system` to which to add the new `acs_user`. + +--- + +**`full_name`** *String* (Required) + +Full name of the new `acs_user`. + +--- + +**`access_schedule`** *Object* + +`starts_at` and `ends_at` timestamps for the new `acs_user`'s access. If you specify an `access_schedule`, you may include both `starts_at` and `ends_at`. `starts_at` defaults to the current time if not provided. `ends_at` is optional and must be a time in the future and after `starts_at`. + +--- + +**`acs_access_group_ids`** *Array* *of UUIDs* + +Array of `access_group_id`s to indicate the access groups to which to add the new `acs_user`. + +--- + +**`email`** *String* + +--- + +**`email_address`** *String* + +Email address of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +--- + +**`phone_number`** *String* + +Phone number of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). + +--- + +**`user_identity_id`** *String* + +ID of the user identity with which to associate the new `acs_user`. + +--- + + +## Response + +[acs\_user](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_user +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Create a new ACS user Creates a new [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.users.create({ @@ -16,11 +105,10 @@ await seam.acs.users.create({ full_name: "Jane Doe", email_address: "jane@example.com", phone_number: "+15555550100", - acs_access_group_ids: ["123e4567-e89b-12d3-a456-426614174000"], }); ``` -#### Response +#### Output ```javascript { @@ -37,7 +125,7 @@ await seam.acs.users.create({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.users.create( @@ -45,11 +133,10 @@ seam.acs.users.create( full_name="Jane Doe", email_address="jane@example.com", phone_number="+15555550100", - acs_access_group_ids=["123e4567-e89b-12d3-a456-426614174000"], ) ``` -#### Response +#### Output ```python AcsUser( @@ -66,7 +153,7 @@ AcsUser( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.users.create( @@ -74,11 +161,10 @@ seam.acs.users.create( full_name: "Jane Doe", email_address: "jane@example.com", phone_number: "+15555550100", - acs_access_group_ids: ["123e4567-e89b-12d3-a456-426614174000"], ) ``` -#### Response +#### Output ```ruby { @@ -95,7 +181,7 @@ seam.acs.users.create( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->users->create( acs_system_id: "123e4567-e89b-12d3-a456-426614174000", full_name: "Jane Doe", email_address: "jane@example.com", - phone_number: "+15555550100", - acs_access_group_ids: ["123e4567-e89b-12d3-a456-426614174000"] + phone_number: "+15555550100" ); ``` -#### Response +#### Output ```php acs->users->create( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli -seam acs users create --acs_system_id "123e4567-e89b-12d3-a456-426614174000" --full_name "Jane Doe" --email_address "jane@example.com" --phone_number "+15555550100" --acs_access_group_ids ["123e4567-e89b-12d3-a456-426614174000"] +seam acs users create --acs_system_id "123e4567-e89b-12d3-a456-426614174000" --full_name "Jane Doe" --email_address "jane@example.com" --phone_number "+15555550100" ``` -#### Response +#### Output ```seam_cli { @@ -149,7 +234,7 @@ seam acs users create --acs_system_id "123e4567-e89b-12d3-a456-426614174000" --f {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -161,17 +246,16 @@ func main() { client.Acs.Users.Create( context.Background(), users.UsersCreateRequest{ - AcsSystemId: api.String("123e4567-e89b-12d3-a456-426614174000"), - FullName: api.String("Jane Doe"), - EmailAddress: api.String("jane@example.com"), - PhoneNumber: api.String("+15555550100"), - AcsAccessGroupIds: [1]string{api.String("123e4567-e89b-12d3-a456-426614174000")}, + AcsSystemId: api.String("123e4567-e89b-12d3-a456-426614174000"), + FullName: api.String("Jane Doe"), + EmailAddress: api.String("jane@example.com"), + PhoneNumber: api.String("+15555550100"), }, ) } ``` -#### Response +#### Output ```go api.AcsUser{AcsUserId: "123e4567-e89b-12d3-a456-426614174000", AcsSystemId: "123e4567-e89b-12d3-a456-426614174000", WorkspaceId: "123e4567-e89b-12d3-a456-426614174000", CreatedAt: "2024-04-05T07:57:05.323Z", DisplayName: "Jane Doe", FullName: "Jane Doe", EmailAddress: "jane@example.com", PhoneNumber: "+15555550100"} @@ -180,86 +264,370 @@ api.AcsUser{AcsUserId: "123e4567-e89b-12d3-a456-426614174000", AcsSystemId: "123 {% endtabs %} -## Authentication Methods -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. +### Create a new ACS user -## Request Parameters +Creates a new [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) with an access schedule. -### `acs_system_id` +{% tabs %} +{% tab title="JavaScript" %} +#### Code + +```javascript +await seam.acs.users.create({ + acs_system_id: "123e4567-e89b-12d3-a456-426614174000", + full_name: "Jane Doe", + email_address: "jane@example.com", + phone_number: "+15555550100", + access_schedule: { + starts_at: "2024-11-01T15:00:00.000Z", + ends_at: "2024-11-04T11:00:00.000Z", + }, +}); +``` -Type: `string` -Required: Yes +#### Output -ID of the `acs_system` to which to add the new `acs_user`. +```javascript +{ + "acs_user_id": "123e4567-e89b-12d3-a456-426614174000", + "acs_system_id": "123e4567-e89b-12d3-a456-426614174000", + "workspace_id": "123e4567-e89b-12d3-a456-426614174000", + "created_at": "2024-04-05T07:57:05.323Z", + "display_name": "Jane Doe", + "full_name": "Jane Doe", + "email_address": "jane@example.com", + "phone_number": "+15555550100" +} +``` +{% endtab %} -*** +{% tab title="Python" %} +#### Code -### `full_name` +```python +seam.acs.users.create( + acs_system_id="123e4567-e89b-12d3-a456-426614174000", + full_name="Jane Doe", + email_address="jane@example.com", + phone_number="+15555550100", + access_schedule={ + "starts_at": "2024-11-01T15:00:00.000Z", + "ends_at": "2024-11-04T11:00:00.000Z", + }, +) +``` -Type: `string` -Required: Yes +#### Output -Full name of the new `acs_user`. +```python +AcsUser( + acs_user_id="123e4567-e89b-12d3-a456-426614174000", + acs_system_id="123e4567-e89b-12d3-a456-426614174000", + workspace_id="123e4567-e89b-12d3-a456-426614174000", + created_at="2024-04-05T07:57:05.323Z", + display_name="Jane Doe", + full_name="Jane Doe", + email_address="jane@example.com", + phone_number="+15555550100", +) +``` +{% endtab %} -*** +{% tab title="Ruby" %} +#### Code -### `access_schedule` +```ruby +seam.acs.users.create( + acs_system_id: "123e4567-e89b-12d3-a456-426614174000", + full_name: "Jane Doe", + email_address: "jane@example.com", + phone_number: "+15555550100", + access_schedule: { + starts_at: "2024-11-01T15:00:00.000Z", + ends_at: "2024-11-04T11:00:00.000Z", + }, +) +``` -Type: `object` -Required: No +#### Output -`starts_at` and `ends_at` timestamps for the new `acs_user`'s access. If you specify an `access_schedule`, you may include both `starts_at` and `ends_at`. `starts_at` defaults to the current time if not provided. `ends_at` is optional and must be a time in the future and after `starts_at`. +```ruby +{ + "acs_user_id" => "123e4567-e89b-12d3-a456-426614174000", + "acs_system_id" => "123e4567-e89b-12d3-a456-426614174000", + "workspace_id" => "123e4567-e89b-12d3-a456-426614174000", + "created_at" => "2024-04-05T07:57:05.323Z", + "display_name" => "Jane Doe", + "full_name" => "Jane Doe", + "email_address" => "jane@example.com", + "phone_number" => "+15555550100", +} +``` +{% endtab %} -*** +{% tab title="PHP" %} +#### Code -### `acs_access_group_ids` +```php +acs->users->create( + acs_system_id: "123e4567-e89b-12d3-a456-426614174000", + full_name: "Jane Doe", + email_address: "jane@example.com", + phone_number: "+15555550100", + access_schedule: [ + "starts_at" => "2024-11-01T15:00:00.000Z", + "ends_at" => "2024-11-04T11:00:00.000Z", + ] +); +``` -Type: `array` -Required: No +#### Output -Array of `access_group_id`s to indicate the access groups to which to add the new `acs_user`. +```php + "123e4567-e89b-12d3-a456-426614174000", + "acs_system_id" => "123e4567-e89b-12d3-a456-426614174000", + "workspace_id" => "123e4567-e89b-12d3-a456-426614174000", + "created_at" => "2024-04-05T07:57:05.323Z", + "display_name" => "Jane Doe", + "full_name" => "Jane Doe", + "email_address" => "jane@example.com", + "phone_number" => "+15555550100", +]; +``` +{% endtab %} + +{% tab title="Seam CLI" %} +#### Code + +```seam_cli +seam acs users create --acs_system_id "123e4567-e89b-12d3-a456-426614174000" --full_name "Jane Doe" --email_address "jane@example.com" --phone_number "+15555550100" --access_schedule {"starts_at":"2024-11-01T15:00:00.000Z","ends_at":"2024-11-04T11:00:00.000Z"} +``` + +#### Output + +```seam_cli +{ + "acs_user_id": "123e4567-e89b-12d3-a456-426614174000", + "acs_system_id": "123e4567-e89b-12d3-a456-426614174000", + "workspace_id": "123e4567-e89b-12d3-a456-426614174000", + "created_at": "2024-04-05T07:57:05.323Z", + "display_name": "Jane Doe", + "full_name": "Jane Doe", + "email_address": "jane@example.com", + "phone_number": "+15555550100" +} +``` +{% endtab %} -*** +{% tab title="Go" %} +#### Code -### `email` +```go +package main -Type: `string` -Required: No +import api "github.com/seamapi/go" +import users "github.com/seamapi/go/users" +func main() { + client.Acs.Users.Create( + context.Background(), + users.UsersCreateRequest{ + AcsSystemId: api.String("123e4567-e89b-12d3-a456-426614174000"), + FullName: api.String("Jane Doe"), + EmailAddress: api.String("jane@example.com"), + PhoneNumber: api.String("+15555550100"), + AccessSchedule: users.UsersCreateRequestAccessSchedule{StartsAt: api.String("2024-11-01T15:00:00.000Z"), EndsAt: api.String("2024-11-04T11:00:00.000Z")}, + }, + ) +} +``` +#### Output -*** +```go +api.AcsUser{AcsUserId: "123e4567-e89b-12d3-a456-426614174000", AcsSystemId: "123e4567-e89b-12d3-a456-426614174000", WorkspaceId: "123e4567-e89b-12d3-a456-426614174000", CreatedAt: "2024-04-05T07:57:05.323Z", DisplayName: "Jane Doe", FullName: "Jane Doe", EmailAddress: "jane@example.com", PhoneNumber: "+15555550100"} +``` +{% endtab %} -### `email_address` +{% endtabs %} +### Create a new ACS user in an access group -Type: `string` -Required: No +Creates a new [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) and assigns the new user to an [access group](../../../capability-guides/access-systems/user-management/assigning-users-to-access-groups.md). -Email address of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). +{% tabs %} +{% tab title="JavaScript" %} +#### Code -*** +```javascript +await seam.acs.users.create({ + acs_system_id: "123e4567-e89b-12d3-a456-426614174000", + full_name: "Jane Doe", + email_address: "jane@example.com", + phone_number: "+15555550100", + acs_access_group_ids: ["123e4567-e89b-12d3-a456-426614174000"], +}); +``` -### `phone_number` +#### Output -Type: `string` -Required: No +```javascript +{ + "acs_user_id": "123e4567-e89b-12d3-a456-426614174000", + "acs_system_id": "123e4567-e89b-12d3-a456-426614174000", + "workspace_id": "123e4567-e89b-12d3-a456-426614174000", + "created_at": "2024-04-05T07:57:05.323Z", + "display_name": "Jane Doe", + "full_name": "Jane Doe", + "email_address": "jane@example.com", + "phone_number": "+15555550100" +} +``` +{% endtab %} -Phone number of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). +{% tab title="Python" %} +#### Code -*** +```python +seam.acs.users.create( + acs_system_id="123e4567-e89b-12d3-a456-426614174000", + full_name="Jane Doe", + email_address="jane@example.com", + phone_number="+15555550100", + acs_access_group_ids=["123e4567-e89b-12d3-a456-426614174000"], +) +``` -### `user_identity_id` +#### Output -Type: `string` -Required: No +```python +AcsUser( + acs_user_id="123e4567-e89b-12d3-a456-426614174000", + acs_system_id="123e4567-e89b-12d3-a456-426614174000", + workspace_id="123e4567-e89b-12d3-a456-426614174000", + created_at="2024-04-05T07:57:05.323Z", + display_name="Jane Doe", + full_name="Jane Doe", + email_address="jane@example.com", + phone_number="+15555550100", +) +``` +{% endtab %} -ID of the user identity with which to associate the new `acs_user`. +{% tab title="Ruby" %} +#### Code -*** +```ruby +seam.acs.users.create( + acs_system_id: "123e4567-e89b-12d3-a456-426614174000", + full_name: "Jane Doe", + email_address: "jane@example.com", + phone_number: "+15555550100", + acs_access_group_ids: ["123e4567-e89b-12d3-a456-426614174000"], +) +``` -## Return Type +#### Output -[acs\_user](./) +```ruby +{ + "acs_user_id" => "123e4567-e89b-12d3-a456-426614174000", + "acs_system_id" => "123e4567-e89b-12d3-a456-426614174000", + "workspace_id" => "123e4567-e89b-12d3-a456-426614174000", + "created_at" => "2024-04-05T07:57:05.323Z", + "display_name" => "Jane Doe", + "full_name" => "Jane Doe", + "email_address" => "jane@example.com", + "phone_number" => "+15555550100", +} +``` +{% endtab %} + +{% tab title="PHP" %} +#### Code + +```php +acs->users->create( + acs_system_id: "123e4567-e89b-12d3-a456-426614174000", + full_name: "Jane Doe", + email_address: "jane@example.com", + phone_number: "+15555550100", + acs_access_group_ids: ["123e4567-e89b-12d3-a456-426614174000"] +); +``` + +#### Output + +```php + "123e4567-e89b-12d3-a456-426614174000", + "acs_system_id" => "123e4567-e89b-12d3-a456-426614174000", + "workspace_id" => "123e4567-e89b-12d3-a456-426614174000", + "created_at" => "2024-04-05T07:57:05.323Z", + "display_name" => "Jane Doe", + "full_name" => "Jane Doe", + "email_address" => "jane@example.com", + "phone_number" => "+15555550100", +]; +``` +{% endtab %} + +{% tab title="Seam CLI" %} +#### Code + +```seam_cli +seam acs users create --acs_system_id "123e4567-e89b-12d3-a456-426614174000" --full_name "Jane Doe" --email_address "jane@example.com" --phone_number "+15555550100" --acs_access_group_ids ["123e4567-e89b-12d3-a456-426614174000"] +``` + +#### Output + +```seam_cli +{ + "acs_user_id": "123e4567-e89b-12d3-a456-426614174000", + "acs_system_id": "123e4567-e89b-12d3-a456-426614174000", + "workspace_id": "123e4567-e89b-12d3-a456-426614174000", + "created_at": "2024-04-05T07:57:05.323Z", + "display_name": "Jane Doe", + "full_name": "Jane Doe", + "email_address": "jane@example.com", + "phone_number": "+15555550100" +} +``` +{% endtab %} + +{% tab title="Go" %} +#### Code + +```go +package main + +import api "github.com/seamapi/go" +import users "github.com/seamapi/go/users" + +func main() { + client.Acs.Users.Create( + context.Background(), + users.UsersCreateRequest{ + AcsSystemId: api.String("123e4567-e89b-12d3-a456-426614174000"), + FullName: api.String("Jane Doe"), + EmailAddress: api.String("jane@example.com"), + PhoneNumber: api.String("+15555550100"), + AcsAccessGroupIds: [1]string{api.String("123e4567-e89b-12d3-a456-426614174000")}, + }, + ) +} +``` + +#### Output + +```go +api.AcsUser{AcsUserId: "123e4567-e89b-12d3-a456-426614174000", AcsSystemId: "123e4567-e89b-12d3-a456-426614174000", WorkspaceId: "123e4567-e89b-12d3-a456-426614174000", CreatedAt: "2024-04-05T07:57:05.323Z", DisplayName: "Jane Doe", FullName: "Jane Doe", EmailAddress: "jane@example.com", PhoneNumber: "+15555550100"} +``` +{% endtab %} + +{% endtabs %} diff --git a/docs/api/acs/users/delete.md b/docs/api/acs/users/delete.md index fcae60e5..59b00588 100644 --- a/docs/api/acs/users/delete.md +++ b/docs/api/acs/users/delete.md @@ -1,14 +1,54 @@ # Delete an ACS User +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Deletes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) and invalidates the ACS user's [credentials](../../../capability-guides/access-systems/managing-credentials.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/users/delete ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_user_id`** *String* (Required) + +ID of the desired `acs_user`. + +--- + + +## Response + +void + +--- + +## Examples + +### Delete an ACS user Deletes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) and invalidates the ACS user's [credentials](../../../capability-guides/access-systems/managing-credentials.md). {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.users.delete({ @@ -16,7 +56,7 @@ await seam.acs.users.delete({ }); ``` -#### Response +#### Output ```javascript // void @@ -24,13 +64,13 @@ await seam.acs.users.delete({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.users.delete(acs_user_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33") ``` -#### Response +#### Output ```python None @@ -38,13 +78,13 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.users.delete(acs_user_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33") ``` -#### Response +#### Output ```ruby nil @@ -52,14 +92,14 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->users->delete(acs_user_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33"); ``` -#### Response +#### Output ```php null @@ -67,13 +107,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs users delete --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" ``` -#### Response +#### Output ```seam_cli {} @@ -81,7 +121,7 @@ seam acs users delete --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -99,7 +139,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -108,23 +148,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. -## Request Parameters - -### `acs_user_id` - -Type: `string` -Required: Yes - -ID of the desired `acs_user`. - -*** - -## Return Type - -void diff --git a/docs/api/acs/users/get.md b/docs/api/acs/users/get.md index 997149da..2ee20bba 100644 --- a/docs/api/acs/users/get.md +++ b/docs/api/acs/users/get.md @@ -1,14 +1,63 @@ # Get an ACS User +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/users/get ⇒ { acs_user } ``` +{% endtab %} +{% endtabs %} -Returns a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_user_id`** *String* (Required) + +ID of the desired `acs_user`. + +--- + + +## Response + +[acs\_user](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_user +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Get a specific ACS user + +Specify the `acs_user_id` of the specific [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to retrieve. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.users.get({ @@ -16,7 +65,7 @@ await seam.acs.users.get({ }); ``` -#### Response +#### Output ```javascript { @@ -33,13 +82,13 @@ await seam.acs.users.get({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.users.get(acs_user_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33") ``` -#### Response +#### Output ```python AcsUser( @@ -56,13 +105,13 @@ AcsUser( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.users.get(acs_user_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33") ``` -#### Response +#### Output ```ruby { @@ -79,14 +128,14 @@ seam.acs.users.get(acs_user_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33") {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->users->get(acs_user_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33"); ``` -#### Response +#### Output ```php acs->users->get(acs_user_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33"); {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs users get --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" ``` -#### Response +#### Output ```seam_cli { @@ -127,7 +176,7 @@ seam acs users get --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -145,7 +194,7 @@ func main() { } ``` -#### Response +#### Output ```go api.AcsUser{AcsUserId: "123e4567-e89b-12d3-a456-426614174000", AcsSystemId: "123e4567-e89b-12d3-a456-426614174000", WorkspaceId: "123e4567-e89b-12d3-a456-426614174000", CreatedAt: "2024-04-05T07:57:05.323Z", DisplayName: "Jane Doe", FullName: "Jane Doe", EmailAddress: "jane@example.com", PhoneNumber: "+15555550100"} @@ -154,23 +203,4 @@ api.AcsUser{AcsUserId: "123e4567-e89b-12d3-a456-426614174000", AcsSystemId: "123 {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_user_id` - -Type: `string` -Required: Yes -ID of the desired `acs_user`. - -*** - -## Return Type - -[acs\_user](./) diff --git a/docs/api/acs/users/list.md b/docs/api/acs/users/list.md index b23c5a49..77ee3e65 100644 --- a/docs/api/acs/users/list.md +++ b/docs/api/acs/users/list.md @@ -1,20 +1,110 @@ # List ACS Users +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/users/list ⇒ { acs_users: [acs_user, …] } ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_system_id`** *String* + +ID of the `acs_system` for which you want to retrieve all `acs_user`s. + +--- + +**`created_before`** *String* + +--- + +**`limit`** *Number* + +Maximum number of records to return per page. + +--- + +**`page_cursor`** *String* + +Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`. + +--- + +**`search`** *String* + +String for which to search. Filters returned `acs_user`s to include all records that satisfy a partial match using `full_name`, `phone_number`, `email_address`, `acs_user_id`, `user_identity_id`, `user_identity_full_name` or `user_identity_phone_number`. + +--- + +**`user_identity_email_address`** *String* + +Email address of the user identity for which you want to retrieve all `acs_user`s. + +--- + +**`user_identity_id`** *String* + +ID of the user identity for which you want to retrieve all `acs_user`s. + +--- + +**`user_identity_phone_number`** *String* + +Phone number of the user identity for which you want to retrieve all `acs_user`s, in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, `+15555550100`). + +--- + + +## Response + +Array of [acs\_users](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_user +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List all ACS users Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management). {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.users.list(); ``` -#### Response +#### Output ```javascript { @@ -31,13 +121,13 @@ await seam.acs.users.list(); {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.users.list() ``` -#### Response +#### Output ```python AcsUser( @@ -54,13 +144,13 @@ AcsUser( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.users.list() ``` -#### Response +#### Output ```ruby { @@ -77,14 +167,14 @@ seam.acs.users.list() {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->users->list(); ``` -#### Response +#### Output ```php acs->users->list(); {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs users list ``` -#### Response +#### Output ```seam_cli { @@ -125,7 +215,7 @@ seam acs users list {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -135,7 +225,7 @@ func main() { } ``` -#### Response +#### Output ```go api.AcsUser{AcsUserId: "123e4567-e89b-12d3-a456-426614174000", AcsSystemId: "123e4567-e89b-12d3-a456-426614174000", WorkspaceId: "123e4567-e89b-12d3-a456-426614174000", CreatedAt: "2024-04-05T07:57:05.323Z", DisplayName: "Jane Doe", FullName: "Jane Doe", EmailAddress: "jane@example.com", PhoneNumber: "+15555550100"} @@ -144,87 +234,4 @@ api.AcsUser{AcsUserId: "123e4567-e89b-12d3-a456-426614174000", AcsSystemId: "123 {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_system_id` - -Type: `string` -Required: No - -ID of the `acs_system` for which you want to retrieve all `acs_user`s. - -*** - -### `created_before` - -Type: `string` -Required: No - - - -*** - -### `limit` - -Type: `number` -Required: No - -Maximum number of records to return per page. - -*** - -### `page_cursor` - -Type: `string` -Required: No - -Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`. - -*** - -### `search` - -Type: `string` -Required: No - -String for which to search. Filters returned `acs_user`s to include all records that satisfy a partial match using `full_name`, `phone_number`, or `email_address`. - -*** - -### `user_identity_email_address` - -Type: `string` -Required: No - -Email address of the user identity for which you want to retrieve all `acs_user`s. - -*** - -### `user_identity_id` - -Type: `string` -Required: No - -ID of the user identity for which you want to retrieve all `acs_user`s. - -*** - -### `user_identity_phone_number` - -Type: `string` -Required: No - -Phone number of the user identity for which you want to retrieve all `acs_user`s, in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, `+15555550100`). - -*** - -## Return Type -Array<[acs\_user](./)> diff --git a/docs/api/acs/users/list_accessible_entrances.md b/docs/api/acs/users/list_accessible_entrances.md index c5c4ad63..acf99678 100644 --- a/docs/api/acs/users/list_accessible_entrances.md +++ b/docs/api/acs/users/list_accessible_entrances.md @@ -1,29 +1,49 @@ # List ACS User-Accessible Entrances +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Lists the [entrances](https://docs.seam.co/latest/api/acs/entrances) to which a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) has access. + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/users/list_accessible_entrances ⇒ { acs_entrances: [acs_entrance, …] } ``` +{% endtab %} +{% endtabs %} -Lists the [entrances](https://docs.seam.co/latest/api/acs/entrances) to which a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) has access. +
-## Authentication Methods +Authentication Methods - API key - Client session token - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `acs_user_id` +## Request Parameters -Type: `string` -Required: Yes +**`acs_user_id`** *String* (Required) ID of the desired `acs_user`. -*** +--- -## Return Type -Array<[acs\_entrance](./)> +## Response + +Array of [acs\_entrances](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_entrance +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/users/remove_from_access_group.md b/docs/api/acs/users/remove_from_access_group.md index 7a580880..650eb9d9 100644 --- a/docs/api/acs/users/remove_from_access_group.md +++ b/docs/api/acs/users/remove_from_access_group.md @@ -1,14 +1,60 @@ # Remove an ACS User from an Access Group +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/users/remove_from_access_group ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_access_group_id`** *String* (Required) + +ID of the desired access group. + +--- + +**`acs_user_id`** *String* (Required) + +ID of the desired `acs_user`. + +--- -Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). + +## Response + +void + +--- + +## Examples + +### Remove an ACS user from an access group + +Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from an [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.users.removeFromAccessGroup({ @@ -17,7 +63,7 @@ await seam.acs.users.removeFromAccessGroup({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +71,7 @@ await seam.acs.users.removeFromAccessGroup({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.users.remove_from_access_group( @@ -34,7 +80,7 @@ seam.acs.users.remove_from_access_group( ) ``` -#### Response +#### Output ```python None @@ -42,7 +88,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.users.remove_from_access_group( @@ -51,7 +97,7 @@ seam.acs.users.remove_from_access_group( ) ``` -#### Response +#### Output ```ruby nil @@ -59,7 +105,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->users->remove_from_access_group( ); ``` -#### Response +#### Output ```php null @@ -77,13 +123,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs users remove-from-access-group --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" --acs_access_group_id "123e4567-e89b-12d3-a456-426614174000" ``` -#### Response +#### Output ```seam_cli {} @@ -91,7 +137,7 @@ seam acs users remove-from-access-group --acs_user_id "8d7e0b3a-b889-49a7-9164-4 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -110,7 +156,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -119,32 +165,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_access_group_id` - -Type: `string` -Required: Yes - -ID of the desired access group. - -*** - -### `acs_user_id` -Type: `string` -Required: Yes - -ID of the desired `acs_user`. - -*** - -## Return Type - -void diff --git a/docs/api/acs/users/revoke_access_to_all_entrances.md b/docs/api/acs/users/revoke_access_to_all_entrances.md index 8a535716..62085c20 100644 --- a/docs/api/acs/users/revoke_access_to_all_entrances.md +++ b/docs/api/acs/users/revoke_access_to_all_entrances.md @@ -1,28 +1,39 @@ # Revoke ACS User Access to All Entrances +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Revokes access to all [entrances](https://docs.seam.co/latest/api/acs/entrances) for a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/users/revoke_access_to_all_entrances ⇒ void ``` +{% endtab %} +{% endtabs %} -Revokes access to all [entrances](https://docs.seam.co/latest/api/acs/entrances) for a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `acs_user_id` +## Request Parameters -Type: `string` -Required: Yes +**`acs_user_id`** *String* (Required) ID of the desired `acs_user`. -*** +--- + -## Return Type +## Response void diff --git a/docs/api/acs/users/suspend.md b/docs/api/acs/users/suspend.md index 3e7988c6..8e261764 100644 --- a/docs/api/acs/users/suspend.md +++ b/docs/api/acs/users/suspend.md @@ -1,14 +1,54 @@ # Suspend an ACS User +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +[Suspends](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users#suspend-an-acs-user) a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Suspending an ACS user revokes their access temporarily. To restore an ACS user's access, you can [unsuspend](https://docs.seam.co/latest/api/acs/users/unsuspend) them. + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/users/suspend ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_user_id`** *String* (Required) + +ID of the desired `acs_user`. + +--- + + +## Response + +void + +--- + +## Examples + +### Suspend an ACS user [Suspends](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users#suspend-an-acs-user) a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Suspending an ACS user revokes their access temporarily. To restore an ACS user's access, you can [unsuspend](https://docs.seam.co/latest/api/acs/users/unsuspend) them. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.users.suspend({ @@ -16,7 +56,7 @@ await seam.acs.users.suspend({ }); ``` -#### Response +#### Output ```javascript // void @@ -24,13 +64,13 @@ await seam.acs.users.suspend({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.users.suspend(acs_user_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33") ``` -#### Response +#### Output ```python None @@ -38,13 +78,13 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.users.suspend(acs_user_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33") ``` -#### Response +#### Output ```ruby nil @@ -52,14 +92,14 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->users->suspend(acs_user_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33"); ``` -#### Response +#### Output ```php null @@ -67,13 +107,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs users suspend --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" ``` -#### Response +#### Output ```seam_cli {} @@ -81,7 +121,7 @@ seam acs users suspend --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -99,7 +139,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -108,23 +148,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. -## Request Parameters - -### `acs_user_id` - -Type: `string` -Required: Yes - -ID of the desired `acs_user`. - -*** - -## Return Type - -void diff --git a/docs/api/acs/users/unsuspend.md b/docs/api/acs/users/unsuspend.md index e2f624dd..cb3dd3a1 100644 --- a/docs/api/acs/users/unsuspend.md +++ b/docs/api/acs/users/unsuspend.md @@ -1,14 +1,54 @@ # Unsuspend an ACS User +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +[Unsuspends](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users#unsuspend-an-acs-user) a specified suspended [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). While [suspending an ACS user](https://docs.seam.co/latest/api/acs/users/suspend) revokes their access temporarily, unsuspending the ACS user restores their access. + +{% tabs %} +{% tab title="Signature" %} ``` POST /acs/users/unsuspend ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_user_id`** *String* (Required) + +ID of the desired `acs_user`. + +--- + + +## Response + +void + +--- + +## Examples + +### Unsuspend an ACS user [Unsuspends](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users#unsuspend-an-acs-user) a specified suspended [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). While [suspending an ACS user](https://docs.seam.co/latest/api/acs/users/suspend) revokes their access temporarily, unsuspending the ACS user restores their access. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.users.unsuspend({ @@ -16,7 +56,7 @@ await seam.acs.users.unsuspend({ }); ``` -#### Response +#### Output ```javascript // void @@ -24,13 +64,13 @@ await seam.acs.users.unsuspend({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.users.unsuspend(acs_user_id="8d7e0b3a-b889-49a7-9164-4b71a0506a33") ``` -#### Response +#### Output ```python None @@ -38,13 +78,13 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.users.unsuspend(acs_user_id: "8d7e0b3a-b889-49a7-9164-4b71a0506a33") ``` -#### Response +#### Output ```ruby nil @@ -52,7 +92,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->users->unsuspend( ); ``` -#### Response +#### Output ```php null @@ -69,13 +109,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs users unsuspend --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" ``` -#### Response +#### Output ```seam_cli {} @@ -83,7 +123,7 @@ seam acs users unsuspend --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -101,7 +141,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -110,23 +150,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. -## Request Parameters - -### `acs_user_id` - -Type: `string` -Required: Yes - -ID of the desired `acs_user`. - -*** - -## Return Type - -void diff --git a/docs/api/acs/users/update.md b/docs/api/acs/users/update.md index dccb7c8a..f5c046d0 100644 --- a/docs/api/acs/users/update.md +++ b/docs/api/acs/users/update.md @@ -1,14 +1,86 @@ # Update an ACS User +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Updates the properties of a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +{% tabs %} +{% tab title="Signature" %} ``` PATCH /acs/users/update ⇒ void ``` +{% endtab %} +{% endtabs %} -Updates the properties of a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_user_id`** *String* (Required) + +ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +--- + +**`access_schedule`** *Object* + +`starts_at` and `ends_at` timestamps for the `acs_user`'s access. If you specify an `access_schedule`, you must include both `starts_at` and `ends_at`. `ends_at` must be a time in the future and after `starts_at`. + +--- + +**`email`** *String* + +--- + +**`email_address`** *String* + +Email address of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +--- + +**`full_name`** *String* + +Full name of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). + +--- + +**`hid_acs_system_id`** *String* + +--- + +**`phone_number`** *String* + +Phone number of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). + +--- + + +## Response + +void + +--- + +## Examples + +### Update an ACS user + +Update the properties of a specific [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.acs.users.update({ @@ -17,7 +89,7 @@ await seam.acs.users.update({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +97,7 @@ await seam.acs.users.update({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.acs.users.update( @@ -33,7 +105,7 @@ seam.acs.users.update( ) ``` -#### Response +#### Output ```python None @@ -41,7 +113,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.acs.users.update( @@ -50,7 +122,7 @@ seam.acs.users.update( ) ``` -#### Response +#### Output ```ruby nil @@ -58,7 +130,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php acs->users->update( ); ``` -#### Response +#### Output ```php null @@ -76,13 +148,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam acs users update --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" --phone_number "+15555550222" ``` -#### Response +#### Output ```seam_cli {} @@ -90,7 +162,7 @@ seam acs users update --acs_user_id "8d7e0b3a-b889-49a7-9164-4b71a0506a33" --pho {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -109,7 +181,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -118,77 +190,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_user_id` - -Type: `string` -Required: Yes - -ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). - -*** - -### `access_schedule` - -Type: `object` -Required: No - -`starts_at` and `ends_at` timestamps for the `acs_user`'s access. If you specify an `access_schedule`, you must include both `starts_at` and `ends_at`. `ends_at` must be a time in the future and after `starts_at`. - -*** - -### `email` - -Type: `string` -Required: No - - - -*** -### `email_address` - -Type: `string` -Required: No - -Email address of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). - -*** - -### `full_name` - -Type: `string` -Required: No - -Full name of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). - -*** - -### `hid_acs_system_id` - -Type: `string` -Required: No - - - -*** - -### `phone_number` - -Type: `string` -Required: No - -Phone number of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`). - -*** - -## Return Type - -void diff --git a/docs/api/phones/README.md b/docs/api/phones/README.md index e6ebc297..dddb2f04 100644 --- a/docs/api/phones/README.md +++ b/docs/api/phones/README.md @@ -1,206 +1,253 @@ # Phones -## `phone` +## The phone Object + +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) + Represents an app user's mobile phone. -### `created_at` +{% tabs %} +{% tab title="JSON" %} +```json +{ + created_at: [example value], + custom_metadata: [example value], + device_id: [example value], + device_type: [example value], + display_name: [example value], + errors: [example value], + nickname: [example value], + properties: [example value], + warnings: [example value], + workspace_id: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- -Format: `Datetime` +## Properties + +**`created_at`** *Datetime* Date and time at which the `phone` was created. ---- -### `custom_metadata` +--- -Format: `Record` +**`custom_metadata`** *Record* Optional [custom metadata](../../core-concepts/devices/adding-custom-metadata-to-a-device.md) for the phone. ---- -### `device_id` +--- -Format: `UUID` +**`device_id`** *UUID* ID of the `phone`. ---- -### `device_type` +--- -Format: `Enum` +**`device_type`** *Enum* Type of phone. -Possible enum values: +
+ +Enum values + - `ios_phone` - `android_phone` +
---- -### `display_name` +--- -Format: `String` +**`display_name`** *String* Display name of the phone. Defaults to `nickname` (if it is set) or `properties.appearance.name` otherwise. Enables administrators and users to identify the phone easily, especially when there are numerous phones. ---- -### `errors` - -Format: `List` +--- -Item format: `Object` +**`errors`** *List* *of Objects* Errors associated with the `phone`.
-error_code Format: String -
-
+Child Object Properties + +- error_code String + + + +- message String + -message Format: String
---- -### `nickname` -Format: `String` +--- + +**`nickname`** *String* Optional nickname to describe the phone, settable through Seam. ---- -### `properties` +--- -Format: `Object` +**`properties`** *Object* Properties of the phone.
-assa_abloy_credential_service_metadata Format: Object +Child Properties -ASSA ABLOY Credential Service metadata for the phone. -
-
+- assa_abloy_credential_service_metadata Object + + ASSA ABLOY Credential Service metadata for the phone. -assa_abloy_credential_service_metadata.endpoints Format: List Item format: Object -Endpoints associated with the phone. -- endpoint_id Format: String +- assa_abloy_credential_service_metadata.endpoints List of Objects + + Endpoints associated with the phone. + + +- endpoint_id String ID of the associated endpoint. -- is_active Format: Boolean + +- is_active Boolean Indicated whether the endpoint is active. -
-
-assa_abloy_credential_service_metadata.has_active_endpoint Format: Boolean -Indicates whether the credential service has active endpoints associated with the phone. -
-
-salto_space_credential_service_metadata Format: Object +- assa_abloy_credential_service_metadata.has_active_endpoint Boolean -Salto Space credential service metadata for the phone. -
-
+ Indicates whether the credential service has active endpoints associated with the phone. + + + +- salto_space_credential_service_metadata Object + + Salto Space credential service metadata for the phone. + + + +- salto_space_credential_service_metadata.has_active_phone Boolean + + Indicates whether the credential service has an active associated phone. -salto_space_credential_service_metadata.has_active_phone Format: Boolean -Indicates whether the credential service has an active associated phone.
---- -### `warnings` -Format: `List` +--- -Item format: `Object` +**`warnings`** *List* *of Objects* Warnings associated with the `phone`.
-message Format: String -
-
+Child Object Properties -warning_code Format: String -
---- +- message String -### `workspace_id` -Format: `UUID` -ID of the [workspace](../../core-concepts/workspaces/README.md) that contains the `phone`. +- warning_code String ---- -## Endpoints +
-### [`/phones/deactivate`](./deactivate.md) -Deactivates a phone, which is useful, for example, if a user has lost their phone. For more information, see [App User Lost Phone Process](../../capability-guides/mobile-access/managing-phones-for-a-user-identity.md#app-user-lost-phone-process). -### [`/phones/get`](./get.md) +--- -Returns a single phone entry matching the provided `device_id`. -### [`/phones/list`](./list.md) +**`workspace_id`** *UUID* + +ID of the [workspace](../../core-concepts/workspaces/README.md) that contains the `phone`. -Returns a list of all phones. To filter the list of returned phones by a specific owner user identity or credential, include the `owner_user_identity_id` or `acs_credential_id`, respectively, in the request body. --- + ## Events -### `phone.deactivated` +**`phone.deactivated`** A phone device was deactivated.
-created_at Format: Datetime +Properties -Date and time at which the event was created. -
-
+- created_at Datetime -device_id Format: UUID + Date and time at which the event was created. -ID of the [device](../../core-concepts/devices/README.md). -
-
-event_id Format: UUID -ID of the event. -
-
+- device_id UUID -event_type Format: String -
-
+ ID of the [device](../../core-concepts/devices/README.md). -occurred_at Format: Datetime -Date and time at which the event occurred. -
-
-workspace_id Format: UUID +- event_id UUID + + ID of the event. + + + +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. + + + +- workspace_id UUID + + ID of the [workspace](../../core-concepts/workspaces/README.md). + -ID of the [workspace](../../core-concepts/workspaces/README.md).
+ --- +## Endpoints + + +[**`/phones/deactivate`**](./deactivate.md) + +Deactivates a phone, which is useful, for example, if a user has lost their phone. For more information, see [App User Lost Phone Process](../../capability-guides/mobile-access/managing-phones-for-a-user-identity.md#app-user-lost-phone-process). + + +[**`/phones/get`**](./get.md) + +Returns a single phone entry matching the provided `device_id`. + + +[**`/phones/list`**](./list.md) + +Returns a list of all phones. To filter the list of returned phones by a specific owner user identity or credential, include the `owner_user_identity_id` or `acs_credential_id`, respectively, in the request body. + + diff --git a/docs/api/phones/deactivate.md b/docs/api/phones/deactivate.md index 00de709b..8fc235f8 100644 --- a/docs/api/phones/deactivate.md +++ b/docs/api/phones/deactivate.md @@ -1,29 +1,40 @@ # Deactivate a Phone +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Deactivates a phone, which is useful, for example, if a user has lost their phone. For more information, see [App User Lost Phone Process](../../capability-guides/mobile-access/managing-phones-for-a-user-identity.md#app-user-lost-phone-process). + +{% tabs %} +{% tab title="Signature" %} ``` POST /phones/deactivate ⇒ void ``` +{% endtab %} +{% endtabs %} -Deactivates a phone, which is useful, for example, if a user has lost their phone. For more information, see [App User Lost Phone Process](../../capability-guides/mobile-access/managing-phones-for-a-user-identity.md#app-user-lost-phone-process). +
-## Authentication Methods +Authentication Methods - API key - Client session token - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `device_id` +## Request Parameters -Type: `string` -Required: Yes +**`device_id`** *String* (Required) Device ID of the desired phone. -*** +--- + -## Return Type +## Response void diff --git a/docs/api/phones/get.md b/docs/api/phones/get.md index 1c06ba47..41d463f9 100644 --- a/docs/api/phones/get.md +++ b/docs/api/phones/get.md @@ -1,28 +1,48 @@ # Get Phone +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a single phone entry matching the provided `device_id`. + +{% tabs %} +{% tab title="Signature" %} ``` POST /phones/get ⇒ { phone } ``` +{% endtab %} +{% endtabs %} -Returns a single phone entry matching the provided `device_id`. +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `device_id` +## Request Parameters -Type: `string` -Required: Yes +**`device_id`** *String* (Required) Device ID of the desired phone. -*** +--- -## Return Type + +## Response [phone](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of phone +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/phones/list.md b/docs/api/phones/list.md index d0e79e40..3a029a3c 100644 --- a/docs/api/phones/list.md +++ b/docs/api/phones/list.md @@ -1,37 +1,54 @@ # List Phones +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all phones. To filter the list of returned phones by a specific owner user identity or credential, include the `owner_user_identity_id` or `acs_credential_id`, respectively, in the request body. + +{% tabs %} +{% tab title="Signature" %} ``` POST /phones/list ⇒ { phones: [phone, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all phones. To filter the list of returned phones by a specific owner user identity or credential, include the `owner_user_identity_id` or `acs_credential_id`, respectively, in the request body. +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `acs_credential_id` +## Request Parameters -Type: `string` -Required: No +**`acs_credential_id`** *String* ID of the [credential](../../capability-guides/access-systems/managing-credentials.md) by which to filter the list of returned phones. -*** - -### `owner_user_identity_id` +--- -Type: `string` -Required: No +**`owner_user_identity_id`** *String* ID of the user identity that represents the owner by which to filter the list of returned phones. -*** +--- -## Return Type -Array<[phone](./)> +## Response + +Array of [phones](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of phone +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/phones/simulate/README.md b/docs/api/phones/simulate/README.md index e361df76..f4020549 100644 --- a/docs/api/phones/simulate/README.md +++ b/docs/api/phones/simulate/README.md @@ -2,6 +2,9 @@ ## Endpoints -### [`/phones/simulate/create_sandbox_phone`](./create_sandbox_phone.md) + +[**`/phones/simulate/create_sandbox_phone`**](./create_sandbox_phone.md) Creates a new simulated phone in a [sandbox workspace](../../../core-concepts/workspaces/README.md#sandbox-workspaces). For more information, see [Creating a Simulated Phone for a User Identity](../../../capability-guides/mobile-access/developing-in-a-sandbox-workspace.md#creating-a-simulated-phone-for-a-user-identity). + + diff --git a/docs/api/phones/simulate/create_sandbox_phone.md b/docs/api/phones/simulate/create_sandbox_phone.md index a1e393a6..6d0b53df 100644 --- a/docs/api/phones/simulate/create_sandbox_phone.md +++ b/docs/api/phones/simulate/create_sandbox_phone.md @@ -1,55 +1,66 @@ # Create a Sandbox Phone +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Creates a new simulated phone in a [sandbox workspace](../../../core-concepts/workspaces/README.md#sandbox-workspaces). For more information, see [Creating a Simulated Phone for a User Identity](../../../capability-guides/mobile-access/developing-in-a-sandbox-workspace.md#creating-a-simulated-phone-for-a-user-identity). + +{% tabs %} +{% tab title="Signature" %} ``` POST /phones/simulate/create_sandbox_phone ⇒ { phone } ``` +{% endtab %} +{% endtabs %} -Creates a new simulated phone in a [sandbox workspace](../../../core-concepts/workspaces/README.md#sandbox-workspaces). For more information, see [Creating a Simulated Phone for a User Identity](../../../capability-guides/mobile-access/developing-in-a-sandbox-workspace.md#creating-a-simulated-phone-for-a-user-identity). +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `user_identity_id` +## Request Parameters -Type: `string` -Required: Yes +**`user_identity_id`** *String* (Required) ID of the user identity to associate with the simulated phone. -*** +--- -### `assa_abloy_metadata` - -Type: `object` -Required: No +**`assa_abloy_metadata`** *Object* ASSA ABLOY metadata to associate with the simulated phone. -*** - -### `custom_sdk_installation_id` +--- -Type: `string` -Required: No +**`custom_sdk_installation_id`** *String* ID of the custom SDK installation to use for the simulated phone. -*** - -### `phone_metadata` +--- -Type: `object` -Required: No +**`phone_metadata`** *Object* Metadata to associate with the simulated phone. -*** +--- -## Return Type + +## Response [phone](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of phone +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/thermostats/README.md b/docs/api/thermostats/README.md index 66d5e32c..ed509331 100644 --- a/docs/api/thermostats/README.md +++ b/docs/api/thermostats/README.md @@ -2,42 +2,69 @@ ## Endpoints -### [`/thermostats/activate_climate_preset`](./activate_climate_preset.md) + +[**`/thermostats/activate_climate_preset`**](./activate_climate_preset.md) Activates a specified [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). -### [`/thermostats/cool`](./cool.md) + + +[**`/thermostats/cool`**](./cool.md) Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [cool mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings). -### [`/thermostats/create_climate_preset`](./create_climate_preset.md) + + +[**`/thermostats/create_climate_preset`**](./create_climate_preset.md) Creates a [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). -### [`/thermostats/delete_climate_preset`](./delete_climate_preset.md) + + +[**`/thermostats/delete_climate_preset`**](./delete_climate_preset.md) Deletes a specified [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). -### [`/thermostats/heat`](./heat.md) + + +[**`/thermostats/heat`**](./heat.md) Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [heat mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings). -### [`/thermostats/heat_cool`](./heat_cool.md) + + +[**`/thermostats/heat_cool`**](./heat_cool.md) Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [heat-cool ("auto") mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings). -### [`/thermostats/list`](./list.md) + + +[**`/thermostats/list`**](./list.md) Returns a list of all [thermostats](https://docs.seam.co/latest/capability-guides/thermostats). -### [`/thermostats/off`](./off.md) + + +[**`/thermostats/off`**](./off.md) Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to ["off" mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings). -### [`/thermostats/set_fallback_climate_preset`](./set_fallback_climate_preset.md) + + +[**`/thermostats/set_fallback_climate_preset`**](./set_fallback_climate_preset.md) Sets a specified [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) as the ["fallback"](../../capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset.md) preset for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). -### [`/thermostats/set_fan_mode`](./set_fan_mode.md) + + +[**`/thermostats/set_fan_mode`**](./set_fan_mode.md) Sets the [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). -### [`/thermostats/set_hvac_mode`](./set_hvac_mode.md) + + +[**`/thermostats/set_hvac_mode`**](./set_hvac_mode.md) Sets the [HVAC mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). -### [`/thermostats/set_temperature_threshold`](./set_temperature_threshold.md) + + +[**`/thermostats/set_temperature_threshold`**](./set_temperature_threshold.md) Sets a [temperature threshold](../../capability-guides/thermostats/setting-and-monitoring-temperature-thresholds.md) for a specified thermostat. Seam emits a `thermostat.temperature_threshold_exceeded` event and adds a warning on a thermostat if it reports a temperature outside the threshold range. -### [`/thermostats/update_climate_preset`](./update_climate_preset.md) + + +[**`/thermostats/update_climate_preset`**](./update_climate_preset.md) Updates a specified [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + + diff --git a/docs/api/thermostats/activate_climate_preset.md b/docs/api/thermostats/activate_climate_preset.md index 54efb64e..3df1aa21 100644 --- a/docs/api/thermostats/activate_climate_preset.md +++ b/docs/api/thermostats/activate_climate_preset.md @@ -1,14 +1,73 @@ # Activate a Climate Preset +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Activates a specified [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/activate_climate_preset ⇒ { action_attempt } ``` +{% endtab %} +{% endtabs %} -Activates a specified [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`climate_preset_key`** *String* (Required) + +Climate preset key of the desired climate preset. + +--- + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- + + +## Response + +[action\_attempt](./) + +**`ACTIVATE_CLIMATE_PRESET`** +{% tabs %} +{% tab title="JSON" %} +```json +{ + action_attempt_id: [example value], + action_type: [example value], + status: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Activate a climate preset + +Specify the `device_id` of the desired thermostat and the `climate_preset_key` of the desired climate preset. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.activateClimatePreset({ @@ -17,7 +76,7 @@ await seam.thermostats.activateClimatePreset({ }); ``` -#### Response +#### Output ```javascript { @@ -29,7 +88,7 @@ await seam.thermostats.activateClimatePreset({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.activate_climate_preset( @@ -37,7 +96,7 @@ seam.thermostats.activate_climate_preset( ) ``` -#### Response +#### Output ```python ActionAttempt( @@ -49,7 +108,7 @@ ActionAttempt( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.activate_climate_preset( @@ -58,7 +117,7 @@ seam.thermostats.activate_climate_preset( ) ``` -#### Response +#### Output ```ruby { @@ -70,7 +129,7 @@ seam.thermostats.activate_climate_preset( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->activate_climate_preset( ); ``` -#### Response +#### Output ```php thermostats->activate_climate_preset( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats activate-climate-preset --device_id "123e4567-e89b-12d3-a456-426614174000" --climate_preset_key "occupied" ``` -#### Response +#### Output ```seam_cli { @@ -111,7 +170,7 @@ seam thermostats activate-climate-preset --device_id "123e4567-e89b-12d3-a456-42 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -129,7 +188,7 @@ func main() { } ``` -#### Response +#### Output ```go api.ActionAttempt{ActionAttemptId: "05de2295-d1dc-4748-aae3-9931658bde20", Status: "pending", ActionType: "ACTIVATE_CLIMATE_PRESET"} @@ -138,62 +197,4 @@ api.ActionAttempt{ActionAttemptId: "05de2295-d1dc-4748-aae3-9931658bde20", Statu {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `climate_preset_key` - -Type: `string` -Required: Yes - -Climate preset key of the desired climate preset. - -*** - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -## Return Type - -[action\_attempt](./) - -### `ACTIVATE_CLIMATE_PRESET` - -Activating climate preset. - -#### `action_attempt_id` - -Format: `UUID` - -ID of the action attempt. - ---- - -#### `action_type` - -Format: `String` - ---- - -#### `status` - -Format: `Enum` - -Possible enum values: -- `success` -- `pending` -- `error` - ---- diff --git a/docs/api/thermostats/cool.md b/docs/api/thermostats/cool.md index 5879fe40..561c6da7 100644 --- a/docs/api/thermostats/cool.md +++ b/docs/api/thermostats/cool.md @@ -1,14 +1,80 @@ # Set to Cool Mode +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [cool mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/cool ⇒ { action_attempt } ``` +{% endtab %} +{% endtabs %} -Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [cool mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- + +**`cooling_set_point_celsius`** *Number* + +Desired [cooling set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set one of the `cooling_set_point` parameters. + +--- + +**`cooling_set_point_fahrenheit`** *Number* + +Desired [cooling set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set one of the `cooling_set_point` parameters. + +--- + + +## Response + +[action\_attempt](./) + +**`SET_HVAC_MODE`** +{% tabs %} +{% tab title="JSON" %} +```json +{ + action_attempt_id: [example value], + action_type: [example value], + status: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Set to cool mode + +Specify the desired cooling set point in °C or °F. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.cool({ @@ -17,7 +83,7 @@ await seam.thermostats.cool({ }); ``` -#### Response +#### Output ```javascript { @@ -29,7 +95,7 @@ await seam.thermostats.cool({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.cool( @@ -37,7 +103,7 @@ seam.thermostats.cool( ) ``` -#### Response +#### Output ```python ActionAttempt( @@ -49,7 +115,7 @@ ActionAttempt( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.cool( @@ -58,7 +124,7 @@ seam.thermostats.cool( ) ``` -#### Response +#### Output ```ruby { @@ -70,7 +136,7 @@ seam.thermostats.cool( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->cool( ); ``` -#### Response +#### Output ```php thermostats->cool( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats cool --device_id "123e4567-e89b-12d3-a456-426614174000" --cooling_set_point_celsius 25 ``` -#### Response +#### Output ```seam_cli { @@ -111,7 +177,7 @@ seam thermostats cool --device_id "123e4567-e89b-12d3-a456-426614174000" --cooli {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -129,7 +195,7 @@ func main() { } ``` -#### Response +#### Output ```go api.ActionAttempt{ActionAttemptId: "123e4567-e89b-12d3-a456-426614174000", Status: "pending", ActionType: "SET_COOL"} @@ -138,72 +204,4 @@ api.ActionAttempt{ActionAttemptId: "123e4567-e89b-12d3-a456-426614174000", Statu {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -### `cooling_set_point_celsius` - -Type: `number` -Required: No - -Desired [cooling set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set one of the `cooling_set_point` parameters. - -*** - -### `cooling_set_point_fahrenheit` - -Type: `number` -Required: No - -Desired [cooling set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set one of the `cooling_set_point` parameters. - -*** - -## Return Type - -[action\_attempt](./) - -### `SET_HVAC_MODE` - -Setting HVAC mode. - -#### `action_attempt_id` - -Format: `UUID` - -ID of the action attempt. - ---- - -#### `action_type` - -Format: `String` - ---- - -#### `status` - -Format: `Enum` - -Possible enum values: -- `success` -- `pending` -- `error` - ---- diff --git a/docs/api/thermostats/create_climate_preset.md b/docs/api/thermostats/create_climate_preset.md index 069c4b3c..bd0b9d70 100644 --- a/docs/api/thermostats/create_climate_preset.md +++ b/docs/api/thermostats/create_climate_preset.md @@ -1,14 +1,109 @@ # Create a Climate Preset +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Creates a [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/create_climate_preset ⇒ void ``` +{% endtab %} +{% endtabs %} -Creates a [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`climate_preset_key`** *String* (Required) + +Unique key to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md). + +--- + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- + +**`cooling_set_point_celsius`** *Number* + +Temperature to which the thermostat should cool (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). + +--- + +**`cooling_set_point_fahrenheit`** *Number* + +Temperature to which the thermostat should cool (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). + +--- + +**`fan_mode_setting`** *String* + +Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`. + +--- + +**`heating_set_point_celsius`** *Number* + +Temperature to which the thermostat should heat (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). + +--- + +**`heating_set_point_fahrenheit`** *Number* + +Temperature to which the thermostat should heat (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). + +--- + +**`hvac_mode_setting`** *String* + +Desired [HVAC mode](../../capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode.md) setting, such as `heat`, `cool`, `heat_cool`, or `off`. + +--- + +**`manual_override_allowed`** *Boolean* + +Indicates whether a person at the thermostat or using the API can change the thermostat's settings. + +--- + +**`name`** *String* + +User-friendly name to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md). + +--- + + +## Response + +void + +--- + +## Examples + +### Create a climate preset + +Specify the `device_id` of the desired thermostat, along with the desired settings for the climate preset, including `manual_override_allowed`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.createClimatePreset({ @@ -23,7 +118,7 @@ await seam.thermostats.createClimatePreset({ }); ``` -#### Response +#### Output ```javascript // void @@ -31,7 +126,7 @@ await seam.thermostats.createClimatePreset({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.create_climate_preset( @@ -46,7 +141,7 @@ seam.thermostats.create_climate_preset( ) ``` -#### Response +#### Output ```python None @@ -54,7 +149,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.create_climate_preset( @@ -69,7 +164,7 @@ seam.thermostats.create_climate_preset( ) ``` -#### Response +#### Output ```ruby nil @@ -77,7 +172,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->create_climate_preset( ); ``` -#### Response +#### Output ```php null @@ -101,13 +196,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats create-climate-preset --device_id "123e4567-e89b-12d3-a456-426614174000" --climate_preset_key "occupied" --name "Occupied" --fan_mode_setting "auto" --hvac_mode_setting "heat_cool" --cooling_set_point_celsius 25 --heating_set_point_celsius 20 --manual_override_allowed true ``` -#### Response +#### Output ```seam_cli {} @@ -115,7 +210,7 @@ seam thermostats create-climate-preset --device_id "123e4567-e89b-12d3-a456-4266 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -139,7 +234,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -148,105 +243,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `climate_preset_key` - -Type: `string` -Required: Yes - -Unique key to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md). - -*** - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -### `cooling_set_point_celsius` - -Type: `number` -Required: No - -Temperature to which the thermostat should cool (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). - -*** - -### `cooling_set_point_fahrenheit` - -Type: `number` -Required: No - -Temperature to which the thermostat should cool (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). - -*** - -### `fan_mode_setting` - -Type: `string` -Required: No -Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`. - -*** - -### `heating_set_point_celsius` - -Type: `number` -Required: No - -Temperature to which the thermostat should heat (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). - -*** - -### `heating_set_point_fahrenheit` - -Type: `number` -Required: No - -Temperature to which the thermostat should heat (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). - -*** - -### `hvac_mode_setting` - -Type: `string` -Required: No - -Desired [HVAC mode](../../capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode.md) setting, such as `heat`, `cool`, `heat_cool`, or `off`. - -*** - -### `manual_override_allowed` - -Type: `boolean` -Required: No - -Indicates whether a person at the thermostat or using the API can change the thermostat's settings. - -*** - -### `name` - -Type: `string` -Required: No - -User-friendly name to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md). - -*** - -## Return Type - -void diff --git a/docs/api/thermostats/delete_climate_preset.md b/docs/api/thermostats/delete_climate_preset.md index 57012378..eb486bb0 100644 --- a/docs/api/thermostats/delete_climate_preset.md +++ b/docs/api/thermostats/delete_climate_preset.md @@ -1,14 +1,61 @@ # Delete a Climate Preset +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Deletes a specified [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/delete_climate_preset ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`climate_preset_key`** *String* (Required) + +Climate preset key of the desired climate preset. + +--- + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- -Deletes a specified [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +## Response + +void + +--- + +## Examples + +### Delete a climate preset + +Specify the `device_id` of the desired thermostat and the `climate_preset_key` of the desired climate preset. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.deleteClimatePreset({ @@ -17,7 +64,7 @@ await seam.thermostats.deleteClimatePreset({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +72,7 @@ await seam.thermostats.deleteClimatePreset({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.delete_climate_preset( @@ -33,7 +80,7 @@ seam.thermostats.delete_climate_preset( ) ``` -#### Response +#### Output ```python None @@ -41,7 +88,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.delete_climate_preset( @@ -50,7 +97,7 @@ seam.thermostats.delete_climate_preset( ) ``` -#### Response +#### Output ```ruby nil @@ -58,7 +105,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->delete_climate_preset( ); ``` -#### Response +#### Output ```php null @@ -76,13 +123,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats delete-climate-preset --device_id "123e4567-e89b-12d3-a456-426614174000" --climate_preset_key "occupied" ``` -#### Response +#### Output ```seam_cli {} @@ -90,7 +137,7 @@ seam thermostats delete-climate-preset --device_id "123e4567-e89b-12d3-a456-4266 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -108,7 +155,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -117,33 +164,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters -### `climate_preset_key` - -Type: `string` -Required: Yes - -Climate preset key of the desired climate preset. - -*** - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -## Return Type - -void diff --git a/docs/api/thermostats/heat.md b/docs/api/thermostats/heat.md index 5b9d14db..c73f8fa8 100644 --- a/docs/api/thermostats/heat.md +++ b/docs/api/thermostats/heat.md @@ -1,14 +1,80 @@ # Set to Heat Mode +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [heat mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/heat ⇒ { action_attempt } ``` +{% endtab %} +{% endtabs %} -Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [heat mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- + +**`heating_set_point_celsius`** *Number* + +Desired [heating set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set one of the `heating_set_point` parameters. + +--- + +**`heating_set_point_fahrenheit`** *Number* + +Desired [heating set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set one of the `heating_set_point` parameters. + +--- + + +## Response + +[action\_attempt](./) + +**`SET_HVAC_MODE`** +{% tabs %} +{% tab title="JSON" %} +```json +{ + action_attempt_id: [example value], + action_type: [example value], + status: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Set to heat mode + +Specify the desired heating set point in °C or °F. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.heat({ @@ -17,7 +83,7 @@ await seam.thermostats.heat({ }); ``` -#### Response +#### Output ```javascript { @@ -29,7 +95,7 @@ await seam.thermostats.heat({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.heat( @@ -37,7 +103,7 @@ seam.thermostats.heat( ) ``` -#### Response +#### Output ```python ActionAttempt( @@ -49,7 +115,7 @@ ActionAttempt( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.heat( @@ -58,7 +124,7 @@ seam.thermostats.heat( ) ``` -#### Response +#### Output ```ruby { @@ -70,7 +136,7 @@ seam.thermostats.heat( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->heat( ); ``` -#### Response +#### Output ```php thermostats->heat( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats heat --device_id "123e4567-e89b-12d3-a456-426614174000" --heating_set_point_celsius 20 ``` -#### Response +#### Output ```seam_cli { @@ -111,7 +177,7 @@ seam thermostats heat --device_id "123e4567-e89b-12d3-a456-426614174000" --heati {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -129,7 +195,7 @@ func main() { } ``` -#### Response +#### Output ```go api.ActionAttempt{ActionAttemptId: "123e4567-e89b-12d3-a456-426614174000", Status: "pending", ActionType: "SET_HEAT"} @@ -138,72 +204,4 @@ api.ActionAttempt{ActionAttemptId: "123e4567-e89b-12d3-a456-426614174000", Statu {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -### `heating_set_point_celsius` - -Type: `number` -Required: No - -Desired [heating set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set one of the `heating_set_point` parameters. - -*** - -### `heating_set_point_fahrenheit` - -Type: `number` -Required: No - -Desired [heating set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set one of the `heating_set_point` parameters. - -*** - -## Return Type - -[action\_attempt](./) - -### `SET_HVAC_MODE` - -Setting HVAC mode. - -#### `action_attempt_id` - -Format: `UUID` - -ID of the action attempt. - ---- - -#### `action_type` - -Format: `String` - ---- - -#### `status` - -Format: `Enum` - -Possible enum values: -- `success` -- `pending` -- `error` - ---- diff --git a/docs/api/thermostats/heat_cool.md b/docs/api/thermostats/heat_cool.md index 35d1f5cc..05487869 100644 --- a/docs/api/thermostats/heat_cool.md +++ b/docs/api/thermostats/heat_cool.md @@ -1,14 +1,92 @@ # Set to Heat-Cool (Auto) Mode +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [heat-cool ("auto") mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/heat_cool ⇒ { action_attempt } ``` +{% endtab %} +{% endtabs %} -Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [heat-cool ("auto") mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- + +**`cooling_set_point_celsius`** *Number* + +Desired [cooling set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set one of the `cooling_set_point` parameters. + +--- + +**`cooling_set_point_fahrenheit`** *Number* + +Desired [cooling set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set one of the `cooling_set_point` parameters. + +--- + +**`heating_set_point_celsius`** *Number* + +Desired [heating set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set one of the `heating_set_point` parameters. + +--- + +**`heating_set_point_fahrenheit`** *Number* + +Desired [heating set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set one of the `heating_set_point` parameters. + +--- + + +## Response + +[action\_attempt](./) + +**`SET_HVAC_MODE`** +{% tabs %} +{% tab title="JSON" %} +```json +{ + action_attempt_id: [example value], + action_type: [example value], + status: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Set to heat-cool (auto) mode + +Specify the desired heating set point in °C or °F. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.heatCool({ @@ -18,7 +96,7 @@ await seam.thermostats.heatCool({ }); ``` -#### Response +#### Output ```javascript { @@ -30,7 +108,7 @@ await seam.thermostats.heatCool({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.heat_cool( @@ -40,7 +118,7 @@ seam.thermostats.heat_cool( ) ``` -#### Response +#### Output ```python ActionAttempt( @@ -52,7 +130,7 @@ ActionAttempt( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.heat_cool( @@ -62,7 +140,7 @@ seam.thermostats.heat_cool( ) ``` -#### Response +#### Output ```ruby { @@ -74,7 +152,7 @@ seam.thermostats.heat_cool( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->heat_cool( ); ``` -#### Response +#### Output ```php thermostats->heat_cool( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats heat-cool --device_id "123e4567-e89b-12d3-a456-426614174000" --cooling_set_point_celsius 25 --heating_set_point_celsius 20 ``` -#### Response +#### Output ```seam_cli { @@ -116,7 +194,7 @@ seam thermostats heat-cool --device_id "123e4567-e89b-12d3-a456-426614174000" -- {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -135,7 +213,7 @@ func main() { } ``` -#### Response +#### Output ```go api.ActionAttempt{ActionAttemptId: "123e4567-e89b-12d3-a456-426614174000", Status: "pending", ActionType: "SET_HEAT_COOL"} @@ -144,90 +222,4 @@ api.ActionAttempt{ActionAttemptId: "123e4567-e89b-12d3-a456-426614174000", Statu {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -### `cooling_set_point_celsius` - -Type: `number` -Required: No - -Desired [cooling set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set one of the `cooling_set_point` parameters. - -*** - -### `cooling_set_point_fahrenheit` - -Type: `number` -Required: No - -Desired [cooling set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set one of the `cooling_set_point` parameters. - -*** - -### `heating_set_point_celsius` - -Type: `number` -Required: No - -Desired [heating set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set one of the `heating_set_point` parameters. - -*** - -### `heating_set_point_fahrenheit` - -Type: `number` -Required: No - -Desired [heating set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set one of the `heating_set_point` parameters. - -*** - -## Return Type - -[action\_attempt](./) - -### `SET_HVAC_MODE` - -Setting HVAC mode. - -#### `action_attempt_id` - -Format: `UUID` - -ID of the action attempt. - ---- - -#### `action_type` - -Format: `String` - ---- - -#### `status` - -Format: `Enum` - -Possible enum values: -- `success` -- `pending` -- `error` - ---- diff --git a/docs/api/thermostats/list.md b/docs/api/thermostats/list.md index f0adedbe..444972c8 100644 --- a/docs/api/thermostats/list.md +++ b/docs/api/thermostats/list.md @@ -1,20 +1,141 @@ # List Thermostats +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [thermostats](https://docs.seam.co/latest/capability-guides/thermostats). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/list ⇒ { devices: [device, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [thermostats](https://docs.seam.co/latest/capability-guides/thermostats). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`connect_webview_id`** *String* + +ID of the Connect Webview by which to filter devices. + +--- + +**`connected_account_id`** *String* + +ID of the connected account by which to filter. + +--- + +**`connected_account_ids`** *Array* *of UUIDs* + +Array of IDs of the connected accounts by which to filter devices. + +--- + +**`created_before`** *String* + +Date threshold for devices to return. If specified, returns only devices created before the specified date. + +--- + +**`custom_metadata_has`** *Object* + +Set of key:value [custom metadata](../../core-concepts/devices/adding-custom-metadata-to-a-device.md) pairs by which you want to filter devices. + +--- + +**`device_ids`** *Array* *of UUIDs* + +Array of device IDs by which to filter devices. + +--- + +**`device_type`** *String* + +Device type by which to filter devices. + +--- + +**`device_types`** *Array* *of Enums* + +Array of device types by which to filter devices. +
+ +Enum values + +Possible enum values: +- `ecobee_thermostat` +- `nest_thermostat` +- `honeywell_resideo_thermostat` +- `tado_thermostat` +- `sensi_thermostat` +
+ +--- + +**`limit`** *Number* + +Numerical limit on the number of devices to return. + +--- + +**`manufacturer`** *String* + +Manufacturer by which to filter devices. + +--- + +**`user_identifier_key`** *String* + +Your own internal user ID for the user by which to filter devices. + +--- + + +## Response + +Array of [devices](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of device +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List thermostats + +To filter the list of returned thermostats, specify the desired parameters. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.list(); ``` -#### Response +#### Output ```javascript [ @@ -45,13 +166,13 @@ await seam.thermostats.list(); {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.list() ``` -#### Response +#### Output ```python [ @@ -82,13 +203,13 @@ seam.thermostats.list() {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.list() ``` -#### Response +#### Output ```ruby [ @@ -119,14 +240,14 @@ seam.thermostats.list() {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->list(); ``` -#### Response +#### Output ```php thermostats->list(); {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats list ``` -#### Response +#### Output ```seam_cli [ @@ -200,7 +321,7 @@ seam thermostats list {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -210,7 +331,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.Device{api.Device{DeviceId: "123e4567-e89b-12d3-a456-426614174000", DeviceType: "ecobee_thermostat", CapabilitiesSupported: []string{"thermostat"}, Properties: api.DeviceProperties{Name: "Entryway", Online: "true,", RelativeHumidity: 0.36, TemperatureFarenheit: 70, AvailableHvacModeSettings: []string{"cool", "heat", "heat_cool", "off"}, CurrentClimateSetting: api.DevicePropertiesCurrentClimateSetting{HvacModeSetting: "heat_cool", CoolingSetPointFarenheit: 75, HeatingSetPointFarenheit: 65, ManualOverrideAllowed: false}, Location: nil, ConnectedAccountId: "123e4567-e89b-12d3-a456-426614174000", WorkspaceId: "123e4567-e89b-12d3-a456-426614174000", CreatedAt: "2024-04-05T07:57:05.323Z"}}} @@ -219,114 +340,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `connect_webview_id` - -Type: `string` -Required: No - -ID of the Connect Webview by which to filter devices. - -*** - -### `connected_account_id` - -Type: `string` -Required: No - -ID of the connected account by which to filter. - -*** - -### `connected_account_ids` - -Type: `array` -Required: No - -Array of IDs of the connected accounts by which to filter devices. - -*** - -### `created_before` - -Type: `string` -Required: No - -Date threshold for devices to return. If specified, returns only devices created before the specified date. - -*** - -### `custom_metadata_has` - -Type: `object` -Required: No - -Set of key:value [custom metadata](../../core-concepts/devices/adding-custom-metadata-to-a-device.md) pairs by which you want to filter devices. - -*** - -### `device_ids` - -Type: `array` -Required: No - -Array of device IDs by which to filter devices. - -*** - -### `device_type` - -Type: `string` -Required: No - -Device type by which to filter devices. - -*** - -### `device_types` - -Type: `array` -Required: No - -Array of device types by which to filter devices. - -*** - -### `limit` - -Type: `number` -Required: No - -Numerical limit on the number of devices to return. - -*** - -### `manufacturer` - -Type: `string` -Required: No - -Manufacturer by which to filter devices. - -*** - -### `user_identifier_key` - -Type: `string` -Required: No - -Your own internal user ID for the user by which to filter devices. - -*** - -## Return Type -Array<[device](./)> diff --git a/docs/api/thermostats/off.md b/docs/api/thermostats/off.md index a0004017..b1694690 100644 --- a/docs/api/thermostats/off.md +++ b/docs/api/thermostats/off.md @@ -1,14 +1,68 @@ # Set to Off Mode +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to ["off" mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/off ⇒ { action_attempt } ``` +{% endtab %} +{% endtabs %} -Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to ["off" mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- + + +## Response + +[action\_attempt](./) + +**`SET_HVAC_MODE`** +{% tabs %} +{% tab title="JSON" %} +```json +{ + action_attempt_id: [example value], + action_type: [example value], + status: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Set to off mode + +Specify the `device_id` of the thermostat that you want to set to off mode. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.off({ @@ -16,7 +70,7 @@ await seam.thermostats.off({ }); ``` -#### Response +#### Output ```javascript { @@ -28,13 +82,13 @@ await seam.thermostats.off({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.off(device_id="123e4567-e89b-12d3-a456-426614174000") ``` -#### Response +#### Output ```python ActionAttempt( @@ -46,13 +100,13 @@ ActionAttempt( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.off(device_id: "123e4567-e89b-12d3-a456-426614174000") ``` -#### Response +#### Output ```ruby { @@ -64,14 +118,14 @@ seam.thermostats.off(device_id: "123e4567-e89b-12d3-a456-426614174000") {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->off(device_id: "123e4567-e89b-12d3-a456-426614174000"); ``` -#### Response +#### Output ```php thermostats->off(device_id: "123e4567-e89b-12d3-a456-426614174000"); {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats off --device_id "123e4567-e89b-12d3-a456-426614174000" ``` -#### Response +#### Output ```seam_cli { @@ -102,7 +156,7 @@ seam thermostats off --device_id "123e4567-e89b-12d3-a456-426614174000" {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -119,7 +173,7 @@ func main() { } ``` -#### Response +#### Output ```go api.ActionAttempt{ActionAttemptId: "123e4567-e89b-12d3-a456-426614174000", Status: "pending", ActionType: "SET_THERMOSTAT_OFF"} @@ -128,54 +182,4 @@ api.ActionAttempt{ActionAttemptId: "123e4567-e89b-12d3-a456-426614174000", Statu {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -## Return Type - -[action\_attempt](./) - -### `SET_HVAC_MODE` - -Setting HVAC mode. - -#### `action_attempt_id` - -Format: `UUID` - -ID of the action attempt. - ---- - -#### `action_type` - -Format: `String` - ---- - -#### `status` - -Format: `Enum` - -Possible enum values: -- `success` -- `pending` -- `error` - ---- diff --git a/docs/api/thermostats/schedules/README.md b/docs/api/thermostats/schedules/README.md index 3323b4ad..2a4eecb2 100644 --- a/docs/api/thermostats/schedules/README.md +++ b/docs/api/thermostats/schedules/README.md @@ -1,109 +1,143 @@ # Thermostat Schedules -## `thermostat_schedule` +## The thermostat_schedule Object -Represents a [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) that activates a configured [climate preset](../../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) on a [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) at a specified starting time and deactivates the climate preset at a specified ending time. +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) -### `climate_preset_key` -Format: `String` +Represents a [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) that activates a configured [climate preset](../../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) on a [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) at a specified starting time and deactivates the climate preset at a specified ending time. -Key of the [climate preset](../../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) to use for the [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md). +{% tabs %} +{% tab title="JSON" %} +```json +{ + climate_preset_key: [example value], + created_at: [example value], + device_id: [example value], + ends_at: [example value], + errors: [example value], + max_override_period_minutes: [example value], + name: [example value], + starts_at: [example value], + thermostat_schedule_id: [example value] +} +``` +{% endtab %} +{% endtabs %} --- -### `created_at` +## Properties -Format: `Datetime` +**`climate_preset_key`** *String* + +Key of the [climate preset](../../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) to use for the [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md). -Date and time at which the [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) was created. --- -### `device_id` +**`created_at`** *Datetime* -Format: `UUID` +Date and time at which the [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) was created. -ID of the desired [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) device. --- -### `ends_at` +**`device_id`** *UUID* -Format: `Datetime` +ID of the desired [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) device. -Date and time at which the [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. --- -### `errors` +**`ends_at`** *Datetime* -Format: `List` +Date and time at which the [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. -Item format: `Object` + +--- + +**`errors`** *List* *of Objects* Errors associated with the [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md).
-error_code Format: String +Child Object Properties -Unique identifier of the type of error. Enables quick recognition and categorization of the issue. -
-
+- error_code String + + Unique identifier of the type of error. Enables quick recognition and categorization of the issue. + + + +- message String + + Detailed description of the error. Provides insights into the issue and potentially how to rectify it. -message Format: String -Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
---- -### `max_override_period_minutes` -Format: `Number` +--- + +**`max_override_period_minutes`** *Number* Number of minutes for which a person at the thermostat can change the thermostat's settings after the activation of the scheduled [climate preset](../../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md). See also [Specifying Manual Override Permissions](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions). ---- -### `name` +--- -Format: `String` +**`name`** *String* User-friendly name to identify the [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md). ---- -### `starts_at` +--- -Format: `Datetime` +**`starts_at`** *Datetime* Date and time at which the [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. ---- -### `thermostat_schedule_id` +--- -Format: `UUID` +**`thermostat_schedule_id`** *UUID* ID of the [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md). + --- ## Endpoints -### [`/thermostats/schedules/create`](./create.md) + +[**`/thermostats/schedules/create`**](./create.md) Creates a [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). -### [`/thermostats/schedules/delete`](./delete.md) + + +[**`/thermostats/schedules/delete`**](./delete.md) Deletes a [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). -### [`/thermostats/schedules/get`](./get.md) + + +[**`/thermostats/schedules/get`**](./get.md) Returns a specified [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md). -### [`/thermostats/schedules/list`](./list.md) + + +[**`/thermostats/schedules/list`**](./list.md) Returns a list of all [thermostat schedules](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). -### [`/thermostats/schedules/update`](./update.md) + + +[**`/thermostats/schedules/update`**](./update.md) Updates a specified [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md). + + diff --git a/docs/api/thermostats/schedules/create.md b/docs/api/thermostats/schedules/create.md index 834ad88a..dad3ec77 100644 --- a/docs/api/thermostats/schedules/create.md +++ b/docs/api/thermostats/schedules/create.md @@ -1,14 +1,100 @@ # Create a Thermostat Schedule +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Creates a [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/schedules/create ⇒ { thermostat_schedule } ``` +{% endtab %} +{% endtabs %} -Creates a [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`climate_preset_key`** *String* (Required) + +Key of the [climate preset](../../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) to use for the thermostat schedule. + +--- + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- + +**`ends_at`** *String* (Required) + +Date and time at which the thermostat schedule ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. + +--- + +**`starts_at`** *String* (Required) + +Date and time at which the thermostat schedule starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. + +--- + +**`is_override_allowed`** *Boolean* + +Indicates whether a person at the thermostat or using the API can change the thermostat's settings while the schedule is active. See also [Specifying Manual Override Permissions](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions). + +--- + +**`max_override_period_minutes`** *Number* + +Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions). + +--- + +**`name`** *String* + +User-friendly name to identify the thermostat schedule. + +--- + + +## Response + +[thermostat\_schedule](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of thermostat_schedule +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Create a thermostat schedule + +Specify the `device_id` of the desired thermostat and the `climate_preset_key` of the desired climate preset, as well as the desired `starts_at` and `ends_at` times. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.schedules.create({ @@ -21,7 +107,7 @@ await seam.thermostats.schedules.create({ }); ``` -#### Response +#### Output ```javascript { @@ -37,7 +123,7 @@ await seam.thermostats.schedules.create({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.schedules.create( @@ -50,7 +136,7 @@ seam.thermostats.schedules.create( ) ``` -#### Response +#### Output ```python ThermostatSchedule( @@ -66,7 +152,7 @@ ThermostatSchedule( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.schedules.create( @@ -79,7 +165,7 @@ seam.thermostats.schedules.create( ) ``` -#### Response +#### Output ```ruby { @@ -95,7 +181,7 @@ seam.thermostats.schedules.create( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->schedules->create( ); ``` -#### Response +#### Output ```php thermostats->schedules->create( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats schedules create --device_id "123e4567-e89b-12d3-a456-426614174000" --name "Reservation 1" --climate_preset_key "occupied" --starts_at "2024-11-01T15:00:00Z" --ends_at "2024-11-05T12:00:00Z" --max_override_period_minutes 90 ``` -#### Response +#### Output ```seam_cli { @@ -148,7 +234,7 @@ seam thermostats schedules create --device_id "123e4567-e89b-12d3-a456-426614174 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -171,7 +257,7 @@ func main() { } ``` -#### Response +#### Output ```go api.ThermostatSchedule{ThermostatScheduleId: "56d29fcf-0674-4db5-8e03-b2370a77460a", Name: "Reservation 1", DeviceId: "2d488679-6f07-4810-aed2-e726872c1dd5", ClimatePresetKey: "occupied", StartsAt: "2024-11-01T15:00:00.000Z", EndsAt: "2024-11-05T12:00:00.000Z", MaxOverridePeriodMinutes: 90} @@ -180,78 +266,4 @@ api.ThermostatSchedule{ThermostatScheduleId: "56d29fcf-0674-4db5-8e03-b2370a7746 {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `climate_preset_key` - -Type: `string` -Required: Yes - -Key of the [climate preset](../../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) to use for the thermostat schedule. - -*** - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -### `ends_at` - -Type: `string` -Required: Yes -Date and time at which the thermostat schedule ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. - -*** - -### `starts_at` - -Type: `string` -Required: Yes - -Date and time at which the thermostat schedule starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. - -*** - -### `is_override_allowed` - -Type: `boolean` -Required: No - -Indicates whether a person at the thermostat or using the API can change the thermostat's settings while the schedule is active. See also [Specifying Manual Override Permissions](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions). - -*** - -### `max_override_period_minutes` - -Type: `number` -Required: No - -Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions). - -*** - -### `name` - -Type: `string` -Required: No - -User-friendly name to identify the thermostat schedule. - -*** - -## Return Type - -[thermostat\_schedule](./) diff --git a/docs/api/thermostats/schedules/delete.md b/docs/api/thermostats/schedules/delete.md index ca4fc457..46d7b729 100644 --- a/docs/api/thermostats/schedules/delete.md +++ b/docs/api/thermostats/schedules/delete.md @@ -1,14 +1,55 @@ # Delete a Thermostat Schedule +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Deletes a [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/schedules/delete ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`thermostat_schedule_id`** *String* (Required) + +ID of the desired thermostat schedule. + +--- -Deletes a [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +## Response + +void + +--- + +## Examples + +### Delete a thermostat schedule + +Specify the `thermostat_schedule_id` of the desired thermostat schedule. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.schedules.delete({ @@ -16,7 +57,7 @@ await seam.thermostats.schedules.delete({ }); ``` -#### Response +#### Output ```javascript // void @@ -24,7 +65,7 @@ await seam.thermostats.schedules.delete({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.schedules.delete( @@ -32,7 +73,7 @@ seam.thermostats.schedules.delete( ) ``` -#### Response +#### Output ```python None @@ -40,13 +81,13 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.schedules.delete(thermostat_schedule_id: "89d3507e-60e3-4101-bd1b-ba066ec30ad4") ``` -#### Response +#### Output ```ruby nil @@ -54,7 +95,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->schedules->delete( ); ``` -#### Response +#### Output ```php null @@ -71,13 +112,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats schedules delete --thermostat_schedule_id "89d3507e-60e3-4101-bd1b-ba066ec30ad4" ``` -#### Response +#### Output ```seam_cli {} @@ -85,7 +126,7 @@ seam thermostats schedules delete --thermostat_schedule_id "89d3507e-60e3-4101-b {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -103,7 +144,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -112,24 +153,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `thermostat_schedule_id` - -Type: `string` -Required: Yes -ID of the desired thermostat schedule. - -*** - -## Return Type - -void diff --git a/docs/api/thermostats/schedules/get.md b/docs/api/thermostats/schedules/get.md index 1534426d..f2032104 100644 --- a/docs/api/thermostats/schedules/get.md +++ b/docs/api/thermostats/schedules/get.md @@ -1,14 +1,64 @@ # Get a Thermostat Schedule +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a specified [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/schedules/get ⇒ { thermostat_schedule } ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`thermostat_schedule_id`** *String* (Required) + +ID of the desired thermostat schedule. + +--- -Returns a specified [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md). + +## Response + +[thermostat\_schedule](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of thermostat_schedule +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Get a specific thermostat schedule + +Specify the `thermostat_schedule_id` of the desired thermostat schedule. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.schedules.get({ @@ -16,7 +66,7 @@ await seam.thermostats.schedules.get({ }); ``` -#### Response +#### Output ```javascript { @@ -32,7 +82,7 @@ await seam.thermostats.schedules.get({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.schedules.get( @@ -40,7 +90,7 @@ seam.thermostats.schedules.get( ) ``` -#### Response +#### Output ```python ThermostatSchedule( @@ -56,13 +106,13 @@ ThermostatSchedule( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.schedules.get(thermostat_schedule_id: "89d3507e-60e3-4101-bd1b-ba066ec30ad4") ``` -#### Response +#### Output ```ruby { @@ -78,7 +128,7 @@ seam.thermostats.schedules.get(thermostat_schedule_id: "89d3507e-60e3-4101-bd1b- {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->schedules->get( ); ``` -#### Response +#### Output ```php thermostats->schedules->get( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats schedules get --thermostat_schedule_id "89d3507e-60e3-4101-bd1b-ba066ec30ad4" ``` -#### Response +#### Output ```seam_cli { @@ -126,7 +176,7 @@ seam thermostats schedules get --thermostat_schedule_id "89d3507e-60e3-4101-bd1b {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -144,7 +194,7 @@ func main() { } ``` -#### Response +#### Output ```go api.ThermostatSchedule{ThermostatScheduleId: "89d3507e-60e3-4101-bd1b-ba066ec30ad4", Name: "Reservation 2", DeviceId: "2d488679-6f07-4810-aed2-e726872c1dd5", ClimatePresetKey: "occupied", StartsAt: "2024-11-10T15:00:00.000Z", EndsAt: "2024-11-15T12:00:00.000Z", MaxOverridePeriodMinutes: 90} @@ -153,24 +203,4 @@ api.ThermostatSchedule{ThermostatScheduleId: "89d3507e-60e3-4101-bd1b-ba066ec30a {% endtabs %} -## Authentication Methods -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `thermostat_schedule_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat schedule. - -*** - -## Return Type - -[thermostat\_schedule](./) diff --git a/docs/api/thermostats/schedules/list.md b/docs/api/thermostats/schedules/list.md index 3ee8d746..9193dff8 100644 --- a/docs/api/thermostats/schedules/list.md +++ b/docs/api/thermostats/schedules/list.md @@ -1,14 +1,70 @@ # List Thermostat Schedules +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [thermostat schedules](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/schedules/list ⇒ { thermostat_schedules: [thermostat_schedule, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [thermostat schedules](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- + +**`user_identifier_key`** *String* + +User identifier key by which to filter the list of returned thermostat schedules. + +--- + + +## Response + +Array of [thermostat\_schedules](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of thermostat_schedule +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List thermostat schedules for a thermostat + +Specify the `device_id` of the desired thermostat. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.schedules.list({ @@ -16,7 +72,7 @@ await seam.thermostats.schedules.list({ }); ``` -#### Response +#### Output ```javascript [ @@ -43,13 +99,13 @@ await seam.thermostats.schedules.list({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.schedules.list(device_id="123e4567-e89b-12d3-a456-426614174000") ``` -#### Response +#### Output ```python [ @@ -76,13 +132,13 @@ seam.thermostats.schedules.list(device_id="123e4567-e89b-12d3-a456-426614174000" {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.schedules.list(device_id: "123e4567-e89b-12d3-a456-426614174000") ``` -#### Response +#### Output ```ruby [ @@ -109,7 +165,7 @@ seam.thermostats.schedules.list(device_id: "123e4567-e89b-12d3-a456-426614174000 {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->schedules->list( ); ``` -#### Response +#### Output ```php thermostats->schedules->list( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats schedules list --device_id "123e4567-e89b-12d3-a456-426614174000" ``` -#### Response +#### Output ```seam_cli [ @@ -179,7 +235,7 @@ seam thermostats schedules list --device_id "123e4567-e89b-12d3-a456-42661417400 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -197,7 +253,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.ThermostatSchedule{api.ThermostatSchedule{ThermostatScheduleId: "89d3507e-60e3-4101-bd1b-ba066ec30ad4", Name: "Reservation 2", DeviceId: "2d488679-6f07-4810-aed2-e726872c1dd5", ClimatePresetKey: "occupied", StartsAt: "2024-11-10T15:00:00.000Z", EndsAt: "2024-11-15T12:00:00.000Z", MaxOverridePeriodMinutes: 90}, api.ThermostatSchedule{ThermostatScheduleId: "665553d1-94f9-4e92-9739-06ac6362c959", Name: "Reservation 3", DeviceId: "2d488679-6f07-4810-aed2-e726872c1dd5", ClimatePresetKey: "occupied", StartsAt: "2024-11-16T15:00:00.000Z", EndsAt: "2024-11-18T12:00:00.000Z", MaxOverridePeriodMinutes: 90}} @@ -206,33 +262,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -### `user_identifier_key` - -Type: `string` -Required: No - -User identifier key by which to filter the list of returned thermostat schedules. - -*** - -## Return Type -Array<[thermostat\_schedule](./)> diff --git a/docs/api/thermostats/schedules/update.md b/docs/api/thermostats/schedules/update.md index 3c72f533..aad85566 100644 --- a/docs/api/thermostats/schedules/update.md +++ b/docs/api/thermostats/schedules/update.md @@ -1,14 +1,91 @@ # Update a Thermostat Schedule +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Updates a specified [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md). + +{% tabs %} +{% tab title="Signature" %} ``` PATCH /thermostats/schedules/update ⇒ void ``` +{% endtab %} +{% endtabs %} -Updates a specified [thermostat schedule](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`thermostat_schedule_id`** *String* (Required) + +ID of the desired thermostat schedule. + +--- + +**`climate_preset_key`** *String* + +Key of the [climate preset](../../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) to use for the thermostat schedule. + +--- + +**`ends_at`** *String* + +Date and time at which the thermostat schedule ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. + +--- + +**`is_override_allowed`** *Boolean* + +Indicates whether a person at the thermostat or using the API can change the thermostat's settings while the schedule is active. See also [Specifying Manual Override Permissions](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions). + +--- + +**`max_override_period_minutes`** *Number* + +Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions). + +--- + +**`name`** *String* + +User-friendly name to identify the thermostat schedule. + +--- + +**`starts_at`** *String* + +Date and time at which the thermostat schedule starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. + +--- + + +## Response + +void + +--- + +## Examples + +### Update a thermostat schedule + +Specify the `thermostat_schedule_id` of the desired thermostat schedule, along with the desired updated settings for the thermostat schedule. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.schedules.update({ @@ -17,7 +94,7 @@ await seam.thermostats.schedules.update({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +102,7 @@ await seam.thermostats.schedules.update({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.schedules.update( @@ -34,7 +111,7 @@ seam.thermostats.schedules.update( ) ``` -#### Response +#### Output ```python None @@ -42,7 +119,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.schedules.update( @@ -51,7 +128,7 @@ seam.thermostats.schedules.update( ) ``` -#### Response +#### Output ```ruby nil @@ -59,7 +136,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->schedules->update( ); ``` -#### Response +#### Output ```php null @@ -77,13 +154,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats schedules update --thermostat_schedule_id "89d3507e-60e3-4101-bd1b-ba066ec30ad4" --ends_at "2024-11-15T15:00:00Z" ``` -#### Response +#### Output ```seam_cli {} @@ -91,7 +168,7 @@ seam thermostats schedules update --thermostat_schedule_id "89d3507e-60e3-4101-b {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -110,7 +187,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -119,78 +196,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `thermostat_schedule_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat schedule. - -*** - -### `climate_preset_key` - -Type: `string` -Required: No - -Key of the [climate preset](../../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) to use for the thermostat schedule. - -*** - -### `ends_at` - -Type: `string` -Required: No - -Date and time at which the thermostat schedule ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. -*** - -### `is_override_allowed` - -Type: `boolean` -Required: No - -Indicates whether a person at the thermostat or using the API can change the thermostat's settings while the schedule is active. See also [Specifying Manual Override Permissions](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions). - -*** - -### `max_override_period_minutes` - -Type: `number` -Required: No - -Number of minutes for which a person at the thermostat or using the API can change the thermostat's settings after the activation of the scheduled climate preset. See also [Specifying Manual Override Permissions](../../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions). - -*** - -### `name` - -Type: `string` -Required: No - -User-friendly name to identify the thermostat schedule. - -*** - -### `starts_at` - -Type: `string` -Required: No - -Date and time at which the thermostat schedule starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. - -*** - -## Return Type - -void diff --git a/docs/api/thermostats/set_fallback_climate_preset.md b/docs/api/thermostats/set_fallback_climate_preset.md index 2cbfe3e0..61bdfc64 100644 --- a/docs/api/thermostats/set_fallback_climate_preset.md +++ b/docs/api/thermostats/set_fallback_climate_preset.md @@ -1,14 +1,60 @@ # Set the Fallback Climate Preset +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Sets a specified [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) as the ["fallback"](../../capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset.md) preset for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/set_fallback_climate_preset ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`climate_preset_key`** *String* (Required) + +Climate preset key of the desired climate preset. + +--- + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- -Sets a specified [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) as the ["fallback"](../../capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset.md) preset for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +## Response + +void + +--- + +## Examples + +### Set the fallback climate preset + +Specify the `device_id` of the desired thermostat and the `climate_preset_key` of the desired fallback climate preset. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.setFallbackClimatePreset({ @@ -17,7 +63,7 @@ await seam.thermostats.setFallbackClimatePreset({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +71,7 @@ await seam.thermostats.setFallbackClimatePreset({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.set_fallback_climate_preset( @@ -33,7 +79,7 @@ seam.thermostats.set_fallback_climate_preset( ) ``` -#### Response +#### Output ```python None @@ -41,7 +87,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.set_fallback_climate_preset( @@ -50,7 +96,7 @@ seam.thermostats.set_fallback_climate_preset( ) ``` -#### Response +#### Output ```ruby nil @@ -58,7 +104,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->set_fallback_climate_preset( ); ``` -#### Response +#### Output ```php null @@ -76,13 +122,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats set-fallback-climate-preset --device_id "123e4567-e89b-12d3-a456-426614174000" --climate_preset_key "eco" ``` -#### Response +#### Output ```seam_cli {} @@ -90,7 +136,7 @@ seam thermostats set-fallback-climate-preset --device_id "123e4567-e89b-12d3-a45 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -108,7 +154,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -117,32 +163,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `climate_preset_key` - -Type: `string` -Required: Yes - -Climate preset key of the desired climate preset. - -*** - -### `device_id` -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -## Return Type - -void diff --git a/docs/api/thermostats/set_fan_mode.md b/docs/api/thermostats/set_fan_mode.md index 5ceb9216..81c4b3f7 100644 --- a/docs/api/thermostats/set_fan_mode.md +++ b/docs/api/thermostats/set_fan_mode.md @@ -1,14 +1,76 @@ # Set the Fan Mode Setting +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Sets the [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/set_fan_mode ⇒ { action_attempt } ``` +{% endtab %} +{% endtabs %} -Sets the [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_id`** *String* (Required) + +--- + +**`fan_mode`** *String* + +--- + +**`fan_mode_setting`** *String* + +Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings) for the thermostat. + +--- + + +## Response + +[action\_attempt](./) + +**`SET_FAN_MODE`** +{% tabs %} +{% tab title="JSON" %} +```json +{ + action_attempt_id: [example value], + action_type: [example value], + status: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Set fan mode setting + +Specify the desired fan mode setting. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.setFanMode({ @@ -17,7 +79,7 @@ await seam.thermostats.setFanMode({ }); ``` -#### Response +#### Output ```javascript { @@ -29,7 +91,7 @@ await seam.thermostats.setFanMode({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.set_fan_mode( @@ -37,7 +99,7 @@ seam.thermostats.set_fan_mode( ) ``` -#### Response +#### Output ```python ActionAttempt( @@ -49,7 +111,7 @@ ActionAttempt( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.set_fan_mode( @@ -58,7 +120,7 @@ seam.thermostats.set_fan_mode( ) ``` -#### Response +#### Output ```ruby { @@ -70,7 +132,7 @@ seam.thermostats.set_fan_mode( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->set_fan_mode( ); ``` -#### Response +#### Output ```php thermostats->set_fan_mode( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats set-fan-mode --device_id "123e4567-e89b-12d3-a456-426614174000" --fan_mode_setting "auto" ``` -#### Response +#### Output ```seam_cli { @@ -111,7 +173,7 @@ seam thermostats set-fan-mode --device_id "123e4567-e89b-12d3-a456-426614174000" {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -129,7 +191,7 @@ func main() { } ``` -#### Response +#### Output ```go api.ActionAttempt{ActionAttemptId: "123e4567-e89b-12d3-a456-426614174000", Status: "pending", ActionType: "SET_FAN_MODE"} @@ -138,72 +200,4 @@ api.ActionAttempt{ActionAttemptId: "123e4567-e89b-12d3-a456-426614174000", Statu {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `device_id` - -Type: `string` -Required: Yes - - - -*** - -### `fan_mode` - -Type: `string` -Required: No - - - -*** - -### `fan_mode_setting` - -Type: `string` -Required: No - -Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings) for the thermostat. - -*** - -## Return Type - -[action\_attempt](./) - -### `SET_FAN_MODE` - -Setting fan mode. - -#### `action_attempt_id` - -Format: `UUID` - -ID of the action attempt. - ---- - -#### `action_type` - -Format: `String` - ---- - -#### `status` - -Format: `Enum` - -Possible enum values: -- `success` -- `pending` -- `error` - ---- diff --git a/docs/api/thermostats/set_hvac_mode.md b/docs/api/thermostats/set_hvac_mode.md index f1e05acf..6534646d 100644 --- a/docs/api/thermostats/set_hvac_mode.md +++ b/docs/api/thermostats/set_hvac_mode.md @@ -1,14 +1,96 @@ # Set the HVAC Mode +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Sets the [HVAC mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/set_hvac_mode ⇒ { action_attempt } ``` +{% endtab %} +{% endtabs %} -Sets the [HVAC mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- + +**`hvac_mode_setting`** *String* (Required) + +--- + +**`cooling_set_point_celsius`** *Number* + +Desired [cooling set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set one of the `cooling_set_point` parameters. + +--- + +**`cooling_set_point_fahrenheit`** *Number* + +Desired [cooling set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set one of the `cooling_set_point` parameters. + +--- + +**`heating_set_point_celsius`** *Number* + +Desired [heating set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set one of the `heating_set_point` parameters. + +--- + +**`heating_set_point_fahrenheit`** *Number* + +Desired [heating set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set one of the `heating_set_point` parameters. + +--- + + +## Response + +[action\_attempt](./) + +**`SET_HVAC_MODE`** +{% tabs %} +{% tab title="JSON" %} +```json +{ + action_attempt_id: [example value], + action_type: [example value], + status: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Set HVAC mode + +Specify the desired heating and cooling set points in °C or °F. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.setHvacMode({ @@ -19,7 +101,7 @@ await seam.thermostats.setHvacMode({ }); ``` -#### Response +#### Output ```javascript { @@ -31,7 +113,7 @@ await seam.thermostats.setHvacMode({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.set_hvac_mode( @@ -42,7 +124,7 @@ seam.thermostats.set_hvac_mode( ) ``` -#### Response +#### Output ```python ActionAttempt( @@ -54,7 +136,7 @@ ActionAttempt( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.set_hvac_mode( @@ -65,7 +147,7 @@ seam.thermostats.set_hvac_mode( ) ``` -#### Response +#### Output ```ruby { @@ -77,7 +159,7 @@ seam.thermostats.set_hvac_mode( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->set_hvac_mode( ); ``` -#### Response +#### Output ```php thermostats->set_hvac_mode( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats set-hvac-mode --device_id "123e4567-e89b-12d3-a456-426614174000" --hvac_mode_setting "heat_cool" --heating_set_point_celsius 20 --cooling_set_point_celsius 25 ``` -#### Response +#### Output ```seam_cli { @@ -120,7 +202,7 @@ seam thermostats set-hvac-mode --device_id "123e4567-e89b-12d3-a456-426614174000 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -140,7 +222,7 @@ func main() { } ``` -#### Response +#### Output ```go api.ActionAttempt{ActionAttemptId: "123e4567-e89b-12d3-a456-426614174000", Status: "success", ActionType: "SET_HVAC_MODE"} @@ -149,99 +231,4 @@ api.ActionAttempt{ActionAttemptId: "123e4567-e89b-12d3-a456-426614174000", Statu {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -### `hvac_mode_setting` - -Type: `string` -Required: Yes - - - -*** - -### `cooling_set_point_celsius` - -Type: `number` -Required: No - -Desired [cooling set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set one of the `cooling_set_point` parameters. - -*** - -### `cooling_set_point_fahrenheit` - -Type: `number` -Required: No - -Desired [cooling set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set one of the `cooling_set_point` parameters. - -*** - -### `heating_set_point_celsius` - -Type: `number` -Required: No - -Desired [heating set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set one of the `heating_set_point` parameters. - -*** - -### `heating_set_point_fahrenheit` - -Type: `number` -Required: No - -Desired [heating set point](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set one of the `heating_set_point` parameters. - -*** - -## Return Type - -[action\_attempt](./) - -### `SET_HVAC_MODE` - -Setting HVAC mode. - -#### `action_attempt_id` - -Format: `UUID` - -ID of the action attempt. - ---- - -#### `action_type` - -Format: `String` - ---- - -#### `status` - -Format: `Enum` - -Possible enum values: -- `success` -- `pending` -- `error` - ---- diff --git a/docs/api/thermostats/set_temperature_threshold.md b/docs/api/thermostats/set_temperature_threshold.md index ca66a4ec..267d7904 100644 --- a/docs/api/thermostats/set_temperature_threshold.md +++ b/docs/api/thermostats/set_temperature_threshold.md @@ -1,14 +1,78 @@ # Set a Temperature Threshold +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Sets a [temperature threshold](../../capability-guides/thermostats/setting-and-monitoring-temperature-thresholds.md) for a specified thermostat. Seam emits a `thermostat.temperature_threshold_exceeded` event and adds a warning on a thermostat if it reports a temperature outside the threshold range. + +{% tabs %} +{% tab title="Signature" %} ``` PATCH /thermostats/set_temperature_threshold ⇒ void ``` +{% endtab %} +{% endtabs %} -Sets a [temperature threshold](../../capability-guides/thermostats/setting-and-monitoring-temperature-thresholds.md) for a specified thermostat. Seam emits a `thermostat.temperature_threshold_exceeded` event and adds a warning on a thermostat if it reports a temperature outside the threshold range. +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- + +**`lower_limit_celsius`** *Number* + +Lower temperature limit in in °C. Seam alerts you if the reported temperature is lower than this value. You can specify either `lower_limit` but not both. + +--- + +**`lower_limit_fahrenheit`** *Number* + +Lower temperature limit in in °F. Seam alerts you if the reported temperature is lower than this value. You can specify either `lower_limit` but not both. + +--- + +**`upper_limit_celsius`** *Number* + +Upper temperature limit in in °C. Seam alerts you if the reported temperature is higher than this value. You can specify either `upper_limit` but not both. + +--- + +**`upper_limit_fahrenheit`** *Number* + +Upper temperature limit in in °C. Seam alerts you if the reported temperature is higher than this value. You can specify either `upper_limit` but not both. + +--- + + +## Response + +void + +--- + +## Examples + +### Set a temperature threshold + +Specify the `device_id` of the desired thermostat, along with the desired upper and lower limits in °C or °F. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.setTemperatureThreshold({ @@ -18,7 +82,7 @@ await seam.thermostats.setTemperatureThreshold({ }); ``` -#### Response +#### Output ```javascript // void @@ -26,7 +90,7 @@ await seam.thermostats.setTemperatureThreshold({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.set_temperature_threshold( @@ -36,7 +100,7 @@ seam.thermostats.set_temperature_threshold( ) ``` -#### Response +#### Output ```python None @@ -44,7 +108,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.set_temperature_threshold( @@ -54,7 +118,7 @@ seam.thermostats.set_temperature_threshold( ) ``` -#### Response +#### Output ```ruby nil @@ -62,7 +126,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->set_temperature_threshold( ); ``` -#### Response +#### Output ```php null @@ -81,13 +145,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats set-temperature-threshold --device_id "123e4567-e89b-12d3-a456-426614174000" --lower_limit_celsius 4 --upper_limit_celsius 30 ``` -#### Response +#### Output ```seam_cli {} @@ -95,7 +159,7 @@ seam thermostats set-temperature-threshold --device_id "123e4567-e89b-12d3-a456- {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -114,7 +178,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -123,59 +187,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -### `lower_limit_celsius` - -Type: `number` -Required: No - -Lower temperature limit in in °C. Seam alerts you if the reported temperature is lower than this value. You can specify either `lower_limit` but not both. -*** - -### `lower_limit_fahrenheit` - -Type: `number` -Required: No - -Lower temperature limit in in °F. Seam alerts you if the reported temperature is lower than this value. You can specify either `lower_limit` but not both. - -*** - -### `upper_limit_celsius` - -Type: `number` -Required: No - -Upper temperature limit in in °C. Seam alerts you if the reported temperature is higher than this value. You can specify either `upper_limit` but not both. - -*** - -### `upper_limit_fahrenheit` - -Type: `number` -Required: No - -Upper temperature limit in in °C. Seam alerts you if the reported temperature is higher than this value. You can specify either `upper_limit` but not both. - -*** - -## Return Type - -void diff --git a/docs/api/thermostats/simulate/README.md b/docs/api/thermostats/simulate/README.md index 55ddf5a8..b05e76fe 100644 --- a/docs/api/thermostats/simulate/README.md +++ b/docs/api/thermostats/simulate/README.md @@ -2,9 +2,14 @@ ## Endpoints -### [`/thermostats/simulate/hvac_mode_adjusted`](./hvac_mode_adjusted.md) + +[**`/thermostats/simulate/hvac_mode_adjusted`**](./hvac_mode_adjusted.md) Simulates having adjusted the [HVAC mode](../../../capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode.md) for a [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). Only applicable for [sandbox devices](../../../core-concepts/workspaces/README.md#sandbox-workspaces). See also [Testing Your Thermostat App with Simulate Endpoints](../../../capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints.md). -### [`/thermostats/simulate/temperature_reached`](./temperature_reached.md) + + +[**`/thermostats/simulate/temperature_reached`**](./temperature_reached.md) Simulates a [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) reaching a specified temperature. Only applicable for [sandbox devices](../../../core-concepts/workspaces/README.md#sandbox-workspaces). See also [Testing Your Thermostat App with Simulate Endpoints](../../../capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints.md). + + diff --git a/docs/api/thermostats/simulate/hvac_mode_adjusted.md b/docs/api/thermostats/simulate/hvac_mode_adjusted.md index 490f7e8a..e8c78fb7 100644 --- a/docs/api/thermostats/simulate/hvac_mode_adjusted.md +++ b/docs/api/thermostats/simulate/hvac_mode_adjusted.md @@ -1,73 +1,69 @@ # HVAC Mode Adjusted +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Simulates having adjusted the [HVAC mode](../../../capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode.md) for a [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). Only applicable for [sandbox devices](../../../core-concepts/workspaces/README.md#sandbox-workspaces). See also [Testing Your Thermostat App with Simulate Endpoints](../../../capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/simulate/hvac_mode_adjusted ⇒ void ``` +{% endtab %} +{% endtabs %} -Simulates having adjusted the [HVAC mode](../../../capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode.md) for a [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). Only applicable for [sandbox devices](../../../core-concepts/workspaces/README.md#sandbox-workspaces). See also [Testing Your Thermostat App with Simulate Endpoints](../../../capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints.md). +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `device_id` +## Request Parameters -Type: `string` -Required: Yes +**`device_id`** *String* (Required) ID of the desired thermostat device. -*** +--- -### `hvac_mode` - -Type: `string` -Required: Yes +**`hvac_mode`** *String* (Required) Desired [HVAC mode](../../../capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode.md) to simulate. -*** - -### `cooling_set_point_celsius` +--- -Type: `number` -Required: No +**`cooling_set_point_celsius`** *Number* Desired simulated cooling [set point](../../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set `cooling_set_point_celsius` or `cooling_set_point_fahrenheit`. -*** - -### `cooling_set_point_fahrenheit` +--- -Type: `number` -Required: No +**`cooling_set_point_fahrenheit`** *Number* Desired simulated cooling [set point](../../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set `cooling_set_point_fahrenheit` or `cooling_set_point_celsius`. -*** +--- -### `heating_set_point_celsius` - -Type: `number` -Required: No +**`heating_set_point_celsius`** *Number* Desired simulated heating [set point](../../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °C. You must set `heating_set_point_celsius` or `heating_set_point_fahrenheit`. -*** - -### `heating_set_point_fahrenheit` +--- -Type: `number` -Required: No +**`heating_set_point_fahrenheit`** *Number* Desired simulated heating [set point](../../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md) in °F. You must set `heating_set_point_fahrenheit` or `heating_set_point_celsius`. -*** +--- + -## Return Type +## Response void diff --git a/docs/api/thermostats/simulate/temperature_reached.md b/docs/api/thermostats/simulate/temperature_reached.md index 467b35d5..b099bb24 100644 --- a/docs/api/thermostats/simulate/temperature_reached.md +++ b/docs/api/thermostats/simulate/temperature_reached.md @@ -1,46 +1,51 @@ # Temperature Reached +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Simulates a [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) reaching a specified temperature. Only applicable for [sandbox devices](../../../core-concepts/workspaces/README.md#sandbox-workspaces). See also [Testing Your Thermostat App with Simulate Endpoints](../../../capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints.md). + +{% tabs %} +{% tab title="Signature" %} ``` POST /thermostats/simulate/temperature_reached ⇒ void ``` +{% endtab %} +{% endtabs %} -Simulates a [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) reaching a specified temperature. Only applicable for [sandbox devices](../../../core-concepts/workspaces/README.md#sandbox-workspaces). See also [Testing Your Thermostat App with Simulate Endpoints](../../../capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints.md). +
-## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `device_id` +## Request Parameters -Type: `string` -Required: Yes +**`device_id`** *String* (Required) ID of the desired thermostat device. -*** - -### `temperature_celsius` +--- -Type: `number` -Required: No +**`temperature_celsius`** *Number* Desired simulated temperature in °C. You must set `temperature_celsius` or `temperature_fahrenheit`. -*** +--- -### `temperature_fahrenheit` - -Type: `number` -Required: No +**`temperature_fahrenheit`** *Number* Desired simulated temperature in °F. You must set `temperature_fahrenheit` or `temperature_celsius`. -*** +--- + -## Return Type +## Response void diff --git a/docs/api/thermostats/update_climate_preset.md b/docs/api/thermostats/update_climate_preset.md index 777f9bc9..99108d22 100644 --- a/docs/api/thermostats/update_climate_preset.md +++ b/docs/api/thermostats/update_climate_preset.md @@ -1,14 +1,109 @@ # Update a Climate Preset +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Updates a specified [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). + +{% tabs %} +{% tab title="Signature" %} ``` PATCH /thermostats/update_climate_preset ⇒ void ``` +{% endtab %} +{% endtabs %} -Updates a specified [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`climate_preset_key`** *String* (Required) + +Unique key to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md). + +--- + +**`device_id`** *String* (Required) + +ID of the desired thermostat device. + +--- + +**`manual_override_allowed`** *Boolean* (Required) + +Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions). + +--- + +**`cooling_set_point_celsius`** *Number* + +Temperature to which the thermostat should cool (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). + +--- + +**`cooling_set_point_fahrenheit`** *Number* + +Temperature to which the thermostat should cool (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). + +--- + +**`fan_mode_setting`** *String* + +Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`. + +--- + +**`heating_set_point_celsius`** *Number* + +Temperature to which the thermostat should heat (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). + +--- + +**`heating_set_point_fahrenheit`** *Number* + +Temperature to which the thermostat should heat (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). + +--- + +**`hvac_mode_setting`** *String* + +Desired [HVAC mode](../../capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode.md) setting, such as `heat`, `cool`, `heat_cool`, or `off`. + +--- + +**`name`** *String* + +User-friendly name to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md). + +--- + + +## Response + +void + +--- + +## Examples + +### Update a climate preset + +Specify the `device_id` of the desired thermostat and the `climate_preset_key` of the desired climate preset, along with the desired updated settings for the climate preset, including `manual_override_allowed`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.thermostats.updateClimatePreset({ @@ -19,7 +114,7 @@ await seam.thermostats.updateClimatePreset({ }); ``` -#### Response +#### Output ```javascript // void @@ -27,7 +122,7 @@ await seam.thermostats.updateClimatePreset({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.thermostats.update_climate_preset( @@ -38,7 +133,7 @@ seam.thermostats.update_climate_preset( ) ``` -#### Response +#### Output ```python None @@ -46,7 +141,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.thermostats.update_climate_preset( @@ -57,7 +152,7 @@ seam.thermostats.update_climate_preset( ) ``` -#### Response +#### Output ```ruby nil @@ -65,7 +160,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php thermostats->update_climate_preset( ); ``` -#### Response +#### Output ```php null @@ -85,13 +180,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam thermostats update-climate-preset --device_id "123e4567-e89b-12d3-a456-426614174000" --climate_preset_key "occupied" --cooling_set_point_celsius 24 --manual_override_allowed true ``` -#### Response +#### Output ```seam_cli {} @@ -99,7 +194,7 @@ seam thermostats update-climate-preset --device_id "123e4567-e89b-12d3-a456-4266 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -119,7 +214,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -128,105 +223,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `climate_preset_key` - -Type: `string` -Required: Yes - -Unique key to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md). - -*** - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired thermostat device. - -*** - -### `manual_override_allowed` - -Type: `boolean` -Required: Yes - -Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](../../capability-guides/thermostats/creating-and-managing-thermostat-schedules.md#specifying-manual-override-permissions). - -*** - -### `cooling_set_point_celsius` - -Type: `number` -Required: No - -Temperature to which the thermostat should cool (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). - -*** - -### `cooling_set_point_fahrenheit` - -Type: `number` -Required: No -Temperature to which the thermostat should cool (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). - -*** - -### `fan_mode_setting` - -Type: `string` -Required: No - -Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`. - -*** - -### `heating_set_point_celsius` - -Type: `number` -Required: No - -Temperature to which the thermostat should heat (in °C). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). - -*** - -### `heating_set_point_fahrenheit` - -Type: `number` -Required: No - -Temperature to which the thermostat should heat (in °F). See also [Set Points](../../capability-guides/thermostats/understanding-thermostat-concepts/set-points.md). - -*** - -### `hvac_mode_setting` - -Type: `string` -Required: No - -Desired [HVAC mode](../../capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode.md) setting, such as `heat`, `cool`, `heat_cool`, or `off`. - -*** - -### `name` - -Type: `string` -Required: No - -User-friendly name to identify the [climate preset](../../capability-guides/thermostats/creating-and-managing-climate-presets/README.md). - -*** - -## Return Type - -void diff --git a/docs/api/user_identities/README.md b/docs/api/user_identities/README.md index 1ef7a3dd..5a0d6606 100644 --- a/docs/api/user_identities/README.md +++ b/docs/api/user_identities/README.md @@ -1,104 +1,149 @@ # User Identities -## `user_identity` +## The user_identity Object + +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) + Represents a [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) associated with an application user account. -### `created_at` +{% tabs %} +{% tab title="JSON" %} +```json +{ + created_at: [example value], + display_name: [example value], + email_address: [example value], + full_name: [example value], + phone_number: [example value], + user_identity_id: [example value], + user_identity_key: [example value], + workspace_id: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Properties -Format: `Datetime` +**`created_at`** *Datetime* Date and time at which the user identity was created. + --- -### `display_name` +**`display_name`** *String* -Format: `String` --- -### `email_address` - -Format: `String` +**`email_address`** *String* Unique email address for the user identity. + --- -### `full_name` +**`full_name`** *String* -Format: `String` --- -### `phone_number` - -Format: `String` +**`phone_number`** *String* Unique phone number for the user identity in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, +15555550100). ---- -### `user_identity_id` +--- -Format: `UUID` +**`user_identity_id`** *UUID* ID of the user identity. ---- -### `user_identity_key` +--- -Format: `String` +**`user_identity_key`** *String* Unique key for the user identity. ---- -### `workspace_id` +--- -Format: `UUID` +**`workspace_id`** *UUID* ID of the [workspace](../../core-concepts/workspaces/README.md) that contains the user identity. + --- ## Endpoints -### [`/user_identities/add_acs_user`](./add_acs_user.md) + +[**`/user_identities/add_acs_user`**](./add_acs_user.md) Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). -### [`/user_identities/create`](./create.md) + + +[**`/user_identities/create`**](./create.md) Creates a new [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). -### [`/user_identities/delete`](./delete.md) + + +[**`/user_identities/delete`**](./delete.md) Deletes a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). To delete a user identity, you must first delete any [ACS credentials](https://docs.seam.co/latest/api/access-control-systems/credentials) and [enrollment automations](https://docs.seam.co/latest/api/user_identities/enrollment_automations/delete) associated with the user identity. You must also deactivate any associated phones. -### [`/user_identities/get`](./get.md) + + +[**`/user_identities/get`**](./get.md) Returns a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). -### [`/user_identities/grant_access_to_device`](./grant_access_to_device.md) + + +[**`/user_identities/grant_access_to_device`**](./grant_access_to_device.md) Grants a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) access to a specified [device](../../core-concepts/devices/README.md). -### [`/user_identities/list`](./list.md) + + +[**`/user_identities/list`**](./list.md) Returns a list of all [user identities](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). -### [`/user_identities/list_accessible_devices`](./list_accessible_devices.md) + + +[**`/user_identities/list_accessible_devices`**](./list_accessible_devices.md) Returns a list of all [devices](../../core-concepts/devices/README.md) associated with a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). -### [`/user_identities/list_acs_systems`](./list_acs_systems.md) + + +[**`/user_identities/list_acs_systems`**](./list_acs_systems.md) Returns a list of all [access control systems](https://docs.seam.co/latest/capability-guides/access-systems) associated with a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). -### [`/user_identities/list_acs_users`](./list_acs_users.md) + + +[**`/user_identities/list_acs_users`**](./list_acs_users.md) Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) assigned to a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). -### [`/user_identities/remove_acs_user`](./remove_acs_user.md) + + +[**`/user_identities/remove_acs_user`**](./remove_acs_user.md) Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). -### [`/user_identities/revoke_access_to_device`](./revoke_access_to_device.md) + + +[**`/user_identities/revoke_access_to_device`**](./revoke_access_to_device.md) Revokes access to a specified [device](../../core-concepts/devices/README.md) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). -### [`/user_identities/update`](./update.md) + + +[**`/user_identities/update`**](./update.md) + + diff --git a/docs/api/user_identities/add_acs_user.md b/docs/api/user_identities/add_acs_user.md index af928ae4..53b39085 100644 --- a/docs/api/user_identities/add_acs_user.md +++ b/docs/api/user_identities/add_acs_user.md @@ -1,14 +1,60 @@ # Add an ACS User to a User Identity +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +{% tabs %} +{% tab title="Signature" %} ``` PUT /user_identities/add_acs_user ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_user_id`** *String* (Required) + +ID of the desired ACS user. + +--- + +**`user_identity_id`** *String* (Required) + +ID of the desired user identity. + +--- -Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +## Response + +void + +--- + +## Examples + +### Add an ACS user to a user identity + +Specify the desired `acs_user_id` and `user_identity_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.addAcsUser({ @@ -17,7 +63,7 @@ await seam.userIdentities.addAcsUser({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +71,7 @@ await seam.userIdentities.addAcsUser({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.add_acs_user( @@ -34,7 +80,7 @@ seam.user_identities.add_acs_user( ) ``` -#### Response +#### Output ```python None @@ -42,7 +88,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.add_acs_user( @@ -51,7 +97,7 @@ seam.user_identities.add_acs_user( ) ``` -#### Response +#### Output ```ruby nil @@ -59,7 +105,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->add_acs_user( ); ``` -#### Response +#### Output ```php null @@ -77,13 +123,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities add-acs-user --user_identity_id "48500a8e-5e7e-4bde-b7e5-0be97cae5d7a" --acs_user_id "4d223973-0874-4831-8630-bfcb29e6bce0" ``` -#### Response +#### Output ```seam_cli {} @@ -91,7 +137,7 @@ seam user-identities add-acs-user --user_identity_id "48500a8e-5e7e-4bde-b7e5-0b {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -109,7 +155,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -118,32 +164,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_user_id` - -Type: `string` -Required: Yes - -ID of the desired ACS user. - -*** - -### `user_identity_id` -Type: `string` -Required: Yes - -ID of the desired user identity. - -*** - -## Return Type - -void diff --git a/docs/api/user_identities/create.md b/docs/api/user_identities/create.md index 817473e5..4caf008f 100644 --- a/docs/api/user_identities/create.md +++ b/docs/api/user_identities/create.md @@ -1,14 +1,81 @@ # Create a User Identity +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Creates a new [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/create ⇒ { user_identity } ``` +{% endtab %} +{% endtabs %} -Creates a new [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`email_address`** *String* + +Unique email address for the user identity. + +--- + +**`full_name`** *String* + +Full name of the user associated with the user identity. + +--- + +**`phone_number`** *String* + +Unique phone number for the user identity in E.164 format (for example, +15555550100). + +--- + +**`user_identity_key`** *String* + +Unique key for the user identity. + +--- + + +## Response + +[user\_identity](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of user_identity +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Create a user identity + +Specify one or more of the unique `user_identity_key`, `email_address`, or `phone_number`. You can also specify the `full_name` of the user associated with the `user_identity`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.create({ @@ -19,7 +86,7 @@ await seam.userIdentities.create({ }); ``` -#### Response +#### Output ```javascript { @@ -36,7 +103,7 @@ await seam.userIdentities.create({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.create( @@ -47,7 +114,7 @@ seam.user_identities.create( ) ``` -#### Response +#### Output ```python UserIdentity( @@ -64,7 +131,7 @@ UserIdentity( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.create( @@ -75,7 +142,7 @@ seam.user_identities.create( ) ``` -#### Response +#### Output ```ruby { @@ -92,7 +159,7 @@ seam.user_identities.create( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->create( ); ``` -#### Response +#### Output ```php user_identities->create( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities create --user_identity_key "jean_doe" --email_address "jean@example.com" --phone_number "+15555550110" --full_name "Jean Doe" ``` -#### Response +#### Output ```seam_cli { @@ -145,7 +212,7 @@ seam user-identities create --user_identity_key "jean_doe" --email_address "jean {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -165,7 +232,7 @@ func main() { } ``` -#### Response +#### Output ```go api.UserIdentity{UserIdentityId: "48500a8e-5e7e-4bde-b7e5-0be97cae5d7a", UserIdentityKey: "jean_doe", EmailAddress: "jean@example.com", PhoneNumber: "+15555550110", DisplayName: "Jean Doe", FullName: "Jean Doe", CreatedAt: "2024-01-11T05:37:50.264Z", WorkspaceId: "398d80b7-3f96-47c2-b85a-6f8ba21d07be"} @@ -174,50 +241,4 @@ api.UserIdentity{UserIdentityId: "48500a8e-5e7e-4bde-b7e5-0be97cae5d7a", UserIde {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `email_address` - -Type: `string` -Required: No - -Unique email address for the user identity. - -*** - -### `full_name` - -Type: `string` -Required: No - -Full name of the user associated with the user identity. - -*** - -### `phone_number` - -Type: `string` -Required: No - -Unique phone number for the user identity in E.164 format (for example, +15555550100). - -*** - -### `user_identity_key` -Type: `string` -Required: No - -Unique key for the user identity. - -*** - -## Return Type - -[user\_identity](./) diff --git a/docs/api/user_identities/delete.md b/docs/api/user_identities/delete.md index 2bdc55ac..e2fa9145 100644 --- a/docs/api/user_identities/delete.md +++ b/docs/api/user_identities/delete.md @@ -1,14 +1,54 @@ # Delete a User Identity +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Deletes a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). To delete a user identity, you must first delete any [ACS credentials](https://docs.seam.co/latest/api/access-control-systems/credentials) and [enrollment automations](https://docs.seam.co/latest/api/user_identities/enrollment_automations/delete) associated with the user identity. You must also deactivate any associated phones. + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/delete ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`user_identity_id`** *String* (Required) + +ID of the desired user identity. + +--- -Deletes a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). To delete a user identity, you must first delete any [ACS credentials](https://docs.seam.co/latest/api/access-control-systems/credentials) and [enrollment automations](https://docs.seam.co/latest/api/user_identities/enrollment_automations/delete) associated with the user identity. You must also deactivate any associated phones. + +## Response + +void + +--- + +## Examples + +### Delete a user identity + +Specify the desired `user_identity_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.delete({ @@ -16,7 +56,7 @@ await seam.userIdentities.delete({ }); ``` -#### Response +#### Output ```javascript // void @@ -24,13 +64,13 @@ await seam.userIdentities.delete({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.delete(user_identity_id="44d48b20-0dbe-419d-91ca-ab8bceecd135") ``` -#### Response +#### Output ```python None @@ -38,13 +78,13 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.delete(user_identity_id: "44d48b20-0dbe-419d-91ca-ab8bceecd135") ``` -#### Response +#### Output ```ruby nil @@ -52,7 +92,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->delete( ); ``` -#### Response +#### Output ```php null @@ -69,13 +109,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities delete --user_identity_id "44d48b20-0dbe-419d-91ca-ab8bceecd135" ``` -#### Response +#### Output ```seam_cli {} @@ -83,7 +123,7 @@ seam user-identities delete --user_identity_id "44d48b20-0dbe-419d-91ca-ab8bceec {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -100,7 +140,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -109,23 +149,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. -## Request Parameters - -### `user_identity_id` - -Type: `string` -Required: Yes - -ID of the desired user identity. - -*** - -## Return Type - -void diff --git a/docs/api/user_identities/enrollment_automations/README.md b/docs/api/user_identities/enrollment_automations/README.md index 04899ddf..e5a41978 100644 --- a/docs/api/user_identities/enrollment_automations/README.md +++ b/docs/api/user_identities/enrollment_automations/README.md @@ -1,105 +1,137 @@ # Enrollment Automations -## `enrollment_automation` +## The enrollment_automation Object + +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) + Represents an [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system) within the [Seam mobile access solution](https://docs.seam.co/latest/capability-guides/mobile-access-in-development). -### `created_at` +{% tabs %} +{% tab title="JSON" %} +```json +{ + created_at: [example value], + credential_manager_acs_system_id: [example value], + enrollment_automation_id: [example value], + user_identity_id: [example value], + workspace_id: [example value] +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Properties -Format: `Datetime` +**`created_at`** *Datetime* Date and time at which the enrollment automation was created. ---- -### `credential_manager_acs_system_id` +--- -Format: `UUID` +**`credential_manager_acs_system_id`** *UUID* ID of the associated [ACS system](https://docs.seam.co/latest/capability-guides/access-systems) that serves as the credential manager. ---- -### `enrollment_automation_id` +--- -Format: `UUID` +**`enrollment_automation_id`** *UUID* ID of the enrollment automation. ---- -### `user_identity_id` +--- -Format: `UUID` +**`user_identity_id`** *UUID* ID of the associated [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). ---- -### `workspace_id` +--- -Format: `UUID` +**`workspace_id`** *UUID* ID of the [workspace](../../../core-concepts/workspaces/README.md) that contains the enrollment automation. + --- -## Endpoints -### [`/user_identities/enrollment_automations/delete`](./delete.md) +## Events -Deletes a specified [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). You must delete all enrollment automations associated with a [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) before [deleting the user identity](https://docs.seam.co/latest/api/user_identities/delete). -### [`/user_identities/enrollment_automations/get`](./get.md) +**`enrollment_automation.deleted`** -Returns a specified [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). -### [`/user_identities/enrollment_automations/launch`](./launch.md) +An [enrollment automation](../../../capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system.md#prepare-the-phones-for-a-user-identity-to-start-receiving-mobile-credentials-using-an-enrollment-aut) was deleted. -Sets up a new [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system) for a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) with a specified [credential manager](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). -### [`/user_identities/enrollment_automations/list`](./list.md) +
-Returns a list of all [enrollment automations](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system) for a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). +Properties ---- +- created_at Datetime -## Events + Date and time at which the event was created. -### `enrollment_automation.deleted` -An [enrollment automation](../../../capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system.md#prepare-the-phones-for-a-user-identity-to-start-receiving-mobile-credentials-using-an-enrollment-aut) was deleted. -
+- enrollment_automation_id UUID -created_at Format: Datetime + ID of the [enrollment automation](../../../capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system.md#prepare-the-phones-for-a-user-identity-to-start-receiving-mobile-credentials-using-an-enrollment-aut). -Date and time at which the event was created. -
-
-enrollment_automation_id Format: UUID -ID of the [enrollment automation](../../../capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system.md#prepare-the-phones-for-a-user-identity-to-start-receiving-mobile-credentials-using-an-enrollment-aut). -
-
+- event_id UUID -event_id Format: UUID + ID of the event. -ID of the event. -
-
-event_type Format: String -
-
-occurred_at Format: Datetime +- event_type String + + + +- occurred_at Datetime + + Date and time at which the event occurred. -Date and time at which the event occurred. -
-
-workspace_id Format: UUID -ID of the [workspace](../../../core-concepts/workspaces/README.md). +- workspace_id UUID + + ID of the [workspace](../../../core-concepts/workspaces/README.md). + +
+ --- +## Endpoints + + +[**`/user_identities/enrollment_automations/delete`**](./delete.md) + +Deletes a specified [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). You must delete all enrollment automations associated with a [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) before [deleting the user identity](https://docs.seam.co/latest/api/user_identities/delete). + + +[**`/user_identities/enrollment_automations/get`**](./get.md) + +Returns a specified [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). + + +[**`/user_identities/enrollment_automations/launch`**](./launch.md) + +Sets up a new [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system) for a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) with a specified [credential manager](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). + + +[**`/user_identities/enrollment_automations/list`**](./list.md) + +Returns a list of all [enrollment automations](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system) for a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + + diff --git a/docs/api/user_identities/enrollment_automations/delete.md b/docs/api/user_identities/enrollment_automations/delete.md index 2e1962b9..48027ddf 100644 --- a/docs/api/user_identities/enrollment_automations/delete.md +++ b/docs/api/user_identities/enrollment_automations/delete.md @@ -1,14 +1,54 @@ # Delete an Enrollment Automation +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Deletes a specified [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). You must delete all enrollment automations associated with a [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) before [deleting the user identity](https://docs.seam.co/latest/api/user_identities/delete). + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/enrollment_automations/delete ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`enrollment_automation_id`** *String* (Required) + +ID of the desired enrollment automation. + +--- -Deletes a specified [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). You must delete all enrollment automations associated with a [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) before [deleting the user identity](https://docs.seam.co/latest/api/user_identities/delete). + +## Response + +void + +--- + +## Examples + +### Delete an enrollment automation + +Specify the desired `enrollment_automation_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.enrollmentAutomations.delete({ @@ -16,7 +56,7 @@ await seam.userIdentities.enrollmentAutomations.delete({ }); ``` -#### Response +#### Output ```javascript // void @@ -24,7 +64,7 @@ await seam.userIdentities.enrollmentAutomations.delete({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.enrollment_automations.delete( @@ -32,7 +72,7 @@ seam.user_identities.enrollment_automations.delete( ) ``` -#### Response +#### Output ```python None @@ -40,7 +80,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.enrollment_automations.delete( @@ -48,7 +88,7 @@ seam.user_identities.enrollment_automations.delete( ) ``` -#### Response +#### Output ```ruby nil @@ -56,7 +96,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->enrollment_automations->delete( ); ``` -#### Response +#### Output ```php null @@ -73,13 +113,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities enrollment-automations delete --enrollment_automation_id "05505650-aa57-49ab-8f19-429738758895" ``` -#### Response +#### Output ```seam_cli {} @@ -87,7 +127,7 @@ seam user-identities enrollment-automations delete --enrollment_automation_id "0 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -105,7 +145,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -114,23 +154,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. -## Request Parameters - -### `enrollment_automation_id` - -Type: `string` -Required: Yes - -ID of the desired enrollment automation. - -*** - -## Return Type - -void diff --git a/docs/api/user_identities/enrollment_automations/get.md b/docs/api/user_identities/enrollment_automations/get.md index b53917f3..918a1ae8 100644 --- a/docs/api/user_identities/enrollment_automations/get.md +++ b/docs/api/user_identities/enrollment_automations/get.md @@ -1,14 +1,64 @@ # Get an Enrollment Automation +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a specified [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/enrollment_automations/get ⇒ { enrollment_automation } ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`enrollment_automation_id`** *String* (Required) + +ID of the desired enrollment automation. + +--- -Returns a specified [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). + +## Response + +[enrollment\_automation](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of enrollment_automation +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Get an enrollment automation + +Specify the desired `enrollment_automation_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.enrollmentAutomations.get({ @@ -16,7 +66,7 @@ await seam.userIdentities.enrollmentAutomations.get({ }); ``` -#### Response +#### Output ```javascript { @@ -32,7 +82,7 @@ await seam.userIdentities.enrollmentAutomations.get({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.enrollment_automations.get( @@ -40,7 +90,7 @@ seam.user_identities.enrollment_automations.get( ) ``` -#### Response +#### Output ```python EnrollmentAutomation( @@ -56,7 +106,7 @@ EnrollmentAutomation( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.enrollment_automations.get( @@ -64,7 +114,7 @@ seam.user_identities.enrollment_automations.get( ) ``` -#### Response +#### Output ```ruby { @@ -80,7 +130,7 @@ seam.user_identities.enrollment_automations.get( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->enrollment_automations->get( ); ``` -#### Response +#### Output ```php user_identities->enrollment_automations->get( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities enrollment-automations get --enrollment_automation_id "05505650-aa57-49ab-8f19-429738758895" ``` -#### Response +#### Output ```seam_cli { @@ -130,7 +180,7 @@ seam user-identities enrollment-automations get --enrollment_automation_id "0550 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -148,7 +198,7 @@ func main() { } ``` -#### Response +#### Output ```go api.EnrollmentAutomation{UserIdentityId: "5c945ab5-c75e-4bcb-8e5f-9410061c401f", EnrollmentAutomationId: "05505650-aa57-49ab-8f19-429738758895", AcsCredentialProvisioningAutomationId: "05505650-aa57-49ab-8f19-429738758895", CredentialManagerAcsSystemId: "6737e186-8d54-48ce-a7da-a0be4d252172", IsRunning: true, WorkspaceId: "398d80b7-3f96-47c2-b85a-6f8ba21d07be", CreatedAt: "2024-01-09T05:45:33.068Z"} @@ -157,24 +207,4 @@ api.EnrollmentAutomation{UserIdentityId: "5c945ab5-c75e-4bcb-8e5f-9410061c401f", {% endtabs %} -## Authentication Methods -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `enrollment_automation_id` - -Type: `string` -Required: Yes - -ID of the desired enrollment automation. - -*** - -## Return Type - -[enrollment\_automation](./) diff --git a/docs/api/user_identities/enrollment_automations/launch.md b/docs/api/user_identities/enrollment_automations/launch.md index 5dc34090..dadb77f3 100644 --- a/docs/api/user_identities/enrollment_automations/launch.md +++ b/docs/api/user_identities/enrollment_automations/launch.md @@ -1,14 +1,87 @@ # Launch an Enrollment Automation +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Sets up a new [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system) for a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) with a specified [credential manager](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/enrollment_automations/launch ⇒ { enrollment_automation } ``` +{% endtab %} +{% endtabs %} -Sets up a new [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system) for a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) with a specified [credential manager](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`credential_manager_acs_system_id`** *String* (Required) + +ID of the desired ACS system that serves as the credential manager. + +--- + +**`user_identity_id`** *String* (Required) + +ID of the desired user identity. + +--- + +**`acs_credential_pool_id`** *String* + +ID of the ACS credential pool from which to obtain credentials for the user identity. + +--- + +**`create_credential_manager_user`** *Boolean* + +Indicates whether to create an associated credential manager user. If you set `create_credential_manager_user` to `true`, you cannot specify a `credential_manager_acs_user_id`. + +--- + +**`credential_manager_acs_user_id`** *String* + +ID of the associated ACS user within the credential manager. If you specify a `credential_manager_acs_user_id`, you cannot set `create_credential_manager_user` to `true`. + +--- + + +## Response + +[unknown](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of unknown +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Launch an enrollment automation + +Specify the desired `user_identity_id` and `credential_manager_acs_system_id`. You can also specify an `acs_credential_pool_id`. Either set `create_credential_manager_user` to `true` or specify the `credential_manager_acs_user_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.enrollmentAutomations.launch({ @@ -19,7 +92,7 @@ await seam.userIdentities.enrollmentAutomations.launch({ }); ``` -#### Response +#### Output ```javascript { @@ -35,7 +108,7 @@ await seam.userIdentities.enrollmentAutomations.launch({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.enrollment_automations.launch( @@ -46,7 +119,7 @@ seam.user_identities.enrollment_automations.launch( ) ``` -#### Response +#### Output ```python Unknown( @@ -62,7 +135,7 @@ Unknown( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.enrollment_automations.launch( @@ -73,7 +146,7 @@ seam.user_identities.enrollment_automations.launch( ) ``` -#### Response +#### Output ```ruby { @@ -89,7 +162,7 @@ seam.user_identities.enrollment_automations.launch( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->enrollment_automations->launch( ); ``` -#### Response +#### Output ```php user_identities->enrollment_automations->launch( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities enrollment-automations launch --user_identity_id "5c945ab5-c75e-4bcb-8e5f-9410061c401f" --credential_manager_acs_system_id "6737e186-8d54-48ce-a7da-a0be4d252172" --acs_credential_pool_id "3fa85f64-5717-4562-b3fc-2c963f66afa6" --create_credential_manager_user true ``` -#### Response +#### Output ```seam_cli { @@ -142,7 +215,7 @@ seam user-identities enrollment-automations launch --user_identity_id "5c945ab5- {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -163,7 +236,7 @@ func main() { } ``` -#### Response +#### Output ```go api.Unknown{UserIdentityId: "5c945ab5-c75e-4bcb-8e5f-9410061c401f", EnrollmentAutomationId: "05505650-aa57-49ab-8f19-429738758895", AcsCredentialProvisioningAutomationId: "05505650-aa57-49ab-8f19-429738758895", CredentialManagerAcsSystemId: "6737e186-8d54-48ce-a7da-a0be4d252172", IsRunning: true, WorkspaceId: "398d80b7-3f96-47c2-b85a-6f8ba21d07be", CreatedAt: "2024-01-09T05:45:33.068Z"} @@ -172,59 +245,4 @@ api.Unknown{UserIdentityId: "5c945ab5-c75e-4bcb-8e5f-9410061c401f", EnrollmentAu {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `credential_manager_acs_system_id` - -Type: `string` -Required: Yes - -ID of the desired ACS system that serves as the credential manager. - -*** - -### `user_identity_id` - -Type: `string` -Required: Yes -ID of the desired user identity. - -*** - -### `acs_credential_pool_id` - -Type: `string` -Required: No - -ID of the ACS credential pool from which to obtain credentials for the user identity. - -*** - -### `create_credential_manager_user` - -Type: `boolean` -Required: No - -Indicates whether to create an associated credential manager user. If you set `create_credential_manager_user` to `true`, you cannot specify a `credential_manager_acs_user_id`. - -*** - -### `credential_manager_acs_user_id` - -Type: `string` -Required: No - -ID of the associated ACS user within the credential manager. If you specify a `credential_manager_acs_user_id`, you cannot set `create_credential_manager_user` to `true`. - -*** - -## Return Type - -[unknown](./) diff --git a/docs/api/user_identities/enrollment_automations/list.md b/docs/api/user_identities/enrollment_automations/list.md index 8ed1a89c..ef1924ec 100644 --- a/docs/api/user_identities/enrollment_automations/list.md +++ b/docs/api/user_identities/enrollment_automations/list.md @@ -1,14 +1,64 @@ # List Enrollment Automations +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [enrollment automations](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system) for a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/enrollment_automations/list ⇒ { enrollment_automations: [enrollment_automation, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [enrollment automations](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system) for a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`user_identity_id`** *String* (Required) + +ID of the user identity for which you want to retrieve all enrollment automations. + +--- + + +## Response + +Array of [enrollment\_automations](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of enrollment_automation +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List enrollment automations + +Specify the desired `user_identity_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.enrollmentAutomations.list({ @@ -16,7 +66,7 @@ await seam.userIdentities.enrollmentAutomations.list({ }); ``` -#### Response +#### Output ```javascript [ @@ -34,7 +84,7 @@ await seam.userIdentities.enrollmentAutomations.list({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.enrollment_automations.list( @@ -42,7 +92,7 @@ seam.user_identities.enrollment_automations.list( ) ``` -#### Response +#### Output ```python [ @@ -60,7 +110,7 @@ seam.user_identities.enrollment_automations.list( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.enrollment_automations.list( @@ -68,7 +118,7 @@ seam.user_identities.enrollment_automations.list( ) ``` -#### Response +#### Output ```ruby [ @@ -86,7 +136,7 @@ seam.user_identities.enrollment_automations.list( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->enrollment_automations->list( ); ``` -#### Response +#### Output ```php user_identities->enrollment_automations->list( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities enrollment-automations list --user_identity_id "5c945ab5-c75e-4bcb-8e5f-9410061c401f" ``` -#### Response +#### Output ```seam_cli [ @@ -140,7 +190,7 @@ seam user-identities enrollment-automations list --user_identity_id "5c945ab5-c7 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -158,7 +208,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.EnrollmentAutomation{api.EnrollmentAutomation{UserIdentityId: "5c945ab5-c75e-4bcb-8e5f-9410061c401f", EnrollmentAutomationId: "05505650-aa57-49ab-8f19-429738758895", AcsCredentialProvisioningAutomationId: "05505650-aa57-49ab-8f19-429738758895", CredentialManagerAcsSystemId: "6737e186-8d54-48ce-a7da-a0be4d252172", IsRunning: true, WorkspaceId: "398d80b7-3f96-47c2-b85a-6f8ba21d07be", CreatedAt: "2024-01-09T05:45:33.068Z"}} @@ -167,24 +217,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `user_identity_id` - -Type: `string` -Required: Yes - -ID of the user identity for which you want to retrieve all enrollment automations. - -*** - -## Return Type -Array<[enrollment\_automation](./)> diff --git a/docs/api/user_identities/get.md b/docs/api/user_identities/get.md index a76dbf45..0b9ff750 100644 --- a/docs/api/user_identities/get.md +++ b/docs/api/user_identities/get.md @@ -1,14 +1,67 @@ # Get a User Identity +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/get ⇒ { user_identity } ``` +{% endtab %} +{% endtabs %} -Returns a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`user_identity_id`** *String* + +ID of the desired user identity. + +--- + +**`user_identity_key`** *String* + +--- + + +## Response + +[user\_identity](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of user_identity +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### Get a user identity + +Specify the `user_identity_id` of the user identity that you want to retrieve. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.get({ @@ -16,7 +69,7 @@ await seam.userIdentities.get({ }); ``` -#### Response +#### Output ```javascript { @@ -33,13 +86,13 @@ await seam.userIdentities.get({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.get(user_identity_id="48500a8e-5e7e-4bde-b7e5-0be97cae5d7a") ``` -#### Response +#### Output ```python UserIdentity( @@ -56,13 +109,13 @@ UserIdentity( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.get(user_identity_id: "48500a8e-5e7e-4bde-b7e5-0be97cae5d7a") ``` -#### Response +#### Output ```ruby { @@ -79,7 +132,7 @@ seam.user_identities.get(user_identity_id: "48500a8e-5e7e-4bde-b7e5-0be97cae5d7a {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->get( ); ``` -#### Response +#### Output ```php user_identities->get( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities get --user_identity_id "48500a8e-5e7e-4bde-b7e5-0be97cae5d7a" ``` -#### Response +#### Output ```seam_cli { @@ -129,7 +182,7 @@ seam user-identities get --user_identity_id "48500a8e-5e7e-4bde-b7e5-0be97cae5d7 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -146,7 +199,7 @@ func main() { } ``` -#### Response +#### Output ```go api.UserIdentity{UserIdentityId: "48500a8e-5e7e-4bde-b7e5-0be97cae5d7a", UserIdentityKey: "jean_doe", EmailAddress: "jean@example.com", PhoneNumber: "+15555550110", DisplayName: "Jean Doe", FullName: "Jean Doe", CreatedAt: "2024-01-11T05:37:50.264Z", WorkspaceId: "398d80b7-3f96-47c2-b85a-6f8ba21d07be"} @@ -155,32 +208,4 @@ api.UserIdentity{UserIdentityId: "48500a8e-5e7e-4bde-b7e5-0be97cae5d7a", UserIde {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `user_identity_id` - -Type: `string` -Required: No - -ID of the desired user identity. - -*** - -### `user_identity_key` -Type: `string` -Required: No - - - -*** - -## Return Type - -[user\_identity](./) diff --git a/docs/api/user_identities/grant_access_to_device.md b/docs/api/user_identities/grant_access_to_device.md index b5121cc7..99292e17 100644 --- a/docs/api/user_identities/grant_access_to_device.md +++ b/docs/api/user_identities/grant_access_to_device.md @@ -1,14 +1,60 @@ # Grant a User Identity Access to a Device +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Grants a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) access to a specified [device](../../core-concepts/devices/README.md). + +{% tabs %} +{% tab title="Signature" %} ``` PUT /user_identities/grant_access_to_device ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_id`** *String* (Required) + +ID of the desired managed device. + +--- + +**`user_identity_id`** *String* (Required) + +ID of the desired user identity. + +--- -Grants a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) access to a specified [device](../../core-concepts/devices/README.md). + +## Response + +void + +--- + +## Examples + +### Grant a user identity access to a device + +Specify the desired `user_identity_id` and `device_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.grantAccessToDevice({ @@ -17,7 +63,7 @@ await seam.userIdentities.grantAccessToDevice({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +71,7 @@ await seam.userIdentities.grantAccessToDevice({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.grant_access_to_device( @@ -34,7 +80,7 @@ seam.user_identities.grant_access_to_device( ) ``` -#### Response +#### Output ```python None @@ -42,7 +88,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.grant_access_to_device( @@ -51,7 +97,7 @@ seam.user_identities.grant_access_to_device( ) ``` -#### Response +#### Output ```ruby nil @@ -59,7 +105,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->grant_access_to_device( ); ``` -#### Response +#### Output ```php null @@ -77,13 +123,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities grant-access-to-device --user_identity_id "f3a328b4-dd04-4370-9000-d52b7a01b0bf" --device_id "054765c8-a2fc-4599-b486-14c19f462c45" ``` -#### Response +#### Output ```seam_cli {} @@ -91,7 +137,7 @@ seam user-identities grant-access-to-device --user_identity_id "f3a328b4-dd04-43 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -109,7 +155,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -118,32 +164,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired managed device. - -*** - -### `user_identity_id` -Type: `string` -Required: Yes - -ID of the desired user identity. - -*** - -## Return Type - -void diff --git a/docs/api/user_identities/list.md b/docs/api/user_identities/list.md index 7044c7aa..3e5861bd 100644 --- a/docs/api/user_identities/list.md +++ b/docs/api/user_identities/list.md @@ -1,20 +1,68 @@ # List User Identities +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [user identities](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/list ⇒ { user_identities: [user_identity, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [user identities](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`credential_manager_acs_system_id`** *String* + +--- + + +## Response + +Array of [user\_identitys](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of user_identity +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List user identities + +To filter the list of user identities, specify the desired `credential_manager_acs_system_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.list(); ``` -#### Response +#### Output ```javascript [ @@ -33,13 +81,13 @@ await seam.userIdentities.list(); {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.list() ``` -#### Response +#### Output ```python [ @@ -58,13 +106,13 @@ seam.user_identities.list() {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.list() ``` -#### Response +#### Output ```ruby [ @@ -83,14 +131,14 @@ seam.user_identities.list() {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->list(); ``` -#### Response +#### Output ```php user_identities->list(); {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities list ``` -#### Response +#### Output ```seam_cli [ @@ -135,7 +183,7 @@ seam user-identities list {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -145,7 +193,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.UserIdentity{api.UserIdentity{UserIdentityId: "48500a8e-5e7e-4bde-b7e5-0be97cae5d7a", UserIdentityKey: "jean_doe", EmailAddress: "jean@example.com", PhoneNumber: "+15555550110", DisplayName: "Jean Doe", FullName: "Jean Doe", CreatedAt: "2024-01-11T05:37:50.264Z", WorkspaceId: "398d80b7-3f96-47c2-b85a-6f8ba21d07be"}} @@ -154,24 +202,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `credential_manager_acs_system_id` - -Type: `string` -Required: No - - - -*** - -## Return Type -Array<[user\_identity](./)> diff --git a/docs/api/user_identities/list_accessible_devices.md b/docs/api/user_identities/list_accessible_devices.md index e84acbef..989b5602 100644 --- a/docs/api/user_identities/list_accessible_devices.md +++ b/docs/api/user_identities/list_accessible_devices.md @@ -1,14 +1,63 @@ # List Accessible Devices for a User Identity +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [devices](../../core-concepts/devices/README.md) associated with a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/list_accessible_devices ⇒ { devices: [device, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [devices](../../core-concepts/devices/README.md) associated with a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`user_identity_id`** *String* (Required) + +ID of the user identity for which you want to retrieve all accessible devices. + +--- + + +## Response + +Array of [devices](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of device +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List accessible devices for a user identity + +Specify the desired `user_identity_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.listAccessibleDevices({ @@ -16,7 +65,7 @@ await seam.userIdentities.listAccessibleDevices({ }); ``` -#### Response +#### Output ```javascript [ @@ -76,7 +125,7 @@ await seam.userIdentities.listAccessibleDevices({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.list_accessible_devices( @@ -84,7 +133,7 @@ seam.user_identities.list_accessible_devices( ) ``` -#### Response +#### Output ```python [ @@ -144,7 +193,7 @@ seam.user_identities.list_accessible_devices( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.list_accessible_devices( @@ -152,7 +201,7 @@ seam.user_identities.list_accessible_devices( ) ``` -#### Response +#### Output ```ruby [ @@ -216,7 +265,7 @@ seam.user_identities.list_accessible_devices( {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->list_accessible_devices( ); ``` -#### Response +#### Output ```php user_identities->list_accessible_devices( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities list-accessible-devices --user_identity_id "f3a328b4-dd04-4370-9000-d52b7a01b0bf" ``` -#### Response +#### Output ```seam_cli [ @@ -359,7 +408,7 @@ seam user-identities list-accessible-devices --user_identity_id "f3a328b4-dd04-4 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -376,7 +425,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.Device{api.Device{DeviceId: "054765c8-a2fc-4599-b486-14c19f462c45", Nickname: "", DisplayName: "Seam Thermostat", DeviceType: "nest_thermostat", CapabilitiesSupported: []string{"thermostat"}, Properties: api.DeviceProperties{Online: true, IsCooling: false, IsHeating: false, Manufacturer: "nest", NestMetadata: api.DevicePropertiesNestMetadata{CustomName: "", DeviceName: "enterprises/nest_project_id/devices/AVPHwEvjFcX-wRmGdXApyxON24SAI0S9oU13a2GSVFLPVehUKH1ATqlASyKi2N2dbJCVW-B6-VxgbhdjUyyjA-K3Vo5C9g", NestDeviceId: "bcca8c5f-1854-4906-9911-c877d513e00a"}, IsFanRunning: false, HasDirectPower: true, RelativeHumidity: 0.46, TemperatureCelsius: 24.64, TemperatureFahrenheit: 76.352, CurrentClimateSetting: api.DevicePropertiesCurrentClimateSetting{HvacModeSetting: "heat_cool", ManualOverrideAllowed: true, CoolingSetPointCelsius: 21.5, HeatingSetPointCelsius: 20, CoolingSetPointFahrenheit: 70.7, HeatingSetPointFahrenheit: 68}, AvailableHvacModeSettings: []string{"heat", "cool", "heat_cool", "off"}, IsTemporaryManualOverrideActive: false, Name: "", Appearance: api.DevicePropertiesAppearance{Name: ""}, Model: api.DevicePropertiesModel{DisplayName: "Thermostat", ManufacturerDisplayName: "Nest", AccessoryKeypadSupported: false}, ImageUrl: "https://connect.getseam.com/assets/images/devices/unknown-lock.png", ImageAltText: "Placeholder Lock Image", IsClimateSettingScheduleActive: false}, Location: nil, ConnectedAccountId: "44284499-a50b-4947-86c1-58264f014be5", WorkspaceId: "398d80b7-3f96-47c2-b85a-6f8ba21d07be", CreatedAt: "2024-02-29T21:57:33.397Z", Errors: nil, Warnings: nil, IsManaged: true, CustomMetadata: struct{}{}}} @@ -385,23 +434,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `user_identity_id` - -Type: `string` -Required: Yes - -ID of the user identity for which you want to retrieve all accessible devices. - -*** - -## Return Type -Array<[device](./)> diff --git a/docs/api/user_identities/list_acs_systems.md b/docs/api/user_identities/list_acs_systems.md index 27b7403e..a5d80fc9 100644 --- a/docs/api/user_identities/list_acs_systems.md +++ b/docs/api/user_identities/list_acs_systems.md @@ -1,14 +1,64 @@ # List ACS Systems Associated with a User Identity +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [access control systems](https://docs.seam.co/latest/capability-guides/access-systems) associated with a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/list_acs_systems ⇒ { acs_systems: [acs_system, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [access control systems](https://docs.seam.co/latest/capability-guides/access-systems) associated with a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`user_identity_id`** *String* (Required) + +ID of the user identity for which you want to retrieve all access control systems. + +--- + + +## Response + +Array of [acs\_systems](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_system +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List ACS systems associated with a user identity + +Specify the desired `user_identity_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.listAcsSystems({ @@ -16,7 +66,7 @@ await seam.userIdentities.listAcsSystems({ }); ``` -#### Response +#### Output ```javascript [ @@ -36,7 +86,7 @@ await seam.userIdentities.listAcsSystems({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.list_acs_systems( @@ -44,7 +94,7 @@ seam.user_identities.list_acs_systems( ) ``` -#### Response +#### Output ```python [ @@ -64,13 +114,13 @@ seam.user_identities.list_acs_systems( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.list_acs_systems(user_identity_id: "5c945ab5-c75e-4bcb-8e5f-9410061c401f") ``` -#### Response +#### Output ```ruby [ @@ -90,7 +140,7 @@ seam.user_identities.list_acs_systems(user_identity_id: "5c945ab5-c75e-4bcb-8e5f {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->list_acs_systems( ); ``` -#### Response +#### Output ```php user_identities->list_acs_systems( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities list-acs-systems --user_identity_id "5c945ab5-c75e-4bcb-8e5f-9410061c401f" ``` -#### Response +#### Output ```seam_cli [ @@ -146,7 +196,7 @@ seam user-identities list-acs-systems --user_identity_id "5c945ab5-c75e-4bcb-8e5 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -163,7 +213,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.AcsSystem{api.AcsSystem{AcsSystemId: "6737e186-8d54-48ce-a7da-a0be4d252172", Name: "Assa Abloy Credential Service", WorkspaceId: "398d80b7-3f96-47c2-b85a-6f8ba21d07be", CreatedAt: "2024-01-05T07:16:51.971Z", SystemType: "assa_abloy_credential_service", SystemTypeDisplayName: "Assa Abloy Credential Service", ExternalType: "assa_abloy_credential_service", ExternalTypeDisplayName: "Assa Abloy Credential Service", ConnectedAccountIds: []string{"dc08066f-d9b8-42f0-9c4b-c781cd900153"}}} @@ -172,24 +222,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Client session token -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `user_identity_id` - -Type: `string` -Required: Yes - -ID of the user identity for which you want to retrieve all access control systems. - -*** - -## Return Type -Array<[acs\_system](./)> diff --git a/docs/api/user_identities/list_acs_users.md b/docs/api/user_identities/list_acs_users.md index d585f309..f4a52b10 100644 --- a/docs/api/user_identities/list_acs_users.md +++ b/docs/api/user_identities/list_acs_users.md @@ -1,14 +1,63 @@ # List ACS Users Associated with a User Identity +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) assigned to a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/list_acs_users ⇒ { acs_users: [acs_user, …] } ``` +{% endtab %} +{% endtabs %} -Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) assigned to a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`user_identity_id`** *String* (Required) + +ID of the user identity for which you want to retrieve all ACS users. + +--- + + +## Response + +Array of [acs\_users](./) +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of acs_user +} +``` +{% endtab %} +{% endtabs %} + +--- + +## Examples + +### List ACS users for a user identity + +Specify the desired `user_identity_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.listAcsUsers({ @@ -16,7 +65,7 @@ await seam.userIdentities.listAcsUsers({ }); ``` -#### Response +#### Output ```javascript [ @@ -38,7 +87,7 @@ await seam.userIdentities.listAcsUsers({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.list_acs_users( @@ -46,7 +95,7 @@ seam.user_identities.list_acs_users( ) ``` -#### Response +#### Output ```python [ @@ -68,13 +117,13 @@ seam.user_identities.list_acs_users( {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.list_acs_users(user_identity_id: "48500a8e-5e7e-4bde-b7e5-0be97cae5d7a") ``` -#### Response +#### Output ```ruby [ @@ -96,7 +145,7 @@ seam.user_identities.list_acs_users(user_identity_id: "48500a8e-5e7e-4bde-b7e5-0 {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->list_acs_users( ); ``` -#### Response +#### Output ```php user_identities->list_acs_users( {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities list-acs-users --user_identity_id "48500a8e-5e7e-4bde-b7e5-0be97cae5d7a" ``` -#### Response +#### Output ```seam_cli [ @@ -156,7 +205,7 @@ seam user-identities list-acs-users --user_identity_id "48500a8e-5e7e-4bde-b7e5- {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -173,7 +222,7 @@ func main() { } ``` -#### Response +#### Output ```go []api.AcsUser{api.AcsUser{AcsUserId: "4d223973-0874-4831-8630-bfcb29e6bce0", DisplayName: "Jean Doe", FullName: "Jean Doe", EmailAddress: "jean@example.com", AcsSystemId: "8aaa5fa0-9381-4463-a0ed-85f9c1fbcef4", WorkspaceId: "398d80b7-3f96-47c2-b85a-6f8ba21d07be", CreatedAt: "2024-01-11T05:45:41.349Z", IsSuspended: false, UserIdentityId: "48500a8e-5e7e-4bde-b7e5-0be97cae5d7a", UserIdentityEmailAddress: "jean@example.com", UserIdentityPhoneNumber: "+15555550110"}} @@ -182,23 +231,4 @@ func main() { {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `user_identity_id` - -Type: `string` -Required: Yes - -ID of the user identity for which you want to retrieve all ACS users. - -*** - -## Return Type -Array<[acs\_user](./)> diff --git a/docs/api/user_identities/remove_acs_user.md b/docs/api/user_identities/remove_acs_user.md index 9ddac01d..8d4f0feb 100644 --- a/docs/api/user_identities/remove_acs_user.md +++ b/docs/api/user_identities/remove_acs_user.md @@ -1,14 +1,60 @@ # Remove an ACS User from a User Identity +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/remove_acs_user ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`acs_user_id`** *String* (Required) + +ID of the ACS user. + +--- + +**`user_identity_id`** *String* (Required) + +ID of the desired user identity. + +--- -Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +## Response + +void + +--- + +## Examples + +### Remove an ACS user from a user identity + +Specify the desired `acs_user_id` and `user_identity_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.removeAcsUser({ @@ -17,7 +63,7 @@ await seam.userIdentities.removeAcsUser({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +71,7 @@ await seam.userIdentities.removeAcsUser({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.remove_acs_user( @@ -34,7 +80,7 @@ seam.user_identities.remove_acs_user( ) ``` -#### Response +#### Output ```python None @@ -42,7 +88,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.remove_acs_user( @@ -51,7 +97,7 @@ seam.user_identities.remove_acs_user( ) ``` -#### Response +#### Output ```ruby nil @@ -59,7 +105,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->remove_acs_user( ); ``` -#### Response +#### Output ```php null @@ -77,13 +123,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities remove-acs-user --user_identity_id "5c945ab5-c75e-4bcb-8e5f-9410061c401f" --acs_user_id "c0184e54-0d93-4bca-8a4e-47bbd2ee3bfe" ``` -#### Response +#### Output ```seam_cli {} @@ -91,7 +137,7 @@ seam user-identities remove-acs-user --user_identity_id "5c945ab5-c75e-4bcb-8e5f {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -109,7 +155,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -118,32 +164,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `acs_user_id` - -Type: `string` -Required: Yes - -ID of the ACS user. - -*** - -### `user_identity_id` -Type: `string` -Required: Yes - -ID of the desired user identity. - -*** - -## Return Type - -void diff --git a/docs/api/user_identities/revoke_access_to_device.md b/docs/api/user_identities/revoke_access_to_device.md index bf09b47b..933386f0 100644 --- a/docs/api/user_identities/revoke_access_to_device.md +++ b/docs/api/user_identities/revoke_access_to_device.md @@ -1,14 +1,60 @@ # Revoke Access to a Device from a User Identity +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + +Revokes access to a specified [device](../../core-concepts/devices/README.md) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +{% tabs %} +{% tab title="Signature" %} ``` POST /user_identities/revoke_access_to_device ⇒ void ``` +{% endtab %} +{% endtabs %} + +
+ +Authentication Methods + +- 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). +
+ +## Request Parameters + +**`device_id`** *String* (Required) + +ID of the desired managed device. + +--- + +**`user_identity_id`** *String* (Required) + +ID of the desired user identity. + +--- -Revokes access to a specified [device](../../core-concepts/devices/README.md) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). + +## Response + +void + +--- + +## Examples + +### Revoke access to a device from a user identity + +Specify the desired `user_identity_id` and `device_id`. {% tabs %} {% tab title="JavaScript" %} -#### Request +#### Code ```javascript await seam.userIdentities.revokeAccessToDevice({ @@ -17,7 +63,7 @@ await seam.userIdentities.revokeAccessToDevice({ }); ``` -#### Response +#### Output ```javascript // void @@ -25,7 +71,7 @@ await seam.userIdentities.revokeAccessToDevice({ {% endtab %} {% tab title="Python" %} -#### Request +#### Code ```python seam.user_identities.revoke_access_to_device( @@ -34,7 +80,7 @@ seam.user_identities.revoke_access_to_device( ) ``` -#### Response +#### Output ```python None @@ -42,7 +88,7 @@ None {% endtab %} {% tab title="Ruby" %} -#### Request +#### Code ```ruby seam.user_identities.revoke_access_to_device( @@ -51,7 +97,7 @@ seam.user_identities.revoke_access_to_device( ) ``` -#### Response +#### Output ```ruby nil @@ -59,7 +105,7 @@ nil {% endtab %} {% tab title="PHP" %} -#### Request +#### Code ```php user_identities->revoke_access_to_device( ); ``` -#### Response +#### Output ```php null @@ -77,13 +123,13 @@ null {% endtab %} {% tab title="Seam CLI" %} -#### Request +#### Code ```seam_cli seam user-identities revoke-access-to-device --user_identity_id "f3a328b4-dd04-4370-9000-d52b7a01b0bf" --device_id "054765c8-a2fc-4599-b486-14c19f462c45" ``` -#### Response +#### Output ```seam_cli {} @@ -91,7 +137,7 @@ seam user-identities revoke-access-to-device --user_identity_id "f3a328b4-dd04-4 {% endtab %} {% tab title="Go" %} -#### Request +#### Code ```go package main @@ -109,7 +155,7 @@ func main() { } ``` -#### Response +#### Output ```go nil @@ -118,32 +164,4 @@ nil {% endtabs %} -## Authentication Methods - -- API key -- Personal access token -
Must also include the `seam-workspace` header in the request. - -## Request Parameters - -### `device_id` - -Type: `string` -Required: Yes - -ID of the desired managed device. - -*** - -### `user_identity_id` -Type: `string` -Required: Yes - -ID of the desired user identity. - -*** - -## Return Type - -void diff --git a/docs/api/user_identities/update.md b/docs/api/user_identities/update.md index d5deb5c9..d3075369 100644 --- a/docs/api/user_identities/update.md +++ b/docs/api/user_identities/update.md @@ -1,64 +1,61 @@ # Update a User Identity +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) + + + +{% tabs %} +{% tab title="Signature" %} ``` PATCH /user_identities/update ⇒ void ``` +{% endtab %} +{% endtabs %} +
- -## Authentication Methods +Authentication Methods - API key - Personal access token
Must also include the `seam-workspace` header in the request. -## Request Parameters +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
-### `user_identity_id` +## Request Parameters -Type: `string` -Required: Yes +**`user_identity_id`** *String* (Required) ID of the user identity. -*** - -### `email_address` +--- -Type: `string` -Required: No +**`email_address`** *String* Unique email address for the user identity. -*** +--- -### `full_name` +**`full_name`** *String* -Type: `string` -Required: No +--- - - -*** - -### `phone_number` - -Type: `string` -Required: No +**`phone_number`** *String* Unique phone number for the user identity in [E.164 format](https://www.itu.int/rec/T-REC-E.164/en) (for example, +15555550100). -*** - -### `user_identity_key` +--- -Type: `string` -Required: No +**`user_identity_key`** *String* Unique key for the user identity. -*** +--- + -## Return Type +## Response void diff --git a/package-lock.json b/package-lock.json index 8d69f740..20cdfa61 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,8 +13,8 @@ "@metalsmith/metadata": "^0.3.0", "@prettier/plugin-php": "^0.22.2", "@prettier/plugin-ruby": "^4.0.4", - "@seamapi/blueprint": "^0.37.1", - "@seamapi/types": "1.370.3", + "@seamapi/blueprint": "^0.38.0", + "@seamapi/types": "1.377.0", "change-case": "^5.4.4", "command-exists": "^1.2.9", "del": "^8.0.0", @@ -767,9 +767,9 @@ "peer": true }, "node_modules/@seamapi/blueprint": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/@seamapi/blueprint/-/blueprint-0.37.1.tgz", - "integrity": "sha512-OSJqrWL3KzCWgNiw4gw+5Cp1PHCb+BudWFa6+7bd+RQDL/fzwC6RvlcFAp4Md3Fw2SYfxrH7uEwVTEhJYrPIjQ==", + "version": "0.38.0", + "resolved": "https://registry.npmjs.org/@seamapi/blueprint/-/blueprint-0.38.0.tgz", + "integrity": "sha512-NlmzFZgoWORyKIsrKpTUdwOwHLzyV421VsYbDEPD/s/2c4wZoQdunjLHc1qgdfqvb5602+XVFldyi6bs0ssRNA==", "license": "MIT", "dependencies": { "change-case": "^5.4.4", @@ -781,9 +781,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.370.3", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.370.3.tgz", - "integrity": "sha512-GrSejH90rJzuyZgWgD7T5nh+MtRt0B5ggj2oBzqCAiuitSth/EjTDJ55AzEEtvPtpDRfaKacSzYe7ME2jHyV/g==", + "version": "1.377.0", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.377.0.tgz", + "integrity": "sha512-EOdujTToK8AxrMn7TSL3Ju4X+3GeHB8RsrF4M8w5aIGjyOzJzPcxOMJHlhfCzB+x5A6r3VA50FIOsB8U9KmFiw==", "license": "MIT", "engines": { "node": ">=18.12.0", diff --git a/package.json b/package.json index a94e3a45..29274306 100644 --- a/package.json +++ b/package.json @@ -33,8 +33,8 @@ "@metalsmith/metadata": "^0.3.0", "@prettier/plugin-php": "^0.22.2", "@prettier/plugin-ruby": "^4.0.4", - "@seamapi/blueprint": "^0.37.1", - "@seamapi/types": "1.370.3", + "@seamapi/blueprint": "^0.38.0", + "@seamapi/types": "1.377.0", "change-case": "^5.4.4", "command-exists": "^1.2.9", "del": "^8.0.0", diff --git a/src/data/code-sample-definitions/acs-users.yaml b/src/data/code-sample-definitions/acs-users.yaml index 77bd23cd..c09f27b8 100644 --- a/src/data/code-sample-definitions/acs-users.yaml +++ b/src/data/code-sample-definitions/acs-users.yaml @@ -1,6 +1,49 @@ --- - title: 'Create a new ACS user' description: 'Creates a new [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).' + request: + path: '/acs/users/create' + parameters: + acs_system_id: '123e4567-e89b-12d3-a456-426614174000' + full_name: 'Jane Doe' + email_address: 'jane@example.com' + phone_number: '+15555550100' + response: + body: + acs_user: + acs_user_id: '123e4567-e89b-12d3-a456-426614174000' + acs_system_id: '123e4567-e89b-12d3-a456-426614174000' + workspace_id: '123e4567-e89b-12d3-a456-426614174000' + created_at: '2024-04-05T07:57:05.323Z' + display_name: 'Jane Doe' + full_name: 'Jane Doe' + email_address: 'jane@example.com' + phone_number: '+15555550100' +- title: 'Create a new ACS user' + description: 'Creates a new [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) with an access schedule.' + request: + path: '/acs/users/create' + parameters: + acs_system_id: '123e4567-e89b-12d3-a456-426614174000' + full_name: 'Jane Doe' + email_address: 'jane@example.com' + phone_number: '+15555550100' + access_schedule: + starts_at: '2024-11-01T15:00:00.000Z' + ends_at: '2024-11-04T11:00:00.000Z' + response: + body: + acs_user: + acs_user_id: '123e4567-e89b-12d3-a456-426614174000' + acs_system_id: '123e4567-e89b-12d3-a456-426614174000' + workspace_id: '123e4567-e89b-12d3-a456-426614174000' + created_at: '2024-04-05T07:57:05.323Z' + display_name: 'Jane Doe' + full_name: 'Jane Doe' + email_address: 'jane@example.com' + phone_number: '+15555550100' +- title: 'Create a new ACS user in an access group' + description: 'Creates a new [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) and assigns the new user to an [access group](https://docs.seam.co/latest/capability-guides/access-systems/user-management/assigning-users-to-access-groups).' request: path: '/acs/users/create' parameters: diff --git a/src/data/paths.yaml b/src/data/paths.yaml index 4b9238aa..f27f7831 100644 --- a/src/data/paths.yaml +++ b/src/data/paths.yaml @@ -1,6 +1,6 @@ --- /acs: - title: Access Control Systems + title: Access Control Systems (ACS) description: Systems for managing and monitoring access to physical spaces overview: | Access control systems centralize access authorization for buildings, which means that you can use a single system to grant users access to one or more entrances. An access control system manages the following elements: @@ -80,3 +80,16 @@ title: Enrollment Automations resources: - enrollment_automation + +/access_codes: + title: Access Codes + resources: + - access_code + +/access_codes/unmanaged: + title: Unmanaged Access Code + resources: + - unmanaged_access_code + +/access_codes/simulate: + title: Access Code Simulations diff --git a/src/layouts/api-endpoint.hbs b/src/layouts/api-endpoint.hbs index 23df0a34..9c0e9502 100644 --- a/src/layouts/api-endpoint.hbs +++ b/src/layouts/api-endpoint.hbs @@ -1,17 +1,23 @@ # {{title}} -``` -{{request.preferredMethod}} {{path}} ⇒ {{#if response.responseKey}}{{#if (eq response.responseType "resource_list")}}{ {{response.responseKey}}: [{{response.resourceType}}, …] }{{else}}{ {{response.responseKey}} }{{/if}}{{else}}void{{/if}} -``` +- [Request Parameters](./#request-parameters) +- [Response](./#response) +- [Examples](./#examples) {{{description}}} -{{#with primaryCodeSample}} -{{> code-sample }} +{% tabs %} +{% tab title="Signature" %} +``` +{{request.preferredMethod}} {{path}} ⇒ {{#if response.responseKey}}{{#if (eq response.responseType "resource_list")}}{ {{response.responseKey}}: [{{response.resourceType}}, …] }{{else}}{ {{response.responseKey}} }{{/if}}{{else}}void{{/if}} +``` +{% endtab %} +{% endtabs %} -{{/with}} {{#if authMethods}} -## Authentication Methods +
+ +Authentication Methods {{#each authMethods}} - {{this}} @@ -20,37 +26,77 @@ {{/if}} {{/each}} +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
{{/if}} + ## Request Parameters {{#if request.parameters.length}} {{#each request.parameters}} -### `{{this.name}}` - -Type: `{{this.jsonType}}` -Required: {{#if this.required}}Yes{{else}}No{{/if}} +**`{{this.name}}`** *{{this.jsonType}}*{{#if this.itemFormat}} *of {{this.itemFormat}}s*{{/if}}{{#if this.required}} (Required){{/if}} +{{#if this.description}} {{this.description}} +{{/if}} +{{#if this.itemEnumValues}} +
+ +Enum values + +{{> enum-values enumValues=this.itemEnumValues}} +
+{{/if}} -*** +--- {{/each}} {{else}} None {{/if}} -## Return Type -{{#if response.resourceType}}{{#if (eq response.responseType "resource_list")}}Array<[{{response.escapedResourceType}}](./)>{{else}}[{{response.escapedResourceType}}](./){{/if}}{{else}}void{{/if}} +## Response + +{{#if response.resourceType}}{{#if (eq response.responseType "resource_list")}}Array of [{{response.escapedResourceType}}s](./){{else}}[{{response.escapedResourceType}}](./){{/if}}{{else}}void{{/if}} {{#with response.actionAttempt}} -{{> api-resource headingOffset=true}} +**`{{name}}`** +{{> api-response-resource headingOffset=true}} {{/with}} -{{#if addtionalCodeSamples.length}} +{{#if response.resourceType}} +{{#unless response.actionAttempt}} +{% tabs %} +{% tab title="JSON" %} +```json +{ + JSON representation of {{response.resourceType}} +} +``` +{% endtab %} +{% endtabs %} +{{/unless}} +{{/if}} +{{#if primaryCodeSample}} -## Additional Code Samples +--- + +## Examples + +{{#with primaryCodeSample}} +### {{this.title}} + +{{this.description}} + +{{> code-sample }} + +{{/with}} + +{{#each additionalCodeSamples}} +### {{this.title}} + +{{this.description}} -{{#each addtionalCodeSamples}} {{> code-sample }} {{/each}} {{/if}} diff --git a/src/layouts/api-namespace.hbs b/src/layouts/api-namespace.hbs index 49d72cad..a17c6349 100644 --- a/src/layouts/api-namespace.hbs +++ b/src/layouts/api-namespace.hbs @@ -8,8 +8,11 @@ description: {{description}} ## Resources +The {{title}} namespace contains the following resources: + {{#each resources}} ### [`{{name}}`]({{link}}) {{description}} +--- {{/each}} diff --git a/src/layouts/api-route.hbs b/src/layouts/api-route.hbs index e84975e6..b9012d4e 100644 --- a/src/layouts/api-route.hbs +++ b/src/layouts/api-route.hbs @@ -3,10 +3,11 @@ {{#each resources}} {{> api-resource }} {{#if errors.length}} + ## Errors {{#each errors}} -### `{{name}}` +**`{{name}}`** {{description}} @@ -15,10 +16,11 @@ {{/each}} {{/if}} {{#if warnings.length}} + ## Warnings {{#each warnings}} -### `{{name}}` +**`{{name}}`** {{description}} @@ -27,31 +29,37 @@ {{/each}} {{/if}} {{/each}} -## Endpoints - -{{#each endpoints}} -### [`{{path}}`](./{{name}}.md) - -{{description}} -{{/each}} {{#if events.length}} ---- - ## Events {{#each events}} -### `{{name}}` +**`{{name}}`** {{#if description}} {{description}} {{/if}} +
+ +Properties {{#each properties}} -{{> property-collapsible this}} +- {{> property-nested this}} {{/each}} +
+ --- {{/each}} {{/if}} +## Endpoints + +{{#each endpoints}} + +[**`{{path}}`**](./{{name}}.md) + +{{description}} + +{{/each}} + diff --git a/src/layouts/partials/api-resource.hbs b/src/layouts/partials/api-resource.hbs index 6f432d75..43e4b63d 100644 --- a/src/layouts/partials/api-resource.hbs +++ b/src/layouts/partials/api-resource.hbs @@ -1,56 +1,92 @@ {{#if headingOffset}} -### `{{name}}` +### The {{name}} Object {{else}} -## `{{name}}` +## The {{name}} Object {{/if}} + +- [Properties](./#properties) +- [Errors](./#errors) +- [Warnings](./#warnings) +- [Events](./#events) +- [Endpoints](./#endpoints) + {{#if description}} {{description}} {{/if}} +{% tabs %} +{% tab title="JSON" %} +```json +{ {{#each properties}} -{{#if ../headingOffset}} -#### {{#if linkTarget}}[`{{name}}`]({{linkTarget}}){{else}}`{{name}}`{{/if}} +{{#if @last}} + {{name}}: [example value] {{else}} -### {{#if linkTarget}}[`{{name}}`]({{linkTarget}}){{else}}`{{name}}`{{/if}} + {{name}}: [example value], {{/if}} -{{#if isDeprecated}} +{{/each}} +} +``` +{% endtab %} +{% endtabs %} -{{> deprecated-warning}} +--- + +{{#if headingOffset}} +### Properties +{{else}} +## Properties {{/if}} -Format: `{{format}}` -{{#if listItemFormat}} +{{#each properties}} +{{#if linkTarget}}[**`{{name}}`**]({{linkTarget}}){{else}}**`{{name}}`**{{/if}} *{{format}}*{{#if listItemFormat}} *of {{listItemFormat}}s*{{/if}} -Item format: `{{listItemFormat}}` -{{/if}} {{#if description}} - {{description}} + +{{/if}} +{{#if isDeprecated}} +{{> deprecated-warning}} + {{/if}} {{#if enumValues}} +
+ +Enum values -Possible enum values: {{#each enumValues}} - `{{this}}` {{/each}} +
+ {{/if}} {{#unless (eq objectProperties undefined)}} {{#if (eq objectProperties.length 0)}} This object has no properties. {{else}} +
+ +Child Properties {{#each objectProperties}} -{{> property-collapsible this}} +- {{> property-nested this}} {{/each}} +
+ {{/if}} {{/unless}} {{#if listProperties}} +
+ +Child Object Properties {{#each listProperties}} -{{> property-collapsible this}} +- {{> property-nested this}} {{/each}} +
+ {{/if}} --- diff --git a/src/layouts/partials/api-response-resource.hbs b/src/layouts/partials/api-response-resource.hbs new file mode 100644 index 00000000..05d1a512 --- /dev/null +++ b/src/layouts/partials/api-response-resource.hbs @@ -0,0 +1,15 @@ +{% tabs %} +{% tab title="JSON" %} +```json +{ +{{#each properties}} +{{#if @last}} + {{name}}: [example value] +{{else}} + {{name}}: [example value], +{{/if}} +{{/each}} +} +``` +{% endtab %} +{% endtabs %} diff --git a/src/layouts/partials/code-sample.hbs b/src/layouts/partials/code-sample.hbs index 73ef267e..5302b5f8 100644 --- a/src/layouts/partials/code-sample.hbs +++ b/src/layouts/partials/code-sample.hbs @@ -1,13 +1,13 @@ {% tabs %} {{#each this.code}} {% tab title="{{this.title}}" %} -#### Request +#### Code ```{{@key}} {{this.request}} ``` -#### Response +#### Output ```{{@key}} {{this.response}} diff --git a/src/layouts/partials/enum-values.hbs b/src/layouts/partials/enum-values.hbs new file mode 100644 index 00000000..b055f368 --- /dev/null +++ b/src/layouts/partials/enum-values.hbs @@ -0,0 +1,4 @@ +{{#if indentationOffset}}{{indentationOffset}}{{/if}}Possible enum values: +{{#each enumValues}} +{{#if ../indentationOffset}}{{../indentationOffset}}{{/if}}- `{{this}}` +{{/each}} \ No newline at end of file diff --git a/src/layouts/partials/property-collapsible.hbs b/src/layouts/partials/property-collapsible.hbs index 7db38f98..174e0f61 100644 --- a/src/layouts/partials/property-collapsible.hbs +++ b/src/layouts/partials/property-collapsible.hbs @@ -1,5 +1,5 @@
-{{name}} Format: {{format}}{{#if listItemFormat}} Item format: {{listItemFormat}}{{/if}} +{{name}} {{format}}{{#if listItemFormat}} of {{listItemFormat}}s{{/if}} {{> property-content}} -
\ No newline at end of file +
diff --git a/src/layouts/partials/property-content.hbs b/src/layouts/partials/property-content.hbs index 07866a38..7c392d42 100644 --- a/src/layouts/partials/property-content.hbs +++ b/src/layouts/partials/property-content.hbs @@ -1,21 +1,25 @@ -{{#if isDeprecated}} - -{{> deprecated-warning}} -{{/if}} {{#if description}} {{description}} {{/if}} +{{#if isDeprecated}} + +{{> deprecated-warning}} +{{/if}} {{#if enumValues}} +
+ +Enum values: -Possible enum values: {{#each enumValues}} - `{{this}}` {{/each}} +
+ {{/if}} {{#if listProperties}} {{#each listProperties}} - {{> property-nested this}} {{/each}} -{{/if}} \ No newline at end of file +{{/if}} diff --git a/src/layouts/partials/property-nested-internal.hbs b/src/layouts/partials/property-nested-internal.hbs index 4b59f007..c33659d3 100644 --- a/src/layouts/partials/property-nested-internal.hbs +++ b/src/layouts/partials/property-nested-internal.hbs @@ -1,15 +1,21 @@ +{{#if description}} + + {{description}} +{{/if}} {{#if isDeprecated}} {{> deprecated-warning}} {{/if}} -{{#if description}} - {{description}} -{{/if}} {{#if enumValues}} - Possible enum values: +
+ +Enum values: + {{#each enumValues}} - `{{this}}` {{/each}} -{{/if}} \ No newline at end of file +
+ +{{/if}} diff --git a/src/layouts/partials/property-nested.hbs b/src/layouts/partials/property-nested.hbs index 92689d8b..7b4fc98e 100644 --- a/src/layouts/partials/property-nested.hbs +++ b/src/layouts/partials/property-nested.hbs @@ -1,8 +1,8 @@ -{{name}} Format: {{format}}{{#if listItemFormat}} Item format: {{listItemFormat}}{{/if}} +{{name}} {{format}}{{#if listItemFormat}} of {{listItemFormat}}s{{/if}} {{> property-nested-internal}} {{#if listProperties}} {{#each listProperties}} - {{> property-nested this}} {{/each}} -{{/if}} \ No newline at end of file +{{/if}} diff --git a/src/lib/layout/api-endpoint.ts b/src/lib/layout/api-endpoint.ts index 36f82ac5..4f9d41e1 100644 --- a/src/lib/layout/api-endpoint.ts +++ b/src/lib/layout/api-endpoint.ts @@ -10,6 +10,7 @@ import type { CodeSample } from 'node_modules/@seamapi/blueprint/dist/index.cjs' import { type ApiRouteResource, mapBlueprintPropertyToRouteProperty, + normalizePropertyFormatForDocs, } from './api-route.js' const supportedSdks: CodeSampleSdk[] = [ @@ -34,6 +35,8 @@ export interface ApiEndpointLayoutContext { required: boolean description: string jsonType: string + itemFormat?: string + itemEnumValues?: string[] }> } response: { @@ -45,7 +48,7 @@ export interface ApiEndpointLayoutContext { actionAttempt?: ApiRouteResource } primaryCodeSample: CodeSampleContext | null - addtionalCodeSamples: CodeSampleContext[] + additionalCodeSamples: CodeSampleContext[] } interface CodeSampleContext { @@ -105,7 +108,13 @@ export function setEndpointLayoutContext( name: param.name, required: param.isRequired, description: param.description, - jsonType: param.jsonType, + jsonType: normalizePropertyFormatForDocs(param.jsonType), + ...(param.jsonType === 'array' && { + itemFormat: normalizePropertyFormatForDocs(param.itemFormat), + ...(param.itemFormat === 'enum' && { + itemEnumValues: param.itemEnumValues.map(({ name }) => name), + }), + }), })) .sort((a, b) => { if (a.required && !b.required) return -1 @@ -153,10 +162,10 @@ export function setEndpointLayoutContext( } } - const [primaryCodeSample, ...addtionalCodeSamples] = endpoint.codeSamples + const [primaryCodeSample, ...additionalCodeSamples] = endpoint.codeSamples file.primaryCodeSample = primaryCodeSample == null ? null : mapCodeSample(primaryCodeSample) - file.addtionalCodeSamples = addtionalCodeSamples.map(mapCodeSample) + file.additionalCodeSamples = additionalCodeSamples.map(mapCodeSample) } const mapCodeSample = (sample: CodeSample): CodeSampleContext => { diff --git a/src/lib/layout/api-route.ts b/src/lib/layout/api-route.ts index d3249a69..8cb4bc49 100644 --- a/src/lib/layout/api-route.ts +++ b/src/lib/layout/api-route.ts @@ -250,7 +250,9 @@ export const mapBlueprintPropertyToRouteProperty = ( type PropertyFormat = Property['format'] | ListProperty['itemFormat'] type ListProperty = Extract -const normalizePropertyFormatForDocs = (format: PropertyFormat): string => { +export const normalizePropertyFormatForDocs = ( + format: PropertyFormat, +): string => { const formatMap: Partial> = { id: 'UUID', discriminated_object: 'Object', @@ -289,8 +291,8 @@ function addLinkTargetsToProperties( sections: { errors: boolean; warnings: boolean }, ): void { const linkableProperties: Record = { - errors: sections.errors ? './#errors-1' : undefined, - warnings: sections.warnings ? './#warnings-1' : undefined, + errors: sections.errors ? './#errors' : undefined, + warnings: sections.warnings ? './#warnings' : undefined, } for (const prop of properties) { diff --git a/src/lib/reference.ts b/src/lib/reference.ts index b6da756f..0ebf2e09 100644 --- a/src/lib/reference.ts +++ b/src/lib/reference.ts @@ -56,7 +56,8 @@ export const reference = ( !route.path.startsWith('/acs') && !route.path.startsWith('/thermostats') && !route.path.startsWith('/phones') && - !route.path.startsWith('/user_identities') + !route.path.startsWith('/user_identities') && + !route.path.startsWith('/access_codes') ) { continue }