seam 2.138.0 → 2.140.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +69 -66
  3. data/README.md +12 -0
  4. data/lib/seam/http_single_workspace.rb +34 -2
  5. data/lib/seam/http_without_workspace.rb +41 -12
  6. data/lib/seam/paginator.rb +4 -1
  7. data/lib/seam/request.rb +5 -1
  8. data/lib/seam/resources/access_code.rb +74 -0
  9. data/lib/seam/resources/access_grant.rb +60 -0
  10. data/lib/seam/resources/access_method.rb +39 -0
  11. data/lib/seam/resources/acs_access_group.rb +45 -0
  12. data/lib/seam/resources/acs_credential.rb +67 -0
  13. data/lib/seam/resources/acs_encoder.rb +11 -0
  14. data/lib/seam/resources/acs_entrance.rb +95 -0
  15. data/lib/seam/resources/acs_system.rb +36 -0
  16. data/lib/seam/resources/acs_user.rb +66 -0
  17. data/lib/seam/resources/action_attempt.rb +192 -0
  18. data/lib/seam/resources/batch.rb +24 -0
  19. data/lib/seam/resources/client_session.rb +12 -0
  20. data/lib/seam/resources/connect_webview.rb +19 -0
  21. data/lib/seam/resources/connected_account.rb +50 -0
  22. data/lib/seam/resources/customer_portal.rb +5 -0
  23. data/lib/seam/resources/device.rb +622 -4
  24. data/lib/seam/resources/device_provider.rb +24 -0
  25. data/lib/seam/resources/event.rb +142 -3
  26. data/lib/seam/resources/instant_key.rb +13 -0
  27. data/lib/seam/resources/noise_threshold.rb +7 -0
  28. data/lib/seam/resources/pagination.rb +3 -0
  29. data/lib/seam/resources/phone.rb +29 -0
  30. data/lib/seam/resources/space.rb +19 -0
  31. data/lib/seam/resources/thermostat_daily_program.rb +9 -0
  32. data/lib/seam/resources/thermostat_schedule.rb +15 -0
  33. data/lib/seam/resources/unmanaged_access_code.rb +51 -0
  34. data/lib/seam/resources/unmanaged_access_grant.rb +56 -0
  35. data/lib/seam/resources/unmanaged_access_method.rb +36 -0
  36. data/lib/seam/resources/unmanaged_device.rb +80 -0
  37. data/lib/seam/resources/unmanaged_user_identity.rb +20 -0
  38. data/lib/seam/resources/user_identity.rb +21 -0
  39. data/lib/seam/resources/webhook.rb +4 -0
  40. data/lib/seam/resources/workspace.rb +15 -0
  41. data/lib/seam/routes/access_codes.rb +79 -79
  42. data/lib/seam/routes/access_codes_simulate.rb +3 -3
  43. data/lib/seam/routes/access_codes_unmanaged.rb +27 -23
  44. data/lib/seam/routes/access_grants.rb +57 -45
  45. data/lib/seam/routes/access_grants_unmanaged.rb +13 -13
  46. data/lib/seam/routes/access_methods.rb +32 -24
  47. data/lib/seam/routes/access_methods_unmanaged.rb +7 -7
  48. data/lib/seam/routes/acs_access_groups.rb +21 -21
  49. data/lib/seam/routes/acs_credentials.rb +40 -40
  50. data/lib/seam/routes/acs_encoders.rb +16 -16
  51. data/lib/seam/routes/acs_encoders_simulate.rb +11 -11
  52. data/lib/seam/routes/acs_entrances.rb +20 -20
  53. data/lib/seam/routes/acs_systems.rb +11 -11
  54. data/lib/seam/routes/acs_users.rb +83 -55
  55. data/lib/seam/routes/action_attempts.rb +6 -6
  56. data/lib/seam/routes/client_sessions.rb +38 -34
  57. data/lib/seam/routes/connect_webviews.rb +20 -20
  58. data/lib/seam/routes/connected_accounts.rb +24 -20
  59. data/lib/seam/routes/connected_accounts_simulate.rb +1 -1
  60. data/lib/seam/routes/customers.rb +50 -50
  61. data/lib/seam/routes/devices.rb +33 -29
  62. data/lib/seam/routes/devices_simulate.rb +7 -7
  63. data/lib/seam/routes/devices_unmanaged.rb +25 -26
  64. data/lib/seam/routes/events.rb +40 -32
  65. data/lib/seam/routes/instant_keys.rb +11 -7
  66. data/lib/seam/routes/locks.rb +20 -27
  67. data/lib/seam/routes/locks_simulate.rb +3 -3
  68. data/lib/seam/routes/noise_sensors.rb +8 -19
  69. data/lib/seam/routes/noise_sensors_noise_thresholds.rb +21 -21
  70. data/lib/seam/routes/noise_sensors_simulate.rb +1 -1
  71. data/lib/seam/routes/phones.rb +7 -7
  72. data/lib/seam/routes/phones_simulate.rb +4 -4
  73. data/lib/seam/routes/spaces.rb +53 -45
  74. data/lib/seam/routes/thermostats.rb +75 -86
  75. data/lib/seam/routes/thermostats_daily_programs.rb +9 -9
  76. data/lib/seam/routes/thermostats_schedules.rb +22 -22
  77. data/lib/seam/routes/thermostats_simulate.rb +9 -9
  78. data/lib/seam/routes/user_identities.rb +50 -46
  79. data/lib/seam/routes/user_identities_unmanaged.rb +11 -11
  80. data/lib/seam/routes/webhooks.rb +10 -10
  81. data/lib/seam/routes/workspaces.rb +19 -19
  82. data/lib/seam/version.rb +1 -1
  83. metadata +8 -11
@@ -9,13 +9,13 @@ module Seam
9
9
  end
10
10
 
11
11
  # Creates a new [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats).
