7digital · Capability

7digital / MassiveMusic Streaming Platform API — Catalogue

7digital / MassiveMusic Streaming Platform API — Catalogue. 13 operations. Lead operation: 7digital Browse Artists By Name. Self-contained Naftiko capability covering one 7digital / MassiveMusic business surface.

Run with Naftiko 7digital / MassiveMusicMusicCatalogue

What You Can Do

GET
Browseartistsbyname — 7digital Browse Artists By Name
/v1/artists/browse
GET
Getartistdetails — 7digital Get Artist Details
/v1/artists/{artist-id}/details
GET
Getartistreleases — 7digital Get Artist Releases
/v1/artists/{artist-id}/releases
GET
Searchartists — 7digital Search Artists
/v1/artists/search
POST
Getreleasesbatchdetails — 7digital Get Releases Batch Details
/v1/releases/details/batch
GET
Getreleasedetails — 7digital Get Release Details
/v1/releases/{release-id}/details
GET
Getreleasetracklisting — 7digital Get Release Track Listing
/v1/releases/{release-id}/tracks
GET
Searchreleases — 7digital Search Releases
/v1/releases/search
GET
Searchtracks — 7digital Search Tracks
/v1/tracks/search
POST
Gettracksbatchdetails — 7digital Get Tracks Batch Details
/v1/tracks/details/batch
GET
Gettrackdetails — 7digital Get Track Details
/v1/tracks/{track-id}/details
GET
Downloadtrack — 7digital Download Track
/v1/tracks/{track-id}/download
GET
Getusagetypeinformation — 7digital Get Usage Type Information
/v1/usage-types

MCP Tools

browse-artists-name

7digital Browse Artists By Name

read-only idempotent
get-artist-details

7digital Get Artist Details

read-only idempotent
get-artist-releases

7digital Get Artist Releases

read-only idempotent
search-artists

7digital Search Artists

read-only idempotent
get-releases-batch-details

7digital Get Releases Batch Details

read-only
get-release-details

7digital Get Release Details

read-only idempotent
get-release-track-listing

7digital Get Release Track Listing

read-only idempotent
search-releases

7digital Search Releases

read-only idempotent
search-tracks

7digital Search Tracks

read-only idempotent
get-tracks-batch-details

7digital Get Tracks Batch Details

read-only
get-track-details

7digital Get Track Details

read-only idempotent
download-track

7digital Download Track

read-only idempotent
get-usage-type-information

7digital Get Usage Type Information

read-only idempotent

Capability Spec

