@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
@@ -12437,6 +12437,240 @@ const openapi: OpenAPISpec = {
12437
12437
  ],
12438
12438
  type: 'object',
12439
12439
  },
12440
+ {
12441
+ description: 'Playing a favorite on the speaker is pending.',
12442
+ properties: {
12443
+ action_attempt_id: {
12444
+ description: 'ID of the action attempt.',
12445
+ format: 'uuid',
12446
+ type: 'string',
12447
+ },
12448
+ action_type: {
12449
+ description:
12450
+ 'Action attempt to track the status of playing a favorite on a speaker.',
12451
+ enum: ['PLAY_SPEAKER_FAVORITE'],
12452
+ type: 'string',
12453
+ },
12454
+ error: {
12455
+ description:
12456
+ 'Errors associated with the action attempt. Null for pending action attempts.',
12457
+ nullable: true,
12458
+ },
12459
+ result: {
12460
+ description:
12461
+ 'Result of the action attempt. Null for pending action attempts.',
12462
+ nullable: true,
12463
+ },
12464
+ status: { enum: ['pending'], type: 'string' },
12465
+ },
12466
+ required: [
12467
+ 'action_attempt_id',
12468
+ 'status',
12469
+ 'result',
12470
+ 'error',
12471
+ 'action_type',
12472
+ ],
12473
+ type: 'object',
12474
+ },
12475
+ {
12476
+ description: 'Playing a favorite on the speaker succeeded.',
12477
+ properties: {
12478
+ action_attempt_id: {
12479
+ description: 'ID of the action attempt.',
12480
+ format: 'uuid',
12481
+ type: 'string',
12482
+ },
12483
+ action_type: {
12484
+ description:
12485
+ 'Action attempt to track the status of playing a favorite on a speaker.',
12486
+ enum: ['PLAY_SPEAKER_FAVORITE'],
12487
+ type: 'string',
12488
+ },
12489
+ error: {
12490
+ description:
12491
+ 'Errors associated with the action attempt. Null for successful action attempts.',
12492
+ nullable: true,
12493
+ },
12494
+ result: {
12495
+ description: 'Result of the action.',
12496
+ properties: {
12497
+ affected_device_ids: {
12498
+ description:
12499
+ 'IDs of the speakers now playing the favorite, including speakers grouped with the requested speaker.',
12500
+ items: { format: 'uuid', type: 'string' },
12501
+ type: 'array',
12502
+ },
12503
+ },
12504
+ required: ['affected_device_ids'],
12505
+ type: 'object',
12506
+ },
12507
+ status: { enum: ['success'], type: 'string' },
12508
+ },
12509
+ required: [
12510
+ 'action_attempt_id',
12511
+ 'status',
12512
+ 'error',
12513
+ 'action_type',
12514
+ 'result',
12515
+ ],
12516
+ type: 'object',
12517
+ },
12518
+ {
12519
+ description: 'Playing a favorite on the speaker failed.',
12520
+ properties: {
12521
+ action_attempt_id: {
12522
+ description: 'ID of the action attempt.',
12523
+ format: 'uuid',
12524
+ type: 'string',
12525
+ },
12526
+ action_type: {
12527
+ description:
12528
+ 'Action attempt to track the status of playing a favorite on a speaker.',
12529
+ enum: ['PLAY_SPEAKER_FAVORITE'],
12530
+ type: 'string',
12531
+ },
12532
+ error: {
12533
+ description: 'Error associated with the action.',
12534
+ properties: {
12535
+ message: {
12536
+ description:
12537
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
12538
+ type: 'string',
12539
+ },
12540
+ type: { description: 'Type of the error.', type: 'string' },
12541
+ },
12542
+ required: ['type', 'message'],
12543
+ type: 'object',
12544
+ },
12545
+ result: {
12546
+ description:
12547
+ 'Result of the action attempt. Null for failed action attempts.',
12548
+ nullable: true,
12549
+ },
12550
+ status: { enum: ['error'], type: 'string' },
12551
+ },
12552
+ required: [
12553
+ 'action_attempt_id',
12554
+ 'status',
12555
+ 'result',
12556
+ 'action_type',
12557
+ 'error',
12558
+ ],
12559
+ type: 'object',
12560
+ },
12561
+ {
12562
+ description: 'Playing an audio clip on the speaker is pending.',
12563
+ properties: {
12564
+ action_attempt_id: {
12565
+ description: 'ID of the action attempt.',
12566
+ format: 'uuid',
12567
+ type: 'string',
12568
+ },
12569
+ action_type: {
12570
+ description:
12571
+ 'Action attempt to track the status of playing an audio clip on a speaker.',
12572
+ enum: ['PLAY_SPEAKER_AUDIO_CLIP'],
12573
+ type: 'string',
12574
+ },
12575
+ error: {
12576
+ description:
12577
+ 'Errors associated with the action attempt. Null for pending action attempts.',
12578
+ nullable: true,
12579
+ },
12580
+ result: {
12581
+ description:
12582
+ 'Result of the action attempt. Null for pending action attempts.',
12583
+ nullable: true,
12584
+ },
12585
+ status: { enum: ['pending'], type: 'string' },
12586
+ },
12587
+ required: [
12588
+ 'action_attempt_id',
12589
+ 'status',
12590
+ 'result',
12591
+ 'error',
12592
+ 'action_type',
12593
+ ],
12594
+ type: 'object',
12595
+ },
12596
+ {
12597
+ description: 'Playing an audio clip on the speaker succeeded.',
12598
+ properties: {
12599
+ action_attempt_id: {
12600
+ description: 'ID of the action attempt.',
12601
+ format: 'uuid',
12602
+ type: 'string',
12603
+ },
12604
+ action_type: {
12605
+ description:
12606
+ 'Action attempt to track the status of playing an audio clip on a speaker.',
12607
+ enum: ['PLAY_SPEAKER_AUDIO_CLIP'],
12608
+ type: 'string',
12609
+ },
12610
+ error: {
12611
+ description:
12612
+ 'Errors associated with the action attempt. Null for successful action attempts.',
12613
+ nullable: true,
12614
+ },
12615
+ result: {
12616
+ description: 'Result of the action.',
12617
+ properties: {},
12618
+ type: 'object',
12619
+ },
12620
+ status: { enum: ['success'], type: 'string' },
12621
+ },
12622
+ required: [
12623
+ 'action_attempt_id',
12624
+ 'status',
12625
+ 'error',
12626
+ 'action_type',
12627
+ 'result',
12628
+ ],
12629
+ type: 'object',
12630
+ },
12631
+ {
12632
+ description: 'Playing an audio clip on the speaker failed.',
12633
+ properties: {
12634
+ action_attempt_id: {
12635
+ description: 'ID of the action attempt.',
12636
+ format: 'uuid',
12637
+ type: 'string',
12638
+ },
12639
+ action_type: {
12640
+ description:
12641
+ 'Action attempt to track the status of playing an audio clip on a speaker.',
12642
+ enum: ['PLAY_SPEAKER_AUDIO_CLIP'],
12643
+ type: 'string',
12644
+ },
12645
+ error: {
12646
+ description: 'Error associated with the action.',
12647
+ properties: {
12648
+ message: {
12649
+ description:
12650
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
12651
+ type: 'string',
12652
+ },
12653
+ type: { description: 'Type of the error.', type: 'string' },
12654
+ },
12655
+ required: ['type', 'message'],
12656
+ type: 'object',
12657
+ },
12658
+ result: {
12659
+ description:
12660
+ 'Result of the action attempt. Null for failed action attempts.',
12661
+ nullable: true,
12662
+ },
12663
+ status: { enum: ['error'], type: 'string' },
12664
+ },
12665
+ required: [
12666
+ 'action_attempt_id',
12667
+ 'status',
12668
+ 'result',
12669
+ 'action_type',
12670
+ 'error',
12671
+ ],
12672
+ type: 'object',
12673
+ },
12440
12674
  {
12441
12675
  properties: {
12442
12676
  action_attempt_id: {
@@ -14977,13 +15211,17 @@ const openapi: OpenAPISpec = {
14977
15211
  type: 'boolean',
14978
15212
  },
14979
15213
  can_mute_speaker: {
14980
- description:
14981
- 'Indicates whether the speaker supports muting and unmuting.',
15214
+ description: 'Indicates whether the speaker supports muting.',
14982
15215
  type: 'boolean',
14983
15216
  },
14984
15217
  can_pause_speaker_playback: {
14985
15218
  description:
14986
- 'Indicates whether the speaker supports pausing and resuming playback.',
15219
+ 'Indicates whether the speaker supports pausing playback.',
15220
+ type: 'boolean',
15221
+ },
15222
+ can_play_speaker_audio_clip: {
15223
+ description:
15224
+ 'Indicates whether the speaker supports playing an audio clip from a URL.',
14987
15225
  type: 'boolean',
14988
15226
  },
14989
15227
  can_play_speaker_chime: {
@@ -14991,6 +15229,11 @@ const openapi: OpenAPISpec = {
14991
15229
  'Indicates whether the speaker supports playing a chime.',
14992
15230
  type: 'boolean',
14993
15231
  },
15232
+ can_play_speaker_favorite: {
15233
+ description:
15234
+ "Indicates whether the speaker supports listing and playing the favorites saved in the speaker manufacturer's app, such as playlists and radio stations.",
15235
+ type: 'boolean',
15236
+ },
14994
15237
  can_program_offline_access_codes: {
14995
15238
  description:
14996
15239
  'Indicates whether the device supports programming offline access codes.',
@@ -15026,6 +15269,11 @@ const openapi: OpenAPISpec = {
15026
15269
  'Indicates whether the device supports remote unlocking.',
15027
15270
  type: 'boolean',
15028
15271
  },
15272
+ can_resume_speaker_playback: {
15273
+ description:
15274
+ 'Indicates whether the speaker supports resuming playback.',
15275
+ type: 'boolean',
15276
+ },
15029
15277
  can_run_thermostat_programs: {
15030
15278
  description:
15031
15279
  'Indicates whether the thermostat supports running climate programs.',
@@ -15080,6 +15328,10 @@ const openapi: OpenAPISpec = {
15080
15328
  'Indicates whether the lock supports unlocking with an access code.',
15081
15329
  type: 'boolean',
15082
15330
  },
15331
+ can_unmute_speaker: {
15332
+ description: 'Indicates whether the speaker supports unmuting.',
15333
+ type: 'boolean',
15334
+ },
15083
15335
  capabilities_supported: {
15084
15336
  description:
15085
15337
  '\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 ',
@@ -17979,7 +18231,7 @@ const openapi: OpenAPISpec = {
17979
18231
  },
17980
18232
  supports_chime: {
17981
18233
  description:
17982
- 'Indicates whether the speaker can play a chime.',
18234
+ 'Indicates whether the speaker can play a chime or an audio clip.',
17983
18235
  type: 'boolean',
17984
18236
  },
17985
18237
  volume: {
@@ -19759,13 +20011,17 @@ const openapi: OpenAPISpec = {
19759
20011
  type: 'boolean',
19760
20012
  },
19761
20013
  can_mute_speaker: {
19762
- description:
19763
- 'Indicates whether the speaker supports muting and unmuting.',
20014
+ description: 'Indicates whether the speaker supports muting.',
19764
20015
  type: 'boolean',
19765
20016
  },
19766
20017
  can_pause_speaker_playback: {
19767
20018
  description:
19768
- 'Indicates whether the speaker supports pausing and resuming playback.',
20019
+ 'Indicates whether the speaker supports pausing playback.',
20020
+ type: 'boolean',
20021
+ },
20022
+ can_play_speaker_audio_clip: {
20023
+ description:
20024
+ 'Indicates whether the speaker supports playing an audio clip from a URL.',
19769
20025
  type: 'boolean',
19770
20026
  },
19771
20027
  can_play_speaker_chime: {
@@ -19773,6 +20029,11 @@ const openapi: OpenAPISpec = {
19773
20029
  'Indicates whether the speaker supports playing a chime.',
19774
20030
  type: 'boolean',
19775
20031
  },
20032
+ can_play_speaker_favorite: {
20033
+ description:
20034
+ "Indicates whether the speaker supports listing and playing the favorites saved in the speaker manufacturer's app, such as playlists and radio stations.",
20035
+ type: 'boolean',
20036
+ },
19776
20037
  can_program_offline_access_codes: {
19777
20038
  description:
19778
20039
  'Indicates whether the device supports programming offline access codes.',
@@ -19808,6 +20069,11 @@ const openapi: OpenAPISpec = {
19808
20069
  'Indicates whether the device supports remote unlocking.',
19809
20070
  type: 'boolean',
19810
20071
  },
20072
+ can_resume_speaker_playback: {
20073
+ description:
20074
+ 'Indicates whether the speaker supports resuming playback.',
20075
+ type: 'boolean',
20076
+ },
19811
20077
  can_run_thermostat_programs: {
19812
20078
  description:
19813
20079
  'Indicates whether the thermostat supports running climate programs.',
@@ -19862,6 +20128,10 @@ const openapi: OpenAPISpec = {
19862
20128
  'Indicates whether the lock supports unlocking with an access code.',
19863
20129
  type: 'boolean',
19864
20130
  },
20131
+ can_unmute_speaker: {
20132
+ description: 'Indicates whether the speaker supports unmuting.',
20133
+ type: 'boolean',
20134
+ },
19865
20135
  device_provider_name: {
19866
20136
  description: 'Name of the device provider.',
19867
20137
  enum: [
@@ -39702,13 +39972,17 @@ const openapi: OpenAPISpec = {
39702
39972
  type: 'boolean',
39703
39973
  },
39704
39974
  can_mute_speaker: {
39705
- description:
39706
- 'Indicates whether the speaker supports muting and unmuting.',
39975
+ description: 'Indicates whether the speaker supports muting.',
39707
39976
  type: 'boolean',
39708
39977
  },
39709
39978
  can_pause_speaker_playback: {
39710
39979
  description:
39711
- 'Indicates whether the speaker supports pausing and resuming playback.',
39980
+ 'Indicates whether the speaker supports pausing playback.',
39981
+ type: 'boolean',
39982
+ },
39983
+ can_play_speaker_audio_clip: {
39984
+ description:
39985
+ 'Indicates whether the speaker supports playing an audio clip from a URL.',
39712
39986
  type: 'boolean',
39713
39987
  },
39714
39988
  can_play_speaker_chime: {
@@ -39716,6 +39990,11 @@ const openapi: OpenAPISpec = {
39716
39990
  'Indicates whether the speaker supports playing a chime.',
39717
39991
  type: 'boolean',
39718
39992
  },
39993
+ can_play_speaker_favorite: {
39994
+ description:
39995
+ "Indicates whether the speaker supports listing and playing the favorites saved in the speaker manufacturer's app, such as playlists and radio stations.",
39996
+ type: 'boolean',
39997
+ },
39719
39998
  can_program_offline_access_codes: {
39720
39999
  description:
39721
40000
  'Indicates whether the device supports programming offline access codes.',
@@ -39751,6 +40030,11 @@ const openapi: OpenAPISpec = {
39751
40030
  'Indicates whether the device supports remote unlocking.',
39752
40031
  type: 'boolean',
39753
40032
  },
40033
+ can_resume_speaker_playback: {
40034
+ description:
40035
+ 'Indicates whether the speaker supports resuming playback.',
40036
+ type: 'boolean',
40037
+ },
39754
40038
  can_run_thermostat_programs: {
39755
40039
  description:
39756
40040
  'Indicates whether the thermostat supports running climate programs.',
@@ -39805,6 +40089,10 @@ const openapi: OpenAPISpec = {
39805
40089
  'Indicates whether the lock supports unlocking with an access code.',
39806
40090
  type: 'boolean',
39807
40091
  },
40092
+ can_unmute_speaker: {
40093
+ description: 'Indicates whether the speaker supports unmuting.',
40094
+ type: 'boolean',
40095
+ },
39808
40096
  capabilities_supported: {
39809
40097
  description:
39810
40098
  '\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 ',
@@ -54769,8 +55057,12 @@ const openapi: OpenAPISpec = {
54769
55057
  'can_stream_live_video',
54770
55058
  'can_set_speaker_volume',
54771
55059
  'can_mute_speaker',
55060
+ 'can_unmute_speaker',
54772
55061
  'can_pause_speaker_playback',
55062
+ 'can_resume_speaker_playback',
54773
55063
  'can_play_speaker_chime',
55064
+ 'can_play_speaker_favorite',
55065
+ 'can_play_speaker_audio_clip',
54774
55066
  ],
54775
55067
  type: 'string',
54776
55068
  },
@@ -54808,8 +55100,12 @@ const openapi: OpenAPISpec = {
54808
55100
  'can_stream_live_video',
54809
55101
  'can_set_speaker_volume',
54810
55102
  'can_mute_speaker',
55103
+ 'can_unmute_speaker',
54811
55104
  'can_pause_speaker_playback',
55105
+ 'can_resume_speaker_playback',
54812
55106
  'can_play_speaker_chime',
55107
+ 'can_play_speaker_favorite',
55108
+ 'can_play_speaker_audio_clip',
54813
55109
  ],
54814
55110
  type: 'string',
54815
55111
  },
@@ -57072,8 +57368,12 @@ const openapi: OpenAPISpec = {
57072
57368
  'can_stream_live_video',
57073
57369
  'can_set_speaker_volume',
57074
57370
  'can_mute_speaker',
57371
+ 'can_unmute_speaker',
57075
57372
  'can_pause_speaker_playback',
57373
+ 'can_resume_speaker_playback',
57076
57374
  'can_play_speaker_chime',
57375
+ 'can_play_speaker_favorite',
57376
+ 'can_play_speaker_audio_clip',
57077
57377
  ],
57078
57378
  type: 'string',
57079
57379
  },
@@ -57111,8 +57411,12 @@ const openapi: OpenAPISpec = {
57111
57411
  'can_stream_live_video',
57112
57412
  'can_set_speaker_volume',
57113
57413
  'can_mute_speaker',
57414
+ 'can_unmute_speaker',
57114
57415
  'can_pause_speaker_playback',
57416
+ 'can_resume_speaker_playback',
57115
57417
  'can_play_speaker_chime',
57418
+ 'can_play_speaker_favorite',
57419
+ 'can_play_speaker_audio_clip',
57116
57420
  ],
57117
57421
  type: 'string',
57118
57422
  },
@@ -71413,6 +71717,90 @@ const openapi: OpenAPISpec = {
71413
71717
  'x-title': 'Update a Space',
71414
71718
  },
71415
71719
  },
71720
+ '/speakers/list_favorites': {
71721
+ get: {
71722
+ description:
71723
+ "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`.",
71724
+ operationId: 'speakersListFavoritesGet',
71725
+ parameters: [
71726
+ {
71727
+ in: 'query',
71728
+ name: 'device_id',
71729
+ required: true,
71730
+ schema: {
71731
+ description:
71732
+ 'ID of the speaker for which you want to list favorites.',
71733
+ format: 'uuid',
71734
+ type: 'string',
71735
+ },
71736
+ },
71737
+ ],
71738
+ responses: {
71739
+ '200': {
71740
+ content: {
71741
+ 'application/json': {
71742
+ schema: {
71743
+ properties: {
71744
+ ok: { type: 'boolean' },
71745
+ speaker_favorites: {
71746
+ items: {
71747
+ properties: {
71748
+ description: {
71749
+ description:
71750
+ 'Description of the favorite, such as its artist or station.',
71751
+ type: 'string',
71752
+ },
71753
+ favorite_id: {
71754
+ description:
71755
+ 'ID of the favorite. Pass it to `/speakers/play_favorite`.',
71756
+ type: 'string',
71757
+ },
71758
+ image_url: {
71759
+ description: "URL of the favorite's artwork.",
71760
+ type: 'string',
71761
+ },
71762
+ name: {
71763
+ description: 'Name of the favorite.',
71764
+ type: 'string',
71765
+ },
71766
+ service_name: {
71767
+ description:
71768
+ 'Name of the music service that provides the favorite.',
71769
+ type: 'string',
71770
+ },
71771
+ },
71772
+ required: ['favorite_id', 'name'],
71773
+ type: 'object',
71774
+ },
71775
+ type: 'array',
71776
+ },
71777
+ },
71778
+ required: ['speaker_favorites', 'ok'],
71779
+ type: 'object',
71780
+ },
71781
+ },
71782
+ },
71783
+ description: 'OK',
71784
+ },
71785
+ '400': { description: 'Bad Request' },
71786
+ '401': { description: 'Unauthorized' },
71787
+ },
71788
+ security: [
71789
+ { client_session: [] },
71790
+ { pat_with_workspace: [] },
71791
+ { console_session_with_workspace: [] },
71792
+ { api_key: [] },
71793
+ ],
71794
+ summary: '/speakers/list_favorites',
71795
+ tags: [],
71796
+ 'x-fern-sdk-group-name': ['speakers'],
71797
+ 'x-fern-sdk-method-name': 'list_favorites',
71798
+ 'x-fern-sdk-return-value': 'speaker_favorites',
71799
+ 'x-response-key': 'speaker_favorites',
71800
+ 'x-title': 'List Speaker Favorites',
71801
+ 'x-undocumented': 'Unreleased.',
71802
+ },
71803
+ },
71416
71804
  '/speakers/mute': {
71417
71805
  post: {
71418
71806
  description:
@@ -71534,6 +71922,80 @@ const openapi: OpenAPISpec = {
71534
71922
  'x-undocumented': 'Unreleased.',
71535
71923
  },
71536
71924
  },
71925
+ '/speakers/play_audio_clip': {
71926
+ post: {
71927
+ description:
71928
+ '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`.',
71929
+ operationId: 'speakersPlayAudioClipPost',
71930
+ requestBody: {
71931
+ content: {
71932
+ 'application/json': {
71933
+ schema: {
71934
+ properties: {
71935
+ audio_url: {
71936
+ description:
71937
+ '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.',
71938
+ format: 'uri',
71939
+ maxLength: 2048,
71940
+ type: 'string',
71941
+ },
71942
+ device_id: {
71943
+ description:
71944
+ 'ID of the speaker on which you want to play the audio clip.',
71945
+ format: 'uuid',
71946
+ type: 'string',
71947
+ },
71948
+ volume: {
71949
+ description:
71950
+ "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.",
71951
+ format: 'float',
71952
+ type: 'number',
71953
+ },
71954
+ },
71955
+ required: ['device_id', 'audio_url'],
71956
+ type: 'object',
71957
+ },
71958
+ },
71959
+ },
71960
+ },
71961
+ responses: {
71962
+ '200': {
71963
+ content: {
71964
+ 'application/json': {
71965
+ schema: {
71966
+ properties: {
71967
+ action_attempt: {
71968
+ $ref: '#/components/schemas/action_attempt',
71969
+ },
71970
+ ok: { type: 'boolean' },
71971
+ },
71972
+ required: ['action_attempt', 'ok'],
71973
+ type: 'object',
71974
+ },
71975
+ },
71976
+ },
71977
+ description: 'OK',
71978
+ },
71979
+ '400': { description: 'Bad Request' },
71980
+ '401': { description: 'Unauthorized' },
71981
+ },
71982
+ security: [
71983
+ { client_session: [] },
71984
+ { pat_with_workspace: [] },
71985
+ { console_session_with_workspace: [] },
71986
+ { api_key: [] },
71987
+ ],
71988
+ summary: '/speakers/play_audio_clip',
71989
+ tags: [],
71990
+ 'x-action-attempt-type': 'PLAY_SPEAKER_AUDIO_CLIP',
71991
+ 'x-fern-sdk-group-name': ['speakers'],
71992
+ 'x-fern-sdk-method-name': 'play_audio_clip',
71993
+ 'x-fern-sdk-return-value': 'action_attempt',
71994
+ 'x-response-key': 'action_attempt',
71995
+ 'x-title': 'Play an Audio Clip on a Speaker',
71996
+ 'x-undocumented': 'Unreleased.',
71997
+ },
71998
+ },
71537
71999
  '/speakers/play_chime': {
71538
72000
  post: {
71539
72001
  description:
@@ -71601,10 +72063,82 @@ const openapi: OpenAPISpec = {
71601
72063
  'x-undocumented': 'Unreleased.',
71602
72064
  },
71603
72065
  },
72066
+ '/speakers/play_favorite': {
72067
+ post: {
72068
+ description:
72069
+ '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`.',
72070
+ operationId: 'speakersPlayFavoritePost',
72071
+ requestBody: {
72072
+ content: {
72073
+ 'application/json': {
72074
+ schema: {
72075
+ properties: {
72076
+ device_id: {
72077
+ description:
72078
+ 'ID of the speaker on which you want to play the favorite.',
72079
+ format: 'uuid',
72080
+ type: 'string',
72081
+ },
72082
+ favorite_id: {
72083
+ description:
72084
+ 'ID of the favorite that you want to play, from `/speakers/list_favorites`.',
72085
+ minLength: 1,
72086
+ type: 'string',
72087
+ },
72088
+ shuffle: {
72089
+ description:
72090
+ "Whether to shuffle the favorite's tracks. If you omit this parameter, the speaker keeps its current shuffle setting.",
72091
+ type: 'boolean',
72092
+ },
72093
+ },
72094
+ required: ['device_id', 'favorite_id'],
72095
+ type: 'object',
72096
+ },
72097
+ },
72098
+ },
72099
+ },
72100
+ responses: {
72101
+ '200': {
72102
+ content: {
72103
+ 'application/json': {
72104
+ schema: {
72105
+ properties: {
72106
+ action_attempt: {
72107
+ $ref: '#/components/schemas/action_attempt',
72108
+ },
72109
+ ok: { type: 'boolean' },
72110
+ },
72111
+ required: ['action_attempt', 'ok'],
72112
+ type: 'object',
72113
+ },
72114
+ },
72115
+ },
72116
+ description: 'OK',
72117
+ },
72118
+ '400': { description: 'Bad Request' },
72119
+ '401': { description: 'Unauthorized' },
72120
+ },
72121
+ security: [
72122
+ { client_session: [] },
72123
+ { pat_with_workspace: [] },
72124
+ { console_session_with_workspace: [] },
72125
+ { api_key: [] },
72126
+ ],
72127
+ summary: '/speakers/play_favorite',
72128
+ tags: [],
72129
+ 'x-action-attempt-type': 'PLAY_SPEAKER_FAVORITE',
72130
+ 'x-fern-sdk-group-name': ['speakers'],
72131
+ 'x-fern-sdk-method-name': 'play_favorite',
72132
+ 'x-fern-sdk-return-value': 'action_attempt',
72133
+ 'x-response-key': 'action_attempt',
72134
+ 'x-title': 'Play a Favorite on a Speaker',
72135
+ 'x-undocumented': 'Unreleased.',
72136
+ },
72137
+ },
71604
72138
  '/speakers/resume': {
71605
72139
  post: {
71606
72140
  description:
71607
- '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`.',
72141
+ '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`.',
71608
72142
  operationId: 'speakersResumePost',
71609
72143
  requestBody: {
71610
72144
  content: {
@@ -71732,7 +72266,7 @@ const openapi: OpenAPISpec = {
71732
72266
  '/speakers/unmute': {
71733
72267
  post: {
71734
72268
  description:
71735
- 'Unmutes a specified speaker. To check whether a speaker supports unmuting, use `device.can_mute_speaker`.',
72269
+ 'Unmutes a specified speaker. To check whether a speaker supports unmuting, use `device.can_unmute_speaker`.',
71736
72270
  operationId: 'speakersUnmutePost',
71737
72271
  requestBody: {
71738
72272
  content: {