12
- # @param climate_preset_key Key of the [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) to use for the new thermostat schedule.
13
- # @param device_id ID of the thermostat device for which you want to create a schedule.
14
- # @param ends_at Date and time at which the new thermostat schedule ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
15
- # @param starts_at Date and time at which the new thermostat schedule starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
16
- # @param is_override_allowed Indicates whether a person at the thermostat or using the API can change the thermostat's settings while the new schedule is active. See also [Specifying Manual Override Permissions](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
17
- # @param max_override_period_minutes 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](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
18
- # @param name Name of the thermostat schedule.
12
+ # @param climate_preset_key [String] Key of the [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) to use for the new thermostat schedule.
13
+ # @param device_id [String] ID of the thermostat device for which you want to create a schedule.
14
+ # @param ends_at [String] Date and time at which the new thermostat schedule ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
15
+ # @param starts_at [String] Date and time at which the new thermostat schedule starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
16
+ # @param is_override_allowed [Boolean, nil] Indicates whether a person at the thermostat or using the API can change the thermostat's settings while the new schedule is active. See also [Specifying Manual Override Permissions](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
17
+ # @param max_override_period_minutes [Integer, nil] 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](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
18
+ # @param name [String, nil] Name of the thermostat schedule.
19
19
  # @return [Seam::Resources::ThermostatSchedule] OK
20
20
  def create(climate_preset_key:, device_id:, ends_at:, starts_at:, is_override_allowed: nil, max_override_period_minutes: nil, name: nil)
21
21
  res = @client.post("/thermostats/schedules/create", {climate_preset_key: climate_preset_key, device_id: device_id, ends_at: ends_at, starts_at: starts_at, is_override_allowed: is_override_allowed, max_override_period_minutes: max_override_period_minutes, name: name}.compact)
@@ -24,44 +24,44 @@ module Seam
24
24
  end
25
25
 
26
26
  # Deletes a [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats).
27
- # @param thermostat_schedule_id ID of the thermostat schedule that you want to delete.
27
+ # @param thermostat_schedule_id [String] ID of the thermostat schedule that you want to delete.
28
28
  # @return [nil] OK
29
29
  def delete(thermostat_schedule_id:)
30
- @client.post("/thermostats/schedules/delete", {thermostat_schedule_id: thermostat_schedule_id}.compact)
30
+ @client.delete("/thermostats/schedules/delete", {thermostat_schedule_id: thermostat_schedule_id}.compact)
31
31
 
32
32
  nil
33
33
  end
34
34
 
35
35
  # Returns a specified [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
36
- # @param thermostat_schedule_id ID of the thermostat schedule that you want to get.
36
+ # @param thermostat_schedule_id [String] ID of the thermostat schedule that you want to get.
37
37
  # @return [Seam::Resources::ThermostatSchedule] OK
38
38
  def get(thermostat_schedule_id:)
39
- res = @client.post("/thermostats/schedules/get", {thermostat_schedule_id: thermostat_schedule_id}.compact)
39
+ res = @client.get("/thermostats/schedules/get", {thermostat_schedule_id: thermostat_schedule_id}.compact)
40
40
 
41
41
  Seam::Resources::ThermostatSchedule.load_from_response(res.body["thermostat_schedule"])
42
42
  end
43
43
 
44
44
  # Returns a list of all [thermostat schedules](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) for a specified [thermostat](https://docs.seam.co/capability-guides/thermostats).
45
- # @param device_id ID of the thermostat device for which you want to list schedules.
46
- # @param user_identifier_key User identifier key by which to filter the list of returned thermostat schedules.
45
+ # @param device_id [String] ID of the thermostat device for which you want to list schedules.
46
+ # @param user_identifier_key [String, nil] User identifier key by which to filter the list of returned thermostat schedules.
47
47
  # @return [Seam::Resources::ThermostatSchedule] OK
48
48
  def list(device_id:, user_identifier_key: nil)
49
- res = @client.post("/thermostats/schedules/list", {device_id: device_id, user_identifier_key: user_identifier_key}.compact)
49
+ res = @client.get("/thermostats/schedules/list", {device_id: device_id, user_identifier_key: user_identifier_key}.compact)
50
50
 
51
51
  Seam::Resources::ThermostatSchedule.load_from_response(res.body["thermostat_schedules"])
52
52
  end
53
53
 
54
54
  # Updates a specified [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
55
- # @param thermostat_schedule_id ID of the thermostat schedule that you want to update.
56
- # @param climate_preset_key Key of the [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) to use for the thermostat schedule.
57
- # @param ends_at Date and time at which the thermostat schedule ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
58
- # @param is_override_allowed 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](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
59
- # @param max_override_period_minutes 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](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
60
- # @param name Name of the thermostat schedule.
61
- # @param starts_at Date and time at which the thermostat schedule starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
55
+ # @param thermostat_schedule_id [String] ID of the thermostat schedule that you want to update.
56
+ # @param climate_preset_key [String, nil] Key of the [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) to use for the thermostat schedule.
57
+ # @param ends_at [String, nil] Date and time at which the thermostat schedule ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
58
+ # @param is_override_allowed [Boolean, nil] 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](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
59
+ # @param max_override_period_minutes [Integer, nil] 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](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
60
+ # @param name [String, nil] Name of the thermostat schedule.
61
+ # @param starts_at [String, nil] Date and time at which the thermostat schedule starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
62
62
  # @return [nil] OK
63
63
  def update(thermostat_schedule_id:, climate_preset_key: nil, ends_at: nil, is_override_allowed: nil, max_override_period_minutes: nil, name: nil, starts_at: nil)
