@portpowered/reference-data 0.4.7 → 0.4.9

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 (67) hide show
  1. package/generated/capabilities.json +579 -4
  2. package/generated/openapi.json +369 -40
  3. package/generated/public/docs/for-ai/capability-interfaces/media-player/1.0.md +1 -0
  4. package/generated/public/docs/for-ai/capability-interfaces/media-playlist/1.0.md +3 -0
  5. package/generated/public/docs/for-ai/capability-interfaces/media-search/1.0.md +2 -0
  6. package/generated/public/docs/for-ai/capability-interfaces/route-discovery/1.0.md +1 -1
  7. package/generated/public/docs/for-ai/schemas/m-1.md +6 -6
  8. package/generated/public/docs/for-ai/schemas/m-2.md +6 -0
  9. package/generated/public/docs/for-ai/schemas/p-2.md +2 -0
  10. package/generated/public/docs/for-ai/schemas/s-3.md +1 -0
  11. package/generated/public/docs/for-ai/schemas.md +4 -4
  12. package/generated/public/docs/references/capability-interfaces/media-player/1.0/attributes/now-playing.yaml +30 -0
  13. package/generated/public/docs/references/capability-interfaces/media-player/1.0/configuration.yaml +30 -0
  14. package/generated/public/docs/references/capability-interfaces/media-player/1.0/messages/play-media.yaml +11 -5
  15. package/generated/public/docs/references/capability-interfaces/media-player/1.0.yaml +73 -4
  16. package/generated/public/docs/references/capability-interfaces/media-player.yaml +73 -4
  17. package/generated/public/docs/references/capability-interfaces/media-playlist/1.0/messages/get-playlist.yaml +9 -0
  18. package/generated/public/docs/references/capability-interfaces/media-playlist/1.0/messages/list-playlists.yaml +15 -0
  19. package/generated/public/docs/references/capability-interfaces/media-playlist/1.0/messages/playlist-contents.yaml +114 -0
  20. package/generated/public/docs/references/capability-interfaces/media-playlist/1.0/messages/playlists.yaml +35 -0
  21. package/generated/public/docs/references/capability-interfaces/media-playlist/1.0.yaml +184 -0
  22. package/generated/public/docs/references/capability-interfaces/media-playlist.yaml +184 -0
  23. package/generated/public/docs/references/capability-interfaces/media-search/1.0/messages/audio-media-results.yaml +67 -0
  24. package/generated/public/docs/references/capability-interfaces/media-search/1.0/messages/get-media.yaml +32 -0
  25. package/generated/public/docs/references/capability-interfaces/media-search/1.0/messages/media-details.yaml +118 -0
  26. package/generated/public/docs/references/capability-interfaces/media-search/1.0/messages/search-media.yaml +15 -1
  27. package/generated/public/docs/references/capability-interfaces/media-search/1.0.yaml +235 -1
  28. package/generated/public/docs/references/capability-interfaces/media-search.yaml +235 -1
  29. package/generated/public/docs/references/capability-interfaces/recordings/1.0/messages/list-recordings-response.yaml +11 -5
  30. package/generated/public/docs/references/capability-interfaces/recordings/1.0.yaml +10 -5
  31. package/generated/public/docs/references/capability-interfaces/recordings.yaml +10 -5
  32. package/generated/public/docs/references/capability-interfaces/route-discovery/1.0.yaml +1 -1
  33. package/generated/public/docs/references/capability-interfaces/route-discovery.yaml +1 -1
  34. package/generated/public/docs/references/manifest.json +203 -83
  35. package/generated/public/docs/references/openapi.yaml +304 -38
  36. package/generated/public/docs/references/schemas/CreateMessageTarget.json +4 -0
  37. package/generated/public/docs/references/schemas/MediaId.json +3 -1
  38. package/generated/public/docs/references/schemas/MediaPlayerInterfaceConfiguration.json +7 -0
  39. package/generated/public/docs/references/schemas/MediaPlayerInterfaceNowPlayingAttribute.json +27 -0
  40. package/generated/public/docs/references/schemas/MediaPlaylistInterfaceGetPlaylistMessage.json +11 -0
  41. package/generated/public/docs/references/schemas/MediaPlaylistInterfaceListPlaylistsMessage.json +24 -0
  42. package/generated/public/docs/references/schemas/MediaPlaylistInterfacePlaylistContentsMessage.json +37 -0
  43. package/generated/public/docs/references/schemas/MediaPlaylistInterfacePlaylistsMessage.json +26 -0
  44. package/generated/public/docs/references/schemas/MediaSearchInterfaceAudioMediaResultsMessage.json +17 -0
  45. package/generated/public/docs/references/schemas/MediaSearchInterfaceGetMediaMessage.json +30 -0
  46. package/generated/public/docs/references/schemas/MediaSearchInterfaceMediaDetailsMessage.json +43 -0
  47. package/generated/public/docs/references/schemas/MediaSearchInterfaceSearchMediaMessage.json +13 -1
  48. package/generated/public/docs/references/schemas/Playlist.json +8 -0
  49. package/generated/public/docs/references/schemas/PodcastEpisode.json +30 -0
  50. package/generated/public/docs/references/schemas/PodcastShow.json +22 -0
  51. package/generated/public/docs/references/schemas/RouteDiscoveryInterfaceDiscoverRoutesMessage.json +1 -1
  52. package/generated/public/docs/references/schemas/SupportedMediaResource.json +34 -0
  53. package/generated/public/docs/references/schemas/configuration-6.json +6 -2
  54. package/generated/public/docs/references/schemas/index.json +54 -0
  55. package/generated/resources/media-player/configuration.json +37 -0
  56. package/generated/resources/media-player/message-play-media.json +3 -1
  57. package/generated/resources/media-player/state-now-playing.json +27 -0
  58. package/generated/resources/media-playlist/message-get-playlist.json +11 -0
  59. package/generated/resources/media-playlist/message-list-playlists.json +18 -0
  60. package/generated/resources/media-playlist/message-playlist-contents.json +140 -0
  61. package/generated/resources/media-playlist/message-playlists.json +46 -0
  62. package/generated/resources/media-search/message-audio-media-results.json +76 -0
  63. package/generated/resources/media-search/message-get-media.json +29 -0
  64. package/generated/resources/media-search/message-media-details.json +146 -0
  65. package/generated/resources/media-search/message-search-media.json +13 -1
  66. package/generated/resources/recordings/message-list-recordings-response.json +3 -1
  67. package/package.json +8 -3
