@seamapi/types 1.1124.0 → 1.1126.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 (27) hide show
  1. package/lib/seam/connect/models/action-attempts/action-attempt.d.ts +160 -0
  2. package/lib/seam/connect/models/action-attempts/action-attempt.js +4 -0
  3. package/lib/seam/connect/models/action-attempts/action-attempt.js.map +1 -1
  4. package/lib/seam/connect/models/action-attempts/play-speaker-audio-clip.d.ts +77 -0
  5. package/lib/seam/connect/models/action-attempts/play-speaker-audio-clip.js +31 -0
  6. package/lib/seam/connect/models/action-attempts/play-speaker-audio-clip.js.map +1 -0
  7. package/lib/seam/connect/models/action-attempts/play-speaker-favorite.d.ts +87 -0
  8. package/lib/seam/connect/models/action-attempts/play-speaker-favorite.js +37 -0
  9. package/lib/seam/connect/models/action-attempts/play-speaker-favorite.js.map +1 -0
  10. package/lib/seam/connect/models/devices/capability-properties/speaker.js +1 -1
  11. package/lib/seam/connect/models/devices/capability-properties/speaker.js.map +1 -1
  12. package/lib/seam/connect/models/devices/device-provider.d.ts +12 -0
  13. package/lib/seam/connect/models/devices/device.d.ts +24 -0
  14. package/lib/seam/connect/models/devices/device.js +14 -2
  15. package/lib/seam/connect/models/devices/device.js.map +1 -1
  16. package/lib/seam/connect/models/devices/unmanaged-device.d.ts +16 -0
  17. package/lib/seam/connect/openapi.js +507 -9
  18. package/lib/seam/connect/openapi.js.map +1 -1
  19. package/lib/seam/connect/route-types.d.ts +7518 -78
  20. package/package.json +1 -1
  21. package/src/lib/seam/connect/models/action-attempts/action-attempt.ts +4 -0
  22. package/src/lib/seam/connect/models/action-attempts/play-speaker-audio-clip.ts +46 -0
  23. package/src/lib/seam/connect/models/action-attempts/play-speaker-favorite.ts +54 -0
  24. package/src/lib/seam/connect/models/devices/capability-properties/speaker.ts +3 -1
  25. package/src/lib/seam/connect/models/devices/device.ts +18 -4
  26. package/src/lib/seam/connect/openapi.ts +546 -12
  27. package/src/lib/seam/connect/route-types.ts +8435 -63
@@ -10957,6 +10957,223 @@ const openapi = {
10957
10957
  ],
10958
10958
  type: 'object',
10959
10959
  },