64
- @client.post("/thermostats/schedules/update", {thermostat_schedule_id: thermostat_schedule_id, climate_preset_key: climate_preset_key, ends_at: ends_at, is_override_allowed: is_override_allowed, max_override_period_minutes: max_override_period_minutes, name: name, starts_at: starts_at}.compact)
64
+ @client.patch("/thermostats/schedules/update", {thermostat_schedule_id: thermostat_schedule_id, climate_preset_key: climate_preset_key, ends_at: ends_at, is_override_allowed: is_override_allowed, max_override_period_minutes: max_override_period_minutes, name: name, starts_at: starts_at}.compact)
65
65
 
66
66
  nil
67
67
  end
@@ -9,12 +9,12 @@ module Seam
9
9
  end
10
10
 
11
11
  # Simulates having adjusted the [HVAC mode](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) for a [thermostat](https://docs.seam.co/capability-guides/thermostats). Only applicable for [sandbox devices](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). See also [Testing Your Thermostat App with Simulate Endpoints](https://docs.seam.co/capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints).
12
- # @param device_id ID of the thermostat device for which you want to simulate having adjusted the HVAC mode.
13
- # @param hvac_mode HVAC mode that you want to simulate.
14
- # @param cooling_set_point_celsius Cooling [set point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C that you want to simulate. You must set `cooling_set_point_celsius` or `cooling_set_point_fahrenheit`.
15
- # @param cooling_set_point_fahrenheit Cooling [set point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °F that you want to simulate. You must set `cooling_set_point_fahrenheit` or `cooling_set_point_celsius`.
16
- # @param heating_set_point_celsius Heating [set point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C that you want to simulate. You must set `heating_set_point_celsius` or `heating_set_point_fahrenheit`.
17
- # @param heating_set_point_fahrenheit Heating [set point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °F that you want to simulate. You must set `heating_set_point_fahrenheit` or `heating_set_point_celsius`.
12
+ # @param device_id [String] ID of the thermostat device for which you want to simulate having adjusted the HVAC mode.
13
+ # @param hvac_mode [String] HVAC mode that you want to simulate.
14
+ # @param cooling_set_point_celsius [Float, nil] Cooling [set point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C that you want to simulate. You must set `cooling_set_point_celsius` or `cooling_set_point_fahrenheit`.
15
+ # @param cooling_set_point_fahrenheit [Float, nil] Cooling [set point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °F that you want to simulate. You must set `cooling_set_point_fahrenheit` or `cooling_set_point_celsius`.
16
+ # @param heating_set_point_celsius [Float, nil] Heating [set point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C that you want to simulate. You must set `heating_set_point_celsius` or `heating_set_point_fahrenheit`.
17
+ # @param heating_set_point_fahrenheit [Float, nil] Heating [set point](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °F that you want to simulate. You must set `heating_set_point_fahrenheit` or `heating_set_point_celsius`.
18
18
  # @return [nil] OK
19
19
  def hvac_mode_adjusted(device_id:, hvac_mode:, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil)
20
20
  @client.post("/thermostats/simulate/hvac_mode_adjusted", {device_id: device_id, hvac_mode: hvac_mode, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit}.compact)
@@ -23,9 +23,9 @@ module Seam
23
23
  end
24
24
 
25
25
  # Simulates a [thermostat](https://docs.seam.co/capability-guides/thermostats) reaching a specified temperature. Only applicable for [sandbox devices](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces). See also [Testing Your Thermostat App with Simulate Endpoints](https://docs.seam.co/capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints).
26
- # @param device_id ID of the thermostat device that you want to simulate reaching a specified temperature.
27
- # @param temperature_celsius Temperature in °C that you want simulate the thermostat reaching. You must set `temperature_celsius` or `temperature_fahrenheit`.
28
- # @param temperature_fahrenheit Temperature in °F that you want simulate the thermostat reaching. You must set `temperature_fahrenheit` or `temperature_celsius`.
26
+ # @param device_id [String] ID of the thermostat device that you want to simulate reaching a specified temperature.
27
+ # @param temperature_celsius [Float, nil] Temperature in °C that you want simulate the thermostat reaching. You must set `temperature_celsius` or `temperature_fahrenheit`.
28
+ # @param temperature_fahrenheit [Float, nil] Temperature in °F that you want simulate the thermostat reaching. You must set `temperature_fahrenheit` or `temperature_celsius`.
29
29
  # @return [nil] OK
30
30
  def temperature_reached(device_id:, temperature_celsius: nil, temperature_fahrenheit: nil)
31
31
  @client.post("/thermostats/simulate/temperature_reached", {device_id: device_id, temperature_celsius: temperature_celsius, temperature_fahrenheit: temperature_fahrenheit}.compact)
@@ -17,22 +17,22 @@ module Seam
17
17
  # You must specify either `user_identity_id` or `user_identity_key` to identify the user identity.
18
18
  #
19
19
  # If `user_identity_key` is provided, but the user identity doesn't exist, a new user identity will be created automatically using information from the ACS user.
20
- # @param acs_user_id ID of the access system user that you want to add to the user identity.
21
- # @param user_identity_id ID of the user identity to which you want to add an access system user.
22
- # @param user_identity_key Key of the user identity to which you want to add an access system user.
20
+ # @param acs_user_id [String] ID of the access system user that you want to add to the user identity.
21
+ # @param user_identity_id [String, nil] ID of the user identity to which you want to add an access system user.
22
+ # @param user_identity_key [String, nil] Key of the user identity to which you want to add an access system user.
23
23
  # @return [nil] OK
24
24
  def add_acs_user(acs_user_id:, user_identity_id: nil, user_identity_key: nil)
25
- @client.post("/user_identities/add_acs_user", {acs_user_id: acs_user_id, user_identity_id: user_identity_id, user_identity_key: user_identity_key}.compact)
25
+ @client.put("/user_identities/add_acs_user", {acs_user_id: acs_user_id, user_identity_id: user_identity_id, user_identity_key: user_identity_key}.compact)
26
26
 
27
27
  nil
28
28
  end
29
29
 
30
30
  # Creates a new [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).
