7digital · Capability

7digital API — Artists

7digital API — Artists. 10 operations. Lead operation: 7digital Browse Artists. Self-contained Naftiko capability covering one 7digital / MassiveMusic business surface.

Run with Naftiko 7digital / MassiveMusicMusicArtists

What You Can Do

GET
Browseartists — 7digital Browse Artists
/v1/artist/browse
GET
Getartistchart — 7digital Get Artist Chart
/v1/artist/chart
GET
Getartistdetails — 7digital Get Artist Details
/v1/artist/details
GET
Getartistreleases — 7digital Get Artist Releases
/v1/artist/releases
GET
Getsimilarartists — 7digital Get Similar Artists
/v1/artist/similar
GET
Searchartists — 7digital Search Artists
/v1/artist/search
GET
Getartisttoptracks — 7digital Get Artist Top Tracks
/v1/artist/top-tracks
GET
Getartisttags — 7digital Get Artist Tags
/v1/artist/tags
GET
Matchartistbyid — 7digital Match Artist By Id
/v1/artist/match/by-id
GET
Gettopartistsbytags — 7digital Get Top Artists By Tags
/v1/artist/bytag/top

MCP Tools

browse-artists

7digital Browse Artists

read-only idempotent
get-artist-chart

7digital Get Artist Chart

read-only idempotent
get-artist-details

7digital Get Artist Details

read-only idempotent
get-artist-releases

7digital Get Artist Releases

read-only idempotent
get-similar-artists

7digital Get Similar Artists

read-only idempotent
search-artists

7digital Search Artists

read-only idempotent
get-artist-top-tracks

7digital Get Artist Top Tracks

read-only idempotent
get-artist-tags

7digital Get Artist Tags

read-only idempotent
match-artist-id

7digital Match Artist By Id

read-only idempotent
get-top-artists-tags

7digital Get Top Artists By Tags

read-only idempotent

Capability Spec