10960
+ {
10961
+ description: 'Playing a favorite on the speaker is pending.',
10962
+ properties: {
10963
+ action_attempt_id: {
10964
+ description: 'ID of the action attempt.',
10965
+ format: 'uuid',
10966
+ type: 'string',
10967
+ },
10968
+ action_type: {
10969
+ description: 'Action attempt to track the status of playing a favorite on a speaker.',
10970
+ enum: ['PLAY_SPEAKER_FAVORITE'],
10971
+ type: 'string',
10972
+ },
10973
+ error: {
10974
+ description: 'Errors associated with the action attempt. Null for pending action attempts.',
10975
+ nullable: true,
10976
+ },
10977
+ result: {
10978
+ description: 'Result of the action attempt. Null for pending action attempts.',
10979
+ nullable: true,
10980
+ },
10981
+ status: { enum: ['pending'], type: 'string' },
10982
+ },
10983
+ required: [
10984
+ 'action_attempt_id',
10985
+ 'status',
10986
+ 'result',
10987
+ 'error',
10988
+ 'action_type',
10989
+ ],
10990
+ type: 'object',
10991
+ },
10992
+ {
10993
+ description: 'Playing a favorite on the speaker succeeded.',
10994
+ properties: {
10995
+ action_attempt_id: {
10996
+ description: 'ID of the action attempt.',
10997
+ format: 'uuid',
10998
+ type: 'string',
10999
+ },
11000
+ action_type: {
11001
+ description: 'Action attempt to track the status of playing a favorite on a speaker.',
11002
+ enum: ['PLAY_SPEAKER_FAVORITE'],
11003
+ type: 'string',
11004
+ },
11005
+ error: {
11006
+ description: 'Errors associated with the action attempt. Null for successful action attempts.',
11007
+ nullable: true,
11008
+ },
11009
+ result: {
11010
+ description: 'Result of the action.',
11011
+ properties: {
11012
+ affected_device_ids: {
11013
+ description: 'IDs of the speakers now playing the favorite, including speakers grouped with the requested speaker.',
11014
+ items: { format: 'uuid', type: 'string' },
11015
+ type: 'array',
11016
+ },
11017
+ },
11018
+ required: ['affected_device_ids'],
11019
+ type: 'object',
11020
+ },
11021
+ status: { enum: ['success'], type: 'string' },
11022
+ },
11023
+ required: [
11024
+ 'action_attempt_id',
11025
+ 'status',
11026
+ 'error',
11027
+ 'action_type',
11028
+ 'result',
11029
+ ],
11030
+ type: 'object',
11031
+ },
11032
+ {
11033
+ description: 'Playing a favorite on the speaker failed.',
11034
+ properties: {
11035
+ action_attempt_id: {
11036
+ description: 'ID of the action attempt.',
11037
+ format: 'uuid',
11038
+ type: 'string',
11039
+ },
11040
+ action_type: {
11041
+ description: 'Action attempt to track the status of playing a favorite on a speaker.',
11042
+ enum: ['PLAY_SPEAKER_FAVORITE'],
11043
+ type: 'string',
11044
+ },
11045
+ error: {
11046
+ description: 'Error associated with the action.',
11047
+ properties: {
11048
+ message: {
11049
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
11050
+ type: 'string',
11051
+ },
11052
+ type: { description: 'Type of the error.', type: 'string' },
11053
+ },
11054
+ required: ['type', 'message'],
11055
+ type: 'object',
11056
+ },
11057
+ result: {
11058
+ description: 'Result of the action attempt. Null for failed action attempts.',
11059
+ nullable: true,
11060
+ },
11061
+ status: { enum: ['error'], type: 'string' },
11062
+ },
11063
+ required: [
11064
+ 'action_attempt_id',
11065
+ 'status',
11066
+ 'result',
11067
+ 'action_type',
11068
+ 'error',
11069
+ ],
11070
+ type: 'object',
11071
+ },
11072
+ {
11073
+ description: 'Playing an audio clip on the speaker is pending.',
11074
+ properties: {
11075
+ action_attempt_id: {
11076
+ description: 'ID of the action attempt.',
11077
+ format: 'uuid',
11078
+ type: 'string',
11079
+ },
11080
+ action_type: {
11081
+ description: 'Action attempt to track the status of playing an audio clip on a speaker.',
11082
+ enum: ['PLAY_SPEAKER_AUDIO_CLIP'],
11083
+ type: 'string',
11084
+ },
11085
+ error: {
11086
+ description: 'Errors associated with the action attempt. Null for pending action attempts.',
11087
+ nullable: true,
11088
+ },
11089
+ result: {
11090
+ description: 'Result of the action attempt. Null for pending action attempts.',
11091
+ nullable: true,
11092
+ },
11093
+ status: { enum: ['pending'], type: 'string' },
11094
+ },
11095
+ required: [
11096
+ 'action_attempt_id',
11097
+ 'status',
11098
+ 'result',
11099
+ 'error',
11100
+ 'action_type',
11101
+ ],
11102
+ type: 'object',
11103
+ },
11104
+ {
11105
+ description: 'Playing an audio clip on the speaker succeeded.',
11106
+ properties: {
11107
+ action_attempt_id: {
11108
+ description: 'ID of the action attempt.',
11109
+ format: 'uuid',
11110
+ type: 'string',
11111
+ },
11112
+ action_type: {
11113
+ description: 'Action attempt to track the status of playing an audio clip on a speaker.',
11114
+ enum: ['PLAY_SPEAKER_AUDIO_CLIP'],
11115
+ type: 'string',
11116
+ },
11117
+ error: {
11118
+ description: 'Errors associated with the action attempt. Null for successful action attempts.',
11119
+ nullable: true,
11120
+ },
11121
+ result: {
11122
+ description: 'Result of the action.',
11123
+ properties: {},
11124
+ type: 'object',
11125
+ },
11126
+ status: { enum: ['success'], type: 'string' },
11127
+ },
11128
+ required: [
11129
+ 'action_attempt_id',
11130
+ 'status',
11131
+ 'error',
11132
+ 'action_type',
11133
+ 'result',
11134
+ ],
11135
+ type: 'object',
11136
+ },
11137
+ {
11138
+ description: 'Playing an audio clip on the speaker failed.',
11139
+ properties: {
11140
+ action_attempt_id: {
11141
+ description: 'ID of the action attempt.',
11142
+ format: 'uuid',
11143
+ type: 'string',
11144
+ },
11145
+ action_type: {
11146
+ description: 'Action attempt to track the status of playing an audio clip on a speaker.',
11147
+ enum: ['PLAY_SPEAKER_AUDIO_CLIP'],
11148
+ type: 'string',
11149
+ },
11150
+ error: {
11151
+ description: 'Error associated with the action.',
11152
+ properties: {
11153
+ message: {
11154
+ description: 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
11155
+ type: 'string',
11156
+ },
11157
+ type: { description: 'Type of the error.', type: 'string' },
11158
+ },
11159
+ required: ['type', 'message'],
11160
+ type: 'object',
11161
+ },
11162
+ result: {
11163
+ description: 'Result of the action attempt. Null for failed action attempts.',
11164
+ nullable: true,
11165
+ },
11166
+ status: { enum: ['error'], type: 'string' },
11167
+ },
11168
+ required: [
11169
+ 'action_attempt_id',
11170
+ 'status',
11171
+ 'result',
11172
+ 'action_type',
11173
+ 'error',
11174
+ ],
11175
+ type: 'object',
11176
+ },
10960
11177
  {
10961
11178
  properties: {
10962
11179
  action_attempt_id: {
@@ -13291,17 +13508,25 @@ const openapi = {
13291
13508
  type: 'boolean',
13292
13509
  },
13293
13510
  can_mute_speaker: {
13294
- description: 'Indicates whether the speaker supports muting and unmuting.',
13511
+ description: 'Indicates whether the speaker supports muting.',
13295
13512
  type: 'boolean',
13296
13513
  },
13297
13514
  can_pause_speaker_playback: {
13298
- description: 'Indicates whether the speaker supports pausing and resuming playback.',
13515
+ description: 'Indicates whether the speaker supports pausing playback.',
13516
+ type: 'boolean',
13517
+ },
13518
+ can_play_speaker_audio_clip: {
13519
+ description: 'Indicates whether the speaker supports playing an audio clip from a URL.',
13299
13520
  type: 'boolean',
13300
13521
  },
13301
13522
  can_play_speaker_chime: {
13302
13523
  description: 'Indicates whether the speaker supports playing a chime.',
13303
13524
  type: 'boolean',
13304
13525
  },
13526
+ can_play_speaker_favorite: {
13527
+ 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
+ type: 'boolean',
13529
+ },
13305
13530
  can_program_offline_access_codes: {
13306
13531
  description: 'Indicates whether the device supports programming offline access codes.',
13307
13532
  type: 'boolean',
@@ -13330,6 +13555,10 @@ const openapi = {
13330
13555
  description: 'Indicates whether the device supports remote unlocking.',
13331
13556
  type: 'boolean',
13332
13557
  },
13558
+ can_resume_speaker_playback: {
13559
+ description: 'Indicates whether the speaker supports resuming playback.',
13560
+ type: 'boolean',
13561
+ },
13333
13562
  can_run_thermostat_programs: {
13334
13563
  description: 'Indicates whether the thermostat supports running climate programs.',
13335
13564
  type: 'boolean',
@@ -13374,6 +13603,10 @@ const openapi = {
13374
13603
  description: 'Indicates whether the lock supports unlocking with an access code.',
13375
13604
  type: 'boolean',
13376
13605
  },
13606
+ can_unmute_speaker: {
13607
+ description: 'Indicates whether the speaker supports unmuting.',
13608
+ type: 'boolean',
13609
+ },
13377
13610
  capabilities_supported: {
13378
13611
  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 ',
13379
13612
  items: {
@@ -15973,7 +16206,7 @@ const openapi = {
15973
16206
  type: 'string',
15974
16207
  },
15975
16208
  supports_chime: {
15976
- description: 'Indicates whether the speaker can play a chime.',
16209
+ description: 'Indicates whether the speaker can play a chime or an audio clip.',
15977
16210
  type: 'boolean',
15978
16211
  },
15979
16212
  volume: {
@@ -17502,17 +17735,25 @@ const openapi = {
17502
17735
  type: 'boolean',
17503
17736
  },
17504
17737
  can_mute_speaker: {
17505
- description: 'Indicates whether the speaker supports muting and unmuting.',
17738
+ description: 'Indicates whether the speaker supports muting.',
17506
17739
  type: 'boolean',
17507
17740
  },
17508
17741
  can_pause_speaker_playback: {
17509
- description: 'Indicates whether the speaker supports pausing and resuming playback.',
17742
+ description: 'Indicates whether the speaker supports pausing playback.',
17743
+ type: 'boolean',
17744
+ },
17745
+ can_play_speaker_audio_clip: {
17746
+ description: 'Indicates whether the speaker supports playing an audio clip from a URL.',
17510
17747
  type: 'boolean',
17511
17748
  },
17512
17749
  can_play_speaker_chime: {
17513
17750
  description: 'Indicates whether the speaker supports playing a chime.',
17514
17751
  type: 'boolean',
17515
17752
  },
17753
+ can_play_speaker_favorite: {
17754
+ 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
+ type: 'boolean',
17756
+ },
17516
17757
  can_program_offline_access_codes: {
17517
17758
  description: 'Indicates whether the device supports programming offline access codes.',
17518
17759
  type: 'boolean',
@@ -17541,6 +17782,10 @@ const openapi = {
17541
17782
  description: 'Indicates whether the device supports remote unlocking.',
17542
17783
  type: 'boolean',
17543
17784
  },
17785
+ can_resume_speaker_playback: {
17786
+ description: 'Indicates whether the speaker supports resuming playback.',
17787
+ type: 'boolean',
17788
+ },
17544
17789
  can_run_thermostat_programs: {
17545
17790
  description: 'Indicates whether the thermostat supports running climate programs.',
17546
17791
  type: 'boolean',
@@ -17585,6 +17830,10 @@ const openapi = {
17585
17830
  description: 'Indicates whether the lock supports unlocking with an access code.',
17586
17831
  type: 'boolean',
17587
17832
  },
17833
+ can_unmute_speaker: {
17834
+ description: 'Indicates whether the speaker supports unmuting.',
17835
+ type: 'boolean',
17836
+ },
17588
17837
  device_provider_name: {
17589
17838
  description: 'Name of the device provider.',
17590
17839
  enum: [
@@ -35484,17 +35733,25 @@ const openapi = {
35484
35733
  type: 'boolean',
35485
35734
  },
35486
35735
  can_mute_speaker: {
35487
- description: 'Indicates whether the speaker supports muting and unmuting.',
35736
+ description: 'Indicates whether the speaker supports muting.',
35488
35737
  type: 'boolean',
35489
35738
  },
35490
35739
  can_pause_speaker_playback: {
35491
- description: 'Indicates whether the speaker supports pausing and resuming playback.',
35740
+ description: 'Indicates whether the speaker supports pausing playback.',
35741
+ type: 'boolean',
35742
+ },
35743
+ can_play_speaker_audio_clip: {
35744
+ description: 'Indicates whether the speaker supports playing an audio clip from a URL.',
35492
35745
  type: 'boolean',
35493
35746
  },
35494
35747
  can_play_speaker_chime: {
35495
35748
  description: 'Indicates whether the speaker supports playing a chime.',
35496
35749
  type: 'boolean',
35497
35750
  },
35751
+ can_play_speaker_favorite: {
35752
+ 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
+ type: 'boolean',
35754
+ },
35498
35755
  can_program_offline_access_codes: {
35499
35756
  description: 'Indicates whether the device supports programming offline access codes.',
35500
35757
  type: 'boolean',
@@ -35523,6 +35780,10 @@ const openapi = {
35523
35780
  description: 'Indicates whether the device supports remote unlocking.',
35524
35781
  type: 'boolean',
35525
35782
  },
35783
+ can_resume_speaker_playback: {
35784
+ description: 'Indicates whether the speaker supports resuming playback.',
35785
+ type: 'boolean',
35786
+ },
35526
35787
  can_run_thermostat_programs: {
35527
35788
  description: 'Indicates whether the thermostat supports running climate programs.',
35528
35789
  type: 'boolean',
@@ -35567,6 +35828,10 @@ const openapi = {
35567
35828
  description: 'Indicates whether the lock supports unlocking with an access code.',
35568
35829
  type: 'boolean',
35569
35830
  },
35831
+ can_unmute_speaker: {
35832
+ description: 'Indicates whether the speaker supports unmuting.',
35833
+ type: 'boolean',
35834
+ },
35570
35835
  capabilities_supported: {
35571
35836
  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 ',
35572
35837
  items: {
@@ -49449,8 +49714,12 @@ const openapi = {
49449
49714
  'can_stream_live_video',
49450
49715
  'can_set_speaker_volume',
49451
49716
  'can_mute_speaker',
49717
+ 'can_unmute_speaker',
49452
49718
  'can_pause_speaker_playback',
49719
+ 'can_resume_speaker_playback',
49453
49720
  'can_play_speaker_chime',
49721
+ 'can_play_speaker_favorite',
49722
+ 'can_play_speaker_audio_clip',
49454
49723
  ],
49455
49724
  type: 'string',
49456
49725
  },
@@ -49488,8 +49757,12 @@ const openapi = {
49488
49757
  'can_stream_live_video',
49489
49758
  'can_set_speaker_volume',
49490
49759
  'can_mute_speaker',
49760
+ 'can_unmute_speaker',
49491
49761
  'can_pause_speaker_playback',
49762
+ 'can_resume_speaker_playback',
49492
49763
  'can_play_speaker_chime',
49764
+ 'can_play_speaker_favorite',
49765
+ 'can_play_speaker_audio_clip',
49493
49766
  ],
49494
49767
  type: 'string',
49495
49768
  },
@@ -51725,8 +51998,12 @@ const openapi = {
51725
51998
  'can_stream_live_video',
51726
51999
  'can_set_speaker_volume',
51727
52000
  'can_mute_speaker',
52001
+ 'can_unmute_speaker',
51728
52002
  'can_pause_speaker_playback',
52003
+ 'can_resume_speaker_playback',
51729
52004
  'can_play_speaker_chime',
52005
+ 'can_play_speaker_favorite',
52006
+ 'can_play_speaker_audio_clip',
51730
52007
  ],
51731
52008
  type: 'string',
51732
52009
  },
@@ -51764,8 +52041,12 @@ const openapi = {
51764
52041
  'can_stream_live_video',
51765
52042
  'can_set_speaker_volume',
51766
52043
  'can_mute_speaker',
52044
+ 'can_unmute_speaker',
51767
52045
  'can_pause_speaker_playback',
52046
+ 'can_resume_speaker_playback',
51768
52047
  'can_play_speaker_chime',
52048
+ 'can_play_speaker_favorite',
52049
+ 'can_play_speaker_audio_clip',
51769
52050
  ],
51770
52051
  type: 'string',
51771
52052
  },
@@ -65596,6 +65877,85 @@ const openapi = {
65596
65877
  'x-title': 'Update a Space',
65597
65878
  },
65598
65879
  },
65880
+ '/speakers/list_favorites': {
65881
+ get: {
65882
+ description: "Returns the favorites saved on a speaker's account in the speaker manufacturer's app, such as playlists, albums and radio stations. To play one, pass its `favorite_id` to `/speakers/play_favorite`. To check whether a speaker supports favorites, use `device.can_play_speaker_favorite`.",
65883
+ operationId: 'speakersListFavoritesGet',
65884
+ parameters: [
65885
+ {
65886
+ in: 'query',
65887
+ name: 'device_id',
65888
+ required: true,
65889
+ schema: {
65890
+ description: 'ID of the speaker for which you want to list favorites.',
65891
+ format: 'uuid',
65892
+ type: 'string',
65893
+ },
65894
+ },
65895
+ ],
65896
+ responses: {
65897
+ '200': {
65898
+ content: {
65899
+ 'application/json': {
65900
+ schema: {
65901
+ properties: {
65902
+ ok: { type: 'boolean' },
65903
+ speaker_favorites: {
65904
+ items: {
65905
+ properties: {
65906
+ description: {
65907
+ description: 'Description of the favorite, such as its artist or station.',
65908
+ type: 'string',
65909
+ },
65910
+ favorite_id: {
65911
+ description: 'ID of the favorite. Pass it to `/speakers/play_favorite`.',
65912
+ type: 'string',
65913
+ },
65914
+ image_url: {
65915
+ description: "URL of the favorite's artwork.",
65916
+ type: 'string',
65917
+ },
65918
+ name: {
65919
+ description: 'Name of the favorite.',
65920
+ type: 'string',
65921
+ },
65922
+ service_name: {
65923
+ description: 'Name of the music service that provides the favorite.',
65924
+ type: 'string',
65925
+ },
65926
+ },
65927
+ required: ['favorite_id', 'name'],
65928
+ type: 'object',
65929
+ },
65930
+ type: 'array',
65931
+ },
65932
+ },
65933
+ required: ['speaker_favorites', 'ok'],
65934
+ type: 'object',
65935
+ },
65936
+ },
65937
+ },
65938
+ description: 'OK',
65939
+ },
65940
+ '400': { description: 'Bad Request' },
65941
+ '401': { description: 'Unauthorized' },
65942
+ },
65943
+ security: [
65944
+ { client_session: [] },
65945
+ { pat_with_workspace: [] },
65946
+ { console_session_with_workspace: [] },
65947
+ { api_key: [] },
65948
+ ],
65949
+ summary: '/speakers/list_favorites',
65950
+ tags: [],
65951
+ 'x-fern-sdk-group-name': ['speakers'],
65952
+ 'x-fern-sdk-method-name': 'list_favorites',
65953
+ 'x-fern-sdk-return-value': 'speaker_favorites',
65954
+ 'x-response-key': 'speaker_favorites',
65955
+ 'x-title': 'List Speaker Favorites',
65956
+ 'x-undocumented': 'Unreleased.',
65957
+ },
65958
+ },
65599
65959
  '/speakers/mute': {
65600
65960
  post: {
65601
65961
  description: 'Mutes a specified speaker. To check whether a speaker supports muting, use `device.can_mute_speaker`.',
@@ -65714,6 +66074,76 @@ const openapi = {
65714
66074
  'x-undocumented': 'Unreleased.',
65715
66075
  },
65716
66076
  },
66077
+ '/speakers/play_audio_clip': {
66078
+ post: {
66079
+ description: 'Plays a short audio clip from a URL on a speaker, over whatever the speaker is playing. Use it for a welcome message or announcement. To check whether a speaker supports audio clips, use `device.can_play_speaker_audio_clip`.',
66080
+ operationId: 'speakersPlayAudioClipPost',
66081
+ requestBody: {
66082
+ content: {
66083
+ 'application/json': {
66084
+ schema: {
66085
+ properties: {
66086
+ audio_url: {
66087
+ description: 'Public HTTPS URL of the MP3 or WAV file to play. The speaker downloads the file itself, so it must be reachable from the internet.',
66088
+ format: 'uri',
66089
+ maxLength: 2048,
66090
+ type: 'string',
66091
+ },
66092
+ device_id: {
66093
+ description: 'ID of the speaker on which you want to play the audio clip.',
66094
+ format: 'uuid',
66095
+ type: 'string',
66096
+ },
66097
+ volume: {
66098
+ description: "Volume at which to play the clip, on the speaker's native volume scale. If you omit this parameter, the clip plays at the speaker's current volume.",
66099
+ format: 'float',
66100
+ type: 'number',
66101
+ },
66102
+ },
66103
+ required: ['device_id', 'audio_url'],
66104
+ type: 'object',
66105
+ },
66106
+ },
66107
+ },
66108
+ },
66109
+ responses: {
66110
+ '200': {
66111
+ content: {
66112
+ 'application/json': {
66113
+ schema: {
66114
+ properties: {
66115
+ action_attempt: {
66116
+ $ref: '#/components/schemas/action_attempt',
66117
+ },
66118
+ ok: { type: 'boolean' },
66119
+ },
66120
+ required: ['action_attempt', 'ok'],
66121
+ type: 'object',
66122
+ },
66123
+ },
66124
+ },
66125
+ description: 'OK',
66126
+ },
66127
+ '400': { description: 'Bad Request' },
66128
+ '401': { description: 'Unauthorized' },
66129
+ },
66130
+ security: [
66131
+ { client_session: [] },
66132
+ { pat_with_workspace: [] },
66133
+ { console_session_with_workspace: [] },
66134
+ { api_key: [] },
66135
+ ],
66136
+ summary: '/speakers/play_audio_clip',
66137
+ tags: [],
66138
+ 'x-action-attempt-type': 'PLAY_SPEAKER_AUDIO_CLIP',
66139
+ 'x-fern-sdk-group-name': ['speakers'],
66140
+ 'x-fern-sdk-method-name': 'play_audio_clip',
66141
+ 'x-fern-sdk-return-value': 'action_attempt',
66142
+ 'x-response-key': 'action_attempt',
66143
+ 'x-title': 'Play an Audio Clip on a Speaker',
66144
+ 'x-undocumented': 'Unreleased.',
66145
+ },
66146
+ },
65717
66147
  '/speakers/play_chime': {
65718
66148
  post: {
65719
66149
  description: 'Plays a short chime on a specified speaker. To check whether a speaker supports playing a chime, use `device.can_play_speaker_chime`.',
@@ -65778,9 +66208,77 @@ const openapi = {
65778
66208
  'x-undocumented': 'Unreleased.',
65779
66209
  },
65780
66210
  },
66211
+ '/speakers/play_favorite': {
66212
+ post: {
66213
+ description: 'Replaces what a speaker is playing with one of its favorites and starts playback. Speakers grouped with the requested speaker play it too. To check whether a speaker supports favorites, use `device.can_play_speaker_favorite`.',
66214
+ operationId: 'speakersPlayFavoritePost',
66215
+ requestBody: {
66216
+ content: {
66217
+ 'application/json': {
66218
+ schema: {
66219
+ properties: {
66220
+ device_id: {
66221
+ description: 'ID of the speaker on which you want to play the favorite.',
66222
+ format: 'uuid',
66223
+ type: 'string',
66224
+ },
66225
+ favorite_id: {
66226
+ description: 'ID of the favorite that you want to play, from `/speakers/list_favorites`.',
66227
+ minLength: 1,
66228
+ type: 'string',
66229
+ },
66230
+ shuffle: {
66231
+ description: "Whether to shuffle the favorite's tracks. If you omit this parameter, the speaker keeps its current shuffle setting.",
66232
+ type: 'boolean',
66233
+ },
66234
+ },
66235
+ required: ['device_id', 'favorite_id'],
66236
+ type: 'object',
66237
+ },
66238
+ },
66239
+ },
66240
+ },
66241
+ responses: {
66242
+ '200': {
66243
+ content: {
66244
+ 'application/json': {
66245
+ schema: {
66246
+ properties: {
66247
+ action_attempt: {
66248
+ $ref: '#/components/schemas/action_attempt',
66249
+ },
66250
+ ok: { type: 'boolean' },
66251
+ },
66252
+ required: ['action_attempt', 'ok'],
66253
+ type: 'object',
66254
+ },
66255
+ },
66256
+ },
66257
+ description: 'OK',
66258
+ },
66259
+ '400': { description: 'Bad Request' },
66260
+ '401': { description: 'Unauthorized' },
66261
+ },
66262
+ security: [
66263
+ { client_session: [] },
66264
+ { pat_with_workspace: [] },
66265
+ { console_session_with_workspace: [] },
66266
+ { api_key: [] },
66267
+ ],
66268
+ summary: '/speakers/play_favorite',
66269
+ tags: [],
66270
+ 'x-action-attempt-type': 'PLAY_SPEAKER_FAVORITE',
66271
+ 'x-fern-sdk-group-name': ['speakers'],
66272
+ 'x-fern-sdk-method-name': 'play_favorite',
66273
+ 'x-fern-sdk-return-value': 'action_attempt',
66274
+ 'x-response-key': 'action_attempt',
66275
+ 'x-title': 'Play a Favorite on a Speaker',
66276
+ 'x-undocumented': 'Unreleased.',
66277
+ },
66278
+ },
65781
66279
  '/speakers/resume': {
65782
66280
  post: {
65783
- description: 'Resumes playback on a specified speaker. Playback also resumes on the speakers grouped with it, and the action attempt result lists every affected speaker. To check whether a speaker supports resuming playback, use `device.can_pause_speaker_playback`.',
66281
+ description: 'Resumes playback on a specified speaker. Playback also resumes on the speakers grouped with it, and the action attempt result lists every affected speaker. To check whether a speaker supports resuming playback, use `device.can_resume_speaker_playback`.',
65784
66282
  operationId: 'speakersResumePost',
65785
66283
  requestBody: {
65786
66284
  content: {
@@ -65903,7 +66401,7 @@ const openapi = {
65903
66401
  },
65904
66402
  '/speakers/unmute': {
65905
66403
  post: {
65906
- description: 'Unmutes a specified speaker. To check whether a speaker supports unmuting, use `device.can_mute_speaker`.',
66404
+ description: 'Unmutes a specified speaker. To check whether a speaker supports unmuting, use `device.can_unmute_speaker`.',
65907
66405
  operationId: 'speakersUnmutePost',
65908
66406
  requestBody: {
65909
66407
  content: {