31
- # @param acs_system_ids List of access system IDs to associate with the new user identity through access system users. If there's no user with the same email address or phone number in the specified access systems, a new access system user is created. If there is an existing user with the same email or phone number in the specified access systems, the user is linked to the user identity.
32
- # @param email_address Unique email address for the new user identity.
33
- # @param full_name Full name of the user associated with the new user identity.
34
- # @param phone_number Unique phone number for the new user identity in E.164 format (for example, +15555550100).
35
- # @param user_identity_key Unique key for the new user identity.
31
+ # @param acs_system_ids [Array<String>, nil] List of access system IDs to associate with the new user identity through access system users. If there's no user with the same email address or phone number in the specified access systems, a new access system user is created. If there is an existing user with the same email or phone number in the specified access systems, the user is linked to the user identity.
32
+ # @param email_address [String, nil] Unique email address for the new user identity.
33
+ # @param full_name [String, nil] Full name of the user associated with the new user identity.
34
+ # @param phone_number [String, nil] Unique phone number for the new user identity in E.164 format (for example, +15555550100).
35
+ # @param user_identity_key [String, nil] Unique key for the new user identity.
36
36
  # @return [Seam::Resources::UserIdentity] OK
37
37
  def create(acs_system_ids: nil, email_address: nil, full_name: nil, phone_number: nil, user_identity_key: nil)
38
38
  res = @client.post("/user_identities/create", {acs_system_ids: acs_system_ids, email_address: email_address, full_name: full_name, phone_number: phone_number, user_identity_key: user_identity_key}.compact)
@@ -41,18 +41,18 @@ module Seam
41
41
  end
42
42
 
43
43
  # Deletes a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). This deletes the user identity and all associated resources, including any [credentials](https://docs.seam.co/api/acs/credentials), [acs users](https://docs.seam.co/api/acs/users) and [client sessions](https://docs.seam.co/api/client_sessions).
44
- # @param user_identity_id ID of the user identity that you want to delete.
44
+ # @param user_identity_id [String] ID of the user identity that you want to delete.
45
45
  # @return [nil] OK
46
46
  def delete(user_identity_id:)
47
- @client.post("/user_identities/delete", {user_identity_id: user_identity_id}.compact)
47
+ @client.delete("/user_identities/delete", {user_identity_id: user_identity_id}.compact)
48
48
 
49
49
  nil
50
50
  end
51
51
 
52
52
  # Generates a new [instant key](https://docs.seam.co/capability-guides/instant-keys) for a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).
53
- # @param user_identity_id ID of the user identity for which you want to generate an instant key.
54
- # @param customization_profile_id
55
- # @param max_use_count Maximum number of times the instant key can be used. Default: 1.
53
+ # @param user_identity_id [String] ID of the user identity for which you want to generate an instant key.
54
+ # @param customization_profile_id [String, nil]
55
+ # @param max_use_count [Float, nil] Maximum number of times the instant key can be used. Default: 1.
56
56
  # @return [Seam::Resources::InstantKey] OK
57
57
  def generate_instant_key(user_identity_id:, customization_profile_id: nil, max_use_count: nil)
58
58
  res = @client.post("/user_identities/generate_instant_key", {user_identity_id: user_identity_id, customization_profile_id: customization_profile_id, max_use_count: max_use_count}.compact)
@@ -61,32 +61,36 @@ module Seam
61
61
  end
62
62
 
63
63
  # Returns a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).
64
- # @param user_identity_id ID of the user identity that you want to get.
65
- # @param user_identity_key
64
+ # @param user_identity_id [String, nil] ID of the user identity that you want to get.
65
+ # @param user_identity_key [String, nil]
66
66
  # @return [Seam::Resources::UserIdentity] OK
67
67
  def get(user_identity_id: nil, user_identity_key: nil)
68
- res = @client.post("/user_identities/get", {user_identity_id: user_identity_id, user_identity_key: user_identity_key}.compact)
68
+ if user_identity_id.nil? && user_identity_key.nil?
69
+ raise TypeError, "At least one parameter is required for /user_identities/get"
70
+ end
71
+
72
+ res = @client.get("/user_identities/get", {user_identity_id: user_identity_id, user_identity_key: user_identity_key}.compact)
69
73
 
70
74
  Seam::Resources::UserIdentity.load_from_response(res.body["user_identity"])
71
75
  end
72
76
 
73
77
  # Grants a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) access to a specified [device](https://docs.seam.co/core-concepts/devices/).
74
- # @param device_id ID of the managed device to which you want to grant access to the user identity.
75
- # @param user_identity_id ID of the user identity that you want to grant access to a device.
78
+ # @param device_id [String] ID of the managed device to which you want to grant access to the user identity.
79
+ # @param user_identity_id [String] ID of the user identity that you want to grant access to a device.
76
80
  # @return [nil] OK
77
81
  def grant_access_to_device(device_id:, user_identity_id:)
78
- @client.post("/user_identities/grant_access_to_device", {device_id: device_id, user_identity_id: user_identity_id}.compact)
82
+ @client.put("/user_identities/grant_access_to_device", {device_id: device_id, user_identity_id: user_identity_id}.compact)
79
83
 
80
84
  nil
81
85
  end
82
86
 
83
87
  # Returns a list of all [user identities](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).