streaming-platform-catalogue.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: 7digital / MassiveMusic Streaming Platform API — Catalogue
  description: '7digital / MassiveMusic Streaming Platform API — Catalogue. 13 operations. Lead operation: 7digital Browse Artists By Name. Self-contained Naftiko capability covering one 7digital / MassiveMusic
    business surface.'
  tags:
  - 7digital / MassiveMusic
  - Music
  - Catalogue
  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-catalogue
    baseUri: https://api.7digital.com
    description: 7digital / MassiveMusic Streaming Platform API — Catalogue business capability. Self-contained, no shared references.
    authentication:
      type: apikey
      key: oauth_consumer_key
      value: '{{env.SEVENDIGITAL_CONSUMER_KEY}}'
      placement: query
    resources:
    - name: artists-browse
      path: /artists/browse
      operations:
      - name: browseArtistsByName
        method: GET
        description: 7digital Browse Artists By Name
        inputParameters:
        - name: letter
          in: query
          type: string
          required: true
          description: One or more starting letters to filter artists by.
        - 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: artists-artistid-details
      path: /artists/{artistId}/details
      operations:
      - name: getArtistDetails
        method: GET
        description: 7digital Get Artist Details
        inputParameters:
        - name: artistId
          in: path
          type: string
          required: true
          description: 7digital artist id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: artists-artistid-releases
      path: /artists/{artistId}/releases
      operations:
      - name: getArtistReleases
        method: GET
        description: 7digital Get Artist Releases
        inputParameters:
        - name: artistId
          in: path
          type: string
          required: true
          description: 7digital artist id.
        - name: type
          in: query
          type: string
          required: false
          description: Release type filter.
        - 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: artists-search
      path: /artists/search
      operations:
      - name: searchArtists
        method: GET
        description: 7digital Search Artists
        inputParameters:
        - name: q
          in: query
          type: string
          required: true
          description: Free-text search query.
        - 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: releases-details-batch
      path: /releases/details/batch
      operations:
      - name: getReleasesBatchDetails
        method: POST
        description: 7digital Get Releases Batch Details
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: releases-releaseid-details
      path: /releases/{releaseId}/details
      operations:
      - name: getReleaseDetails
        method: GET
        description: 7digital Get Release Details
        inputParameters:
        - name: releaseId
          in: path
          type: string
          required: true
          description: 7digital release id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: releases-releaseid-tracks
      path: /releases/{releaseId}/tracks
      operations:
      - name: getReleaseTrackListing
        method: GET
        description: 7digital Get Release Track Listing
        inputParameters:
        - name: releaseId
          in: path
          type: string
          required: true
          description: 7digital release id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: releases-search
      path: /releases/search
      operations:
      - name: searchReleases
        method: GET
        description: 7digital Search Releases
        inputParameters:
        - name: q
          in: query
          type: string
          required: true
          description: Free-text search query.
        - 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: tracks-search
      path: /tracks/search
      operations:
      - name: searchTracks
        method: GET
        description: 7digital Search Tracks
        inputParameters:
        - name: q
          in: query
          type: string
          required: true
          description: Free-text search query.
        - 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: tracks-details-batch
      path: /tracks/details/batch
      operations:
      - name: getTracksBatchDetails
        method: POST
        description: 7digital Get Tracks Batch Details
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tracks-trackid-details
      path: /tracks/{trackId}/details
      operations:
      - name: getTrackDetails
        method: GET
        description: 7digital Get Track Details
        inputParameters:
        - name: trackId
          in: path
          type: string
          required: true
          description: 7digital track id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tracks-trackid-download
      path: /tracks/{trackId}/download
      operations:
      - name: downloadTrack
        method: GET
        description: 7digital Download Track
        inputParameters:
        - name: trackId
          in: path
          type: string
          required: true
          description: 7digital track id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: usage-types
      path: /usage-types
      operations:
      - name: getUsageTypeInformation
        method: GET
        description: 7digital Get Usage Type Information
        inputParameters: []
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: streaming-platform-catalogue-rest
    port: 8080
    description: REST adapter for 7digital / MassiveMusic Streaming Platform API — Catalogue. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/artists/browse
      name: artists-browse
      description: REST surface for artists-browse.
      operations:
      - method: GET
        name: browseArtistsByName
        description: 7digital Browse Artists By Name
        call: streaming-platform-catalogue.browseArtistsByName
        with:
          letter: rest.letter
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/artists/{artist-id}/details
      name: artists-artist-id-details
      description: REST surface for artists-artist-id-details.
      operations:
      - method: GET
        name: getArtistDetails
        description: 7digital Get Artist Details
        call: streaming-platform-catalogue.getArtistDetails
        with:
          artistId: rest.artistId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/artists/{artist-id}/releases
      name: artists-artist-id-releases
      description: REST surface for artists-artist-id-releases.
      operations:
      - method: GET
        name: getArtistReleases
        description: 7digital Get Artist Releases
        call: streaming-platform-catalogue.getArtistReleases
        with:
          artistId: rest.artistId
          type: rest.type
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/artists/search
      name: artists-search
      description: REST surface for artists-search.
      operations:
      - method: GET
        name: searchArtists
        description: 7digital Search Artists
        call: streaming-platform-catalogue.searchArtists
        with:
          q: rest.q
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/releases/details/batch
      name: releases-details-batch
      description: REST surface for releases-details-batch.
      operations:
      - method: POST
        name: getReleasesBatchDetails
        description: 7digital Get Releases Batch Details
        call: streaming-platform-catalogue.getReleasesBatchDetails
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/releases/{release-id}/details
      name: releases-release-id-details
      description: REST surface for releases-release-id-details.
      operations:
      - method: GET
        name: getReleaseDetails
        description: 7digital Get Release Details
        call: streaming-platform-catalogue.getReleaseDetails
        with:
          releaseId: rest.releaseId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/releases/{release-id}/tracks
      name: releases-release-id-tracks
      description: REST surface for releases-release-id-tracks.
      operations:
      - method: GET
        name: getReleaseTrackListing
        description: 7digital Get Release Track Listing
        call: streaming-platform-catalogue.getReleaseTrackListing
        with:
          releaseId: rest.releaseId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/releases/search
      name: releases-search
      description: REST surface for releases-search.
      operations:
      - method: GET
        name: searchReleases
        description: 7digital Search Releases
        call: streaming-platform-catalogue.searchReleases
        with:
          q: rest.q
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tracks/search
      name: tracks-search
      description: REST surface for tracks-search.
      operations:
      - method: GET
        name: searchTracks
        description: 7digital Search Tracks
        call: streaming-platform-catalogue.searchTracks
        with:
          q: rest.q
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tracks/details/batch
      name: tracks-details-batch
      description: REST surface for tracks-details-batch.
      operations:
      - method: POST
        name: getTracksBatchDetails
        description: 7digital Get Tracks Batch Details
        call: streaming-platform-catalogue.getTracksBatchDetails
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tracks/{track-id}/details
      name: tracks-track-id-details
      description: REST surface for tracks-track-id-details.
      operations:
      - method: GET
        name: getTrackDetails
        description: 7digital Get Track Details
        call: streaming-platform-catalogue.getTrackDetails
        with:
          trackId: rest.trackId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tracks/{track-id}/download
      name: tracks-track-id-download
      description: REST surface for tracks-track-id-download.
      operations:
      - method: GET
        name: downloadTrack
        description: 7digital Download Track
        call: streaming-platform-catalogue.downloadTrack
        with:
          trackId: rest.trackId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/usage-types
      name: usage-types
      description: REST surface for usage-types.
      operations:
      - method: GET
        name: getUsageTypeInformation
        description: 7digital Get Usage Type Information
        call: streaming-platform-catalogue.getUsageTypeInformation
        with: {}
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: streaming-platform-catalogue-mcp
    port: 9090
    transport: http
    description: MCP adapter for 7digital / MassiveMusic Streaming Platform API — Catalogue. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: browse-artists-name
      description: 7digital Browse Artists By Name
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: streaming-platform-catalogue.browseArtistsByName
      with:
        letter: tools.letter
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: get-artist-details
      description: 7digital Get Artist Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: streaming-platform-catalogue.getArtistDetails
      with:
        artistId: tools.artistId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-artist-releases
      description: 7digital Get Artist Releases
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: streaming-platform-catalogue.getArtistReleases
      with:
        artistId: tools.artistId
        type: tools.type
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: search-artists
      description: 7digital Search Artists
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: streaming-platform-catalogue.searchArtists
      with:
        q: tools.q
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: get-releases-batch-details
      description: 7digital Get Releases Batch Details
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: streaming-platform-catalogue.getReleasesBatchDetails
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-release-details
      description: 7digital Get Release Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: streaming-platform-catalogue.getReleaseDetails
      with:
        releaseId: tools.releaseId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-release-track-listing
      description: 7digital Get Release Track Listing
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: streaming-platform-catalogue.getReleaseTrackListing
      with:
        releaseId: tools.releaseId
      outputParameters:
      - type: object
        mapping: $.
    - name: search-releases
      description: 7digital Search Releases
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: streaming-platform-catalogue.searchReleases
      with:
        q: tools.q
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: search-tracks
      description: 7digital Search Tracks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: streaming-platform-catalogue.searchTracks
      with:
        q: tools.q
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: get-tracks-batch-details
      description: 7digital Get Tracks Batch Details
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: streaming-platform-catalogue.getTracksBatchDetails
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-track-details
      description: 7digital Get Track Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: streaming-platform-catalogue.getTrackDetails
      with:
        trackId: tools.trackId
      outputParameters:
      - type: object
        mapping: $.
    - name: download-track
      description: 7digital Download Track
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: streaming-platform-catalogue.downloadTrack
      with:
        trackId: tools.trackId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-usage-type-information
      description: 7digital Get Usage Type Information
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: streaming-platform-catalogue.getUsageTypeInformation
      with: {}
      outputParameters:
      - type: object
        mapping: $.