api-artists.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: 7digital API — Artists
  description: '7digital API — Artists. 10 operations. Lead operation: 7digital Browse Artists. Self-contained Naftiko capability covering one 7digital / MassiveMusic business surface.'
  tags:
  - 7digital / MassiveMusic
  - Music
  - Artists
  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: api-artists
    baseUri: https://api.7digital.com/1.2
    description: 7digital API — Artists business capability. Self-contained, no shared references.
    authentication:
      type: apikey
      key: oauth_consumer_key
      value: '{{env.SEVENDIGITAL_CONSUMER_KEY}}'
      placement: query
    resources:
    - name: artist-browse
      path: /artist/browse
      operations:
      - name: browseArtists
        method: GET
        description: 7digital Browse Artists
        inputParameters:
        - name: letter
          in: query
          type: string
          required: true
          description: The starting letter or letters to browse by (e.g. `A`, `Be`).
        - name: page
          in: query
          type: integer
          required: false
          description: 1-based page number for paged endpoints.
        - name: pageSize
          in: query
          type: integer
          required: false
          description: Number of items per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: artist-chart
      path: /artist/chart
      operations:
      - name: getArtistChart
        method: GET
        description: 7digital Get Artist Chart
        inputParameters:
        - name: country
          in: query
          type: string
          required: false
          description: ISO 3166-1 alpha-2 country code for the sales territory.
        - name: period
          in: query
          type: string
          required: false
          description: Chart period — typically `day`, `week`, `month`, `year`.
        - name: page
          in: query
          type: integer
          required: false
          description: 1-based page number for paged endpoints.
        - name: pageSize
          in: query
          type: integer
          required: false
          description: Number of items per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: artist-details
      path: /artist/details
      operations:
      - name: getArtistDetails
        method: GET
        description: 7digital Get Artist Details
        inputParameters:
        - name: artistId
          in: query
          type: string
          required: true
          description: 7digital artist id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: artist-releases
      path: /artist/releases
      operations:
      - name: getArtistReleases
        method: GET
        description: 7digital Get Artist Releases
        inputParameters:
        - name: artistId
          in: query
          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 for paged endpoints.
        - name: pageSize
          in: query
          type: integer
          required: false
          description: Number of items per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: artist-similar
      path: /artist/similar
      operations:
      - name: getSimilarArtists
        method: GET
        description: 7digital Get Similar Artists
        inputParameters:
        - name: artistId
          in: query
          type: string
          required: true
          description: 7digital artist id.
        - name: page
          in: query
          type: integer
          required: false
          description: 1-based page number for paged endpoints.
        - name: pageSize
          in: query
          type: integer
          required: false
          description: Number of items per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: artist-search
      path: /artist/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 for paged endpoints.
        - name: pageSize
          in: query
          type: integer
          required: false
          description: Number of items per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: artist-toptracks
      path: /artist/topTracks
      operations:
      - name: getArtistTopTracks
        method: GET
        description: 7digital Get Artist Top Tracks
        inputParameters:
        - name: artistId
          in: query
          type: string
          required: true
          description: 7digital artist id.
        - name: page
          in: query
          type: integer
          required: false
          description: 1-based page number for paged endpoints.
        - name: pageSize
          in: query
          type: integer
          required: false
          description: Number of items per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: artist-tags
      path: /artist/tags
      operations:
      - name: getArtistTags
        method: GET
        description: 7digital Get Artist Tags
        inputParameters:
        - name: artistId
          in: query
          type: string
          required: true
          description: 7digital artist id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: artist-match-byid
      path: /artist/match/byId
      operations:
      - name: matchArtistById
        method: GET
        description: 7digital Match Artist By Id
        inputParameters:
        - name: id
          in: query
          type: string
          required: true
          description: External artist identifier to match.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: artist-bytag-top
      path: /artist/bytag/top
      operations:
      - name: getTopArtistsByTags
        method: GET
        description: 7digital Get Top Artists By Tags
        inputParameters:
        - name: tags
          in: query
          type: string
          required: true
          description: One or more tag identifiers, comma-separated.
        - name: country
          in: query
          type: string
          required: false
          description: ISO 3166-1 alpha-2 country code for the sales territory.
        - name: page
          in: query
          type: integer
          required: false
          description: 1-based page number for paged endpoints.
        - name: pageSize
          in: query
          type: integer
          required: false
          description: Number of items per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: api-artists-rest
    port: 8080
    description: REST adapter for 7digital API — Artists. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/artist/browse
      name: artist-browse
      description: REST surface for artist-browse.
      operations:
      - method: GET
        name: browseArtists
        description: 7digital Browse Artists
        call: api-artists.browseArtists
        with:
          letter: rest.letter
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/artist/chart
      name: artist-chart
      description: REST surface for artist-chart.
      operations:
      - method: GET
        name: getArtistChart
        description: 7digital Get Artist Chart
        call: api-artists.getArtistChart
        with:
          country: rest.country
          period: rest.period
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/artist/details
      name: artist-details
      description: REST surface for artist-details.
      operations:
      - method: GET
        name: getArtistDetails
        description: 7digital Get Artist Details
        call: api-artists.getArtistDetails
        with:
          artistId: rest.artistId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/artist/releases
      name: artist-releases
      description: REST surface for artist-releases.
      operations:
      - method: GET
        name: getArtistReleases
        description: 7digital Get Artist Releases
        call: api-artists.getArtistReleases
        with:
          artistId: rest.artistId
          type: rest.type
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/artist/similar
      name: artist-similar
      description: REST surface for artist-similar.
      operations:
      - method: GET
        name: getSimilarArtists
        description: 7digital Get Similar Artists
        call: api-artists.getSimilarArtists
        with:
          artistId: rest.artistId
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/artist/search
      name: artist-search
      description: REST surface for artist-search.
      operations:
      - method: GET
        name: searchArtists
        description: 7digital Search Artists
        call: api-artists.searchArtists
        with:
          q: rest.q
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/artist/top-tracks
      name: artist-top-tracks
      description: REST surface for artist-top-tracks.
      operations:
      - method: GET
        name: getArtistTopTracks
        description: 7digital Get Artist Top Tracks
        call: api-artists.getArtistTopTracks
        with:
          artistId: rest.artistId
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/artist/tags
      name: artist-tags
      description: REST surface for artist-tags.
      operations:
      - method: GET
        name: getArtistTags
        description: 7digital Get Artist Tags
        call: api-artists.getArtistTags
        with:
          artistId: rest.artistId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/artist/match/by-id
      name: artist-match-by-id
      description: REST surface for artist-match-by-id.
      operations:
      - method: GET
        name: matchArtistById
        description: 7digital Match Artist By Id
        call: api-artists.matchArtistById
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/artist/bytag/top
      name: artist-bytag-top
      description: REST surface for artist-bytag-top.
      operations:
      - method: GET
        name: getTopArtistsByTags
        description: 7digital Get Top Artists By Tags
        call: api-artists.getTopArtistsByTags
        with:
          tags: rest.tags
          country: rest.country
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: api-artists-mcp
    port: 9090
    transport: http
    description: MCP adapter for 7digital API — Artists. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: browse-artists
      description: 7digital Browse Artists
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-artists.browseArtists
      with:
        letter: tools.letter
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: get-artist-chart
      description: 7digital Get Artist Chart
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-artists.getArtistChart
      with:
        country: tools.country
        period: tools.period
        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: api-artists.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: api-artists.getArtistReleases
      with:
        artistId: tools.artistId
        type: tools.type
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: get-similar-artists
      description: 7digital Get Similar Artists
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-artists.getSimilarArtists
      with:
        artistId: tools.artistId
        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: api-artists.searchArtists
      with:
        q: tools.q
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: get-artist-top-tracks
      description: 7digital Get Artist Top Tracks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-artists.getArtistTopTracks
      with:
        artistId: tools.artistId
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: get-artist-tags
      description: 7digital Get Artist Tags
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-artists.getArtistTags
      with:
        artistId: tools.artistId
      outputParameters:
      - type: object
        mapping: $.
    - name: match-artist-id
      description: 7digital Match Artist By Id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-artists.matchArtistById
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-top-artists-tags
      description: 7digital Get Top Artists By Tags
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: api-artists.getTopArtistsByTags
      with:
        tags: tools.tags
        country: tools.country
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.