Skip to content
HooprB2B

API reference

Get a single track

Fetch one full track object by its slug. Re-fetch when you need a fresh streamUrl.

GET/v1/tracks/:slug
scopecatalog:read
Path parameters
  • slugstringrequired
    The track's URL-safe slug, e.g. midnight-drive.

Request

GET /v1/tracks/:slug
curl "https://<your-b2b-host>/v1/tracks/midnight-drive" \
  -H "Authorization: Bearer $TOKEN"

Response

{
  "data": {
    "id": "9b1c0f2e-3a4b-4c5d-8e6f-7a8b9c0d1e2f",
    "name": "Midnight Drive",
    "slug": "midnight-drive",
    "type": "music",
    "bpm": "120",
    "songKey": ["A min"],
    "timeSignature": "4/4",
    "durationSeconds": 184,
    "region": "IN",
    "releaseDate": "2024-03-01T00:00:00.000Z",
    "hasVocals": false,
    "isPRO": false,
    "tags": ["energetic", "drive"],
    "artists": [
      { "id": "a1b2c3d4", "name": "Nova", "role": "COMPOSER", "isPrimary": true }
    ],
    "filters": [
      { "id": "f1a2b3c4", "name": "Electronic", "slug": "electronic", "type": "genre" },
      { "id": "f2b3c4d5", "name": "Energetic",  "slug": "energetic",  "type": "mood" }
    ],
    "artworkUrl": "https://cdn.hoopr.example/musics/9b1c.../image.jpg",
    "streamUrl": "https://cdn.hoopr.example/musics/9b1c.../audio.mp3?X-Goog-Expires=1800&X-Goog-Signature=..."
  },
  "error": { "code": 0, "message": "OK" }
}

Errors

HTTPerror.typeMeaning
401invalid_tokenToken missing, malformed or expired.
403insufficient_scopeToken lacks catalog:read.
404track_not_foundNo track matches that slug.