@seamapi/types 1.1126.0 → 1.1128.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 (50) hide show
  1. package/lib/seam/connect/models/action-attempts/pause-speaker-playback.js +26 -14
  2. package/lib/seam/connect/models/action-attempts/pause-speaker-playback.js.map +1 -1
  3. package/lib/seam/connect/models/action-attempts/play-speaker-audio-clip.js +26 -14
  4. package/lib/seam/connect/models/action-attempts/play-speaker-audio-clip.js.map +1 -1
  5. package/lib/seam/connect/models/action-attempts/play-speaker-chime.js +26 -14
  6. package/lib/seam/connect/models/action-attempts/play-speaker-chime.js.map +1 -1
  7. package/lib/seam/connect/models/action-attempts/play-speaker-favorite.js +26 -14
  8. package/lib/seam/connect/models/action-attempts/play-speaker-favorite.js.map +1 -1
  9. package/lib/seam/connect/models/action-attempts/resume-speaker-playback.js +26 -14
  10. package/lib/seam/connect/models/action-attempts/resume-speaker-playback.js.map +1 -1
  11. package/lib/seam/connect/models/action-attempts/set-speaker-mute.js +26 -14
  12. package/lib/seam/connect/models/action-attempts/set-speaker-mute.js.map +1 -1
  13. package/lib/seam/connect/models/action-attempts/set-speaker-volume.js +26 -14
  14. package/lib/seam/connect/models/action-attempts/set-speaker-volume.js.map +1 -1
  15. package/lib/seam/connect/models/customer/access-grant-resources.d.ts +14 -14
  16. package/lib/seam/connect/models/customer/customer-data.d.ts +24 -24
  17. package/lib/seam/connect/models/customer/customer-delete-data.d.ts +2 -2
  18. package/lib/seam/connect/models/customer/customer-portal.d.ts +214 -24
  19. package/lib/seam/connect/models/customer/customer-portal.js +23 -0
  20. package/lib/seam/connect/models/customer/customer-portal.js.map +1 -1
  21. package/lib/seam/connect/models/customization-profiles/customization-profile.d.ts +266 -0
  22. package/lib/seam/connect/models/customization-profiles/customization-profile.js +4 -0
  23. package/lib/seam/connect/models/customization-profiles/customization-profile.js.map +1 -1
  24. package/lib/seam/connect/models/devices/capability-properties/speaker.js +1 -0
  25. package/lib/seam/connect/models/devices/capability-properties/speaker.js.map +1 -1
  26. package/lib/seam/connect/models/devices/device-metadata.js +6 -2
  27. package/lib/seam/connect/models/devices/device-metadata.js.map +1 -1
  28. package/lib/seam/connect/models/devices/device.js +48 -24
  29. package/lib/seam/connect/models/devices/device.js.map +1 -1
  30. package/lib/seam/connect/models/events/seam-event.d.ts +12 -12
  31. package/lib/seam/connect/models/events/spaces.d.ts +24 -24
  32. package/lib/seam/connect/openapi.js +649 -38
  33. package/lib/seam/connect/openapi.js.map +1 -1
  34. package/lib/seam/connect/route-types.d.ts +693 -144
  35. package/package.json +1 -1
  36. package/src/lib/seam/connect/internal/schemas.ts +1 -0
  37. package/src/lib/seam/connect/models/action-attempts/pause-speaker-playback.ts +29 -19
  38. package/src/lib/seam/connect/models/action-attempts/play-speaker-audio-clip.ts +29 -19
  39. package/src/lib/seam/connect/models/action-attempts/play-speaker-chime.ts +29 -19
  40. package/src/lib/seam/connect/models/action-attempts/play-speaker-favorite.ts +29 -19
  41. package/src/lib/seam/connect/models/action-attempts/resume-speaker-playback.ts +29 -19
  42. package/src/lib/seam/connect/models/action-attempts/set-speaker-mute.ts +29 -19
  43. package/src/lib/seam/connect/models/action-attempts/set-speaker-volume.ts +29 -19
  44. package/src/lib/seam/connect/models/customer/customer-portal.ts +24 -0
  45. package/src/lib/seam/connect/models/customization-profiles/customization-profile.ts +6 -0
  46. package/src/lib/seam/connect/models/devices/capability-properties/speaker.ts +1 -0
  47. package/src/lib/seam/connect/models/devices/device-metadata.ts +6 -2
  48. package/src/lib/seam/connect/models/devices/device.ts +48 -28
  49. package/src/lib/seam/connect/openapi.ts +732 -38
  50. package/src/lib/seam/connect/route-types.ts +941 -154
@@ -10430,6 +10430,7 @@ const openapi = {
10430
10430
  description: 'Action attempt to track the status of setting the volume on a speaker.',
10431
10431
  enum: ['SET_SPEAKER_VOLUME'],
10432
10432
  type: 'string',
10433
+ 'x-undocumented': 'Unreleased.',
10433
10434
  },
10434
10435
  error: {
10435
10436
  description: 'Errors associated with the action attempt. Null for pending action attempts.',
@@ -10449,6 +10450,7 @@ const openapi = {
10449
10450
  'action_type',
10450
10451
  ],
10451
10452
  type: 'object',
10453
+ 'x-undocumented': 'Unreleased.',
10452
10454
  },