84
- # @param created_before Timestamp by which to limit returned user identities. Returns user identities created before this timestamp.
85
- # @param credential_manager_acs_system_id `acs_system_id` of the credential manager by which you want to filter the list of user identities.
86
- # @param limit Maximum number of records to return per page.
87
- # @param page_cursor Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.
88
- # @param search String for which to search. Filters returned user identities to include all records that satisfy a partial match using `full_name`, `phone_number`, `email_address` or `user_identity_id`.
89
- # @param user_identity_ids Array of user identity IDs by which to filter the list of user identities.
88
+ # @param created_before [Time, nil] Timestamp by which to limit returned user identities. Returns user identities created before this timestamp.
89
+ # @param credential_manager_acs_system_id [String, nil] `acs_system_id` of the credential manager by which you want to filter the list of user identities.
90
+ # @param limit [Integer, nil] Maximum number of records to return per page.
91
+ # @param page_cursor [String, nil] Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.
92
+ # @param search [String, nil] String for which to search. Filters returned user identities to include all records that satisfy a partial match using `full_name`, `phone_number`, `email_address` or `user_identity_id`.
93
+ # @param user_identity_ids [Array<String>, nil] Array of user identity IDs by which to filter the list of user identities.
90
94
  # @return [Seam::Resources::UserIdentity] OK
91
95
  def list(created_before: nil, credential_manager_acs_system_id: nil, limit: nil, page_cursor: nil, search: nil, user_identity_ids: nil)
92
96
  res = @client.post("/user_identities/list", {created_before: created_before, credential_manager_acs_system_id: credential_manager_acs_system_id, limit: limit, page_cursor: page_cursor, search: search, user_identity_ids: user_identity_ids}.compact)
@@ -95,70 +99,70 @@ module Seam
95
99
  end
96
100
 
97
101
  # Returns a list of all [devices](https://docs.seam.co/core-concepts/devices) associated with a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). This includes devices derived from the access grants assigned to the user identity and devices directly linked to the user identity.
98
- # @param user_identity_id ID of the user identity for which you want to retrieve all accessible devices.
102
+ # @param user_identity_id [String] ID of the user identity for which you want to retrieve all accessible devices.
99
103
  # @return [Seam::Resources::Device] OK
100
104
  def list_accessible_devices(user_identity_id:)
101
- res = @client.post("/user_identities/list_accessible_devices", {user_identity_id: user_identity_id}.compact)
105
+ res = @client.get("/user_identities/list_accessible_devices", {user_identity_id: user_identity_id}.compact)
102
106
 
103
107
  Seam::Resources::Device.load_from_response(res.body["devices"])
104
108
  end
105
109
 
106
110
  # Returns a list of all [ACS entrances](https://docs.seam.co/api/acs/entrances) accessible to a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). This includes entrances derived from the access grants assigned to the user identity and entrances accessible through ACS users linked to the user identity.
107
- # @param user_identity_id ID of the user identity for which you want to retrieve all accessible entrances.
111
+ # @param user_identity_id [String] ID of the user identity for which you want to retrieve all accessible entrances.
108
112
  # @return [Seam::Resources::AcsEntrance] OK
109
113
  def list_accessible_entrances(user_identity_id:)
110
- res = @client.post("/user_identities/list_accessible_entrances", {user_identity_id: user_identity_id}.compact)
114
+ res = @client.get("/user_identities/list_accessible_entrances", {user_identity_id: user_identity_id}.compact)
111
115
 
112
116
  Seam::Resources::AcsEntrance.load_from_response(res.body["acs_entrances"])
113
117
  end
114
118
 
115
119
  # Returns a list of all [access systems](https://docs.seam.co/low-level-apis/access-systems) associated with a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).
116
- # @param user_identity_id ID of the user identity for which you want to retrieve all access systems.
120
+ # @param user_identity_id [String] ID of the user identity for which you want to retrieve all access systems.
117
121
  # @return [Seam::Resources::AcsSystem] OK
118
122
  def list_acs_systems(user_identity_id:)
119
- res = @client.post("/user_identities/list_acs_systems", {user_identity_id: user_identity_id}.compact)
123
+ res = @client.get("/user_identities/list_acs_systems", {user_identity_id: user_identity_id}.compact)
120
124
 
121
125
  Seam::Resources::AcsSystem.load_from_response(res.body["acs_systems"])
122
126
  end
123
127
 
124
128
  # Returns a list of all [access system users](https://docs.seam.co/low-level-apis/access-systems/user-management) assigned to a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).
125
- # @param user_identity_id ID of the user identity for which you want to retrieve all access system users.
129
+ # @param user_identity_id [String] ID of the user identity for which you want to retrieve all access system users.
126
130
  # @return [Seam::Resources::AcsUser] OK
127
131
  def list_acs_users(user_identity_id:)
128
- res = @client.post("/user_identities/list_acs_users", {user_identity_id: user_identity_id}.compact)
132
+ res = @client.get("/user_identities/list_acs_users", {user_identity_id: user_identity_id}.compact)
129
133
 
130
134
  Seam::Resources::AcsUser.load_from_response(res.body["acs_users"])
131
135
  end
132
136
 
133
137
  # Removes a specified [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management) from a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).
134
- # @param acs_user_id ID of the access system user that you want to remove from the user identity..
135
- # @param user_identity_id ID of the user identity from which you want to remove an access system user.
138
+ # @param acs_user_id [String] ID of the access system user that you want to remove from the user identity..
139
+ # @param user_identity_id [String] ID of the user identity from which you want to remove an access system user.
136
140
  # @return [nil] OK
137
141
  def remove_acs_user(acs_user_id:, user_identity_id:)
138
- @client.post("/user_identities/remove_acs_user", {acs_user_id: acs_user_id, user_identity_id: user_identity_id}.compact)
142
+ @client.delete("/user_identities/remove_acs_user", {acs_user_id: acs_user_id, user_identity_id: user_identity_id}.compact)
139
143
 
140
144
  nil
141
145
  end
142
146
 
143
147
  # Revokes access to a specified [device](https://docs.seam.co/core-concepts/devices/) from a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).
144
- # @param device_id ID of the managed device to which you want to revoke access from the user identity.
145
- # @param user_identity_id ID of the user identity from which you want to revoke access to a device.
148
+ # @param device_id [String] ID of the managed device to which you want to revoke access from the user identity.
149
+ # @param user_identity_id [String] ID of the user identity from which you want to revoke access to a device.
146
150
  # @return [nil] OK
