Songstats · Capability

Songstats Enterprise API — Labels

Songstats Enterprise API — Labels. 11 operations. Lead operation: Get Label Audience. Self-contained Naftiko capability covering one Songstats business surface.

Run with Naftiko SongstatsLabels

What You Can Do

GET
Getlabelaudience — Get Label Audience
/v1/labels/audience
GET
Getlabelcatalog — Get Label Catalog
/v1/labels/catalog
GET
Getlabelhistoricstats — Get Label Historic Stats
/v1/labels/historic-stats
GET
Getlabelinfo — Get Label Info
/v1/labels/info
POST
Addlabellinkrequest — Add Label Link Request
/v1/labels/link-request
DELETE
Removelabellinkrequest — Remove Label Link Request
/v1/labels/link-request
GET
Searchlabels — Search Labels
/v1/labels/search
GET
Getlabelcurrentstats — Get Label Current Stats
/v1/labels/stats
GET
Getlabeltoptracks — Get Label Top Tracks
/v1/labels/top-tracks
POST
Addlabeltrackrequest — Add Label Track Request
/v1/labels/track-request
DELETE
Removelabeltrackrequest — Remove Label Track Request
/v1/labels/track-request

MCP Tools

get-label-audience

Get Label Audience

read-only idempotent
get-label-catalog

Get Label Catalog

read-only idempotent
get-label-historic-stats

Get Label Historic Stats

read-only idempotent
get-label-info

Get Label Info

read-only idempotent
add-label-link-request

Add Label Link Request

remove-label-link-request

Remove Label Link Request

idempotent
search-labels

Search Labels

read-only idempotent
get-label-current-stats

Get Label Current Stats

read-only idempotent
get-label-top-tracks

Get Label Top Tracks

read-only idempotent
add-label-track-request

Add Label Track Request

remove-label-track-request

Remove Label Track Request

idempotent

Capability Spec