10453
10455
  {
10454
10456
  description: 'Setting the speaker volume succeeded.',
@@ -10462,6 +10464,7 @@ const openapi = {
10462
10464
  description: 'Action attempt to track the status of setting the volume on a speaker.',
10463
10465
  enum: ['SET_SPEAKER_VOLUME'],
10464
10466
  type: 'string',
10467
+ 'x-undocumented': 'Unreleased.',
10465
10468
  },
10466
10469
  error: {
10467
10470
  description: 'Errors associated with the action attempt. Null for successful action attempts.',
@@ -10482,6 +10485,7 @@ const openapi = {
10482
10485
  'result',
10483
10486
  ],
10484
10487
  type: 'object',
10488
+ 'x-undocumented': 'Unreleased.',
10485
10489
  },
10486
10490
  {
10487
10491
  description: 'Setting the speaker volume failed.',
@@ -10495,6 +10499,7 @@ const openapi = {
10495
10499
  description: 'Action attempt to track the status of setting the volume on a speaker.',
10496
10500
  enum: ['SET_SPEAKER_VOLUME'],
10497
10501
  type: 'string',
10502
+ 'x-undocumented': 'Unreleased.',
10498
10503
  },
10499
10504
  error: {
10500
10505
  description: 'Error associated with the action.',
@@ -10522,6 +10527,7 @@ const openapi = {
10522
10527
  'error',
10523
10528
  ],
10524
10529
  type: 'object',
10530
+ 'x-undocumented': 'Unreleased.',
10525
10531
  },
10526
10532
  {
10527
10533
  description: 'Muting or unmuting the speaker is pending.',
@@ -10535,6 +10541,7 @@ const openapi = {
10535
10541
  description: 'Action attempt to track the status of muting or unmuting a speaker.',
10536
10542
  enum: ['SET_SPEAKER_MUTE'],
10537
10543
  type: 'string',
10544
+ 'x-undocumented': 'Unreleased.',
10538
10545
  },
10539
10546
  error: {
10540
10547
  description: 'Errors associated with the action attempt. Null for pending action attempts.',
@@ -10554,6 +10561,7 @@ const openapi = {
10554
10561
  'action_type',
10555
10562
  ],
10556
10563
  type: 'object',
10564
+ 'x-undocumented': 'Unreleased.',
10557
10565
  },
10558
10566
  {
10559
10567
  description: 'Muting or unmuting the speaker succeeded.',
@@ -10567,6 +10575,7 @@ const openapi = {
10567
10575
  description: 'Action attempt to track the status of muting or unmuting a speaker.',
10568
10576
  enum: ['SET_SPEAKER_MUTE'],
10569
10577
  type: 'string',
10578
+ 'x-undocumented': 'Unreleased.',
10570
10579
  },
10571
10580
  error: {
10572
10581
  description: 'Errors associated with the action attempt. Null for successful action attempts.',
@@ -10587,6 +10596,7 @@ const openapi = {
10587
10596
  'result',
10588
10597
  ],
10589
10598
  type: 'object',
10599
+ 'x-undocumented': 'Unreleased.',
10590
10600
  },
10591
10601
  {
10592
10602
  description: 'Muting or unmuting the speaker failed.',
@@ -10600,6 +10610,7 @@ const openapi = {
10600
10610
  description: 'Action attempt to track the status of muting or unmuting a speaker.',
10601
10611
  enum: ['SET_SPEAKER_MUTE'],
10602
10612
  type: 'string',
10613
+ 'x-undocumented': 'Unreleased.',
10603
10614
  },
10604
10615
  error: {
10605
10616
  description: 'Error associated with the action.',
@@ -10627,6 +10638,7 @@ const openapi = {
10627
10638
  'error',
10628
10639
  ],
10629
10640
  type: 'object',
10641
+ 'x-undocumented': 'Unreleased.',
10630
10642
  },
10631
10643
  {
10632
10644
  description: 'Pausing playback on the speaker is pending.',
@@ -10640,6 +10652,7 @@ const openapi = {
10640
10652
  description: 'Action attempt to track the status of pausing playback on a speaker.',
10641
10653
  enum: ['PAUSE_SPEAKER_PLAYBACK'],
10642
10654
  type: 'string',
10655
+ 'x-undocumented': 'Unreleased.',
10643
10656
  },
10644
10657
  error: {
10645
10658
  description: 'Errors associated with the action attempt. Null for pending action attempts.',
@@ -10659,6 +10672,7 @@ const openapi = {
10659
10672
  'action_type',
10660
10673
  ],
10661
10674
  type: 'object',
10675
+ 'x-undocumented': 'Unreleased.',
10662
10676
  },
10663
10677
  {
10664
10678
  description: 'Pausing playback on the speaker succeeded.',
@@ -10672,6 +10686,7 @@ const openapi = {
10672
10686
  description: 'Action attempt to track the status of pausing playback on a speaker.',
10673
10687
  enum: ['PAUSE_SPEAKER_PLAYBACK'],
10674
10688
  type: 'string',
10689
+ 'x-undocumented': 'Unreleased.',
10675
10690
  },
10676
10691
  error: {
10677
10692
  description: 'Errors associated with the action attempt. Null for successful action attempts.',
@@ -10699,6 +10714,7 @@ const openapi = {
10699
10714
  'result',
10700
10715
  ],
10701
10716
  type: 'object',
10717
+ 'x-undocumented': 'Unreleased.',
10702
10718
  },
10703
10719
  {
10704
10720
  description: 'Pausing playback on the speaker failed.',
@@ -10712,6 +10728,7 @@ const openapi = {
10712
10728
  description: 'Action attempt to track the status of pausing playback on a speaker.',
10713
10729
  enum: ['PAUSE_SPEAKER_PLAYBACK'],
10714
10730
  type: 'string',
10731
+ 'x-undocumented': 'Unreleased.',
10715
10732
  },
10716
10733
  error: {
10717
10734
  description: 'Error associated with the action.',
@@ -10739,6 +10756,7 @@ const openapi = {
10739
10756
  'error',
10740
10757
  ],
10741
10758
  type: 'object',
10759
+ 'x-undocumented': 'Unreleased.',
10742
10760
  },
10743
10761
  {
10744
10762
  description: 'Resuming playback on the speaker is pending.',
@@ -10752,6 +10770,7 @@ const openapi = {
10752
10770
  description: 'Action attempt to track the status of resuming playback on a speaker.',
10753
10771
  enum: ['RESUME_SPEAKER_PLAYBACK'],
10754
10772
  type: 'string',
10773
+ 'x-undocumented': 'Unreleased.',
10755
10774
  },
10756
10775
  error: {
10757
10776
  description: 'Errors associated with the action attempt. Null for pending action attempts.',
@@ -10771,6 +10790,7 @@ const openapi = {
10771
10790
  'action_type',
10772
10791
  ],
10773
10792
  type: 'object',
10793
+ 'x-undocumented': 'Unreleased.',
10774
10794
  },
10775
10795
  {
10776
10796
  description: 'Resuming playback on the speaker succeeded.',
@@ -10784,6 +10804,7 @@ const openapi = {
10784
10804
  description: 'Action attempt to track the status of resuming playback on a speaker.',
10785
10805
  enum: ['RESUME_SPEAKER_PLAYBACK'],
10786
10806
  type: 'string',
10807
+ 'x-undocumented': 'Unreleased.',
10787
10808
  },
10788
10809
  error: {
10789
10810
  description: 'Errors associated with the action attempt. Null for successful action attempts.',
@@ -10811,6 +10832,7 @@ const openapi = {
10811
10832
  'result',
10812
10833
  ],
10813
10834
  type: 'object',
10835
+ 'x-undocumented': 'Unreleased.',
10814
10836
  },
10815
10837
  {
10816
10838
  description: 'Resuming playback on the speaker failed.',
@@ -10824,6 +10846,7 @@ const openapi = {
10824
10846
  description: 'Action attempt to track the status of resuming playback on a speaker.',
10825
10847
  enum: ['RESUME_SPEAKER_PLAYBACK'],
10826
10848
  type: 'string',
10849
+ 'x-undocumented': 'Unreleased.',
10827
10850
  },
10828
10851
  error: {
10829
10852
  description: 'Error associated with the action.',
@@ -10851,6 +10874,7 @@ const openapi = {
10851
10874
  'error',
10852
10875
  ],
10853
10876
  type: 'object',
10877
+ 'x-undocumented': 'Unreleased.',
10854
10878
  },
10855
10879
  {
10856
10880
  description: 'Playing a chime on the speaker is pending.',
@@ -10864,6 +10888,7 @@ const openapi = {
10864
10888
  description: 'Action attempt to track the status of playing a chime on a speaker.',
10865
10889
  enum: ['PLAY_SPEAKER_CHIME'],
10866
10890
  type: 'string',
10891
+ 'x-undocumented': 'Unreleased.',
10867
10892
  },
10868
10893
  error: {
10869
10894
  description: 'Errors associated with the action attempt. Null for pending action attempts.',
@@ -10883,6 +10908,7 @@ const openapi = {
10883
10908
  'action_type',
10884
10909
  ],
10885
10910
  type: 'object',
10911
+ 'x-undocumented': 'Unreleased.',
10886
10912
  },
10887
10913
  {
10888
10914
  description: 'Playing a chime on the speaker succeeded.',
@@ -10896,6 +10922,7 @@ const openapi = {
10896
10922
  description: 'Action attempt to track the status of playing a chime on a speaker.',
10897
10923
  enum: ['PLAY_SPEAKER_CHIME'],
10898
10924
  type: 'string',
10925
+ 'x-undocumented': 'Unreleased.',
10899
10926
  },
10900
10927
  error: {
10901
10928
  description: 'Errors associated with the action attempt. Null for successful action attempts.',
@@ -10916,6 +10943,7 @@ const openapi = {
10916
10943
  'result',
10917
10944
  ],
10918
10945
  type: 'object',
10946
+ 'x-undocumented': 'Unreleased.',
10919
10947
  },
10920
10948
  {
10921
10949
  description: 'Playing a chime on the speaker failed.',
@@ -10929,6 +10957,7 @@ const openapi = {
10929
10957
  description: 'Action attempt to track the status of playing a chime on a speaker.',
10930
10958
  enum: ['PLAY_SPEAKER_CHIME'],
10931
10959
  type: 'string',
10960
+ 'x-undocumented': 'Unreleased.',
10932
10961
  },
10933
10962
  error: {
10934
10963
  description: 'Error associated with the action.',
@@ -10956,6 +10985,7 @@ const openapi = {
10956
10985
  'error',
10957
10986
  ],
10958
10987
  type: 'object',
10988
+ 'x-undocumented': 'Unreleased.',
10959
10989
  },
10960
10990
  {
10961
10991
  description: 'Playing a favorite on the speaker is pending.',
@@ -10969,6 +10999,7 @@ const openapi = {
10969
10999
  description: 'Action attempt to track the status of playing a favorite on a speaker.',
10970
11000
  enum: ['PLAY_SPEAKER_FAVORITE'],
10971
11001
  type: 'string',
11002
+ 'x-undocumented': 'Unreleased.',
10972
11003
  },
10973
11004
  error: {
10974
11005
  description: 'Errors associated with the action attempt. Null for pending action attempts.',
@@ -10988,6 +11019,7 @@ const openapi = {
10988
11019
  'action_type',
10989
11020
  ],
10990
11021
  type: 'object',
11022
+ 'x-undocumented': 'Unreleased.',
10991
11023
  },
10992
11024
  {
10993
11025
  description: 'Playing a favorite on the speaker succeeded.',
@@ -11001,6 +11033,7 @@ const openapi = {
11001
11033
  description: 'Action attempt to track the status of playing a favorite on a speaker.',
11002
11034
  enum: ['PLAY_SPEAKER_FAVORITE'],
11003
11035
  type: 'string',
11036
+ 'x-undocumented': 'Unreleased.',
11004
11037
  },
11005
11038
  error: {
11006
11039
  description: 'Errors associated with the action attempt. Null for successful action attempts.',
@@ -11028,6 +11061,7 @@ const openapi = {
11028
11061
  'result',
11029
11062
  ],
11030
11063
  type: 'object',
11064
+ 'x-undocumented': 'Unreleased.',
11031
11065
  },
11032
11066
  {
11033
11067
  description: 'Playing a favorite on the speaker failed.',
@@ -11041,6 +11075,7 @@ const openapi = {
11041
11075
  description: 'Action attempt to track the status of playing a favorite on a speaker.',
11042
11076
  enum: ['PLAY_SPEAKER_FAVORITE'],
11043
11077
  type: 'string',
11078
+ 'x-undocumented': 'Unreleased.',
11044
11079
  },
11045
11080
  error: {
11046
11081
  description: 'Error associated with the action.',
@@ -11068,6 +11103,7 @@ const openapi = {
11068
11103
  'error',
11069
11104
  ],
11070
11105
  type: 'object',
11106
+ 'x-undocumented': 'Unreleased.',
11071
11107
  },
11072
11108
  {
11073
11109
  description: 'Playing an audio clip on the speaker is pending.',
@@ -11081,6 +11117,7 @@ const openapi = {
11081
11117
  description: 'Action attempt to track the status of playing an audio clip on a speaker.',
11082
11118
  enum: ['PLAY_SPEAKER_AUDIO_CLIP'],
11083
11119
  type: 'string',
11120
+ 'x-undocumented': 'Unreleased.',
11084
11121
  },
11085
11122
  error: {
11086
11123
  description: 'Errors associated with the action attempt. Null for pending action attempts.',
@@ -11100,6 +11137,7 @@ const openapi = {
11100
11137
  'action_type',
11101
11138
  ],
11102
11139
  type: 'object',
11140
+ 'x-undocumented': 'Unreleased.',
11103
11141
  },
11104
11142
  {
11105
11143
  description: 'Playing an audio clip on the speaker succeeded.',
@@ -11113,6 +11151,7 @@ const openapi = {
11113
11151
  description: 'Action attempt to track the status of playing an audio clip on a speaker.',
11114
11152
  enum: ['PLAY_SPEAKER_AUDIO_CLIP'],
11115
11153
  type: 'string',
11154
+ 'x-undocumented': 'Unreleased.',
11116
11155
  },
11117
11156
  error: {
11118
11157
  description: 'Errors associated with the action attempt. Null for successful action attempts.',
@@ -11133,6 +11172,7 @@ const openapi = {
11133
11172
  'result',
11134
11173
  ],
11135
11174
  type: 'object',
11175
+ 'x-undocumented': 'Unreleased.',
11136
11176
  },
11137
11177
  {
11138
11178
  description: 'Playing an audio clip on the speaker failed.',
@@ -11146,6 +11186,7 @@ const openapi = {
11146
11186
  description: 'Action attempt to track the status of playing an audio clip on a speaker.',
11147
11187
  enum: ['PLAY_SPEAKER_AUDIO_CLIP'],
11148
11188
  type: 'string',
11189
+ 'x-undocumented': 'Unreleased.',
11149
11190
  },
11150
11191
  error: {
11151
11192
  description: 'Error associated with the action.',
@@ -11173,6 +11214,7 @@ const openapi = {
11173
11214
  'error',
11174
11215
  ],
11175
11216
  type: 'object',
11217
+ 'x-undocumented': 'Unreleased.',
11176
11218
  },
11177
11219
  {
11178
11220
  properties: {
@@ -13137,6 +13179,160 @@ const openapi = {
13137
13179
  nullable: true,
13138
13180
  type: 'string',
13139
13181
  },
13182
+ customer_portal_features: {
13183
+ description: "Features for customer portals that use this profile. A setting passed when creating the portal takes precedence over the profile's. Changes apply to existing portals the next time they load.",
13184
+ properties: {
13185
+ configure: {
13186
+ description: 'Configuration for the configure feature.',
13187
+ properties: {
13188
+ allow_access_automation_rule_customization: {
13189
+ default: false,
13190
+ description: 'Indicates whether the customer can customize the access automation rules for their properties.',
13191
+ type: 'boolean',
13192
+ },
13193
+ allow_climate_automation_rule_customization: {
13194
+ default: false,
13195
+ description: 'Indicates whether the customer can customize the climate automation rules for their properties.',
13196
+ type: 'boolean',
13197
+ },
13198
+ allow_instant_key_customization: {
13199
+ default: false,
13200
+ description: 'Indicates whether the customer can customize the Instant Key profile for their properties.',
13201
+ type: 'boolean',
13202
+ },
13203
+ allow_notification_customization: {
13204
+ default: false,
13205
+ description: 'Indicates whether the customer can customize their notification settings, such as the low-battery alert threshold.',
13206
+ type: 'boolean',
13207
+ },
13208
+ allow_sound_automation_rule_customization: {
13209
+ default: false,
13210
+ description: 'Indicates whether the customer can customize the sound automation rules for their properties.',
13211
+ type: 'boolean',
13212
+ },
13213
+ exclude: {
13214
+ default: false,
13215
+ description: 'Whether to exclude this feature from the portal.',
13216
+ type: 'boolean',
13217
+ },
13218
+ },
13219
+ type: 'object',
13220
+ },
13221
+ connect: {
13222
+ description: 'Configuration for the connect accounts feature.',
13223
+ properties: {
13224
+ accepted_providers: {
13225
+ description: 'List of provider keys to allow for the connect feature. These providers will be shown when the customer tries to connect an account.',
13226
+ items: { type: 'string' },
13227
+ type: 'array',
13228
+ },
13229
+ exclude: {
13230
+ default: false,
13231
+ description: 'Whether to exclude this feature from the portal.',
13232
+ type: 'boolean',
13233
+ },
13234
+ excluded_providers: {
13235
+ description: 'List of provider keys to exclude from the connect feature. These providers will not be shown when the customer tries to connect an account.',
13236
+ items: { type: 'string' },
13237
+ type: 'array',
13238
+ },
13239
+ },
13240
+ type: 'object',
13241
+ },
13242
+ manage: {
13243
+ description: 'Configuration for the manage feature.',
13244
+ properties: {
13245
+ device_management_confirmation: {
13246
+ description: '\n Custom copy for the confirmation modal shown before unmanaged devices are added to a space and begin being managed (and billed). Only takes effect when the MANAGE_DEVICES_CONFIRMATION_MODAL feature flag is enabled for the workspace. Any omitted string falls back to a localized default.\n ',
13247
+ properties: {
13248
+ body: {
13249
+ description: 'Custom body text for the confirmation modal. May include the {count} token, which is replaced with the number of devices that will begin being managed.',
13250
+ type: 'string',
13251
+ },
13252
+ cancel_button_label: {
13253
+ description: 'Custom label for the cancel button.',
13254
+ type: 'string',
13255
+ },
13256
+ confirm_button_label: {
13257
+ description: 'Custom label for the confirm button.',
13258
+ type: 'string',
13259
+ },
13260
+ title: {
13261
+ description: 'Custom title for the confirmation modal.',
13262
+ type: 'string',
13263
+ },
13264
+ },
13265
+ type: 'object',
13266
+ },
13267
+ events: {
13268
+ description: 'Configuration for event type filtering in the manage feature.',
13269
+ properties: {
13270
+ allowed_events: {
13271
+ description: 'List of event types to show in the events filter. When set, only these event types will be available. Leave empty to show all events.',
13272
+ items: { type: 'string' },
13273
+ type: 'array',
13274
+ },
13275
+ default_events: {
13276
+ description: 'List of event types that are pre-selected in the events filter when the user first loads the events tab.',
13277
+ items: { type: 'string' },
13278
+ type: 'array',
13279
+ },
13280
+ },
13281
+ type: 'object',
13282
+ },
13283
+ exclude: {
13284
+ default: false,
13285
+ description: 'Whether to exclude this feature from the portal.',
13286
+ type: 'boolean',
13287
+ },
13288
+ exclude_device_management: {
13289
+ default: false,
13290
+ description: 'Indicates whether to prevent the customer from converting their devices between managed and unmanaged. Managed devices are billed.',
13291
+ type: 'boolean',
13292
+ },
13293
+ exclude_reservation_management: {
13294
+ default: false,
13295
+ description: 'Indicates whether the customer can manage reservations for their properties.',
13296
+ type: 'boolean',
13297
+ },
13298
+ exclude_reservation_technical_details: {
13299
+ default: false,
13300
+ description: 'Indicates whether to exclude technical details from reservation views.',
13301
+ type: 'boolean',
13302
+ },
13303
+ exclude_staff_management: {
13304
+ default: false,
13305
+ description: 'Indicates whether the customer can manage staff for their properties.',
13306
+ type: 'boolean',
13307
+ },
13308
+ },
13309
+ type: 'object',
13310
+ },
13311
+ manage_devices: {
13312
+ description: 'Configuration for the manage devices feature.\n---\ndeprecated: Use `manage` instead.\n---',
13313
+ properties: {
13314
+ exclude: {
13315
+ default: false,
13316
+ description: 'Whether to exclude this feature from the portal.',
13317
+ type: 'boolean',
13318
+ },
13319
+ },
13320
+ type: 'object',
13321
+ },
13322
+ organize: {
13323
+ description: 'Configuration for the organize feature.',
13324
+ properties: {
13325
+ exclude: {
13326
+ default: false,
13327
+ description: 'Whether to exclude this feature from the portal.',
13328
+ type: 'boolean',
13329
+ },
13330
+ },
13331
+ type: 'object',
13332
+ },
13333
+ },
13334
+ type: 'object',
13335
+ },
13140
13336
  customer_portal_theme: {
13141
13337
  properties: {
13142
13338
  font_family: { type: 'string' },
@@ -13510,22 +13706,27 @@ const openapi = {
13510
13706
  can_mute_speaker: {
13511
13707
  description: 'Indicates whether the speaker supports muting.',
13512
13708
  type: 'boolean',
13709
+ 'x-undocumented': 'Unreleased.',
13513
13710
  },
13514
13711
  can_pause_speaker_playback: {
13515
13712
  description: 'Indicates whether the speaker supports pausing playback.',
13516
13713
  type: 'boolean',
13714
+ 'x-undocumented': 'Unreleased.',
13517
13715
  },
13518
13716
  can_play_speaker_audio_clip: {
13519
13717
  description: 'Indicates whether the speaker supports playing an audio clip from a URL.',
13520
13718
  type: 'boolean',
13719
+ 'x-undocumented': 'Unreleased.',
13521
13720
  },
13522
13721
  can_play_speaker_chime: {
13523
13722
  description: 'Indicates whether the speaker supports playing a chime.',
13524
13723
  type: 'boolean',
13724
+ 'x-undocumented': 'Unreleased.',
13525
13725
  },
13526
13726
  can_play_speaker_favorite: {
13527
13727
  description: "Indicates whether the speaker supports listing and playing the favorites saved in the speaker manufacturer's app, such as playlists and radio stations.",
13528
13728
  type: 'boolean',
13729
+ 'x-undocumented': 'Unreleased.',
13529
13730
  },
13530
13731
  can_program_offline_access_codes: {
13531
13732
  description: 'Indicates whether the device supports programming offline access codes.',
@@ -13558,6 +13759,7 @@ const openapi = {
13558
13759
  can_resume_speaker_playback: {
13559
13760
  description: 'Indicates whether the speaker supports resuming playback.',
13560
13761
  type: 'boolean',
13762
+ 'x-undocumented': 'Unreleased.',
13561
13763
  },
13562
13764
  can_run_thermostat_programs: {
13563
13765
  description: 'Indicates whether the thermostat supports running climate programs.',
@@ -13566,6 +13768,7 @@ const openapi = {
13566
13768
  can_set_speaker_volume: {
13567
13769
  description: 'Indicates whether the speaker supports setting its volume.',
13568
13770
  type: 'boolean',
13771
+ 'x-undocumented': 'Unreleased.',
13569
13772
  },
13570
13773
  can_simulate_connection: {
13571
13774
  description: 'Indicates whether the device supports simulating connection in a sandbox.',
@@ -13606,6 +13809,7 @@ const openapi = {
13606
13809
  can_unmute_speaker: {
13607
13810
  description: 'Indicates whether the speaker supports unmuting.',
13608
13811
  type: 'boolean',
13812
+ 'x-undocumented': 'Unreleased.',
13609
13813
  },
13610
13814
  capabilities_supported: {
13611
13815
  description: '\n Collection of capabilities that the device supports when connected to Seam. Values are `access_code`, which indicates that the device can manage and utilize digital PIN codes for secure access; `lock`, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; `noise_detection`, which indicates that the device supports monitoring and responding to ambient noise levels; `thermostat`, which indicates that the device can regulate and adjust indoor temperatures; `battery`, which indicates that the device can manage battery life and health; and `phone`, which indicates that the device is a mobile device, such as a smartphone. **Important:** Superseded by [capability flags](https://www.seam.co/docs/capability-guides/device-and-system-capabilities#capability-flags).\n ',
@@ -15638,6 +15842,7 @@ const openapi = {
15638
15842
  },
15639
15843
  },
15640
15844
  type: 'object',
15845
+ 'x-undocumented': 'Unreleased.',
15641
15846
  },
15642
15847
  tado_metadata: {
15643
15848
  description: 'Metadata for a tado° device.',
@@ -16238,6 +16443,7 @@ const openapi = {
16238
16443
  ],
16239
16444
  type: 'object',
16240
16445
  'x-property-group-key': 'speakers',
16446
+ 'x-undocumented': 'Unreleased.',
16241
16447
  },
16242
16448
  supported_code_lengths: {
16243
16449
  description: 'Supported code lengths for access codes.',
@@ -17737,22 +17943,27 @@ const openapi = {
17737
17943
  can_mute_speaker: {
17738
17944
  description: 'Indicates whether the speaker supports muting.',
17739
17945
  type: 'boolean',
17946
+ 'x-undocumented': 'Unreleased.',
17740
17947
  },
17741
17948
  can_pause_speaker_playback: {
17742
17949
  description: 'Indicates whether the speaker supports pausing playback.',
17743
17950
  type: 'boolean',
17951
+ 'x-undocumented': 'Unreleased.',
17744
17952
  },
17745
17953
  can_play_speaker_audio_clip: {
17746
17954
  description: 'Indicates whether the speaker supports playing an audio clip from a URL.',
17747
17955
  type: 'boolean',
17956
+ 'x-undocumented': 'Unreleased.',
17748
17957
  },
17749
17958
  can_play_speaker_chime: {
17750
17959
  description: 'Indicates whether the speaker supports playing a chime.',
17751
17960
  type: 'boolean',
17961
+ 'x-undocumented': 'Unreleased.',
17752
17962
  },
17753
17963
  can_play_speaker_favorite: {
17754
17964
  description: "Indicates whether the speaker supports listing and playing the favorites saved in the speaker manufacturer's app, such as playlists and radio stations.",
17755
17965
  type: 'boolean',
17966
+ 'x-undocumented': 'Unreleased.',
17756
17967
  },
17757
17968
  can_program_offline_access_codes: {
17758
17969
  description: 'Indicates whether the device supports programming offline access codes.',
@@ -17785,6 +17996,7 @@ const openapi = {
17785
17996
  can_resume_speaker_playback: {
17786
17997
  description: 'Indicates whether the speaker supports resuming playback.',
17787
17998
  type: 'boolean',
17999
+ 'x-undocumented': 'Unreleased.',
17788
18000
  },
17789
18001
  can_run_thermostat_programs: {
17790
18002
  description: 'Indicates whether the thermostat supports running climate programs.',
@@ -17793,6 +18005,7 @@ const openapi = {
17793
18005
  can_set_speaker_volume: {
17794
18006
  description: 'Indicates whether the speaker supports setting its volume.',
17795
18007
  type: 'boolean',
18008
+ 'x-undocumented': 'Unreleased.',
17796
18009
  },
17797
18010
  can_simulate_connection: {
17798
18011
  description: 'Indicates whether the device supports simulating connection in a sandbox.',
@@ -17833,6 +18046,7 @@ const openapi = {
17833
18046
  can_unmute_speaker: {
17834
18047
  description: 'Indicates whether the speaker supports unmuting.',
17835
18048
  type: 'boolean',
18049
+ 'x-undocumented': 'Unreleased.',
17836
18050
  },
17837
18051
  device_provider_name: {
17838
18052
  description: 'Name of the device provider.',
@@ -35735,22 +35949,27 @@ const openapi = {
35735
35949
  can_mute_speaker: {
35736
35950
  description: 'Indicates whether the speaker supports muting.',
35737
35951
  type: 'boolean',
35952
+ 'x-undocumented': 'Unreleased.',
35738
35953
  },
35739
35954
  can_pause_speaker_playback: {
35740
35955
  description: 'Indicates whether the speaker supports pausing playback.',
35741
35956
  type: 'boolean',
35957
+ 'x-undocumented': 'Unreleased.',
35742
35958
  },
35743
35959
  can_play_speaker_audio_clip: {
35744
35960
  description: 'Indicates whether the speaker supports playing an audio clip from a URL.',
35745
35961
  type: 'boolean',
35962
+ 'x-undocumented': 'Unreleased.',
35746
35963
  },
35747
35964
  can_play_speaker_chime: {
35748
35965
  description: 'Indicates whether the speaker supports playing a chime.',
35749
35966
  type: 'boolean',
35967
+ 'x-undocumented': 'Unreleased.',
35750
35968
  },
35751
35969
  can_play_speaker_favorite: {
35752
35970
  description: "Indicates whether the speaker supports listing and playing the favorites saved in the speaker manufacturer's app, such as playlists and radio stations.",
35753
35971
  type: 'boolean',
35972
+ 'x-undocumented': 'Unreleased.',
35754
35973
  },
35755
35974
  can_program_offline_access_codes: {
35756
35975
  description: 'Indicates whether the device supports programming offline access codes.',
@@ -35783,6 +36002,7 @@ const openapi = {
35783
36002
  can_resume_speaker_playback: {
35784
36003
  description: 'Indicates whether the speaker supports resuming playback.',
35785
36004
  type: 'boolean',
36005
+ 'x-undocumented': 'Unreleased.',
35786
36006
  },
35787
36007
  can_run_thermostat_programs: {
35788
36008
  description: 'Indicates whether the thermostat supports running climate programs.',
@@ -35791,6 +36011,7 @@ const openapi = {
35791
36011
  can_set_speaker_volume: {
35792
36012
  description: 'Indicates whether the speaker supports setting its volume.',
35793
36013
  type: 'boolean',
36014
+ 'x-undocumented': 'Unreleased.',
35794
36015
  },
35795
36016
  can_simulate_connection: {
35796
36017
  description: 'Indicates whether the device supports simulating connection in a sandbox.',
@@ -35831,6 +36052,7 @@ const openapi = {
35831
36052
  can_unmute_speaker: {
35832
36053
  description: 'Indicates whether the speaker supports unmuting.',
35833
36054
  type: 'boolean',
36055
+ 'x-undocumented': 'Unreleased.',
35834
36056
  },
35835
36057
  capabilities_supported: {
35836
36058
  description: '\n Collection of capabilities that the device supports when connected to Seam. Values are `access_code`, which indicates that the device can manage and utilize digital PIN codes for secure access; `lock`, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; `noise_detection`, which indicates that the device supports monitoring and responding to ambient noise levels; `thermostat`, which indicates that the device can regulate and adjust indoor temperatures; `battery`, which indicates that the device can manage battery life and health; and `phone`, which indicates that the device is a mobile device, such as a smartphone. **Important:** Superseded by [capability flags](https://www.seam.co/docs/capability-guides/device-and-system-capabilities#capability-flags).\n ',
@@ -46828,32 +47050,6 @@ const openapi = {
46828
47050
  schema: {
46829
47051
  allOf: [
46830
47052
  {
46831
- default: {
46832
- exclude_locale_picker: false,
46833
- features: {
46834
- configure: {
46835
- allow_access_automation_rule_customization: false,
46836
- allow_climate_automation_rule_customization: false,
46837
- allow_instant_key_customization: false,
46838
- allow_notification_customization: false,
46839
- allow_sound_automation_rule_customization: false,
46840
- exclude: false,
46841
- },
46842
- connect: { exclude: false },
46843
- manage: {
46844
- exclude: false,
46845
- exclude_device_management: false,
46846
- exclude_reservation_management: false,
46847
- exclude_reservation_technical_details: false,
46848
- exclude_staff_management: false,
46849
- },
46850
- manage_devices: { exclude: false },
46851
- organize: { exclude: false },
46852
- },
46853
- is_embedded: false,
46854
- read_only: false,
46855
- },
46856
- description: 'Configuration for a customer portal',
46857
47053
  properties: {
46858
47054
  _dev: {
46859
47055
  default: false,
@@ -46947,10 +47143,9 @@ const openapi = {
46947
47143
  type: 'boolean',
46948
47144
  },
46949
47145
  features: {
46950
- default: {},
47146
+ description: "Features to include in the portal. Settings you omit use the portal's customization profile, then the Seam default. Settings you pass take precedence over the customization profile's, so changing the profile doesn't change them.",
46951
47147
  properties: {
46952
47148
  configure: {
46953
- default: {},
46954
47149
  description: 'Configuration for the configure feature.',
46955
47150
  properties: {
46956
47151
  allow_access_automation_rule_customization: {
@@ -46987,7 +47182,6 @@ const openapi = {
46987
47182
  type: 'object',
46988
47183
  },
46989
47184
  connect: {
46990
- default: {},
46991
47185
  description: 'Configuration for the connect accounts feature.',
46992
47186
  properties: {
46993
47187
  accepted_providers: {
@@ -47009,7 +47203,6 @@ const openapi = {
47009
47203
  type: 'object',
47010
47204
  },
47011
47205
  manage: {
47012
- default: {},
47013
47206
  description: 'Configuration for the manage feature.',
47014
47207
  properties: {
47015
47208
  device_management_confirmation: {
@@ -47079,7 +47272,6 @@ const openapi = {
47079
47272
  type: 'object',
47080
47273
  },
47081
47274
  manage_devices: {
47082
- default: {},
47083
47275
  description: 'Configuration for the manage devices feature.\n---\ndeprecated: Use `manage` instead.\n---',
47084
47276
  properties: {
47085
47277
  exclude: {
@@ -47091,7 +47283,6 @@ const openapi = {
47091
47283
  type: 'object',
47092
47284
  },
47093
47285
  organize: {
47094
- default: {},
47095
47286
  description: 'Configuration for the organize feature.',
47096
47287
  properties: {
47097
47288
  exclude: {
@@ -58175,7 +58366,36 @@ const openapi = {
58175
58366
  },
58176
58367
  speakers: {
58177
58368
  properties: {
58369
+ play_audio_clip: {
58370
+ properties: {
58371
+ audio_url: {
58372
+ description: 'Public HTTPS URL of the MP3 or WAV file to play. The speaker downloads the file itself.',
58373
+ format: 'uri',
58374
+ maxLength: 2048,
58375
+ pattern: '^https:\\/\\/',
58376
+ type: 'string',
58377
+ },
58378
+ volume: {
58379
+ maximum: 100,
58380
+ minimum: 0,
58381
+ type: 'integer',
58382
+ },
58383
+ },
58384
+ required: ['audio_url'],
58385
+ type: 'object',
58386
+ },
58178
58387
  play_chime: { type: 'boolean' },
58388
+ play_favorite: {
58389
+ properties: {
58390
+ favorite_id: {
58391
+ minLength: 1,
58392
+ type: 'string',
58393
+ },
58394
+ shuffle: { type: 'boolean' },
58395
+ },
58396
+ required: ['favorite_id'],
58397
+ type: 'object',
58398
+ },
58179
58399
  set_volume_to: {
58180
58400
  maximum: 100,
58181
58401
  minimum: 0,
@@ -58670,7 +58890,36 @@ const openapi = {
58670
58890
  },
58671
58891
  speakers: {
58672
58892
  properties: {
58893
+ play_audio_clip: {
58894
+ properties: {
58895
+ audio_url: {
58896
+ description: 'Public HTTPS URL of the MP3 or WAV file to play. The speaker downloads the file itself.',
58897
+ format: 'uri',
58898
+ maxLength: 2048,
58899
+ pattern: '^https:\\/\\/',
58900
+ type: 'string',
58901
+ },
58902
+ volume: {
58903
+ maximum: 100,
58904
+ minimum: 0,
58905
+ type: 'integer',
58906
+ },
58907
+ },
58908
+ required: ['audio_url'],
58909
+ type: 'object',
58910
+ },
58673
58911
  play_chime: { type: 'boolean' },
58912
+ play_favorite: {
58913
+ properties: {
58914
+ favorite_id: {
58915
+ minLength: 1,
58916
+ type: 'string',
58917
+ },
58918
+ shuffle: { type: 'boolean' },
58919
+ },
58920
+ required: ['favorite_id'],
58921
+ type: 'object',
58922
+ },
58674
58923
  set_volume_to: {
58675
58924
  maximum: 100,
58676
58925
  minimum: 0,
@@ -60069,7 +60318,36 @@ const openapi = {
60069
60318
  },
60070
60319
  speakers: {
60071
60320
  properties: {
60321
+ play_audio_clip: {
60322
+ properties: {
60323
+ audio_url: {
60324
+ description: 'Public HTTPS URL of the MP3 or WAV file to play. The speaker downloads the file itself.',
60325
+ format: 'uri',
60326
+ maxLength: 2048,
60327
+ pattern: '^https:\\/\\/',
60328
+ type: 'string',
60329
+ },
60330
+ volume: {
60331
+ maximum: 100,
60332
+ minimum: 0,
60333
+ type: 'integer',
60334
+ },
60335
+ },
60336
+ required: ['audio_url'],
60337
+ type: 'object',
60338
+ },
60072
60339
  play_chime: { type: 'boolean' },
60340
+ play_favorite: {
60341
+ properties: {
60342
+ favorite_id: {
60343
+ minLength: 1,
60344
+ type: 'string',
60345
+ },
60346
+ shuffle: { type: 'boolean' },
60347
+ },
60348
+ required: ['favorite_id'],
60349
+ type: 'object',
60350
+ },
60073
60351
  set_volume_to: {
60074
60352
  maximum: 100,
60075
60353
  minimum: 0,
@@ -60491,7 +60769,36 @@ const openapi = {
60491
60769
  },
60492
60770
  speakers: {
60493
60771
  properties: {
60772
+ play_audio_clip: {
60773
+ properties: {
60774
+ audio_url: {
60775
+ description: 'Public HTTPS URL of the MP3 or WAV file to play. The speaker downloads the file itself.',
60776
+ format: 'uri',
60777
+ maxLength: 2048,
60778
+ pattern: '^https:\\/\\/',
60779
+ type: 'string',
60780
+ },
60781
+ volume: {
60782
+ maximum: 100,
60783
+ minimum: 0,
60784
+ type: 'integer',
60785
+ },
60786
+ },
60787
+ required: ['audio_url'],
60788
+ type: 'object',
60789
+ },
60494
60790
  play_chime: { type: 'boolean' },
60791
+ play_favorite: {
60792
+ properties: {
60793
+ favorite_id: {
60794
+ minLength: 1,
60795
+ type: 'string',
60796
+ },
60797
+ shuffle: { type: 'boolean' },
60798
+ },
60799
+ required: ['favorite_id'],
60800
+ type: 'object',
60801
+ },
60495
60802
  set_volume_to: {
60496
60803
  maximum: 100,
60497
60804
  minimum: 0,
@@ -61929,10 +62236,9 @@ const openapi = {
61929
62236
  type: 'boolean',
61930
62237
  },
61931
62238
  features: {
61932
- default: {},
62239
+ description: 'Customer portal features. Settings you omit use the Seam default.',
61933
62240
  properties: {
61934
62241
  configure: {
61935
- default: {},
61936
62242
  description: 'Configuration for the configure feature.',
61937
62243
  properties: {
61938
62244
  allow_access_automation_rule_customization: {
@@ -61969,7 +62275,6 @@ const openapi = {
61969
62275
  type: 'object',
61970
62276
  },
61971
62277
  connect: {
61972
- default: {},
61973
62278
  description: 'Configuration for the connect accounts feature.',
61974
62279
  properties: {
61975
62280
  accepted_providers: {
@@ -61991,7 +62296,6 @@ const openapi = {
61991
62296
  type: 'object',
61992
62297
  },
61993
62298
  manage: {
61994
- default: {},
61995
62299
  description: 'Configuration for the manage feature.',
61996
62300
  properties: {
61997
62301
  device_management_confirmation: {
@@ -62061,7 +62365,6 @@ const openapi = {
62061
62365
  type: 'object',
62062
62366
  },
62063
62367
  manage_devices: {
62064
- default: {},
62065
62368
  description: 'Configuration for the manage devices feature.\n---\ndeprecated: Use `manage` instead.\n---',
62066
62369
  properties: {
62067
62370
  exclude: {
@@ -62073,7 +62376,6 @@ const openapi = {
62073
62376
  type: 'object',
62074
62377
  },
62075
62378
  organize: {
62076
- default: {},
62077
62379
  description: 'Configuration for the organize feature.',
62078
62380
  properties: {
62079
62381
  exclude: {
@@ -70733,6 +71035,160 @@ const openapi = {
70733
71035
  format: 'uuid',
70734
71036
  type: 'string',
70735
71037
  },
71038
+ customer_portal_features: {
71039
+ description: 'Features for customer portals that use this profile. Settings passed when creating a portal take precedence.',
71040
+ properties: {
71041
+ configure: {
71042
+ description: 'Configuration for the configure feature.',
71043
+ properties: {
71044
+ allow_access_automation_rule_customization: {
71045
+ default: false,
71046
+ description: 'Indicates whether the customer can customize the access automation rules for their properties.',
71047
+ type: 'boolean',
71048
+ },
71049
+ allow_climate_automation_rule_customization: {
71050
+ default: false,
71051
+ description: 'Indicates whether the customer can customize the climate automation rules for their properties.',
71052
+ type: 'boolean',
71053
+ },
71054
+ allow_instant_key_customization: {
71055
+ default: false,
71056
+ description: 'Indicates whether the customer can customize the Instant Key profile for their properties.',
71057
+ type: 'boolean',
71058
+ },
71059
+ allow_notification_customization: {
71060
+ default: false,
71061
+ description: 'Indicates whether the customer can customize their notification settings, such as the low-battery alert threshold.',
71062
+ type: 'boolean',
71063
+ },
71064
+ allow_sound_automation_rule_customization: {
71065
+ default: false,
71066
+ description: 'Indicates whether the customer can customize the sound automation rules for their properties.',
71067
+ type: 'boolean',
71068
+ },
71069
+ exclude: {
71070
+ default: false,
71071
+ description: 'Whether to exclude this feature from the portal.',
71072
+ type: 'boolean',
71073
+ },
71074
+ },
71075
+ type: 'object',
71076
+ },
71077
+ connect: {
71078
+ description: 'Configuration for the connect accounts feature.',
71079
+ properties: {
71080
+ accepted_providers: {
71081
+ description: 'List of provider keys to allow for the connect feature. These providers will be shown when the customer tries to connect an account.',
71082
+ items: { type: 'string' },
71083
+ type: 'array',
71084
+ },
71085
+ exclude: {
71086
+ default: false,
71087
+ description: 'Whether to exclude this feature from the portal.',
71088
+ type: 'boolean',
71089
+ },
71090
+ excluded_providers: {
71091
+ description: 'List of provider keys to exclude from the connect feature. These providers will not be shown when the customer tries to connect an account.',
71092
+ items: { type: 'string' },
71093
+ type: 'array',
71094
+ },
71095
+ },
71096
+ type: 'object',
71097
+ },
71098
+ manage: {
71099
+ description: 'Configuration for the manage feature.',
71100
+ properties: {
71101
+ device_management_confirmation: {
71102
+ description: '\n Custom copy for the confirmation modal shown before unmanaged devices are added to a space and begin being managed (and billed). Only takes effect when the MANAGE_DEVICES_CONFIRMATION_MODAL feature flag is enabled for the workspace. Any omitted string falls back to a localized default.\n ',
71103
+ properties: {
71104
+ body: {
71105
+ description: 'Custom body text for the confirmation modal. May include the {count} token, which is replaced with the number of devices that will begin being managed.',
71106
+ type: 'string',
71107
+ },
71108
+ cancel_button_label: {
71109
+ description: 'Custom label for the cancel button.',
71110
+ type: 'string',
71111
+ },
71112
+ confirm_button_label: {
71113
+ description: 'Custom label for the confirm button.',
71114
+ type: 'string',
71115
+ },
71116
+ title: {
71117
+ description: 'Custom title for the confirmation modal.',
71118
+ type: 'string',
71119
+ },
71120
+ },
71121
+ type: 'object',
71122
+ },
71123
+ events: {
71124
+ description: 'Configuration for event type filtering in the manage feature.',
71125
+ properties: {
71126
+ allowed_events: {
71127
+ description: 'List of event types to show in the events filter. When set, only these event types will be available. Leave empty to show all events.',
71128
+ items: { type: 'string' },
71129
+ type: 'array',
71130
+ },
71131
+ default_events: {
71132
+ description: 'List of event types that are pre-selected in the events filter when the user first loads the events tab.',
71133
+ items: { type: 'string' },
71134
+ type: 'array',
71135
+ },
71136
+ },
71137
+ type: 'object',
71138
+ },
71139
+ exclude: {
71140
+ default: false,
71141
+ description: 'Whether to exclude this feature from the portal.',
71142
+ type: 'boolean',
71143
+ },
71144
+ exclude_device_management: {
71145
+ default: false,
71146
+ description: 'Indicates whether to prevent the customer from converting their devices between managed and unmanaged. Managed devices are billed.',
71147
+ type: 'boolean',
71148
+ },
71149
+ exclude_reservation_management: {
71150
+ default: false,
71151
+ description: 'Indicates whether the customer can manage reservations for their properties.',
71152
+ type: 'boolean',
71153
+ },
71154
+ exclude_reservation_technical_details: {
71155
+ default: false,
71156
+ description: 'Indicates whether to exclude technical details from reservation views.',
71157
+ type: 'boolean',
71158
+ },
71159
+ exclude_staff_management: {
71160
+ default: false,
71161
+ description: 'Indicates whether the customer can manage staff for their properties.',
71162
+ type: 'boolean',
71163
+ },
71164
+ },
71165
+ type: 'object',
71166
+ },
71167
+ manage_devices: {
71168
+ description: 'Configuration for the manage devices feature.\n---\ndeprecated: Use `manage` instead.\n---',
71169
+ properties: {
71170
+ exclude: {
71171
+ default: false,
71172
+ description: 'Whether to exclude this feature from the portal.',
71173
+ type: 'boolean',
71174
+ },
71175
+ },
71176
+ type: 'object',
71177
+ },
71178
+ organize: {
71179
+ description: 'Configuration for the organize feature.',
71180
+ properties: {
71181
+ exclude: {
71182
+ default: false,
71183
+ description: 'Whether to exclude this feature from the portal.',
71184
+ type: 'boolean',
71185
+ },
71186
+ },
71187
+ type: 'object',
71188
+ },
71189
+ },
71190
+ type: 'object',
71191
+ },
70736
71192
  customer_portal_theme: {
70737
71193
  properties: {
70738
71194
  font_family: { type: 'string' },
@@ -71216,6 +71672,161 @@ const openapi = {
71216
71672
  'application/json': {
71217
71673
  schema: {
71218
71674
  properties: {
71675
+ customer_portal_features: {
71676
+ description: "Features for customer portals that use this profile. Replaces the profile's current features; pass `null` to remove them. Portals pick up the change the next time they load.",
71677
+ nullable: true,
71678
+ properties: {
71679
+ configure: {
71680
+ description: 'Configuration for the configure feature.',
71681
+ properties: {
71682
+ allow_access_automation_rule_customization: {
71683
+ default: false,
71684
+ description: 'Indicates whether the customer can customize the access automation rules for their properties.',
71685
+ type: 'boolean',
71686
+ },
71687
+ allow_climate_automation_rule_customization: {
71688
+ default: false,
71689
+ description: 'Indicates whether the customer can customize the climate automation rules for their properties.',
71690
+ type: 'boolean',
71691
+ },
71692
+ allow_instant_key_customization: {
71693
+ default: false,
71694
+ description: 'Indicates whether the customer can customize the Instant Key profile for their properties.',
71695
+ type: 'boolean',
71696
+ },
71697
+ allow_notification_customization: {
71698
+ default: false,
71699
+ description: 'Indicates whether the customer can customize their notification settings, such as the low-battery alert threshold.',
71700
+ type: 'boolean',
71701
+ },
71702
+ allow_sound_automation_rule_customization: {
71703
+ default: false,
71704
+ description: 'Indicates whether the customer can customize the sound automation rules for their properties.',
71705
+ type: 'boolean',
71706
+ },
71707
+ exclude: {
71708
+ default: false,
71709
+ description: 'Whether to exclude this feature from the portal.',
71710
+ type: 'boolean',
71711
+ },
71712
+ },
71713
+ type: 'object',
71714
+ },
71715
+ connect: {
71716
+ description: 'Configuration for the connect accounts feature.',
71717
+ properties: {
71718
+ accepted_providers: {
71719
+ description: 'List of provider keys to allow for the connect feature. These providers will be shown when the customer tries to connect an account.',
71720
+ items: { type: 'string' },
71721
+ type: 'array',
71722
+ },
71723
+ exclude: {
71724
+ default: false,
71725
+ description: 'Whether to exclude this feature from the portal.',
71726
+ type: 'boolean',
71727
+ },
71728
+ excluded_providers: {
71729
+ description: 'List of provider keys to exclude from the connect feature. These providers will not be shown when the customer tries to connect an account.',
71730
+ items: { type: 'string' },
71731
+ type: 'array',
71732
+ },
71733
+ },
71734
+ type: 'object',
71735
+ },
71736
+ manage: {
71737
+ description: 'Configuration for the manage feature.',
71738
+ properties: {
71739
+ device_management_confirmation: {
71740
+ description: '\n Custom copy for the confirmation modal shown before unmanaged devices are added to a space and begin being managed (and billed). Only takes effect when the MANAGE_DEVICES_CONFIRMATION_MODAL feature flag is enabled for the workspace. Any omitted string falls back to a localized default.\n ',
71741
+ properties: {
71742
+ body: {
71743
+ description: 'Custom body text for the confirmation modal. May include the {count} token, which is replaced with the number of devices that will begin being managed.',
71744
+ type: 'string',
71745
+ },
71746
+ cancel_button_label: {
71747
+ description: 'Custom label for the cancel button.',
71748
+ type: 'string',
71749
+ },
71750
+ confirm_button_label: {
71751
+ description: 'Custom label for the confirm button.',
71752
+ type: 'string',
71753
+ },
71754
+ title: {
71755
+ description: 'Custom title for the confirmation modal.',
71756
+ type: 'string',
71757
+ },
71758
+ },
71759
+ type: 'object',
71760
+ },
71761
+ events: {
71762
+ description: 'Configuration for event type filtering in the manage feature.',
71763
+ properties: {
71764
+ allowed_events: {
71765
+ description: 'List of event types to show in the events filter. When set, only these event types will be available. Leave empty to show all events.',
71766
+ items: { type: 'string' },
71767
+ type: 'array',
71768
+ },
71769
+ default_events: {
71770
+ description: 'List of event types that are pre-selected in the events filter when the user first loads the events tab.',
71771
+ items: { type: 'string' },
71772
+ type: 'array',
71773
+ },
71774
+ },
71775
+ type: 'object',
71776
+ },
71777
+ exclude: {
71778
+ default: false,
71779
+ description: 'Whether to exclude this feature from the portal.',
71780
+ type: 'boolean',
71781
+ },
71782
+ exclude_device_management: {
71783
+ default: false,
71784
+ description: 'Indicates whether to prevent the customer from converting their devices between managed and unmanaged. Managed devices are billed.',
71785
+ type: 'boolean',
71786
+ },
71787
+ exclude_reservation_management: {
71788
+ default: false,
71789
+ description: 'Indicates whether the customer can manage reservations for their properties.',
71790
+ type: 'boolean',
71791
+ },
71792
+ exclude_reservation_technical_details: {
71793
+ default: false,
71794
+ description: 'Indicates whether to exclude technical details from reservation views.',
71795
+ type: 'boolean',
71796
+ },
71797
+ exclude_staff_management: {
71798
+ default: false,
71799
+ description: 'Indicates whether the customer can manage staff for their properties.',
71800
+ type: 'boolean',
71801
+ },
71802
+ },
71803
+ type: 'object',
71804
+ },
71805
+ manage_devices: {
71806
+ description: 'Configuration for the manage devices feature.\n---\ndeprecated: Use `manage` instead.\n---',
71807
+ properties: {
71808
+ exclude: {
71809
+ default: false,
71810
+ description: 'Whether to exclude this feature from the portal.',
71811
+ type: 'boolean',
71812
+ },
71813
+ },
71814
+ type: 'object',
71815
+ },
71816
+ organize: {
71817
+ description: 'Configuration for the organize feature.',
71818
+ properties: {
71819
+ exclude: {
71820
+ default: false,
71821
+ description: 'Whether to exclude this feature from the portal.',
71822
+ type: 'boolean',
71823
+ },
71824
+ },
71825
+ type: 'object',
71826
+ },
71827
+ },
71828
+ type: 'object',
71829
+ },
71219
71830
  customer_portal_theme: {
71220
71831
  nullable: true,
71221
71832
  properties: {