147
151
  def revoke_access_to_device(device_id:, user_identity_id:)
148
- @client.post("/user_identities/revoke_access_to_device", {device_id: device_id, user_identity_id: user_identity_id}.compact)
152
+ @client.delete("/user_identities/revoke_access_to_device", {device_id: device_id, user_identity_id: user_identity_id}.compact)
149
153
 
150
154
  nil
151
155
  end
152
156
 
153
157
  # Updates a specified [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).
154
- # @param user_identity_id ID of the user identity that you want to update.
155
- # @param email_address Unique email address for the user identity.
156
- # @param full_name Full name of the user associated with the user identity.
157
- # @param phone_number Unique phone number for the user identity.
158
- # @param user_identity_key Unique key for the user identity.
158
+ # @param user_identity_id [String] ID of the user identity that you want to update.
159
+ # @param email_address [String, nil] Unique email address for the user identity.
160
+ # @param full_name [String, nil] Full name of the user associated with the user identity.
161
+ # @param phone_number [String, nil] Unique phone number for the user identity.
162
+ # @param user_identity_key [String, nil] Unique key for the user identity.
159
163
  # @return [nil] OK
160
164
  def update(user_identity_id:, email_address: nil, full_name: nil, phone_number: nil, user_identity_key: nil)
161
- @client.post("/user_identities/update", {user_identity_id: user_identity_id, email_address: email_address, full_name: full_name, phone_number: phone_number, user_identity_key: user_identity_key}.compact)
165
+ @client.patch("/user_identities/update", {user_identity_id: user_identity_id, email_address: email_address, full_name: full_name, phone_number: phone_number, user_identity_key: user_identity_key}.compact)
162
166
 
163
167
  nil
164
168
  end
@@ -9,22 +9,22 @@ module Seam
9
9
  end
10
10
 
11
11
  # Returns a specified unmanaged [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) (where is_managed = false).
12
- # @param user_identity_id ID of the unmanaged user identity that you want to get.
12
+ # @param user_identity_id [String] ID of the unmanaged user identity that you want to get.
13
13
  # @return [Seam::Resources::UnmanagedUserIdentity] OK
14
14
  def get(user_identity_id:)
15
- res = @client.post("/user_identities/unmanaged/get", {user_identity_id: user_identity_id}.compact)
15
+ res = @client.get("/user_identities/unmanaged/get", {user_identity_id: user_identity_id}.compact)
16
16
 
17
17
  Seam::Resources::UnmanagedUserIdentity.load_from_response(res.body["user_identity"])
18
18
  end
19
19
 
20
20
  # Returns a list of all unmanaged [user identities](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) (where is_managed = false).
21
- # @param created_before Timestamp by which to limit returned unmanaged user identities. Returns user identities created before this timestamp.
22
- # @param limit Maximum number of records to return per page.
23
- # @param page_cursor Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.
24
- # @param search String for which to search. Filters returned unmanaged user identities to include all records that satisfy a partial match using `full_name`, `phone_number`, `email_address`, `user_identity_id` or `acs_system_id`.
21
+ # @param created_before [Time, nil] Timestamp by which to limit returned unmanaged user identities. Returns user identities created before this timestamp.
22
+ # @param limit [Integer, nil] Maximum number of records to return per page.
23
+ # @param page_cursor [String, nil] Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`.
24
+ # @param search [String, nil] String for which to search. Filters returned unmanaged user identities to include all records that satisfy a partial match using `full_name`, `phone_number`, `email_address`, `user_identity_id` or `acs_system_id`.
25
25
  # @return [Seam::Resources::UnmanagedUserIdentity] OK
26
26
  def list(created_before: nil, limit: nil, page_cursor: nil, search: nil)
27
- res = @client.post("/user_identities/unmanaged/list", {created_before: created_before, limit: limit, page_cursor: page_cursor, search: search}.compact)
27
+ res = @client.get("/user_identities/unmanaged/list", {created_before: created_before, limit: limit, page_cursor: page_cursor, search: search}.compact)
28
28
 
29
29
  Seam::Resources::UnmanagedUserIdentity.load_from_response(res.body["user_identities"])
30
30
  end
@@ -32,12 +32,12 @@ module Seam
32
32
  # Updates an unmanaged [user identity](https://docs.seam.co/capability-guides/mobile-access/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) to make it managed.
33
33
  #
34
34
  # This endpoint can only be used to convert unmanaged user identities to managed ones by setting `is_managed` to `true`. It cannot be used to convert managed user identities back to unmanaged.
35
- # @param is_managed Must be set to true to convert the unmanaged user identity to managed.
36
- # @param user_identity_id ID of the unmanaged user identity that you want to update.
37
- # @param user_identity_key Unique key for the user identity. If not provided, the existing key will be preserved.
35
+ # @param is_managed [Boolean] Must be set to true to convert the unmanaged user identity to managed.
36
+ # @param user_identity_id [String] ID of the unmanaged user identity that you want to update.
37
+ # @param user_identity_key [String, nil] Unique key for the user identity. If not provided, the existing key will be preserved.
38
38
  # @return [nil] OK
39
39
  def update(is_managed:, user_identity_id:, user_identity_key: nil)
40
- @client.post("/user_identities/unmanaged/update", {is_managed: is_managed, user_identity_id: user_identity_id, user_identity_key: user_identity_key}.compact)
40
+ @client.patch("/user_identities/unmanaged/update", {is_managed: is_managed, user_identity_id: user_identity_id, user_identity_key: user_identity_key}.compact)
41
41
 
42
42
  nil
43
43
  end
@@ -9,8 +9,8 @@ module Seam
9
9
  end
10
10
 
11
11
  # Creates a new [webhook](https://docs.seam.co/developer-tools/webhooks).