@@ -20,18 +20,18 @@ Start with [the REST operation directory](/docs/for-ai/operations/index.md) and
20
20
  - [InferenceNodeConfiguration – IfMatch](/docs/for-ai/schemas/i-1.md) (9 components)
21
21
  - [KeypadInputInterfaceConfiguration – KeypadInputInterfaceSendKeyMessage](/docs/for-ai/schemas/k-1.md) (2 components)
22
22
  - [LaundryDryerInterfaceConfiguration – LockInterfaceUnlockMessage](/docs/for-ai/schemas/l-1.md) (18 components)
23
- - [MeasurementRange – MessageHeader](/docs/for-ai/schemas/m-1.md) (40 components)
24
- - [MessageInterfaceConfiguration – MovementInstruction](/docs/for-ai/schemas/m-2.md) (14 components)
23
+ - [MeasurementRange – MediaSearchInterfaceMediaDetailsMessage](/docs/for-ai/schemas/m-1.md) (40 components)
24
+ - [MediaSearchInterfaceSearchMediaMessage – MovementInstruction](/docs/for-ai/schemas/m-2.md) (20 components)
25
25
  - [NO2ConcMeasInterfaceConfiguration – NotificationTimeWindow](/docs/for-ai/schemas/n-1.md) (11 components)
26
26
  - [O3ConcMeasInterfaceConfiguration – OvenInterfaceTemperatureAttribute](/docs/for-ai/schemas/o-1.md) (16 components)