songstats-labels.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Songstats Enterprise API — Labels
  description: 'Songstats Enterprise API — Labels. 11 operations. Lead operation: Get Label Audience. Self-contained Naftiko
    capability covering one Songstats business surface.'
  tags:
  - Songstats
  - Labels
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SONGSTATS_API_KEY: SONGSTATS_API_KEY
capability:
  consumes:
  - type: http
    namespace: songstats-labels
    baseUri: https://api.songstats.com/enterprise/v1
    description: Songstats Enterprise API — Labels business capability. Self-contained, no shared references.
    resources:
    - name: labels-audience
      path: /labels/audience
      operations:
      - name: getlabelaudience
        method: GET
        description: Get Label Audience
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: songstats_label_id
          in: query
          type: string
          description: Songstats label ID
          required: true
        - name: source
          in: query
          type: string
          description: Streaming platform source filter
    - name: labels-catalog
      path: /labels/catalog
      operations:
      - name: getlabelcatalog
        method: GET
        description: Get Label Catalog
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: songstats_label_id
          in: query
          type: string
          description: Songstats label ID
          required: true
    - name: labels-historic_stats
      path: /labels/historic_stats
      operations:
      - name: getlabelhistoricstats
        method: GET
        description: Get Label Historic Stats
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: songstats_label_id
          in: query
          type: string
          description: Songstats label ID
          required: true
        - name: source
          in: query
          type: string
          description: Streaming platform source filter
        - name: start_date
          in: query
          type: string
          description: Start date
        - name: end_date
          in: query
          type: string
          description: End date
    - name: labels-info
      path: /labels/info
      operations:
      - name: getlabelinfo
        method: GET
        description: Get Label Info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: songstats_label_id
          in: query
          type: string
          description: Songstats label ID
        - name: label_name
          in: query
          type: string
          description: Label name search
    - name: labels-link_request
      path: /labels/link_request
      operations:
      - name: addlabellinkrequest
        method: POST
        description: Add Label Link Request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: removelabellinkrequest
        method: DELETE
        description: Remove Label Link Request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: songstats_label_id
          in: query
          type: string
          required: true
        - name: link
          in: query
          type: string
          required: true
    - name: labels-search
      path: /labels/search
      operations:
      - name: searchlabels
        method: GET
        description: Search Labels
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: q
          in: query
          type: string
          description: Search query
          required: true
    - name: labels-stats
      path: /labels/stats
      operations:
      - name: getlabelcurrentstats
        method: GET
        description: Get Label Current Stats
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: songstats_label_id
          in: query
          type: string
          description: Songstats label ID
          required: true
        - name: source
          in: query
          type: string
          description: Streaming platform source filter
    - name: labels-top_tracks
      path: /labels/top_tracks
      operations:
      - name: getlabeltoptracks
        method: GET
        description: Get Label Top Tracks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: songstats_label_id
          in: query
          type: string
          description: Songstats label ID
          required: true
        - name: source
          in: query
          type: string
          description: Streaming platform source filter
    - name: labels-track_request
      path: /labels/track_request
      operations:
      - name: addlabeltrackrequest
        method: POST
        description: Add Label Track Request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: removelabeltrackrequest
        method: DELETE
        description: Remove Label Track Request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: songstats_label_id
          in: query
          type: string
          required: true
        - name: songstats_track_id
          in: query
          type: string
          required: true
    authentication:
      type: apikey
      key: apikey
      value: '{{env.SONGSTATS_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: songstats-labels-rest
    port: 8080
    description: REST adapter for Songstats Enterprise API — Labels. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/labels/audience
      name: labels-audience
      description: REST surface for labels-audience.
      operations:
      - method: GET
        name: getlabelaudience
        description: Get Label Audience
        call: songstats-labels.getlabelaudience
        with:
          songstats_label_id: rest.songstats_label_id
          source: rest.source
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/labels/catalog
      name: labels-catalog
      description: REST surface for labels-catalog.
      operations:
      - method: GET
        name: getlabelcatalog
        description: Get Label Catalog
        call: songstats-labels.getlabelcatalog
        with:
          songstats_label_id: rest.songstats_label_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/labels/historic-stats
      name: labels-historic-stats
      description: REST surface for labels-historic_stats.
      operations:
      - method: GET
        name: getlabelhistoricstats
        description: Get Label Historic Stats
        call: songstats-labels.getlabelhistoricstats
        with:
          songstats_label_id: rest.songstats_label_id
          source: rest.source
          start_date: rest.start_date
          end_date: rest.end_date
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/labels/info
      name: labels-info
      description: REST surface for labels-info.
      operations:
      - method: GET
        name: getlabelinfo
        description: Get Label Info
        call: songstats-labels.getlabelinfo
        with:
          songstats_label_id: rest.songstats_label_id
          label_name: rest.label_name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/labels/link-request
      name: labels-link-request
      description: REST surface for labels-link_request.
      operations:
      - method: POST
        name: addlabellinkrequest
        description: Add Label Link Request
        call: songstats-labels.addlabellinkrequest
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removelabellinkrequest
        description: Remove Label Link Request
        call: songstats-labels.removelabellinkrequest
        with:
          songstats_label_id: rest.songstats_label_id
          link: rest.link
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/labels/search
      name: labels-search
      description: REST surface for labels-search.
      operations:
      - method: GET
        name: searchlabels
        description: Search Labels
        call: songstats-labels.searchlabels
        with:
          q: rest.q
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/labels/stats
      name: labels-stats
      description: REST surface for labels-stats.
      operations:
      - method: GET
        name: getlabelcurrentstats
        description: Get Label Current Stats
        call: songstats-labels.getlabelcurrentstats
        with:
          songstats_label_id: rest.songstats_label_id
          source: rest.source
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/labels/top-tracks
      name: labels-top-tracks
      description: REST surface for labels-top_tracks.
      operations:
      - method: GET
        name: getlabeltoptracks
        description: Get Label Top Tracks
        call: songstats-labels.getlabeltoptracks
        with:
          songstats_label_id: rest.songstats_label_id
          source: rest.source
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/labels/track-request
      name: labels-track-request
      description: REST surface for labels-track_request.
      operations:
      - method: POST
        name: addlabeltrackrequest
        description: Add Label Track Request
        call: songstats-labels.addlabeltrackrequest
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removelabeltrackrequest
        description: Remove Label Track Request
        call: songstats-labels.removelabeltrackrequest
        with:
          songstats_label_id: rest.songstats_label_id
          songstats_track_id: rest.songstats_track_id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: songstats-labels-mcp
    port: 9090
    transport: http
    description: MCP adapter for Songstats Enterprise API — Labels. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-label-audience
      description: Get Label Audience
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: songstats-labels.getlabelaudience
      with:
        songstats_label_id: tools.songstats_label_id
        source: tools.source
      outputParameters:
      - type: object
        mapping: $.
    - name: get-label-catalog
      description: Get Label Catalog
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: songstats-labels.getlabelcatalog
      with:
        songstats_label_id: tools.songstats_label_id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-label-historic-stats
      description: Get Label Historic Stats
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: songstats-labels.getlabelhistoricstats
      with:
        songstats_label_id: tools.songstats_label_id
        source: tools.source
        start_date: tools.start_date
        end_date: tools.end_date
      outputParameters:
      - type: object
        mapping: $.
    - name: get-label-info
      description: Get Label Info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: songstats-labels.getlabelinfo
      with:
        songstats_label_id: tools.songstats_label_id
        label_name: tools.label_name
      outputParameters:
      - type: object
        mapping: $.
    - name: add-label-link-request
      description: Add Label Link Request
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: songstats-labels.addlabellinkrequest
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-label-link-request
      description: Remove Label Link Request
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: songstats-labels.removelabellinkrequest
      with:
        songstats_label_id: tools.songstats_label_id
        link: tools.link
      outputParameters:
      - type: object
        mapping: $.
    - name: search-labels
      description: Search Labels
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: songstats-labels.searchlabels
      with:
        q: tools.q
      outputParameters:
      - type: object
        mapping: $.
    - name: get-label-current-stats
      description: Get Label Current Stats
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: songstats-labels.getlabelcurrentstats
      with:
        songstats_label_id: tools.songstats_label_id
        source: tools.source
      outputParameters:
      - type: object
        mapping: $.
    - name: get-label-top-tracks
      description: Get Label Top Tracks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: songstats-labels.getlabeltoptracks
      with:
        songstats_label_id: tools.songstats_label_id
        source: tools.source
      outputParameters:
      - type: object
        mapping: $.
    - name: add-label-track-request
      description: Add Label Track Request
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: songstats-labels.addlabeltrackrequest
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-label-track-request
      description: Remove Label Track Request
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: songstats-labels.removelabeltrackrequest
      with:
        songstats_label_id: tools.songstats_label_id
        songstats_track_id: tools.songstats_track_id
      outputParameters:
      - type: object
        mapping: $.