12
- # @param url URL for the new webhook.
13
- # @param event_types Types of events that you want the new webhook to receive.
12
+ # @param url [String] URL for the new webhook.
13
+ # @param event_types [Array<String>, nil] Types of events that you want the new webhook to receive.
14
14
  # @return [Seam::Resources::Webhook] OK
15
15
  def create(url:, event_types: nil)
16
16
  res = @client.post("/webhooks/create", {url: url, event_types: event_types}.compact)
@@ -19,19 +19,19 @@ module Seam
19
19
  end
20
20
 
21
21
  # Deletes a specified [webhook](https://docs.seam.co/developer-tools/webhooks).
22
- # @param webhook_id ID of the webhook that you want to delete.
22
+ # @param webhook_id [String] ID of the webhook that you want to delete.
23
23
  # @return [nil] OK
24
24
  def delete(webhook_id:)
25
- @client.post("/webhooks/delete", {webhook_id: webhook_id}.compact)
25
+ @client.delete("/webhooks/delete", {webhook_id: webhook_id}.compact)
26
26
 
27
27
  nil
28
28
  end
29
29
 
30
30
  # Gets a specified [webhook](https://docs.seam.co/developer-tools/webhooks).
31
- # @param webhook_id ID of the webhook that you want to get.
31
+ # @param webhook_id [String] ID of the webhook that you want to get.
32
32
  # @return [Seam::Resources::Webhook] OK
33
33
  def get(webhook_id:)
34
- res = @client.post("/webhooks/get", {webhook_id: webhook_id}.compact)
34
+ res = @client.get("/webhooks/get", {webhook_id: webhook_id}.compact)
35
35
 
36
36
  Seam::Resources::Webhook.load_from_response(res.body["webhook"])
37
37
  end
@@ -39,17 +39,17 @@ module Seam
39
39
  # Returns a list of all [webhooks](https://docs.seam.co/developer-tools/webhooks).
40
40
  # @return [Seam::Resources::Webhook] OK
41
41
  def list
42
- res = @client.post("/webhooks/list")
42
+ res = @client.get("/webhooks/list")
43
43
 
44
44
  Seam::Resources::Webhook.load_from_response(res.body["webhooks"])
45
45
  end
46
46
 
47
47
  # Updates a specified [webhook](https://docs.seam.co/developer-tools/webhooks).
48
- # @param event_types Types of events that you want the webhook to receive.
49
- # @param webhook_id ID of the webhook that you want to update.
48
+ # @param event_types [Array<String>] Types of events that you want the webhook to receive.
49
+ # @param webhook_id [String] ID of the webhook that you want to update.
50
50
  # @return [nil] OK
51
51
  def update(event_types:, webhook_id:)
52
- @client.post("/webhooks/update", {event_types: event_types, webhook_id: webhook_id}.compact)
52
+ @client.put("/webhooks/update", {event_types: event_types, webhook_id: webhook_id}.compact)
53
53
 
54
54
  nil
55
55
  end
@@ -11,20 +11,20 @@ module Seam
11
11
  end
12
12
 
13
13
  # Creates a new [workspace](https://docs.seam.co/core-concepts/workspaces).
14
- # @param name Name of the new workspace.
15
- # @param company_name Company name for the new workspace.
16
- # @param connect_partner_name Connect partner name for the new workspace.
14
+ # @param name [String] Name of the new workspace.
15
+ # @param company_name [String, nil] Company name for the new workspace.
16
+ # @param connect_partner_name [String, nil] Connect partner name for the new workspace.
17
17
  # @deprecated connect_partner_name: Use `company_name` instead.
18
- # @param connect_webview_customization [Connect Webview](https://docs.seam.co/core-concepts/connect-webviews) customizations for the new workspace. See also [Customize the Look and Feel of Your Connect Webviews](https://docs.seam.co/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-look-and-feel-of-your-connect-webviews).
19
- # @param is_sandbox Indicates whether the new workspace is a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces).
20
- # @param organization_id ID of the organization to associate with the new workspace.
21
- # @param webview_logo_shape
18
+ # @param connect_webview_customization [Hash, nil] [Connect Webview](https://docs.seam.co/core-concepts/connect-webviews) customizations for the new workspace. See also [Customize the Look and Feel of Your Connect Webviews](https://docs.seam.co/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-look-and-feel-of-your-connect-webviews).
19
+ # @param is_sandbox [Boolean, nil] Indicates whether the new workspace is a [sandbox workspace](https://docs.seam.co/core-concepts/workspaces#sandbox-workspaces).
20
+ # @param organization_id [String, nil] ID of the organization to associate with the new workspace.
21
+ # @param webview_logo_shape [String, nil]
22
22
  # @deprecated webview_logo_shape: Use `connect_webview_customization.webview_logo_shape` instead.
23
- # @param webview_primary_button_color
23
+ # @param webview_primary_button_color [String, nil]
24
24
  # @deprecated webview_primary_button_color: Use `connect_webview_customization.webview_primary_button_color` instead.
25
- # @param webview_primary_button_text_color
25
+ # @param webview_primary_button_text_color [String, nil]
26
26
  # @deprecated webview_primary_button_text_color: Use `connect_webview_customization.webview_primary_button_text_color` instead.
27
- # @param webview_success_message
27
+ # @param webview_success_message [String, nil]
28
28
  # @deprecated webview_success_message: Use `connect_webview_customization.webview_success_message` instead.
29
29
  # @return [Seam::Resources::Workspace] OK
30
30
  def create(name:, company_name: nil, connect_partner_name: nil, connect_webview_customization: nil, is_sandbox: nil, organization_id: nil, webview_logo_shape: nil, webview_primary_button_color: nil, webview_primary_button_text_color: nil, webview_success_message: nil)
@@ -36,7 +36,7 @@ module Seam
36
36
  # Returns the [workspace](https://docs.seam.co/core-concepts/workspaces) associated with the authentication value.