27
27
  - [PaginationContext – PluginType](/docs/for-ai/schemas/p-1.md) (40 components)
28
- - [PM10ConcentrationMeasurementInterfaceConfiguration – PumpConfigurationAndControlInterfaceSetSpeedMessage](/docs/for-ai/schemas/p-2.md) (25 components)
28
+ - [PM10ConcentrationMeasurementInterfaceConfiguration – PumpConfigurationAndControlInterfaceSetSpeedMessage](/docs/for-ai/schemas/p-2.md) (27 components)
29
29
  - [Query – QueryFlowsResponse](/docs/for-ai/schemas/q-1.md) (4 components)
30
30
  - [RadioDiagnosticValue – RouteDiscoveryConfiguration](/docs/for-ai/schemas/r-1.md) (40 components)
31
31
  - [RouteDiscoveryInterfaceAddGroupRouteMembersMessage – RtspSessionInterfaceStopSessionResponseMessage](/docs/for-ai/schemas/r-2.md) (30 components)
32
32
  - [SceneInterfaceActivateMessage – SimulatorSharedFields](/docs/for-ai/schemas/s-1.md) (40 components)
33
33
  - [SimulatorV2 – SuctionLevel](/docs/for-ai/schemas/s-2.md) (40 components)
34
- - [SupportedEvent – SystemId](/docs/for-ai/schemas/s-3.md) (9 components)
34
+ - [SupportedEvent – SystemId](/docs/for-ai/schemas/s-3.md) (10 components)
35
35
  - [TemperatureSensorInterfaceConfiguration – TypeValue](/docs/for-ai/schemas/t-1.md) (25 components)
36
36
  - [UpdateOAuthClientResponse – UpsertViewResponse](/docs/for-ai/schemas/u-1.md) (29 components)
37
37
  - [ValidateOAuthRequestRequest – ViewSchemaVersion](/docs/for-ai/schemas/v-1.md) (5 components)
