7digital · Capability

7digital / MassiveMusic Streaming Platform API — Playlists

7digital / MassiveMusic Streaming Platform API — Playlists. 4 operations. Lead operation: 7digital List Playlists. Self-contained Naftiko capability covering one 7digital / MassiveMusic business surface.

Run with Naftiko 7digital / MassiveMusicMusicPlaylists

What You Can Do

GET
Listplaylists — 7digital List Playlists
/v1/playlists
POST
Createplaylist — 7digital Create Playlist
/v1/playlists
PUT
Updateplaylistdetails — 7digital Update Playlist Details
/v1/playlists/{playlist-id}
POST
Addtrackstoplaylist — 7digital Add Tracks To Playlist
/v1/playlists/{playlist-id}/tracks

MCP Tools

list-playlists

7digital List Playlists

read-only idempotent
create-playlist

7digital Create Playlist

read-only
update-playlist-details

7digital Update Playlist Details

idempotent
add-tracks-playlist

7digital Add Tracks To Playlist

read-only

Capability Spec

streaming-platform-playlists.yaml Raw ↑
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: $.