37
37
  # @return [Seam::Resources::Workspace] OK
38
38
  def get
39
- res = @client.post("/workspaces/get")
39
+ res = @client.get("/workspaces/get")
40
40
 
41
41
  Seam::Resources::Workspace.load_from_response(res.body["workspace"])
42
42
  end
@@ -44,7 +44,7 @@ module Seam
44
44
  # Returns a list of [workspaces](https://docs.seam.co/core-concepts/workspaces) associated with the authentication value.
45
45
  # @return [Seam::Resources::Workspace] OK
46
46
  def list
47
- res = @client.post("/workspaces/list")
47
+ res = @client.get("/workspaces/list")
48
48
 
49
49
  Seam::Resources::Workspace.load_from_response(res.body["workspaces"])
50
50
  end
@@ -60,15 +60,15 @@ module Seam
60
60
  end
61
61
 
62
62
  # Updates the [workspace](https://docs.seam.co/core-concepts/workspaces) associated with the authentication value.
63
- # @param connect_partner_name Connect partner name for the workspace.
64
- # @param connect_webview_customization [Connect Webview](https://docs.seam.co/core-concepts/connect-webviews) customizations for the workspace. See also [Customize the Look and Feel of Your Connect Webviews](https://docs.seam.co/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-look-and-feel-of-your-connect-webviews).
65
- # @param is_publishable_key_auth_enabled Indicates whether publishable key authentication is enabled for this workspace.
66
- # @param is_suspended Indicates whether the workspace is suspended.
67
- # @param name Name of the workspace.
68
- # @param organization_id ID of the organization to assign the workspace to. The authenticated user must be the owner of the workspace and an admin of the target organization.
63
+ # @param connect_partner_name [String, nil] Connect partner name for the workspace.
64
+ # @param connect_webview_customization [Hash, nil] [Connect Webview](https://docs.seam.co/core-concepts/connect-webviews) customizations for the workspace. See also [Customize the Look and Feel of Your Connect Webviews](https://docs.seam.co/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-look-and-feel-of-your-connect-webviews).
65
+ # @param is_publishable_key_auth_enabled [Boolean, nil] Indicates whether publishable key authentication is enabled for this workspace.
66
+ # @param is_suspended [Boolean, nil] Indicates whether the workspace is suspended.
67
+ # @param name [String, nil] Name of the workspace.
68
+ # @param organization_id [String, nil] ID of the organization to assign the workspace to. The authenticated user must be the owner of the workspace and an admin of the target organization.
69
69
  # @return [nil] OK
70
70
  def update(connect_partner_name: nil, connect_webview_customization: nil, is_publishable_key_auth_enabled: nil, is_suspended: nil, name: nil, organization_id: nil)
71
- @client.post("/workspaces/update", {connect_partner_name: connect_partner_name, connect_webview_customization: connect_webview_customization, is_publishable_key_auth_enabled: is_publishable_key_auth_enabled, is_suspended: is_suspended, name: name, organization_id: organization_id}.compact)
71
+ @client.patch("/workspaces/update", {connect_partner_name: connect_partner_name, connect_webview_customization: connect_webview_customization, is_publishable_key_auth_enabled: is_publishable_key_auth_enabled, is_suspended: is_suspended, name: name, organization_id: organization_id}.compact)
72
72
 
73
73
  nil
74
74
  end
data/lib/seam/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Seam
4
- VERSION = "2.138.0"
4
+ VERSION = "2.140.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seam
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.138.0
4
+ version: 2.140.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seam Labs, Inc.
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2026-08-13 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: faraday
@@ -128,14 +127,14 @@ dependencies:
128
127
  requirements:
129
128
  - - "~>"
130
129
  - !ruby/object:Gem::Version
131
- version: '0.21'
130
+ version: '1.1'
132
131
  type: :development
133
132
  prerelease: false
134
133
  version_requirements: !ruby/object:Gem::Requirement
135
134
  requirements:
136
135
  - - "~>"
137
136
  - !ruby/object:Gem::Version
138
- version: '0.21'
137
+ version: '1.1'
139
138
  - !ruby/object:Gem::Dependency
140
139
  name: simplecov-console
141
140
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +169,14 @@ dependencies:
170
169
  requirements:
171
170
  - - "~>"
172
171
  - !ruby/object:Gem::Version
173
- version: 3.24.0
172
+ version: 3.26.2
174
173
  type: :development
175
174
  prerelease: false
176
175
  version_requirements: !ruby/object:Gem::Requirement
177
176
  requirements:
178
177
  - - "~>"
179
178
  - !ruby/object:Gem::Version
180
- version: 3.24.0
179
+ version: 3.26.2
181
180
  description: SDK for the Seam API written in Ruby.
182
181
  email: engineering@getseam.com
183
182
  executables: []
@@ -293,7 +292,6 @@ metadata:
293
292
  bug_tracker_uri: https://github.com/seamapi/ruby-next/issues
294
293
  changelog_uri: https://github.com/seamapi/ruby-next/blob/main/CHANGELOG.md
295
294
  github_repo: git@github.com:seamapi/ruby-next.git
296
- post_install_message:
297
295
  rdoc_options: []
298
296
  require_paths:
299
297
  - lib
@@ -301,15 +299,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
301
299
  requirements:
302
300
  - - ">="
303
301
  - !ruby/object:Gem::Version
304
- version: 3.1.0
302
+ version: 3.3.0
305
303
  required_rubygems_version: !ruby/object:Gem::Requirement
306
304
  requirements:
307
305
  - - ">="
308
306
  - !ruby/object:Gem::Version
309
307
  version: '0'
310
308
  requirements: []
311
- rubygems_version: 3.5.3
312
- signing_key:
309
+ rubygems_version: 4.0.3
313
310
  specification_version: 4
314
311
  summary: Seam Ruby SDK
315
312
  test_files: []