@@ -0,0 +1,30 @@
1
+ description: >-
2
+ Media identity observed on this route. Active false means the provider session
3
+ is on another target; it does not prove the speaker is silent through other
4
+ providers.
5
+ type: object
6
+ properties:
7
+ active:
8
+ type: boolean
9
+ mediaId:
10
+ title: MediaId
11
+ type: string
12
+ minLength: 1
13
+ example: portos-media://portpowered.com/spotify/audio/track/Ab123
14
+ pattern: >-
15
+ ^(portos-media://portpowered[.]com/[a-z][a-z0-9_-]*/(audio|video|image)/[a-z][a-z0-9_-]*/([^/?#\s]|%[0-9A-Fa-f]{2})+|https?://[^\s]+|portos://[^\s]+|youtube:video:[A-Za-z0-9_-]+)$
16
+ description: >
17
+ Exact provider resource identity. The canonical form is
18
+ portos-media://portpowered.com/provider/media-type/resource-kind/resource-id,
19
+ with no URI version. Spotify emits audio track, playlist, album, artist,
20
+ show and episode identities. Copy an ID returned by search or library
21
+ discovery; do not send a search phrase as an ID. Legacy providers retain
22
+ their own input contracts until explicitly migrated. See
23
+ https://portpowered.com/docs/media.
24
+ contextMediaId:
25
+ $ref: '#/properties/mediaId'
26
+ name:
27
+ type: string
28
+ required:
29
+ - active
30
+ additionalProperties: false
@@ -3,6 +3,36 @@ description: >-
3
3
  playback. Read playback state and use only the commands supported by the connected player.
4
4
  type: object
5
5
  properties:
6
+ supportedMediaResources:
7
+ type: array
8
+ description: >-
9
+ Exact play-media URI combinations accepted by this route. Member or endpoint unions do not
10
+ imply support by every route.
11
+ items:
12
+ title: SupportedMediaResource
13
+ description: A provider, media type and resource-kind combination accepted by a control route.
14
+ type: object
15
+ properties:
16
+ provider:
17
+ $ref: '#/properties/supportedAudioProviders/items'
18
+ mediaType:
19
+ type: string
20
+ enum:
21
+ - AUDIO
22
+ - VIDEO
23
+ - IMAGE
24
+ resourceKinds:
25
+ type: array
26
+ minItems: 1
27
+ uniqueItems: true
28
+ items:
29
+ type: string
30
+ description: Lowercase resource-kind segment from the provider URI.
31
+ required:
32
+ - provider
33
+ - mediaType
34
+ - resourceKinds
35
+ additionalProperties: false
6
36
  supportedAudioProviders:
7
37
  type: array
8
38
  uniqueItems: true
@@ -4,11 +4,17 @@ properties:
4
4
  title: MediaId
5
5
  type: string
6
6
  minLength: 1
7
- description: >-
8
- Media IDs are a standardized identifier that Port OS uses to represent
9
- media across YouTube, Spotify, and other media providers. See
10
- https://portpowered.com/docs/media for the current media identifiers
11
- documentation.
7
+ example: portos-media://portpowered.com/spotify/audio/track/Ab123
8
+ pattern: >-
9
+ ^(portos-media://portpowered[.]com/[a-z][a-z0-9_-]*/(audio|video|image)/[a-z][a-z0-9_-]*/([^/?#\s]|%[0-9A-Fa-f]{2})+|https?://[^\s]+|portos://[^\s]+|youtube:video:[A-Za-z0-9_-]+)$
10
+ description: >
11
+ Exact provider resource identity. The canonical form is
12
+ portos-media://portpowered.com/provider/media-type/resource-kind/resource-id,
13
+ with no URI version. Spotify emits audio track, playlist, album, artist,
14
+ show and episode identities. Copy an ID returned by search or library
15
+ discovery; do not send a search phrase as an ID. Legacy providers retain
16
+ their own input contracts until explicitly migrated. See
17
+ https://portpowered.com/docs/media.
12
18
  required:
13
19
  - mediaId
14
20
  additionalProperties: false
@@ -144,10 +144,16 @@ messages:
144
144
  title: MediaId
145
145
  type: string
146
146
  minLength: 1
147
- description: >-
148
- Media IDs are a standardized identifier that Port OS uses to represent media across
149
- YouTube, Spotify, and other media providers. See https://portpowered.com/docs/media for
150
- the current media identifiers documentation.
147
+ example: portos-media://portpowered.com/spotify/audio/track/Ab123
148
+ pattern: >-
149
+ ^(portos-media://portpowered[.]com/[a-z][a-z0-9_-]*/(audio|video|image)/[a-z][a-z0-9_-]*/([^/?#\s]|%[0-9A-Fa-f]{2})+|https?://[^\s]+|portos://[^\s]+|youtube:video:[A-Za-z0-9_-]+)$
150
+ description: >
151
+ Exact provider resource identity. The canonical form is
152
+ portos-media://portpowered.com/provider/media-type/resource-kind/resource-id, with no
153
+ URI version. Spotify emits audio track, playlist, album, artist, show and episode
154
+ identities. Copy an ID returned by search or library discovery; do not send a search
155
+ phrase as an ID. Legacy providers retain their own input contracts until explicitly
156
+ migrated. See https://portpowered.com/docs/media.
151
157
  required:
152
158
  - mediaId
153
159
  additionalProperties: false
@@ -288,6 +294,39 @@ messages:
288
294
  type: object
289
295
  additionalProperties: false
290
296
  attributes:
297
+ - name: now-playing
298
+ description: >-
299
+ Media identity observed on this route. Active false means the provider session is on another
300
+ target; it does not prove the speaker is silent through other providers.
301
+ schema:
302
+ description: >-
303
+ Media identity observed on this route. Active false means the provider session is on another
304
+ target; it does not prove the speaker is silent through other providers.
305
+ type: object
306
+ properties:
307
+ active:
308
+ type: boolean
309
+ mediaId:
310
+ title: MediaId
311
+ type: string
312
+ minLength: 1
313
+ example: portos-media://portpowered.com/spotify/audio/track/Ab123
314
+ pattern: >-
315
+ ^(portos-media://portpowered[.]com/[a-z][a-z0-9_-]*/(audio|video|image)/[a-z][a-z0-9_-]*/([^/?#\s]|%[0-9A-Fa-f]{2})+|https?://[^\s]+|portos://[^\s]+|youtube:video:[A-Za-z0-9_-]+)$
316
+ description: >
317
+ Exact provider resource identity. The canonical form is
318
+ portos-media://portpowered.com/provider/media-type/resource-kind/resource-id, with no
319
+ URI version. Spotify emits audio track, playlist, album, artist, show and episode
320
+ identities. Copy an ID returned by search or library discovery; do not send a search
321
+ phrase as an ID. Legacy providers retain their own input contracts until explicitly
322
+ migrated. See https://portpowered.com/docs/media.
323
+ contextMediaId:
324
+ $ref: '#/properties/mediaId'
325
+ name:
326
+ type: string
327
+ required:
328
+ - active
329
+ additionalProperties: false
291
330
  - name: playback-speed
292
331
  description: null
293
332
  schema:
@@ -324,6 +363,36 @@ configuration:
324
363
  playback. Read playback state and use only the commands supported by the connected player.
325
364
  type: object
326
365
  properties:
366
+ supportedMediaResources:
367
+ type: array
368
+ description: >-
369
+ Exact play-media URI combinations accepted by this route. Member or endpoint unions do not
370
+ imply support by every route.
371
+ items:
372
+ title: SupportedMediaResource
373
+ description: A provider, media type and resource-kind combination accepted by a control route.
374
+ type: object
375
+ properties:
376
+ provider:
377
+ $ref: '#/properties/supportedAudioProviders/items'
378
+ mediaType:
379
+ type: string
380
+ enum:
381
+ - AUDIO
382
+ - VIDEO
383
+ - IMAGE
384
+ resourceKinds:
385
+ type: array
386
+ minItems: 1
387
+ uniqueItems: true
388
+ items:
389
+ type: string
390
+ description: Lowercase resource-kind segment from the provider URI.
391
+ required:
392
+ - provider
393
+ - mediaType
394
+ - resourceKinds
395
+ additionalProperties: false
327
396
  supportedAudioProviders:
328
397
  type: array
329
398
  uniqueItems: true
@@ -144,10 +144,16 @@ messages:
144
144
  title: MediaId
145
145
  type: string
146
146
  minLength: 1
147
- description: >-
148
- Media IDs are a standardized identifier that Port OS uses to represent media across
149
- YouTube, Spotify, and other media providers. See https://portpowered.com/docs/media for
150
- the current media identifiers documentation.
147
+ example: portos-media://portpowered.com/spotify/audio/track/Ab123
148
+ pattern: >-
149
+ ^(portos-media://portpowered[.]com/[a-z][a-z0-9_-]*/(audio|video|image)/[a-z][a-z0-9_-]*/([^/?#\s]|%[0-9A-Fa-f]{2})+|https?://[^\s]+|portos://[^\s]+|youtube:video:[A-Za-z0-9_-]+)$
150
+ description: >
151
+ Exact provider resource identity. The canonical form is
152
+ portos-media://portpowered.com/provider/media-type/resource-kind/resource-id, with no
153
+ URI version. Spotify emits audio track, playlist, album, artist, show and episode
154
+ identities. Copy an ID returned by search or library discovery; do not send a search
155
+ phrase as an ID. Legacy providers retain their own input contracts until explicitly
156
+ migrated. See https://portpowered.com/docs/media.
151
157
  required:
152
158
  - mediaId
153
159
  additionalProperties: false
@@ -288,6 +294,39 @@ messages:
288
294
  type: object
289
295
  additionalProperties: false
290
296
  attributes:
297
+ - name: now-playing
298
+ description: >-
299
+ Media identity observed on this route. Active false means the provider session is on another
300
+ target; it does not prove the speaker is silent through other providers.
301
+ schema:
302
+ description: >-
303
+ Media identity observed on this route. Active false means the provider session is on another
304
+ target; it does not prove the speaker is silent through other providers.
305
+ type: object
306
+ properties:
307
+ active:
308
+ type: boolean
309
+ mediaId:
310
+ title: MediaId
311
+ type: string
312
+ minLength: 1
313
+ example: portos-media://portpowered.com/spotify/audio/track/Ab123
314
+ pattern: >-
315
+ ^(portos-media://portpowered[.]com/[a-z][a-z0-9_-]*/(audio|video|image)/[a-z][a-z0-9_-]*/([^/?#\s]|%[0-9A-Fa-f]{2})+|https?://[^\s]+|portos://[^\s]+|youtube:video:[A-Za-z0-9_-]+)$
316
+ description: >
317
+ Exact provider resource identity. The canonical form is
318
+ portos-media://portpowered.com/provider/media-type/resource-kind/resource-id, with no
319
+ URI version. Spotify emits audio track, playlist, album, artist, show and episode
320
+ identities. Copy an ID returned by search or library discovery; do not send a search
321
+ phrase as an ID. Legacy providers retain their own input contracts until explicitly
322
+ migrated. See https://portpowered.com/docs/media.
323
+ contextMediaId:
324
+ $ref: '#/properties/mediaId'
325
+ name:
326
+ type: string
327
+ required:
328
+ - active
329
+ additionalProperties: false
291
330
  - name: playback-speed
292
331
  description: null
293
332
  schema:
@@ -324,6 +363,36 @@ configuration:
324
363
  playback. Read playback state and use only the commands supported by the connected player.
325
364
  type: object
326
365
  properties:
366
+ supportedMediaResources:
367
+ type: array
368
+ description: >-
369
+ Exact play-media URI combinations accepted by this route. Member or endpoint unions do not
370
+ imply support by every route.
371
+ items:
372
+ title: SupportedMediaResource
373
+ description: A provider, media type and resource-kind combination accepted by a control route.
374
+ type: object
375
+ properties:
376
+ provider:
377
+ $ref: '#/properties/supportedAudioProviders/items'
378
+ mediaType:
379
+ type: string
380
+ enum:
381
+ - AUDIO
382
+ - VIDEO
383
+ - IMAGE
384
+ resourceKinds:
385
+ type: array
386
+ minItems: 1
387
+ uniqueItems: true
388
+ items:
389
+ type: string
390
+ description: Lowercase resource-kind segment from the provider URI.
391
+ required:
392
+ - provider
393
+ - mediaType
394
+ - resourceKinds
395
+ additionalProperties: false
327
396
  supportedAudioProviders:
328
397
  type: array
329
398
  uniqueItems: true
@@ -4,6 +4,15 @@ properties:
4
4
  type: string
5
5
  description: ID of the playlist to retrieve
6
6
  minLength: 1
7
+ maxResults:
8
+ type: integer
9
+ minimum: 1
10
+ maximum: 50
11
+ default: 20
12
+ nextToken:
13
+ type: string
14
+ minLength: 1
15
+ description: Opaque continuation for the same playlist.
7
16
  required:
8
17
  - playlistId
9
18
  additionalProperties: false
@@ -0,0 +1,15 @@
1
+ description: >-
2
+ List the connected customer's owned or followed playlists; use search-media
3
+ for catalog search.
4
+ type: object
5
+ properties:
6
+ maxResults:
7
+ type: integer
8
+ minimum: 1
9
+ maximum: 50
10
+ default: 20
11
+ nextToken:
12
+ type: string
13
+ minLength: 1
14
+ required: []
15
+ additionalProperties: false
@@ -0,0 +1,114 @@
1
+ description: A bounded playlist page containing playable tracks or episodes.
2
+ type: object
3
+ properties:
4
+ playlistId:
5
+ title: MediaId
6
+ type: string
7
+ minLength: 1
8
+ example: portos-media://portpowered.com/spotify/audio/track/Ab123
9
+ pattern: >-
10
+ ^(portos-media://portpowered[.]com/[a-z][a-z0-9_-]*/(audio|video|image)/[a-z][a-z0-9_-]*/([^/?#\s]|%[0-9A-Fa-f]{2})+|https?://[^\s]+|portos://[^\s]+|youtube:video:[A-Za-z0-9_-]+)$
11
+ description: >
12
+ Exact provider resource identity. The canonical form is
13
+ portos-media://portpowered.com/provider/media-type/resource-kind/resource-id,
14
+ with no URI version. Spotify emits audio track, playlist, album, artist,
15
+ show and episode identities. Copy an ID returned by search or library
16
+ discovery; do not send a search phrase as an ID. Legacy providers retain
17
+ their own input contracts until explicitly migrated. See
18
+ https://portpowered.com/docs/media.
19
+ tracks:
20
+ type: array
21
+ items:
22
+ type: object
23
+ description: Track information
24
+ properties:
25
+ id:
26
+ type: string
27
+ description: Unique identifier for the track
28
+ minLength: 1
29
+ name:
30
+ type: string
31
+ description: Track name
32
+ minLength: 1
33
+ artists:
34
+ type: array
35
+ items:
36
+ type: object
37
+ description: Artist information
38
+ properties:
39
+ id:
40
+ type: string
41
+ description: Unique identifier for the artist
42
+ minLength: 1
43
+ name:
44
+ type: string
45
+ description: Artist name
46
+ minLength: 1
47
+ required:
48
+ - id
49
+ - name
50
+ additionalProperties: false
51
+ title: Artist
52
+ description: Track artists
53
+ album:
54
+ description: Track album
55
+ type: object
56
+ properties:
57
+ id:
58
+ type: string
59
+ description: Unique identifier for the album
60
+ minLength: 1
61
+ name:
62
+ type: string
63
+ description: Album name
64
+ minLength: 1
65
+ artists:
66
+ type: array
67
+ items:
68
+ $ref: '#/properties/tracks/items/properties/artists/items'
69
+ description: Album artists
70
+ required:
71
+ - id
72
+ - name
73
+ - artists
74
+ additionalProperties: false
75
+ title: Album
76
+ required:
77
+ - id
78
+ - name
79
+ - artists
80
+ - album
81
+ additionalProperties: false
82
+ title: Track
83
+ episodes:
84
+ type: array
85
+ items:
86
+ type: object
87
+ description: Provider-qualified podcast episode with selection metadata.
88
+ properties:
89
+ id:
90
+ $ref: '#/properties/playlistId'
91
+ name:
92
+ type: string
93
+ minLength: 1
94
+ showId:
95
+ $ref: '#/properties/playlistId'
96
+ releaseDate:
97
+ type: string
98
+ description: Provider release date; precision can be year, month or day.
99
+ releaseDatePrecision:
100
+ type: string
101
+ description: Provider date precision.
102
+ required:
103
+ - id
104
+ - name
105
+ additionalProperties: false
106
+ title: PodcastEpisode
107
+ nextToken:
108
+ type: string
109
+ minLength: 1
110
+ required:
111
+ - playlistId
112
+ - tracks
113
+ - episodes
114
+ additionalProperties: false
@@ -0,0 +1,35 @@
1
+ description: A page of the connected customer's playlists with exact resource IDs.
2
+ type: object
3
+ properties:
4
+ playlists:
5
+ type: array
6
+ items:
7
+ type: object
8
+ properties:
9
+ id:
10
+ type: string
11
+ description: Unique identifier for the playlist
12
+ minLength: 1
13
+ name:
14
+ type: string
15
+ description: Playlist name
16
+ minLength: 1
17
+ ownerId:
18
+ type: string
19
+ description: Provider-scoped owner identity, when supplied by the provider.
20
+ ownerName:
21
+ type: string
22
+ description: >-
23
+ Owner display name, useful for distinguishing owned and followed
24
+ playlists.
25
+ required:
26
+ - id
27
+ - name
28
+ additionalProperties: false
29
+ title: Playlist
30
+ nextToken:
31
+ type: string
32
+ minLength: 1
33
+ required:
34
+ - playlists
35
+ additionalProperties: false