naftiko: 1.0.0-alpha2 info: label: 7digital / MassiveMusic Streaming Platform API — Playlists description: '7digital / MassiveMusic Streaming Platform API — Playlists. 4 operations. Lead operation: 7digital List Playlists. Self-contained Naftiko capability covering one 7digital / MassiveMusic business surface.' tags: - 7digital / MassiveMusic - Music - Playlists created: '2026-05-28' modified: '2026-05-28' binds: - namespace: env keys: SEVENDIGITAL_CONSUMER_KEY: SEVENDIGITAL_CONSUMER_KEY SEVENDIGITAL_CONSUMER_SECRET: SEVENDIGITAL_CONSUMER_SECRET capability: consumes: - type: http namespace: streaming-platform-playlists baseUri: https://api.7digital.com description: 7digital / MassiveMusic Streaming Platform API — Playlists business capability. Self-contained, no shared references. authentication: type: apikey key: oauth_consumer_key value: '{{env.SEVENDIGITAL_CONSUMER_KEY}}' placement: query resources: - name: playlists path: /playlists operations: - name: listPlaylists method: GET description: 7digital List Playlists inputParameters: - name: userId in: query type: string required: false description: Filter playlists by user. - name: page in: query type: integer required: false description: 1-based page number. - name: pageSize in: query type: integer required: false description: Number of items per page. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createPlaylist method: POST description: 7digital Create Playlist inputParameters: - name: userId in: query type: string required: false description: User to associate the playlist with. - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: playlists-playlistid path: /playlists/{playlistId} operations: - name: updatePlaylistDetails method: PUT description: 7digital Update Playlist Details inputParameters: - name: playlistId in: path type: string required: true description: 7digital playlist id. - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: playlists-playlistid-tracks path: /playlists/{playlistId}/tracks operations: - name: addTracksToPlaylist method: POST description: 7digital Add Tracks To Playlist inputParameters: - name: playlistId in: path type: string required: true description: 7digital playlist id. - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: streaming-platform-playlists-rest port: 8080 description: REST adapter for 7digital / MassiveMusic Streaming Platform API — Playlists. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/playlists name: playlists description: REST surface for playlists. operations: - method: GET name: listPlaylists description: 7digital List Playlists call: streaming-platform-playlists.listPlaylists with: userId: rest.userId page: rest.page pageSize: rest.pageSize outputParameters: - type: object mapping: $. - method: POST name: createPlaylist description: 7digital Create Playlist call: streaming-platform-playlists.createPlaylist with: userId: rest.userId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/playlists/{playlist-id} name: playlists-playlist-id description: REST surface for playlists-playlist-id. operations: - method: PUT name: updatePlaylistDetails description: 7digital Update Playlist Details call: streaming-platform-playlists.updatePlaylistDetails with: playlistId: rest.playlistId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/playlists/{playlist-id}/tracks name: playlists-playlist-id-tracks description: REST surface for playlists-playlist-id-tracks. operations: - method: POST name: addTracksToPlaylist description: 7digital Add Tracks To Playlist call: streaming-platform-playlists.addTracksToPlaylist with: playlistId: rest.playlistId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: streaming-platform-playlists-mcp port: 9090 transport: http description: MCP adapter for 7digital / MassiveMusic Streaming Platform API — Playlists. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-playlists description: 7digital List Playlists hints: readOnly: true destructive: false idempotent: true call: streaming-platform-playlists.listPlaylists with: userId: tools.userId page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: create-playlist description: 7digital Create Playlist hints: readOnly: true destructive: false idempotent: false call: streaming-platform-playlists.createPlaylist with: userId: tools.userId body: tools.body outputParameters: - type: object mapping: $. - name: update-playlist-details description: 7digital Update Playlist Details hints: readOnly: false destructive: false idempotent: true call: streaming-platform-playlists.updatePlaylistDetails with: playlistId: tools.playlistId body: tools.body outputParameters: - type: object mapping: $. - name: add-tracks-playlist description: 7digital Add Tracks To Playlist hints: readOnly: true destructive: false idempotent: false call: streaming-platform-playlists.addTracksToPlaylist with: playlistId: tools.playlistId body: tools.body outputParameters: - type: object mapping: $.