Songstats · Capability
Songstats Enterprise API — Tracks
Songstats Enterprise API — Tracks. 8 operations. Lead operation: Get Track Activities. Self-contained Naftiko capability covering one Songstats business surface.
What You Can Do
GET
Gettrackactivities
— Get Track Activities
/v1/tracks/activities
GET
Gettrackhistoricstats
— Get Track Historic Stats
/v1/tracks/historic-stats
GET
Gettrackinfo
— Get Track Info
/v1/tracks/info
POST
Addtracklinkrequest
— Add Track Link Request
/v1/tracks/link-request
DELETE
Removetracklinkrequest
— Remove Track Link Request
/v1/tracks/link-request
GET
Gettracklocations
— Get Track Locations
/v1/tracks/locations
GET
Searchtracks
— Search Tracks
/v1/tracks/search
GET
Gettrackcurrentstats
— Get Track Current Stats
/v1/tracks/stats
MCP Tools
get-track-activities
Get Track Activities
read-only
idempotent
get-track-historic-stats
Get Track Historic Stats
read-only
idempotent
get-track-info
Get Track Info
read-only
idempotent
add-track-link-request
Add Track Link Request
remove-track-link-request
Remove Track Link Request
idempotent
get-track-locations
Get Track Locations
read-only
idempotent
search-tracks
Search Tracks
read-only
idempotent
get-track-current-stats
Get Track Current Stats
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Songstats Enterprise API — Tracks
description: 'Songstats Enterprise API — Tracks. 8 operations. Lead operation: Get Track Activities. Self-contained Naftiko
capability covering one Songstats business surface.'
tags:
- Songstats
- Tracks
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SONGSTATS_API_KEY: SONGSTATS_API_KEY
capability:
consumes:
- type: http
namespace: songstats-tracks
baseUri: https://api.songstats.com/enterprise/v1
description: Songstats Enterprise API — Tracks business capability. Self-contained, no shared references.
resources:
- name: tracks-activities
path: /tracks/activities
operations:
- name: gettrackactivities
method: GET
description: Get Track Activities
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_track_id
in: query
type: string
description: Songstats track ID
required: true
- name: tracks-historic_stats
path: /tracks/historic_stats
operations:
- name: gettrackhistoricstats
method: GET
description: Get Track Historic Stats
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_track_id
in: query
type: string
description: Songstats track ID
required: true
- name: source
in: query
type: string
description: Streaming platform source filter
- name: start_date
in: query
type: string
description: Start date for historical data
- name: end_date
in: query
type: string
description: End date for historical data
- name: tracks-info
path: /tracks/info
operations:
- name: gettrackinfo
method: GET
description: Get Track Info
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_track_id
in: query
type: string
description: Songstats track ID
- name: isrc
in: query
type: string
description: International Standard Recording Code
- name: spotify_track_id
in: query
type: string
description: Spotify track ID
- name: tracks-link_request
path: /tracks/link_request
operations:
- name: addtracklinkrequest
method: POST
description: Add Track Link Request
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: removetracklinkrequest
method: DELETE
description: Remove Track Link Request
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_track_id
in: query
type: string
required: true
- name: link
in: query
type: string
required: true
- name: tracks-locations
path: /tracks/locations
operations:
- name: gettracklocations
method: GET
description: Get Track Locations
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_track_id
in: query
type: string
description: Songstats track ID
required: true
- name: source
in: query
type: string
description: Streaming platform source filter
- name: tracks-search
path: /tracks/search
operations:
- name: searchtracks
method: GET
description: Search Tracks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: q
in: query
type: string
description: Search query
required: true
- name: tracks-stats
path: /tracks/stats
operations:
- name: gettrackcurrentstats
method: GET
description: Get Track Current Stats
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_track_id
in: query
type: string
description: Songstats track ID
required: true
- name: source
in: query
type: string
description: Streaming platform source filter
authentication:
type: apikey
key: apikey
value: '{{env.SONGSTATS_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: songstats-tracks-rest
port: 8080
description: REST adapter for Songstats Enterprise API — Tracks. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/tracks/activities
name: tracks-activities
description: REST surface for tracks-activities.
operations:
- method: GET
name: gettrackactivities
description: Get Track Activities
call: songstats-tracks.gettrackactivities
with:
songstats_track_id: rest.songstats_track_id
outputParameters:
- type: object
mapping: $.
- path: /v1/tracks/historic-stats
name: tracks-historic-stats
description: REST surface for tracks-historic_stats.
operations:
- method: GET
name: gettrackhistoricstats
description: Get Track Historic Stats
call: songstats-tracks.gettrackhistoricstats
with:
songstats_track_id: rest.songstats_track_id
source: rest.source
start_date: rest.start_date
end_date: rest.end_date
outputParameters:
- type: object
mapping: $.
- path: /v1/tracks/info
name: tracks-info
description: REST surface for tracks-info.
operations:
- method: GET
name: gettrackinfo
description: Get Track Info
call: songstats-tracks.gettrackinfo
with:
songstats_track_id: rest.songstats_track_id
isrc: rest.isrc
spotify_track_id: rest.spotify_track_id
outputParameters:
- type: object
mapping: $.
- path: /v1/tracks/link-request
name: tracks-link-request
description: REST surface for tracks-link_request.
operations:
- method: POST
name: addtracklinkrequest
description: Add Track Link Request
call: songstats-tracks.addtracklinkrequest
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: removetracklinkrequest
description: Remove Track Link Request
call: songstats-tracks.removetracklinkrequest
with:
songstats_track_id: rest.songstats_track_id
link: rest.link
outputParameters:
- type: object
mapping: $.
- path: /v1/tracks/locations
name: tracks-locations
description: REST surface for tracks-locations.
operations:
- method: GET
name: gettracklocations
description: Get Track Locations
call: songstats-tracks.gettracklocations
with:
songstats_track_id: rest.songstats_track_id
source: rest.source
outputParameters:
- type: object
mapping: $.
- path: /v1/tracks/search
name: tracks-search
description: REST surface for tracks-search.
operations:
- method: GET
name: searchtracks
description: Search Tracks
call: songstats-tracks.searchtracks
with:
q: rest.q
outputParameters:
- type: object
mapping: $.
- path: /v1/tracks/stats
name: tracks-stats
description: REST surface for tracks-stats.
operations:
- method: GET
name: gettrackcurrentstats
description: Get Track Current Stats
call: songstats-tracks.gettrackcurrentstats
with:
songstats_track_id: rest.songstats_track_id
source: rest.source
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: songstats-tracks-mcp
port: 9090
transport: http
description: MCP adapter for Songstats Enterprise API — Tracks. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: get-track-activities
description: Get Track Activities
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-tracks.gettrackactivities
with:
songstats_track_id: tools.songstats_track_id
outputParameters:
- type: object
mapping: $.
- name: get-track-historic-stats
description: Get Track Historic Stats
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-tracks.gettrackhistoricstats
with:
songstats_track_id: tools.songstats_track_id
source: tools.source
start_date: tools.start_date
end_date: tools.end_date
outputParameters:
- type: object
mapping: $.
- name: get-track-info
description: Get Track Info
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-tracks.gettrackinfo
with:
songstats_track_id: tools.songstats_track_id
isrc: tools.isrc
spotify_track_id: tools.spotify_track_id
outputParameters:
- type: object
mapping: $.
- name: add-track-link-request
description: Add Track Link Request
hints:
readOnly: false
destructive: false
idempotent: false
call: songstats-tracks.addtracklinkrequest
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: remove-track-link-request
description: Remove Track Link Request
hints:
readOnly: false
destructive: true
idempotent: true
call: songstats-tracks.removetracklinkrequest
with:
songstats_track_id: tools.songstats_track_id
link: tools.link
outputParameters:
- type: object
mapping: $.
- name: get-track-locations
description: Get Track Locations
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-tracks.gettracklocations
with:
songstats_track_id: tools.songstats_track_id
source: tools.source
outputParameters:
- type: object
mapping: $.
- name: search-tracks
description: Search Tracks
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-tracks.searchtracks
with:
q: tools.q
outputParameters:
- type: object
mapping: $.
- name: get-track-current-stats
description: Get Track Current Stats
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-tracks.gettrackcurrentstats
with:
songstats_track_id: tools.songstats_track_id
source: tools.source
outputParameters:
- type: object
mapping: $.