diff --git a/docs/api/access_codes/create.md b/docs/api/access_codes/create.md index ba481e0ef..0b498d26a 100644 --- a/docs/api/access_codes/create.md +++ b/docs/api/access_codes/create.md @@ -379,6 +379,39 @@ Indicates whether to use a [backup access code pool](https://docs.seam.co/latest [access\_code](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_code_id": "e9cf6dd6-89aa-477f-a701-c08f3de13c1f", + "code": "1234", + "common_code_key": null, + "created_at": "2025-06-14T16:54:17.946242Z", + "device_id": "c9cd621d-ef0c-45c8-b608-026ebdb74615", + "ends_at": "2025-07-04T16:54:17.946049Z", + "errors": [], + "is_backup": false, + "is_backup_access_code_available": false, + "is_external_modification_allowed": false, + "is_managed": true, + "is_offline_access_code": true, + "is_one_time_use": true, + "is_scheduled_on_device": true, + "is_waiting_for_code_assignment": false, + "name": "My Access Code", + "pulled_backup_access_code_id": null, + "starts_at": "2025-07-02T16:54:17.946049Z", + "status": "set", + "type": "time_bound", + "warnings": [] +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/access_codes/create_multiple.md b/docs/api/access_codes/create_multiple.md index 5f1b9b32b..2f82488cb 100644 --- a/docs/api/access_codes/create_multiple.md +++ b/docs/api/access_codes/create_multiple.md @@ -437,3 +437,36 @@ Indicates whether to use a [backup access code pool](https://docs.seam.co/latest Array of [access\_codes](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_code_id": "e9cf6dd6-89aa-477f-a701-c08f3de13c1f", + "code": "1234", + "common_code_key": null, + "created_at": "2025-06-14T16:54:17.946242Z", + "device_id": "c9cd621d-ef0c-45c8-b608-026ebdb74615", + "ends_at": "2025-07-04T16:54:17.946049Z", + "errors": [], + "is_backup": false, + "is_backup_access_code_available": false, + "is_external_modification_allowed": false, + "is_managed": true, + "is_offline_access_code": true, + "is_one_time_use": true, + "is_scheduled_on_device": true, + "is_waiting_for_code_assignment": false, + "name": "My Access Code", + "pulled_backup_access_code_id": null, + "starts_at": "2025-07-02T16:54:17.946049Z", + "status": "set", + "type": "time_bound", + "warnings": [] +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/generate_code.md b/docs/api/access_codes/generate_code.md index 23aa7d80e..81f4cafe6 100644 --- a/docs/api/access_codes/generate_code.md +++ b/docs/api/access_codes/generate_code.md @@ -154,3 +154,36 @@ ID of the device for which you want to generate a code. [access\_code](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_code_id": "e9cf6dd6-89aa-477f-a701-c08f3de13c1f", + "code": "1234", + "common_code_key": null, + "created_at": "2025-06-14T16:54:17.946242Z", + "device_id": "c9cd621d-ef0c-45c8-b608-026ebdb74615", + "ends_at": "2025-07-04T16:54:17.946049Z", + "errors": [], + "is_backup": false, + "is_backup_access_code_available": false, + "is_external_modification_allowed": false, + "is_managed": true, + "is_offline_access_code": true, + "is_one_time_use": true, + "is_scheduled_on_device": true, + "is_waiting_for_code_assignment": false, + "name": "My Access Code", + "pulled_backup_access_code_id": null, + "starts_at": "2025-07-02T16:54:17.946049Z", + "status": "set", + "type": "time_bound", + "warnings": [] +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/get.md b/docs/api/access_codes/get.md index d0a9dad88..eff0fd02b 100644 --- a/docs/api/access_codes/get.md +++ b/docs/api/access_codes/get.md @@ -295,3 +295,36 @@ ID of the device containing the access code that you want to get. You must speci [access\_code](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_code_id": "e9cf6dd6-89aa-477f-a701-c08f3de13c1f", + "code": "1234", + "common_code_key": null, + "created_at": "2025-06-14T16:54:17.946242Z", + "device_id": "c9cd621d-ef0c-45c8-b608-026ebdb74615", + "ends_at": "2025-07-04T16:54:17.946049Z", + "errors": [], + "is_backup": false, + "is_backup_access_code_available": false, + "is_external_modification_allowed": false, + "is_managed": true, + "is_offline_access_code": true, + "is_one_time_use": true, + "is_scheduled_on_device": true, + "is_waiting_for_code_assignment": false, + "name": "My Access Code", + "pulled_backup_access_code_id": null, + "starts_at": "2025-07-02T16:54:17.946049Z", + "status": "set", + "type": "time_bound", + "warnings": [] +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/list.md b/docs/api/access_codes/list.md index d47a48174..401977b5c 100644 --- a/docs/api/access_codes/list.md +++ b/docs/api/access_codes/list.md @@ -328,3 +328,36 @@ Your user ID for the user by which to filter access codes. Array of [access\_codes](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_code_id": "e9cf6dd6-89aa-477f-a701-c08f3de13c1f", + "code": "1234", + "common_code_key": null, + "created_at": "2025-06-14T16:54:17.946242Z", + "device_id": "c9cd621d-ef0c-45c8-b608-026ebdb74615", + "ends_at": "2025-07-04T16:54:17.946049Z", + "errors": [], + "is_backup": false, + "is_backup_access_code_available": false, + "is_external_modification_allowed": false, + "is_managed": true, + "is_offline_access_code": true, + "is_one_time_use": true, + "is_scheduled_on_device": true, + "is_waiting_for_code_assignment": false, + "name": "My Access Code", + "pulled_backup_access_code_id": null, + "starts_at": "2025-07-02T16:54:17.946049Z", + "status": "set", + "type": "time_bound", + "warnings": [] +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/pull_backup_access_code.md b/docs/api/access_codes/pull_backup_access_code.md index 2f4a3780f..72d09541b 100644 --- a/docs/api/access_codes/pull_backup_access_code.md +++ b/docs/api/access_codes/pull_backup_access_code.md @@ -293,3 +293,36 @@ ID of the access code for which you want to pull a backup access code. [access\_code](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_code_id": "e9cf6dd6-89aa-477f-a701-c08f3de13c1f", + "code": "1234", + "common_code_key": null, + "created_at": "2025-06-14T16:54:17.946242Z", + "device_id": "c9cd621d-ef0c-45c8-b608-026ebdb74615", + "ends_at": "2025-07-04T16:54:17.946049Z", + "errors": [], + "is_backup": false, + "is_backup_access_code_available": false, + "is_external_modification_allowed": false, + "is_managed": true, + "is_offline_access_code": true, + "is_one_time_use": true, + "is_scheduled_on_device": true, + "is_waiting_for_code_assignment": false, + "name": "My Access Code", + "pulled_backup_access_code_id": null, + "starts_at": "2025-07-02T16:54:17.946049Z", + "status": "set", + "type": "time_bound", + "warnings": [] +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/simulate/create_unmanaged_access_code.md b/docs/api/access_codes/simulate/create_unmanaged_access_code.md index 34a6b7c14..4b3099438 100644 --- a/docs/api/access_codes/simulate/create_unmanaged_access_code.md +++ b/docs/api/access_codes/simulate/create_unmanaged_access_code.md @@ -253,3 +253,27 @@ Name of the simulated unmanaged access code. [unmanaged\_access\_code](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_code_id": "88fa1812-bef8-4108-9fb4-4855376c3edf", + "code": "1234", + "created_at": "2025-06-16T16:54:17.946283Z", + "device_id": "b3439f17-7273-46f3-9e20-9a283d9cb5b4", + "ends_at": "2025-06-23T16:54:17.946261Z", + "errors": [], + "is_managed": false, + "name": "My Unmanaged Access Code", + "starts_at": "2025-06-21T16:54:17.946261Z", + "status": "set", + "type": "time_bound", + "warnings": [] +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/unmanaged/get.md b/docs/api/access_codes/unmanaged/get.md index 9f68f23cf..b5e851623 100644 --- a/docs/api/access_codes/unmanaged/get.md +++ b/docs/api/access_codes/unmanaged/get.md @@ -243,3 +243,27 @@ ID of the device containing the unmanaged access code that you want to get. You [unmanaged\_access\_code](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_code_id": "88fa1812-bef8-4108-9fb4-4855376c3edf", + "code": "1234", + "created_at": "2025-06-16T16:54:17.946283Z", + "device_id": "b3439f17-7273-46f3-9e20-9a283d9cb5b4", + "ends_at": "2025-06-23T16:54:17.946261Z", + "errors": [], + "is_managed": false, + "name": "My Unmanaged Access Code", + "starts_at": "2025-06-21T16:54:17.946261Z", + "status": "set", + "type": "time_bound", + "warnings": [] +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_codes/unmanaged/list.md b/docs/api/access_codes/unmanaged/list.md index 7db92e5fb..6e6bbda1e 100644 --- a/docs/api/access_codes/unmanaged/list.md +++ b/docs/api/access_codes/unmanaged/list.md @@ -247,3 +247,27 @@ Your user ID for the user by which to filter unmanaged access codes. Array of [unmanaged\_access\_codes](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_code_id": "88fa1812-bef8-4108-9fb4-4855376c3edf", + "code": "1234", + "created_at": "2025-06-16T16:54:17.946283Z", + "device_id": "b3439f17-7273-46f3-9e20-9a283d9cb5b4", + "ends_at": "2025-06-23T16:54:17.946261Z", + "errors": [], + "is_managed": false, + "name": "My Unmanaged Access Code", + "starts_at": "2025-06-21T16:54:17.946261Z", + "status": "set", + "type": "time_bound", + "warnings": [] +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_grants/create.md b/docs/api/access_grants/create.md index 9f49d4966..c46687d3c 100644 --- a/docs/api/access_grants/create.md +++ b/docs/api/access_grants/create.md @@ -556,6 +556,56 @@ ID of user identity for whom access is being granted. [access\_grant](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_grant_id": "ef83cca9-5fdf-4ac2-93f3-c21c5a8be54b", + "access_method_ids": [ + "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d", + "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f", + "c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f" + ], + "created_at": "2025-06-16T16:54:17.946606Z", + "display_name": "My Access Grant", + "location_ids": [ + "9e8d7c6b-5a4b-3c2d-1e0f-9a8b7c6d5e4f", + "f0e1d2c3-b4a5-6d7e-8f90-1a2b3c4d5e6f" + ], + "requested_access_methods": [ + { + "display_name": "PIN Code Credential", + "mode": "code", + "created_at": "2025-06-16T16:54:17.946606Z", + "created_access_method_ids": ["a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"] + }, + { + "display_name": "Card Credential", + "mode": "card", + "created_at": "2025-06-16T16:54:19.946606Z", + "created_access_method_ids": ["5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"] + }, + { + "display_name": "Mobile Key Credential", + "mode": "mobile_key", + "created_at": "2025-06-16T16:54:21.946606Z", + "created_access_method_ids": ["c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f"] + } + ], + "space_ids": [ + "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d", + "7f8e9d0a-1b2c-3d4e-5f6a-7b8c9d0e1f2a" + ], + "user_identity_id": "e3d736c1-540d-4d10-83e5-9a4e135453b4", + "workspace_id": "750fc0bc-4450-4356-8d9f-18c6a3a6b2c7" +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/access_grants/get.md b/docs/api/access_grants/get.md index 83577fc7f..1d9a2e745 100644 --- a/docs/api/access_grants/get.md +++ b/docs/api/access_grants/get.md @@ -378,3 +378,53 @@ ID of access grant to get. [access\_grant](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_grant_id": "ef83cca9-5fdf-4ac2-93f3-c21c5a8be54b", + "access_method_ids": [ + "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d", + "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f", + "c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f" + ], + "created_at": "2025-06-16T16:54:17.946606Z", + "display_name": "My Access Grant", + "location_ids": [ + "9e8d7c6b-5a4b-3c2d-1e0f-9a8b7c6d5e4f", + "f0e1d2c3-b4a5-6d7e-8f90-1a2b3c4d5e6f" + ], + "requested_access_methods": [ + { + "display_name": "PIN Code Credential", + "mode": "code", + "created_at": "2025-06-16T16:54:17.946606Z", + "created_access_method_ids": ["a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"] + }, + { + "display_name": "Card Credential", + "mode": "card", + "created_at": "2025-06-16T16:54:19.946606Z", + "created_access_method_ids": ["5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"] + }, + { + "display_name": "Mobile Key Credential", + "mode": "mobile_key", + "created_at": "2025-06-16T16:54:21.946606Z", + "created_access_method_ids": ["c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f"] + } + ], + "space_ids": [ + "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d", + "7f8e9d0a-1b2c-3d4e-5f6a-7b8c9d0e1f2a" + ], + "user_identity_id": "e3d736c1-540d-4d10-83e5-9a4e135453b4", + "workspace_id": "750fc0bc-4450-4356-8d9f-18c6a3a6b2c7" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_grants/list.md b/docs/api/access_grants/list.md index 5f60fb80c..1beed102c 100644 --- a/docs/api/access_grants/list.md +++ b/docs/api/access_grants/list.md @@ -455,3 +455,53 @@ ID of user identity to filter list of access grants by. Array of [access\_grants](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_grant_id": "ef83cca9-5fdf-4ac2-93f3-c21c5a8be54b", + "access_method_ids": [ + "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d", + "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f", + "c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f" + ], + "created_at": "2025-06-16T16:54:17.946606Z", + "display_name": "My Access Grant", + "location_ids": [ + "9e8d7c6b-5a4b-3c2d-1e0f-9a8b7c6d5e4f", + "f0e1d2c3-b4a5-6d7e-8f90-1a2b3c4d5e6f" + ], + "requested_access_methods": [ + { + "display_name": "PIN Code Credential", + "mode": "code", + "created_at": "2025-06-16T16:54:17.946606Z", + "created_access_method_ids": ["a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"] + }, + { + "display_name": "Card Credential", + "mode": "card", + "created_at": "2025-06-16T16:54:19.946606Z", + "created_access_method_ids": ["5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"] + }, + { + "display_name": "Mobile Key Credential", + "mode": "mobile_key", + "created_at": "2025-06-16T16:54:21.946606Z", + "created_access_method_ids": ["c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f"] + } + ], + "space_ids": [ + "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d", + "7f8e9d0a-1b2c-3d4e-5f6a-7b8c9d0e1f2a" + ], + "user_identity_id": "e3d736c1-540d-4d10-83e5-9a4e135453b4", + "workspace_id": "750fc0bc-4450-4356-8d9f-18c6a3a6b2c7" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_methods/get.md b/docs/api/access_methods/get.md index 19fcec41e..73b748bb3 100644 --- a/docs/api/access_methods/get.md +++ b/docs/api/access_methods/get.md @@ -201,3 +201,22 @@ ID of access method to get. [access\_method](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_method_id": "27d8ad77-55c2-4e20-b5b3-43555926f0e8", + "created_at": "2025-06-14T16:54:17.946612Z", + "display_name": "My Card", + "is_card_encoding_required": true, + "issued_at": "2025-06-14T16:54:17.946612Z", + "mode": "card", + "workspace_id": "661025d3-c1d2-403c-83a8-af153aaedfbc" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/access_methods/list.md b/docs/api/access_methods/list.md index ba2b7ecc6..3ecad4ed9 100644 --- a/docs/api/access_methods/list.md +++ b/docs/api/access_methods/list.md @@ -309,3 +309,22 @@ ID of access grant to list access methods for. Array of [access\_methods](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_method_id": "27d8ad77-55c2-4e20-b5b3-43555926f0e8", + "created_at": "2025-06-14T16:54:17.946612Z", + "display_name": "My Card", + "is_card_encoding_required": true, + "issued_at": "2025-06-14T16:54:17.946612Z", + "mode": "card", + "workspace_id": "661025d3-c1d2-403c-83a8-af153aaedfbc" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/access_groups/get.md b/docs/api/acs/access_groups/get.md index ed1cb450a..ddd6d0523 100644 --- a/docs/api/acs/access_groups/get.md +++ b/docs/api/acs/access_groups/get.md @@ -234,3 +234,28 @@ ID of the access group that you want to get. [acs\_access\_group](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_group_type": "salto_ks_access_group", + "access_group_type_display_name": "Salto KS Access Group", + "acs_access_group_id": "3f448826-9875-4947-9519-e468090a4f7d", + "acs_system_id": "045baa77-6d06-40fe-a2cd-b82eef688f4a", + "connected_account_id": "daba7bd0-edb6-4bb9-a70b-f9ae08a0e301", + "created_at": "2025-06-15T16:54:17.946453Z", + "display_name": "Main Group", + "external_type": "salto_ks_access_group", + "external_type_display_name": "Salto KS Access Group", + "is_managed": true, + "name": "My Access Group", + "warnings": [], + "workspace_id": "ac19352c-869a-4209-9ce7-44c740a8b5d0" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/access_groups/list.md b/docs/api/acs/access_groups/list.md index 09d6b9eaa..053cacd5e 100644 --- a/docs/api/acs/access_groups/list.md +++ b/docs/api/acs/access_groups/list.md @@ -274,6 +274,31 @@ ID of the user identity for which you want to retrieve all access groups. Array of [acs\_access\_groups](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_group_type": "salto_ks_access_group", + "access_group_type_display_name": "Salto KS Access Group", + "acs_access_group_id": "3f448826-9875-4947-9519-e468090a4f7d", + "acs_system_id": "045baa77-6d06-40fe-a2cd-b82eef688f4a", + "connected_account_id": "daba7bd0-edb6-4bb9-a70b-f9ae08a0e301", + "created_at": "2025-06-15T16:54:17.946453Z", + "display_name": "Main Group", + "external_type": "salto_ks_access_group", + "external_type_display_name": "Salto KS Access Group", + "is_managed": true, + "name": "My Access Group", + "warnings": [], + "workspace_id": "ac19352c-869a-4209-9ce7-44c740a8b5d0" +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/acs/access_groups/list_accessible_entrances.md b/docs/api/acs/access_groups/list_accessible_entrances.md index 98061c21c..43d40a135 100644 --- a/docs/api/acs/access_groups/list_accessible_entrances.md +++ b/docs/api/acs/access_groups/list_accessible_entrances.md @@ -269,3 +269,31 @@ ID of the access group for which you want to retrieve all accessible entrances. Array of [acs\_entrances](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "acs_entrance_id": "f74e4879-5991-4e2f-a368-888983dcfbfc", + "acs_system_id": "6a74a969-94ea-4383-b5cf-5e7da8c113d1", + "connected_account_id": "1b9a3e0d-443f-4063-b619-4ca7e2a97751", + "created_at": "2025-06-15T16:54:17.946495Z", + "display_name": "Main Entrance", + "errors": [], + "visionline_metadata": { + "door_category": "guest", + "door_name": "Main Entrance", + "profiles": [ + { + "visionline_door_profile_id": "7f8e9d0a-1b2c-3d4e-5f6a-7b8c9d0e1f2a", + "visionline_door_profile_type": "BLE" + } + ] + } +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/access_groups/list_users.md b/docs/api/acs/access_groups/list_users.md index bbf17cb33..02159510c 100644 --- a/docs/api/acs/access_groups/list_users.md +++ b/docs/api/acs/access_groups/list_users.md @@ -326,3 +326,49 @@ ID of the access group for which you want to retrieve all access system users. Array of [acs\_users](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_schedule": { + "ends_at": "2025-06-12T11:00:00.000Z", + "starts_at": "2025-06-10T15:00:00.000Z" + }, + "acs_system_id": "62d3384f-267f-4a4a-a946-d35819ec9981", + "acs_user_id": "6a5d9697-3cc4-436a-8165-4375ff424870", + "connected_account_id": "c0175797-30f0-49f7-a228-2df115443ca7", + "created_at": "2025-06-15T16:54:17.946482Z", + "display_name": "Jane Doe", + "email_address": "jane@example.com", + "errors": [], + "external_type": "salto_site_user", + "external_type_display_name": "Salto site user", + "full_name": "Jane Doe", + "hid_acs_system_id": "2acbe47f-612c-422a-9205-7af292f74e7f", + "is_managed": true, + "is_suspended": false, + "last_successful_sync_at": "2025-06-18T17:45:00.582Z", + "pending_mutations": [ + { + "to": { "acs_access_group_id": "2c0fb4a0-2b42-4651-926e-1a10bedbf6ce" }, + "from": { "acs_access_group_id": "f1e2d3c4-b5a6-4d7c-8e9f-0a1b2c3d4e5f" }, + "message": "This user's access membership is being updated.", + "created_at": "2025-06-18T17:57:01.867Z", + "mutation_code": "updating_group_membership" + } + ], + "phone_number": "+1555551000", + "user_identity_email_address": "jane@example.com", + "user_identity_full_name": "Jane Doe", + "user_identity_id": "a23b3e02-e394-4e5f-b21c-b366b8bc0dd3", + "user_identity_phone_number": "+1555551000", + "warnings": [], + "workspace_id": "8d4868e3-2f95-4f33-8689-19420b3101cd" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/credentials/create.md b/docs/api/acs/credentials/create.md index 50b979aae..5160ea0de 100644 --- a/docs/api/acs/credentials/create.md +++ b/docs/api/acs/credentials/create.md @@ -523,6 +523,46 @@ Enum values: [acs\_credential](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_method": "card", + "acs_credential_id": "73a0a199-024f-454d-a916-9bbda8502c12", + "acs_system_id": "b1d03165-2759-474b-a342-e02223f27b39", + "acs_user_id": "0fc82df4-391b-4d00-a234-86378f1c3952", + "card_number": "164d29dc4a09b65f", + "created_at": "2025-06-16T16:54:17.946514Z", + "display_name": "Guest Lock 1, Vingcard Lock 2", + "ends_at": "2025-07-12T16:54:17.946512Z", + "errors": [], + "external_type": "visionline_card", + "external_type_display_name": "Visionline Card", + "is_issued": true, + "is_latest_desired_state_synced_with_provider": true, + "is_managed": true, + "is_multi_phone_sync_credential": false, + "issued_at": "2025-06-16T16:54:17.946512Z", + "latest_desired_state_synced_with_provider_at": "2025-06-18T16:54:17.946514Z", + "starts_at": "2025-07-10T16:54:17.946512Z", + "visionline_metadata": { + "card_function_type": "guest", + "card_id": "5", + "common_acs_entrance_ids": ["5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"], + "credential_id": "15", + "guest_acs_entrance_ids": ["a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"], + "is_valid": true + }, + "warnings": [], + "workspace_id": "005f1e54-5360-40db-8c31-4ef6baaad1fd" +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/acs/credentials/get.md b/docs/api/acs/credentials/get.md index 310e449c0..87f922921 100644 --- a/docs/api/acs/credentials/get.md +++ b/docs/api/acs/credentials/get.md @@ -265,3 +265,43 @@ ID of the credential that you want to get. [acs\_credential](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_method": "card", + "acs_credential_id": "73a0a199-024f-454d-a916-9bbda8502c12", + "acs_system_id": "b1d03165-2759-474b-a342-e02223f27b39", + "acs_user_id": "0fc82df4-391b-4d00-a234-86378f1c3952", + "card_number": "164d29dc4a09b65f", + "created_at": "2025-06-16T16:54:17.946514Z", + "display_name": "Guest Lock 1, Vingcard Lock 2", + "ends_at": "2025-07-12T16:54:17.946512Z", + "errors": [], + "external_type": "visionline_card", + "external_type_display_name": "Visionline Card", + "is_issued": true, + "is_latest_desired_state_synced_with_provider": true, + "is_managed": true, + "is_multi_phone_sync_credential": false, + "issued_at": "2025-06-16T16:54:17.946512Z", + "latest_desired_state_synced_with_provider_at": "2025-06-18T16:54:17.946514Z", + "starts_at": "2025-07-10T16:54:17.946512Z", + "visionline_metadata": { + "card_function_type": "guest", + "card_id": "5", + "common_acs_entrance_ids": ["5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"], + "credential_id": "15", + "guest_acs_entrance_ids": ["a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"], + "is_valid": true + }, + "warnings": [], + "workspace_id": "005f1e54-5360-40db-8c31-4ef6baaad1fd" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/credentials/list.md b/docs/api/acs/credentials/list.md index 43990feb6..44c17088b 100644 --- a/docs/api/acs/credentials/list.md +++ b/docs/api/acs/credentials/list.md @@ -299,3 +299,43 @@ ID of the user identity for which you want to retrieve all credentials. Array of [acs\_credentials](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_method": "card", + "acs_credential_id": "73a0a199-024f-454d-a916-9bbda8502c12", + "acs_system_id": "b1d03165-2759-474b-a342-e02223f27b39", + "acs_user_id": "0fc82df4-391b-4d00-a234-86378f1c3952", + "card_number": "164d29dc4a09b65f", + "created_at": "2025-06-16T16:54:17.946514Z", + "display_name": "Guest Lock 1, Vingcard Lock 2", + "ends_at": "2025-07-12T16:54:17.946512Z", + "errors": [], + "external_type": "visionline_card", + "external_type_display_name": "Visionline Card", + "is_issued": true, + "is_latest_desired_state_synced_with_provider": true, + "is_managed": true, + "is_multi_phone_sync_credential": false, + "issued_at": "2025-06-16T16:54:17.946512Z", + "latest_desired_state_synced_with_provider_at": "2025-06-18T16:54:17.946514Z", + "starts_at": "2025-07-10T16:54:17.946512Z", + "visionline_metadata": { + "card_function_type": "guest", + "card_id": "5", + "common_acs_entrance_ids": ["5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"], + "credential_id": "15", + "guest_acs_entrance_ids": ["a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"], + "is_valid": true + }, + "warnings": [], + "workspace_id": "005f1e54-5360-40db-8c31-4ef6baaad1fd" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/credentials/list_accessible_entrances.md b/docs/api/acs/credentials/list_accessible_entrances.md index c9ce93dd7..408568654 100644 --- a/docs/api/acs/credentials/list_accessible_entrances.md +++ b/docs/api/acs/credentials/list_accessible_entrances.md @@ -269,3 +269,31 @@ ID of the credential for which you want to retrieve all entrances to which the c Array of [acs\_entrances](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "acs_entrance_id": "f74e4879-5991-4e2f-a368-888983dcfbfc", + "acs_system_id": "6a74a969-94ea-4383-b5cf-5e7da8c113d1", + "connected_account_id": "1b9a3e0d-443f-4063-b619-4ca7e2a97751", + "created_at": "2025-06-15T16:54:17.946495Z", + "display_name": "Main Entrance", + "errors": [], + "visionline_metadata": { + "door_category": "guest", + "door_name": "Main Entrance", + "profiles": [ + { + "visionline_door_profile_id": "7f8e9d0a-1b2c-3d4e-5f6a-7b8c9d0e1f2a", + "visionline_door_profile_type": "BLE" + } + ] + } +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/encoders/get.md b/docs/api/acs/encoders/get.md index 50c0391ef..73ec25cf0 100644 --- a/docs/api/acs/encoders/get.md +++ b/docs/api/acs/encoders/get.md @@ -198,3 +198,22 @@ ID of the encoder that you want to get. [acs\_encoder](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "acs_encoder_id": "681da2d6-4ac6-4b33-8c03-86281b761325", + "acs_system_id": "c85406d2-214f-4e11-8000-a2e5b5a362a4", + "connected_account_id": "1b9a3e0d-443f-4063-b619-4ca7e2a97750", + "created_at": "2025-06-16T16:54:17.946527Z", + "display_name": "Encoder 1", + "errors": [], + "workspace_id": "f863ac85-2c4e-49ae-8679-3ec2417f1d62" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/encoders/list.md b/docs/api/acs/encoders/list.md index 751f30816..ec41d1953 100644 --- a/docs/api/acs/encoders/list.md +++ b/docs/api/acs/encoders/list.md @@ -219,3 +219,22 @@ Number of encoders to return. Array of [acs\_encoders](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "acs_encoder_id": "681da2d6-4ac6-4b33-8c03-86281b761325", + "acs_system_id": "c85406d2-214f-4e11-8000-a2e5b5a362a4", + "connected_account_id": "1b9a3e0d-443f-4063-b619-4ca7e2a97750", + "created_at": "2025-06-16T16:54:17.946527Z", + "display_name": "Encoder 1", + "errors": [], + "workspace_id": "f863ac85-2c4e-49ae-8679-3ec2417f1d62" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/entrances/get.md b/docs/api/acs/entrances/get.md index 4148a024c..d2a10f9bb 100644 --- a/docs/api/acs/entrances/get.md +++ b/docs/api/acs/entrances/get.md @@ -252,3 +252,31 @@ ID of the entrance that you want to get. [acs\_entrance](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "acs_entrance_id": "f74e4879-5991-4e2f-a368-888983dcfbfc", + "acs_system_id": "6a74a969-94ea-4383-b5cf-5e7da8c113d1", + "connected_account_id": "1b9a3e0d-443f-4063-b619-4ca7e2a97751", + "created_at": "2025-06-15T16:54:17.946495Z", + "display_name": "Main Entrance", + "errors": [], + "visionline_metadata": { + "door_category": "guest", + "door_name": "Main Entrance", + "profiles": [ + { + "visionline_door_profile_id": "7f8e9d0a-1b2c-3d4e-5f6a-7b8c9d0e1f2a", + "visionline_door_profile_type": "BLE" + } + ] + } +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/entrances/list.md b/docs/api/acs/entrances/list.md index 9852f7143..e9c1b7211 100644 --- a/docs/api/acs/entrances/list.md +++ b/docs/api/acs/entrances/list.md @@ -296,6 +296,34 @@ ID of the space for which you want to list entrances. Array of [acs\_entrances](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "acs_entrance_id": "f74e4879-5991-4e2f-a368-888983dcfbfc", + "acs_system_id": "6a74a969-94ea-4383-b5cf-5e7da8c113d1", + "connected_account_id": "1b9a3e0d-443f-4063-b619-4ca7e2a97751", + "created_at": "2025-06-15T16:54:17.946495Z", + "display_name": "Main Entrance", + "errors": [], + "visionline_metadata": { + "door_category": "guest", + "door_name": "Main Entrance", + "profiles": [ + { + "visionline_door_profile_id": "7f8e9d0a-1b2c-3d4e-5f6a-7b8c9d0e1f2a", + "visionline_door_profile_type": "BLE" + } + ] + } +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/acs/entrances/list_credentials_with_access.md b/docs/api/acs/entrances/list_credentials_with_access.md index 9cec86050..45297a693 100644 --- a/docs/api/acs/entrances/list_credentials_with_access.md +++ b/docs/api/acs/entrances/list_credentials_with_access.md @@ -295,3 +295,43 @@ Possible enum values: Array of [acs\_credentials](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_method": "card", + "acs_credential_id": "73a0a199-024f-454d-a916-9bbda8502c12", + "acs_system_id": "b1d03165-2759-474b-a342-e02223f27b39", + "acs_user_id": "0fc82df4-391b-4d00-a234-86378f1c3952", + "card_number": "164d29dc4a09b65f", + "created_at": "2025-06-16T16:54:17.946514Z", + "display_name": "Guest Lock 1, Vingcard Lock 2", + "ends_at": "2025-07-12T16:54:17.946512Z", + "errors": [], + "external_type": "visionline_card", + "external_type_display_name": "Visionline Card", + "is_issued": true, + "is_latest_desired_state_synced_with_provider": true, + "is_managed": true, + "is_multi_phone_sync_credential": false, + "issued_at": "2025-06-16T16:54:17.946512Z", + "latest_desired_state_synced_with_provider_at": "2025-06-18T16:54:17.946514Z", + "starts_at": "2025-07-10T16:54:17.946512Z", + "visionline_metadata": { + "card_function_type": "guest", + "card_id": "5", + "common_acs_entrance_ids": ["5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"], + "credential_id": "15", + "guest_acs_entrance_ids": ["a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"], + "is_valid": true + }, + "warnings": [], + "workspace_id": "005f1e54-5360-40db-8c31-4ef6baaad1fd" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/systems/get.md b/docs/api/acs/systems/get.md index bbff18ac0..95f608081 100644 --- a/docs/api/acs/systems/get.md +++ b/docs/api/acs/systems/get.md @@ -261,3 +261,32 @@ ID of the access system that you want to get. [acs\_system](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "acs_access_group_count": 5, + "acs_system_id": "dbed811f-a8c7-4dab-a3cb-1a734ebd6ac7", + "acs_user_count": 20, + "connected_account_id": "a94aeed0-1ae0-4e49-9c23-8444c7ceba09", + "connected_account_ids": ["a94aeed0-1ae0-4e49-9c23-8444c7ceba09"], + "created_at": "2025-06-15T16:54:17.946425Z", + "default_credential_manager_acs_system_id": "5dde2def-3507-44f5-9521-7ca96aa4cd18", + "errors": [], + "external_type": "salto_ks_site", + "external_type_display_name": "Salto KS site", + "image_alt_text": "Salto KS site Logo", + "image_url": "https://connect.getseam.com/_next/image?url=https://connect.getseam.com/assets/images/acs_systems/salto_ks_site.png&q=75&w=128", + "is_credential_manager": false, + "location": { "time_zone": "America/New_York" }, + "name": "My ACS System", + "warnings": [], + "workspace_id": "172920be-1f4d-45d4-8519-ecc3bdee638f" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/systems/list.md b/docs/api/acs/systems/list.md index 53c323f03..3829fd818 100644 --- a/docs/api/acs/systems/list.md +++ b/docs/api/acs/systems/list.md @@ -278,3 +278,32 @@ ID of the connected account by which you want to filter the list of access syste Array of [acs\_systems](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "acs_access_group_count": 5, + "acs_system_id": "dbed811f-a8c7-4dab-a3cb-1a734ebd6ac7", + "acs_user_count": 20, + "connected_account_id": "a94aeed0-1ae0-4e49-9c23-8444c7ceba09", + "connected_account_ids": ["a94aeed0-1ae0-4e49-9c23-8444c7ceba09"], + "created_at": "2025-06-15T16:54:17.946425Z", + "default_credential_manager_acs_system_id": "5dde2def-3507-44f5-9521-7ca96aa4cd18", + "errors": [], + "external_type": "salto_ks_site", + "external_type_display_name": "Salto KS site", + "image_alt_text": "Salto KS site Logo", + "image_url": "https://connect.getseam.com/_next/image?url=https://connect.getseam.com/assets/images/acs_systems/salto_ks_site.png&q=75&w=128", + "is_credential_manager": false, + "location": { "time_zone": "America/New_York" }, + "name": "My ACS System", + "warnings": [], + "workspace_id": "172920be-1f4d-45d4-8519-ecc3bdee638f" +} +``` +{% endtab %} +{% endtabs %} 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 e42370015..4f0e187ce 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 @@ -256,3 +256,32 @@ ID of the access system for which you want to retrieve all compatible credential Array of [acs\_systems](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "acs_access_group_count": 5, + "acs_system_id": "dbed811f-a8c7-4dab-a3cb-1a734ebd6ac7", + "acs_user_count": 20, + "connected_account_id": "a94aeed0-1ae0-4e49-9c23-8444c7ceba09", + "connected_account_ids": ["a94aeed0-1ae0-4e49-9c23-8444c7ceba09"], + "created_at": "2025-06-15T16:54:17.946425Z", + "default_credential_manager_acs_system_id": "5dde2def-3507-44f5-9521-7ca96aa4cd18", + "errors": [], + "external_type": "salto_ks_site", + "external_type_display_name": "Salto KS site", + "image_alt_text": "Salto KS site Logo", + "image_url": "https://connect.getseam.com/_next/image?url=https://connect.getseam.com/assets/images/acs_systems/salto_ks_site.png&q=75&w=128", + "is_credential_manager": false, + "location": { "time_zone": "America/New_York" }, + "name": "My ACS System", + "warnings": [], + "workspace_id": "172920be-1f4d-45d4-8519-ecc3bdee638f" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/users/create.md b/docs/api/acs/users/create.md index 56f4faffd..e3a05d3e3 100644 --- a/docs/api/acs/users/create.md +++ b/docs/api/acs/users/create.md @@ -424,3 +424,49 @@ ID of the user identity with which you want to associate the new access system u [acs\_user](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_schedule": { + "ends_at": "2025-06-12T11:00:00.000Z", + "starts_at": "2025-06-10T15:00:00.000Z" + }, + "acs_system_id": "62d3384f-267f-4a4a-a946-d35819ec9981", + "acs_user_id": "6a5d9697-3cc4-436a-8165-4375ff424870", + "connected_account_id": "c0175797-30f0-49f7-a228-2df115443ca7", + "created_at": "2025-06-15T16:54:17.946482Z", + "display_name": "Jane Doe", + "email_address": "jane@example.com", + "errors": [], + "external_type": "salto_site_user", + "external_type_display_name": "Salto site user", + "full_name": "Jane Doe", + "hid_acs_system_id": "2acbe47f-612c-422a-9205-7af292f74e7f", + "is_managed": true, + "is_suspended": false, + "last_successful_sync_at": "2025-06-18T17:45:00.582Z", + "pending_mutations": [ + { + "to": { "acs_access_group_id": "2c0fb4a0-2b42-4651-926e-1a10bedbf6ce" }, + "from": { "acs_access_group_id": "f1e2d3c4-b5a6-4d7c-8e9f-0a1b2c3d4e5f" }, + "message": "This user's access membership is being updated.", + "created_at": "2025-06-18T17:57:01.867Z", + "mutation_code": "updating_group_membership" + } + ], + "phone_number": "+1555551000", + "user_identity_email_address": "jane@example.com", + "user_identity_full_name": "Jane Doe", + "user_identity_id": "a23b3e02-e394-4e5f-b21c-b366b8bc0dd3", + "user_identity_phone_number": "+1555551000", + "warnings": [], + "workspace_id": "8d4868e3-2f95-4f33-8689-19420b3101cd" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/acs/users/get.md b/docs/api/acs/users/get.md index f36031e84..ae9bcd94d 100644 --- a/docs/api/acs/users/get.md +++ b/docs/api/acs/users/get.md @@ -335,6 +335,52 @@ ID of the user identity that you want to get. You can only provide acs_user_id o [acs\_user](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_schedule": { + "ends_at": "2025-06-12T11:00:00.000Z", + "starts_at": "2025-06-10T15:00:00.000Z" + }, + "acs_system_id": "62d3384f-267f-4a4a-a946-d35819ec9981", + "acs_user_id": "6a5d9697-3cc4-436a-8165-4375ff424870", + "connected_account_id": "c0175797-30f0-49f7-a228-2df115443ca7", + "created_at": "2025-06-15T16:54:17.946482Z", + "display_name": "Jane Doe", + "email_address": "jane@example.com", + "errors": [], + "external_type": "salto_site_user", + "external_type_display_name": "Salto site user", + "full_name": "Jane Doe", + "hid_acs_system_id": "2acbe47f-612c-422a-9205-7af292f74e7f", + "is_managed": true, + "is_suspended": false, + "last_successful_sync_at": "2025-06-18T17:45:00.582Z", + "pending_mutations": [ + { + "to": { "acs_access_group_id": "2c0fb4a0-2b42-4651-926e-1a10bedbf6ce" }, + "from": { "acs_access_group_id": "f1e2d3c4-b5a6-4d7c-8e9f-0a1b2c3d4e5f" }, + "message": "This user's access membership is being updated.", + "created_at": "2025-06-18T17:57:01.867Z", + "mutation_code": "updating_group_membership" + } + ], + "phone_number": "+1555551000", + "user_identity_email_address": "jane@example.com", + "user_identity_full_name": "Jane Doe", + "user_identity_id": "a23b3e02-e394-4e5f-b21c-b366b8bc0dd3", + "user_identity_phone_number": "+1555551000", + "warnings": [], + "workspace_id": "8d4868e3-2f95-4f33-8689-19420b3101cd" +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/acs/users/list.md b/docs/api/acs/users/list.md index bbd82f3bc..6738a6341 100644 --- a/docs/api/acs/users/list.md +++ b/docs/api/acs/users/list.md @@ -369,6 +369,52 @@ Phone number of the user identity for which you want to retrieve all access syst Array of [acs\_users](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_schedule": { + "ends_at": "2025-06-12T11:00:00.000Z", + "starts_at": "2025-06-10T15:00:00.000Z" + }, + "acs_system_id": "62d3384f-267f-4a4a-a946-d35819ec9981", + "acs_user_id": "6a5d9697-3cc4-436a-8165-4375ff424870", + "connected_account_id": "c0175797-30f0-49f7-a228-2df115443ca7", + "created_at": "2025-06-15T16:54:17.946482Z", + "display_name": "Jane Doe", + "email_address": "jane@example.com", + "errors": [], + "external_type": "salto_site_user", + "external_type_display_name": "Salto site user", + "full_name": "Jane Doe", + "hid_acs_system_id": "2acbe47f-612c-422a-9205-7af292f74e7f", + "is_managed": true, + "is_suspended": false, + "last_successful_sync_at": "2025-06-18T17:45:00.582Z", + "pending_mutations": [ + { + "to": { "acs_access_group_id": "2c0fb4a0-2b42-4651-926e-1a10bedbf6ce" }, + "from": { "acs_access_group_id": "f1e2d3c4-b5a6-4d7c-8e9f-0a1b2c3d4e5f" }, + "message": "This user's access membership is being updated.", + "created_at": "2025-06-18T17:57:01.867Z", + "mutation_code": "updating_group_membership" + } + ], + "phone_number": "+1555551000", + "user_identity_email_address": "jane@example.com", + "user_identity_full_name": "Jane Doe", + "user_identity_id": "a23b3e02-e394-4e5f-b21c-b366b8bc0dd3", + "user_identity_phone_number": "+1555551000", + "warnings": [], + "workspace_id": "8d4868e3-2f95-4f33-8689-19420b3101cd" +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/acs/users/list_accessible_entrances.md b/docs/api/acs/users/list_accessible_entrances.md index 222e9e6c9..f60e65e7a 100644 --- a/docs/api/acs/users/list_accessible_entrances.md +++ b/docs/api/acs/users/list_accessible_entrances.md @@ -289,6 +289,34 @@ ID of the user identity for whom you want to list accessible entrances. You can Array of [acs\_entrances](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "acs_entrance_id": "f74e4879-5991-4e2f-a368-888983dcfbfc", + "acs_system_id": "6a74a969-94ea-4383-b5cf-5e7da8c113d1", + "connected_account_id": "1b9a3e0d-443f-4063-b619-4ca7e2a97751", + "created_at": "2025-06-15T16:54:17.946495Z", + "display_name": "Main Entrance", + "errors": [], + "visionline_metadata": { + "door_category": "guest", + "door_name": "Main Entrance", + "profiles": [ + { + "visionline_door_profile_id": "7f8e9d0a-1b2c-3d4e-5f6a-7b8c9d0e1f2a", + "visionline_door_profile_type": "BLE" + } + ] + } +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/connected_accounts/get.md b/docs/api/connected_accounts/get.md index c6fd56160..55f7f0e94 100644 --- a/docs/api/connected_accounts/get.md +++ b/docs/api/connected_accounts/get.md @@ -257,6 +257,33 @@ Email address associated with the connected account that you want to get. [connected\_account](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "account_type": "salto_space", + "account_type_display_name": "Salto Space", + "automatically_manage_new_devices": true, + "connected_account_id": "a289aa54-5488-4707-9a4b-eeea4edf311d", + "created_at": "2025-06-15T16:54:17.946329Z", + "custom_metadata": { "id": "internalId1" }, + "errors": [], + "user_identifier": { + "api_url": "https://example.com/api", + "email": "jane_doe@example.com", + "exclusive": true, + "phone": "+1555551004", + "username": "jane_doe" + }, + "warnings": [] +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/connected_accounts/list.md b/docs/api/connected_accounts/list.md index acc7ea24a..83248d738 100644 --- a/docs/api/connected_accounts/list.md +++ b/docs/api/connected_accounts/list.md @@ -289,6 +289,33 @@ Your user ID for the user by which you want to filter connected accounts. Array of [connected\_accounts](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "account_type": "salto_space", + "account_type_display_name": "Salto Space", + "automatically_manage_new_devices": true, + "connected_account_id": "a289aa54-5488-4707-9a4b-eeea4edf311d", + "created_at": "2025-06-15T16:54:17.946329Z", + "custom_metadata": { "id": "internalId1" }, + "errors": [], + "user_identifier": { + "api_url": "https://example.com/api", + "email": "jane_doe@example.com", + "exclusive": true, + "phone": "+1555551004", + "username": "jane_doe" + }, + "warnings": [] +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/phones/get.md b/docs/api/phones/get.md index 377aa289d..0726814d1 100644 --- a/docs/api/phones/get.md +++ b/docs/api/phones/get.md @@ -269,3 +269,35 @@ Device ID of the phone that you want to get. [phone](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "created_at": "2025-06-14T16:54:17.946540Z", + "custom_metadata": { "id": "internalId1" }, + "device_id": "e452f665-a635-4c65-922b-9feab0e0f84f", + "device_type": "ios_phone", + "display_name": "My Phone", + "errors": [], + "nickname": "My Phone", + "properties": { + "assa_abloy_credential_service_metadata": { + "endpoints": [ + { + "endpoint_id": "c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f", + "is_active": true + } + ], + "has_active_endpoint": true + } + }, + "warnings": [], + "workspace_id": "da8639a4-28a2-4884-a4f9-b7691f4cf336" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/phones/list.md b/docs/api/phones/list.md index e33cc5dff..8b0928131 100644 --- a/docs/api/phones/list.md +++ b/docs/api/phones/list.md @@ -293,6 +293,38 @@ ID of the user identity that represents the owner by which you want to filter th Array of [phones](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "created_at": "2025-06-14T16:54:17.946540Z", + "custom_metadata": { "id": "internalId1" }, + "device_id": "e452f665-a635-4c65-922b-9feab0e0f84f", + "device_type": "ios_phone", + "display_name": "My Phone", + "errors": [], + "nickname": "My Phone", + "properties": { + "assa_abloy_credential_service_metadata": { + "endpoints": [ + { + "endpoint_id": "c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f", + "is_active": true + } + ], + "has_active_endpoint": true + } + }, + "warnings": [], + "workspace_id": "da8639a4-28a2-4884-a4f9-b7691f4cf336" +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/phones/simulate/create_sandbox_phone.md b/docs/api/phones/simulate/create_sandbox_phone.md index 654c81b0e..3ffe2fa39 100644 --- a/docs/api/phones/simulate/create_sandbox_phone.md +++ b/docs/api/phones/simulate/create_sandbox_phone.md @@ -489,3 +489,35 @@ Mobile operating system version that you want to use for the simulated phone. [phone](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "created_at": "2025-06-14T16:54:17.946540Z", + "custom_metadata": { "id": "internalId1" }, + "device_id": "e452f665-a635-4c65-922b-9feab0e0f84f", + "device_type": "ios_phone", + "display_name": "My Phone", + "errors": [], + "nickname": "My Phone", + "properties": { + "assa_abloy_credential_service_metadata": { + "endpoints": [ + { + "endpoint_id": "c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f", + "is_active": true + } + ], + "has_active_endpoint": true + } + }, + "warnings": [], + "workspace_id": "da8639a4-28a2-4884-a4f9-b7691f4cf336" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/spaces/create.md b/docs/api/spaces/create.md index 8d423fb8c..39d7b6659 100644 --- a/docs/api/spaces/create.md +++ b/docs/api/spaces/create.md @@ -219,3 +219,20 @@ IDs of the devices that you want to add to the new space. [space](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "created_at": "2025-06-16T16:54:17.946600Z", + "display_name": "My Space", + "name": "My Space", + "space_id": "5afeb047-3277-4102-b8c4-99edf05b91d2", + "workspace_id": "96bd12f9-6def-4bf4-b517-760417451ae9" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/spaces/get.md b/docs/api/spaces/get.md index 29d011df7..383d92e75 100644 --- a/docs/api/spaces/get.md +++ b/docs/api/spaces/get.md @@ -185,3 +185,20 @@ ID of the space that you want to get. [space](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "created_at": "2025-06-16T16:54:17.946600Z", + "display_name": "My Space", + "name": "My Space", + "space_id": "5afeb047-3277-4102-b8c4-99edf05b91d2", + "workspace_id": "96bd12f9-6def-4bf4-b517-760417451ae9" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/spaces/list.md b/docs/api/spaces/list.md index 8be84ccbc..1436a5e4a 100644 --- a/docs/api/spaces/list.md +++ b/docs/api/spaces/list.md @@ -188,3 +188,20 @@ None Array of [spaces](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "created_at": "2025-06-16T16:54:17.946600Z", + "display_name": "My Space", + "name": "My Space", + "space_id": "5afeb047-3277-4102-b8c4-99edf05b91d2", + "workspace_id": "96bd12f9-6def-4bf4-b517-760417451ae9" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/spaces/update.md b/docs/api/spaces/update.md index fd9275d73..b2fdcecff 100644 --- a/docs/api/spaces/update.md +++ b/docs/api/spaces/update.md @@ -200,3 +200,20 @@ Name of the space. [space](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "created_at": "2025-06-16T16:54:17.946600Z", + "display_name": "My Space", + "name": "My Space", + "space_id": "5afeb047-3277-4102-b8c4-99edf05b91d2", + "workspace_id": "96bd12f9-6def-4bf4-b517-760417451ae9" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/thermostats/list.md b/docs/api/thermostats/list.md index aed494264..ed2f41248 100644 --- a/docs/api/thermostats/list.md +++ b/docs/api/thermostats/list.md @@ -1248,3 +1248,64 @@ Your own internal user ID for the user for which you want to list devices. Array of [devices](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "can_program_online_access_codes": true, + "can_remotely_lock": true, + "can_remotely_unlock": true, + "capabilities_supported": ["access_code", "lock"], + "connected_account_id": "8e3a4f1b-2c7d-4a9e-8b5f-3d2c1a0b9e8f", + "created_at": "2025-03-27T02:08:16.418Z", + "custom_metadata": { "id": "internalId1" }, + "device_id": "a69569e1-133b-4a9d-b883-018641bfe543", + "device_type": "schlage_lock", + "display_name": "FRONT DOOR", + "errors": [], + "is_managed": true, + "location": { "location_name": "Front Door", "timezone": "America/New_York" }, + "nickname": "Front Door", + "properties": { + "appearance": { "name": "FRONT DOOR" }, + "battery": { "level": 0.48, "status": "good" }, + "battery_level": 0.48, + "code_constraints": [{ "constraint_type": "name_length", "max_length": 9 }], + "has_native_entry_events": true, + "image_alt_text": "Schlage Sense Smart Deadbolt with Camelot Trim, Front", + "image_url": "https://connect.getseam.com/_next/image?url=https://connect.getseam.com/assets/images/devices/schlage_sense-smart-deadbolt-with-camelot-trim_front.png&q=75&w=128", + "locked": false, + "manufacturer": "schlage", + "model": { + "accessory_keypad_supported": false, + "can_connect_accessory_keypad": false, + "display_name": "Encode", + "has_built_in_keypad": true, + "manufacturer_display_name": "Schlage", + "offline_access_codes_supported": false, + "online_access_codes_supported": true + }, + "name": "FRONT DOOR", + "offline_access_codes_enabled": false, + "online": true, + "online_access_codes_enabled": true, + "schlage_metadata": { + "device_id": "a69569e1-133b-4a9d-b883-018641bfe543", + "device_name": "FRONT DOOR", + "model": "Encode" + }, + "serial_number": "34000000000531e0", + "supported_code_lengths": [4, 5, 6, 7, 8], + "supports_backup_access_code_pool": true, + "supports_offline_access_codes": false + }, + "warnings": [], + "workspace_id": "5d7f2e1a-9c8b-4f3e-8d2c-1a0b9e8f7c6d" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/thermostats/schedules/create.md b/docs/api/thermostats/schedules/create.md index 44fb95d19..604d6cd8e 100644 --- a/docs/api/thermostats/schedules/create.md +++ b/docs/api/thermostats/schedules/create.md @@ -293,3 +293,26 @@ Name of the thermostat schedule. [thermostat\_schedule](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "climate_preset_key": "eco", + "created_at": "2025-06-14T16:54:17.946316Z", + "device_id": "dc1dfc4b-8082-453f-a953-276941af8650", + "ends_at": "2025-07-14T16:54:17.946313Z", + "errors": [], + "is_override_allowed": true, + "max_override_period_minutes": 90, + "name": "My Thermostat Schedule", + "starts_at": "2025-07-12T16:54:17.946313Z", + "thermostat_schedule_id": "af2cb7f7-9f28-40da-a0a0-e7a008ef7a35", + "workspace_id": "58419b36-6103-44e5-aa83-2163e90cce01" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/thermostats/schedules/get.md b/docs/api/thermostats/schedules/get.md index 9b1026d05..8c72ac04d 100644 --- a/docs/api/thermostats/schedules/get.md +++ b/docs/api/thermostats/schedules/get.md @@ -225,3 +225,26 @@ ID of the thermostat schedule that you want to get. [thermostat\_schedule](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "climate_preset_key": "eco", + "created_at": "2025-06-14T16:54:17.946316Z", + "device_id": "dc1dfc4b-8082-453f-a953-276941af8650", + "ends_at": "2025-07-14T16:54:17.946313Z", + "errors": [], + "is_override_allowed": true, + "max_override_period_minutes": 90, + "name": "My Thermostat Schedule", + "starts_at": "2025-07-12T16:54:17.946313Z", + "thermostat_schedule_id": "af2cb7f7-9f28-40da-a0a0-e7a008ef7a35", + "workspace_id": "58419b36-6103-44e5-aa83-2163e90cce01" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/thermostats/schedules/list.md b/docs/api/thermostats/schedules/list.md index 7cacba795..021df25fd 100644 --- a/docs/api/thermostats/schedules/list.md +++ b/docs/api/thermostats/schedules/list.md @@ -243,6 +243,29 @@ User identifier key by which to filter the list of returned thermostat schedules Array of [thermostat\_schedules](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "climate_preset_key": "eco", + "created_at": "2025-06-14T16:54:17.946316Z", + "device_id": "dc1dfc4b-8082-453f-a953-276941af8650", + "ends_at": "2025-07-14T16:54:17.946313Z", + "errors": [], + "is_override_allowed": true, + "max_override_period_minutes": 90, + "name": "My Thermostat Schedule", + "starts_at": "2025-07-12T16:54:17.946313Z", + "thermostat_schedule_id": "af2cb7f7-9f28-40da-a0a0-e7a008ef7a35", + "workspace_id": "58419b36-6103-44e5-aa83-2163e90cce01" +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/user_identities/create.md b/docs/api/user_identities/create.md index 634675dfe..df05cf443 100644 --- a/docs/api/user_identities/create.md +++ b/docs/api/user_identities/create.md @@ -266,3 +266,25 @@ Unique key for the new user identity. [user\_identity](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "created_at": "2025-06-16T16:54:17.946546Z", + "display_name": "Jane Doe", + "email_address": "jane@example.com", + "errors": [], + "full_name": "Jane Doe", + "phone_number": "+1555551002", + "user_identity_id": "43947360-cdc8-4db6-8b22-e079416d1d8b", + "user_identity_key": "jane_doe", + "warnings": [], + "workspace_id": "b7e0a4e0-1044-4319-9a0b-42b642b68c7f" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/user_identities/generate_instant_key.md b/docs/api/user_identities/generate_instant_key.md index f85568810..2ec04b41f 100644 --- a/docs/api/user_identities/generate_instant_key.md +++ b/docs/api/user_identities/generate_instant_key.md @@ -212,3 +212,22 @@ Maximum number of times the instant key can be used. Default: 1. [instant\_key](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "client_session_id": "bfe3b1c6-fb9e-48b1-9b5b-c762b2983af6", + "created_at": "2025-06-14T16:54:17.946559Z", + "expires_at": "2025-06-16T16:54:17.946559Z", + "instant_key_id": "1d05c2f6-5b6f-4a9c-b80d-1eca26be12b9", + "instant_key_url": "https://se.am/1234", + "user_identity_id": "e7a94acb-bd8a-4462-b6fb-8612d35cd7c3", + "workspace_id": "4d1c24b2-781e-4d1a-8d77-15249ad57c8a" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/user_identities/get.md b/docs/api/user_identities/get.md index 773b7f19e..4be3e7bbb 100644 --- a/docs/api/user_identities/get.md +++ b/docs/api/user_identities/get.md @@ -222,6 +222,28 @@ ID of the user identity that you want to get. [user\_identity](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "created_at": "2025-06-16T16:54:17.946546Z", + "display_name": "Jane Doe", + "email_address": "jane@example.com", + "errors": [], + "full_name": "Jane Doe", + "phone_number": "+1555551002", + "user_identity_id": "43947360-cdc8-4db6-8b22-e079416d1d8b", + "user_identity_key": "jane_doe", + "warnings": [], + "workspace_id": "b7e0a4e0-1044-4319-9a0b-42b642b68c7f" +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/user_identities/list.md b/docs/api/user_identities/list.md index 7151c7177..bc840c3d4 100644 --- a/docs/api/user_identities/list.md +++ b/docs/api/user_identities/list.md @@ -222,6 +222,28 @@ To learn more, see [Authentication](https://docs.seam.co/latest/api/authenticati Array of [user\_identitys](./) +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "created_at": "2025-06-16T16:54:17.946546Z", + "display_name": "Jane Doe", + "email_address": "jane@example.com", + "errors": [], + "full_name": "Jane Doe", + "phone_number": "+1555551002", + "user_identity_id": "43947360-cdc8-4db6-8b22-e079416d1d8b", + "user_identity_key": "jane_doe", + "warnings": [], + "workspace_id": "b7e0a4e0-1044-4319-9a0b-42b642b68c7f" +} +``` +{% endtab %} +{% endtabs %} + --- ## Examples diff --git a/docs/api/user_identities/list_accessible_devices.md b/docs/api/user_identities/list_accessible_devices.md index 76dacb5b6..5527c5b5b 100644 --- a/docs/api/user_identities/list_accessible_devices.md +++ b/docs/api/user_identities/list_accessible_devices.md @@ -1163,3 +1163,64 @@ ID of the user identity for which you want to retrieve all accessible devices. Array of [devices](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "can_program_online_access_codes": true, + "can_remotely_lock": true, + "can_remotely_unlock": true, + "capabilities_supported": ["access_code", "lock"], + "connected_account_id": "8e3a4f1b-2c7d-4a9e-8b5f-3d2c1a0b9e8f", + "created_at": "2025-03-27T02:08:16.418Z", + "custom_metadata": { "id": "internalId1" }, + "device_id": "a69569e1-133b-4a9d-b883-018641bfe543", + "device_type": "schlage_lock", + "display_name": "FRONT DOOR", + "errors": [], + "is_managed": true, + "location": { "location_name": "Front Door", "timezone": "America/New_York" }, + "nickname": "Front Door", + "properties": { + "appearance": { "name": "FRONT DOOR" }, + "battery": { "level": 0.48, "status": "good" }, + "battery_level": 0.48, + "code_constraints": [{ "constraint_type": "name_length", "max_length": 9 }], + "has_native_entry_events": true, + "image_alt_text": "Schlage Sense Smart Deadbolt with Camelot Trim, Front", + "image_url": "https://connect.getseam.com/_next/image?url=https://connect.getseam.com/assets/images/devices/schlage_sense-smart-deadbolt-with-camelot-trim_front.png&q=75&w=128", + "locked": false, + "manufacturer": "schlage", + "model": { + "accessory_keypad_supported": false, + "can_connect_accessory_keypad": false, + "display_name": "Encode", + "has_built_in_keypad": true, + "manufacturer_display_name": "Schlage", + "offline_access_codes_supported": false, + "online_access_codes_supported": true + }, + "name": "FRONT DOOR", + "offline_access_codes_enabled": false, + "online": true, + "online_access_codes_enabled": true, + "schlage_metadata": { + "device_id": "a69569e1-133b-4a9d-b883-018641bfe543", + "device_name": "FRONT DOOR", + "model": "Encode" + }, + "serial_number": "34000000000531e0", + "supported_code_lengths": [4, 5, 6, 7, 8], + "supports_backup_access_code_pool": true, + "supports_offline_access_codes": false + }, + "warnings": [], + "workspace_id": "5d7f2e1a-9c8b-4f3e-8d2c-1a0b9e8f7c6d" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/user_identities/list_acs_systems.md b/docs/api/user_identities/list_acs_systems.md index 5ebcf20cd..ea9824871 100644 --- a/docs/api/user_identities/list_acs_systems.md +++ b/docs/api/user_identities/list_acs_systems.md @@ -278,3 +278,32 @@ ID of the user identity for which you want to retrieve all access systems. Array of [acs\_systems](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "acs_access_group_count": 5, + "acs_system_id": "dbed811f-a8c7-4dab-a3cb-1a734ebd6ac7", + "acs_user_count": 20, + "connected_account_id": "a94aeed0-1ae0-4e49-9c23-8444c7ceba09", + "connected_account_ids": ["a94aeed0-1ae0-4e49-9c23-8444c7ceba09"], + "created_at": "2025-06-15T16:54:17.946425Z", + "default_credential_manager_acs_system_id": "5dde2def-3507-44f5-9521-7ca96aa4cd18", + "errors": [], + "external_type": "salto_ks_site", + "external_type_display_name": "Salto KS site", + "image_alt_text": "Salto KS site Logo", + "image_url": "https://connect.getseam.com/_next/image?url=https://connect.getseam.com/assets/images/acs_systems/salto_ks_site.png&q=75&w=128", + "is_credential_manager": false, + "location": { "time_zone": "America/New_York" }, + "name": "My ACS System", + "warnings": [], + "workspace_id": "172920be-1f4d-45d4-8519-ecc3bdee638f" +} +``` +{% endtab %} +{% endtabs %} diff --git a/docs/api/user_identities/list_acs_users.md b/docs/api/user_identities/list_acs_users.md index 0e7fdf6de..70f63d853 100644 --- a/docs/api/user_identities/list_acs_users.md +++ b/docs/api/user_identities/list_acs_users.md @@ -326,3 +326,49 @@ ID of the user identity for which you want to retrieve all access system users. Array of [acs\_users](./) + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_schedule": { + "ends_at": "2025-06-12T11:00:00.000Z", + "starts_at": "2025-06-10T15:00:00.000Z" + }, + "acs_system_id": "62d3384f-267f-4a4a-a946-d35819ec9981", + "acs_user_id": "6a5d9697-3cc4-436a-8165-4375ff424870", + "connected_account_id": "c0175797-30f0-49f7-a228-2df115443ca7", + "created_at": "2025-06-15T16:54:17.946482Z", + "display_name": "Jane Doe", + "email_address": "jane@example.com", + "errors": [], + "external_type": "salto_site_user", + "external_type_display_name": "Salto site user", + "full_name": "Jane Doe", + "hid_acs_system_id": "2acbe47f-612c-422a-9205-7af292f74e7f", + "is_managed": true, + "is_suspended": false, + "last_successful_sync_at": "2025-06-18T17:45:00.582Z", + "pending_mutations": [ + { + "to": { "acs_access_group_id": "2c0fb4a0-2b42-4651-926e-1a10bedbf6ce" }, + "from": { "acs_access_group_id": "f1e2d3c4-b5a6-4d7c-8e9f-0a1b2c3d4e5f" }, + "message": "This user's access membership is being updated.", + "created_at": "2025-06-18T17:57:01.867Z", + "mutation_code": "updating_group_membership" + } + ], + "phone_number": "+1555551000", + "user_identity_email_address": "jane@example.com", + "user_identity_full_name": "Jane Doe", + "user_identity_id": "a23b3e02-e394-4e5f-b21c-b366b8bc0dd3", + "user_identity_phone_number": "+1555551000", + "warnings": [], + "workspace_id": "8d4868e3-2f95-4f33-8689-19420b3101cd" +} +``` +{% endtab %} +{% endtabs %} diff --git a/src/layouts/api-endpoint.hbs b/src/layouts/api-endpoint.hbs index fbced23d1..559e0874c 100644 --- a/src/layouts/api-endpoint.hbs +++ b/src/layouts/api-endpoint.hbs @@ -71,6 +71,10 @@ None {{#if response.resourceType}}{{#if (eq response.responseType "resource_list")}}Array of [{{response.escapedResourceType}}s](./){{else}}[{{response.escapedResourceType}}](./){{/if}}{{else}}void{{/if}} +{{#if resourceSamples.length}} + +{{> resource-samples resourceSamples }} +{{/if}} {{#if additionalCodeSamples.length}} --- diff --git a/src/layouts/partials/api-resource.hbs b/src/layouts/partials/api-resource.hbs index 6f88817f9..adfe53bf7 100644 --- a/src/layouts/partials/api-resource.hbs +++ b/src/layouts/partials/api-resource.hbs @@ -17,18 +17,7 @@ {{/unless}} {{#if resourceSamples.length}} -{% tabs %} -{{#each resourceSamples}} -{% tab title="{{this.title}}" %} - -{{this.description}} - -```{{this.resourceDataSyntax}} -{{{this.resourceData}}} -``` -{% endtab %} -{{/each}} -{% endtabs %} +{{> resource-samples resourceSamples }} {{/if}} --- diff --git a/src/layouts/partials/resource-samples.hbs b/src/layouts/partials/resource-samples.hbs new file mode 100644 index 000000000..128cfb219 --- /dev/null +++ b/src/layouts/partials/resource-samples.hbs @@ -0,0 +1,12 @@ +{% tabs %} +{{#each .}} +{% tab title="{{title}}" %} + +{{description}} + +```{{resourceDataSyntax}} +{{{resourceData}}} +``` +{% endtab %} +{{/each}} +{% endtabs %} diff --git a/src/lib/layout/api-endpoint.ts b/src/lib/layout/api-endpoint.ts index c1000f0dc..f5ac89fc8 100644 --- a/src/lib/layout/api-endpoint.ts +++ b/src/lib/layout/api-endpoint.ts @@ -3,6 +3,8 @@ import type { CodeSample, Endpoint, Parameter, + Resource, + ResourceSample, SdkName, SeamAuthMethod, SeamWorkspaceScope, @@ -13,7 +15,9 @@ import type { PathMetadata } from '../path-metadata.js' import { type ApiRouteResource, groupProperties, + mapResourceSample, normalizePropertyFormatForDocs, + type ResourceSampleContext, } from './api-route.js' const supportedSdks: SdkName[] = [ @@ -45,6 +49,7 @@ export interface ApiEndpointLayoutContext { responseType: string | null actionAttempt?: Omit } + resourceSamples: ResourceSampleContext[] primaryCodeSample: CodeSampleContext | null additionalCodeSamples: CodeSampleContext[] } @@ -94,6 +99,7 @@ const seamAuthMethodToDisplayNameMap: Record< export function setEndpointLayoutContext( file: Partial, endpoint: Endpoint, + resources: Resource[], actionAttempts: ActionAttempt[], pathMetadata: PathMetadata, ): void { @@ -179,6 +185,10 @@ export function setEndpointLayoutContext( } } + file.resourceSamples = getResourceSamples(endpoint, resources).map( + mapResourceSample, + ) + const [primaryCodeSample, ...additionalCodeSamples] = endpoint.codeSamples file.primaryCodeSample = primaryCodeSample == null ? null : mapCodeSample(primaryCodeSample) @@ -228,3 +238,47 @@ const mapCodeSample = (sample: CodeSample): CodeSampleContext => { code, } } + +const getResourceSamples = ( + endpoint: Endpoint, + resources: Resource[], +): ResourceSample[] => { + const { response } = endpoint + + if (response.responseType === 'void') { + return [] + } + + const resource = resources.find( + ({ resourceType }) => resourceType === response.resourceType, + ) + + if (resource == null) return [] + + if ( + response.responseType === 'resource' || + response.responseType === 'resource_list' + ) { + const sample = resource.resourceSamples.find((resourceSample) => { + if ('actionAttemptType' in resource) { + return ( + resourceSample.properties['action_type'] === + resource.actionAttemptType + ) + } + return true + }) + + return sample == null + ? [] + : [ + { + ...sample, + title: 'JSON', + description: '', + }, + ] + } + + return [] +} diff --git a/src/lib/layout/api-route.ts b/src/lib/layout/api-route.ts index c15d0ff51..c5afc46b2 100644 --- a/src/lib/layout/api-route.ts +++ b/src/lib/layout/api-route.ts @@ -37,7 +37,7 @@ interface ApiRouteEvent { properties: ApiRouteProperty[] } -interface ResourceSampleContext { +export interface ResourceSampleContext { title: string description: string resourceData: string @@ -588,7 +588,9 @@ const addLinkTargetsToProperties = ( } } -const mapResourceSample = (sample: ResourceSample): ResourceSampleContext => { +export const mapResourceSample = ( + sample: ResourceSample, +): ResourceSampleContext => { const jsonSample = Object.entries(sample.resource).find( ([k]) => (k as SdkName) === 'seam_cli', )?.[1] diff --git a/src/lib/reference.ts b/src/lib/reference.ts index 94be89b8b..52b62abb7 100644 --- a/src/lib/reference.ts +++ b/src/lib/reference.ts @@ -96,6 +96,7 @@ export const reference = ( setEndpointLayoutContext( file, endpoint, + resources, blueprint.actionAttempts, pathMetadata, )