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.
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
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: $.