Social & User-Generated Content
Overview
Tuned Global's APIs support a full suite of social and community features — from user collections and playlists to artist following, public profiles, and content discovery driven by user activity. Combined with upcoming UGC video capabilities, these APIs let you build music-first social experiences where users create, share, and interact around content.
This guide covers the social and UGC APIs available through the Services API (v3) and Metadata API (v2.4), followed by optional platform features that extend the social experience further.
Prerequisites
- A StoreId issued by Tuned Global
- OAuth2 credentials (client ID and secret)
- A Bearer token for authenticated user operations (see DSP Quick Start for auth steps)
- User context — most social endpoints operate on the currently authenticated user
Quick Start: Build a Social Music Experience
This quick start walks through the core social features: creating a user collection, building a playlist, following artists, and discovering community content.
Step 1: Authenticate
Obtain a Bearer token for the user session.
Endpoint: POST https://api-authentication-connect.tunedglobal.com/oauth2/token
curl -X POST "https://api-authentication-connect.tunedglobal.com/oauth2/token" \
-H "StoreId: YOUR_STORE_ID" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password&username=TEST_USER&password=TEST_PASSWORD"
Step 2: Add Tracks to the User's Collection
Let users save tracks they like to their personal collection — the foundation of personalisation and social sharing.
Add a single track:
Endpoint: PUT https://api-services-connect.tunedglobal.com/api/v3/collection/tracks/{trackId}
curl -X PUT "https://api-services-connect.tunedglobal.com/api/v3/collection/tracks/987654" \
-H "StoreId: YOUR_STORE_ID" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Add multiple tracks at once:
Endpoint: POST https://api-services-connect.tunedglobal.com/api/v3/collection/tracks
curl -X POST "https://api-services-connect.tunedglobal.com/api/v3/collection/tracks" \
-H "StoreId: YOUR_STORE_ID" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '[987654, 987655, 987656]'
Retrieve the user's collection:
Endpoint: GET https://api-services-connect.tunedglobal.com/api/v3/collection/tracks
curl -X GET "https://api-services-connect.tunedglobal.com/api/v3/collection/tracks?offset=0&count=20&sortType=DateAdded" \
-H "StoreId: YOUR_STORE_ID" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Step 3: Create and Share a Playlist
User-created playlists are the core social object — they can be shared publicly and discovered by other users.
Create a playlist:
Endpoint: POST https://api-services-connect.tunedglobal.com/api/v3/playlists
curl -X POST "https://api-services-connect.tunedglobal.com/api/v3/playlists" \
-H "StoreId: YOUR_STORE_ID" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"Name": "Friday Night Vibes",
"Description": "Weekend warm-up mix",
"IsPublic": true
}'
Save the playlist ID from the response.
Add tracks to the playlist:
Endpoint: POST https://api-services-connect.tunedglobal.com/api/v3/playlists/{playlistId}/tracks
curl -X POST "https://api-services-connect.tunedglobal.com/api/v3/playlists/88001/tracks" \
-H "StoreId: YOUR_STORE_ID" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '[987654, 987655, 987656, 987657]'
Upload a custom cover image:
Endpoint: PUT https://api-services-connect.tunedglobal.com/api/v3/playlists/{playlistId}/image/cover
curl -X PUT "https://api-services-connect.tunedglobal.com/api/v3/playlists/88001/image/cover" \
-H "StoreId: YOUR_STORE_ID" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: multipart/form-data" \
-F "file=@cover.jpg"
Step 4: Follow Artists
Let users follow their favourite artists to build a personalised feed and influence recommendations.
Follow an artist:
Endpoint: PUT https://api-services-connect.tunedglobal.com/api/v3/collection/followedartists/{artistId}
curl -X PUT "https://api-services-connect.tunedglobal.com/api/v3/collection/followedartists/12345" \
-H "StoreId: YOUR_STORE_ID" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Bulk follow artists:
Endpoint: PUT https://api-services-connect.tunedglobal.com/api/v3/collection/follow-artists
curl -X PUT "https://api-services-connect.tunedglobal.com/api/v3/collection/follow-artists" \
-H "StoreId: YOUR_STORE_ID" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '[12345, 12346, 12347]'
Check if following:
Endpoint: GET https://api-services-connect.tunedglobal.com/api/v3/collection/followedartists/{artistId}/exists
List followed artists:
Endpoint: GET https://api-services-connect.tunedglobal.com/api/v3/collection/followedartists
curl -X GET "https://api-services-connect.tunedglobal.com/api/v3/collection/followedartists?offset=0&count=20" \
-H "StoreId: YOUR_STORE_ID" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Step 5: Discover Community Content
Surface playlists and profiles created by other users.
Search user profiles:
Endpoint: GET https://api-metadata-connect.tunedglobal.com/api/v2.4/search/users
curl -X GET "https://api-metadata-connect.tunedglobal.com/api/v2.4/search/users?q=DJ%20Mike&count=10" \
-H "StoreId: YOUR_STORE_ID"
Get a user's public playlists:
Endpoint: GET https://api-metadata-connect.tunedglobal.com/api/v2.4/playlists/public
curl -X GET "https://api-metadata-connect.tunedglobal.com/api/v2.4/playlists/public?userId=67890&count=20" \
-H "StoreId: YOUR_STORE_ID"
Browse verified user playlists:
Endpoint: GET https://api-metadata-connect.tunedglobal.com/api/v2.4/playlists/verified
curl -X GET "https://api-metadata-connect.tunedglobal.com/api/v2.4/playlists/verified?count=20" \
-H "StoreId: YOUR_STORE_ID"
Add a playlist to the user's collection:
Endpoint: PUT https://api-services-connect.tunedglobal.com/api/v3/collection/playlists/{playlistId}
curl -X PUT "https://api-services-connect.tunedglobal.com/api/v3/collection/playlists/88001" \
-H "StoreId: YOUR_STORE_ID" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Playlist Management
Full CRUD operations for user playlists.
| Action | Method | Endpoint |
|---|---|---|
| Create playlist | POST | /api/v3/playlists |
| Get my playlists | GET | /api/v3/playlists |
| Get playlist details | GET | /api/v3/playlists/{id} |
| Edit playlist metadata | PATCH | /api/v3/playlists/{id} |
| Delete playlist | DELETE | /api/v3/playlists/{id} |
| Add tracks | POST | /api/v3/playlists/{id}/tracks |
| Remove tracks | DELETE | /api/v3/playlists/{id}/tracks |
| Replace all tracks | PUT | /api/v3/playlists/{id}/tracks |
| Clear all tracks | DELETE | /api/v3/playlists/{id}/tracks/all |
| Reorder tracks | PATCH | /api/v3/playlists/{id}/tracks |
| Upload cover art | PUT | /api/v3/playlists/{id}/image/cover |
| Delete cover art | DELETE | /api/v3/playlists/{id}/image/cover |
| Get playlist context | GET | /api/v3/playlists/{id}/context |
| Download to cloud | POST | /api/v3/playlists/{id}/download-to-cloud |
Collection Management
Users can save content across all media types to their personal collection.
| Content Type | Add | Remove | List |
|---|---|---|---|
| Tracks | PUT /api/v3/collection/tracks/{id} |
DELETE /api/v3/collection/tracks/{id} |
GET /api/v3/collection/tracks |
| Releases/Albums | PUT /api/v3/collection/releases/{id} |
DELETE /api/v3/collection/releases/{id} |
— |
| Playlists | PUT /api/v3/collection/playlists/{id} |
DELETE /api/v3/collection/playlists/{id} |
GET /api/v3/collection/playlists |
| Stations | PUT /api/v3/collection/stations/{id} |
DELETE /api/v3/collection/stations/{id} |
— |
| Podcasts | PUT /api/v3/collection/podcasts/{id} |
DELETE /api/v3/collection/podcasts/{id} |
GET /api/v3/collection/fav-podcasts |
| Audiobooks | PUT /api/v3/collection/audiobooks/{id} |
DELETE /api/v3/collection/audiobooks/{id} |
GET /api/v3/collection/audiobooks |
| Artists (follow) | PUT /api/v3/collection/followedartists/{id} |
DELETE /api/v3/collection/followedartists/{id} |
GET /api/v3/collection/followedartists |
User Context Endpoints
Check whether the current user has interacted with specific content:
| Endpoint | Description |
|---|---|
GET /api/v3/albums/{id}/context |
User's relationship to an album (collected, etc.) |
GET /api/v3/artists/{id}/context |
User's relationship to an artist (following, etc.) |
GET /api/v3/playlists/{id}/context |
User's relationship to a playlist |
GET /api/v3/podcasts/{id}/context |
User's relationship to a podcast |
GET /api/v3/audiobooks/{id}/context |
User's relationship to an audiobook |
UGC Video (Coming Soon)
Tuned Global is adding API support for user-generated video content. Users will be able to submit video through the API, which will be processed and output as HLS (HTTP Live Streaming) in multiple quality tiers for adaptive playback.
Output Profiles
| Resolution | Use Case |
|---|---|
| 1080p | Full HD — desktop, smart TV, tablets |
| 720p | HD — standard mobile playback |
| 480p | SD — bandwidth-constrained connections |
| 360p | Low — minimal bandwidth, background playback |
HLS adaptive bitrate streaming automatically selects the best quality for each viewer's connection, with seamless quality switching during playback.
Planned Capabilities
- Video upload via API endpoint
- Automatic transcoding to HLS with multi-resolution output
- CDN delivery of processed video
- Metadata association (title, description, tags, linked tracks)
- Integration with existing playlist and collection systems
Status: UGC video APIs are currently in development. Contact Tuned Global for early access and integration planning.
Optional Platform Features
The following features extend the social experience beyond the core APIs. Each is available as an SDK or add-on — contact Tuned Global to enable for your service.
Social Radio
An SDK that transforms your music app into an interactive broadcasting platform. Users, artists, and creators can host live shows with real-time audience interaction.
Key capabilities:
- Live broadcasting — instant show launch with single-click activation or pre-curated playlist modes
- Voice overlays — real-time voice commentary between or over tracks with automatic volume levelling
- Audience interaction — live comments, emoji reactions, and real-time feedback loops
- Sound effects — customisable audio effects (airhorns, reverb, applause) and branded overlays
- Tipping — fans can send tips and virtual gifts to hosts in real time
- Data capture — every interaction is timestamped, providing listener emotion and engagement data
- Scale — supports thousands of concurrent shows
Built on Pacemaker's patented Recipe format, Social Radio operates exclusively with licensed catalogues — no derivative works are created, eliminating remix-related licensing complications.
AutomixIQ (Pacemaker)
An SDK that delivers AI-powered DJ-quality transitions between songs in any music app. AutomixIQ analyses beats, loudness, vocals, and tempo to create seamless transitions live during playback.
Key capabilities:
- Intelligent beatmatching — analyses audio characteristics for harmonious transitions between different tempos and keys
- Real-time processing — transitions happen live and are not saved or recorded (licensing compliant)
- Studio mode — optional user controls for fade in/out, zooming, and volume adjustments
- Cross-platform — SDKs available for both Android and iOS
AutomixIQ uses only licensed tracks already in your streaming service. The proprietary transition technology avoids creating derivative works.
Unified Listening
Enables synchronised listening sessions where multiple users hear the same content simultaneously — ideal for shared experiences, listening parties, and co-listening features in social apps.
Live HLS Radio
Deliver live radio streams via HLS (HTTP Live Streaming) protocol. Integrates with existing radio station infrastructure to provide low-latency, adaptive-bitrate live audio through the Tuned Global platform.
Note: Social Radio, AutomixIQ, Unified Listening, and Live HLS Radio are separately licensed features requiring SDK integration. Contact Tuned Global for availability, pricing, and technical integration support.
Quick Reference — Social & UGC Endpoints
Services API (v3) — Playlists
Endpoint Method Description
-------------------------------------------- ------ ----------------------------------
/api/v3/playlists POST Create playlist
/api/v3/playlists GET List user's playlists
/api/v3/playlists/{id} GET Get playlist details
/api/v3/playlists/{id} PATCH Edit playlist metadata
/api/v3/playlists/{id} DELETE Delete playlist
/api/v3/playlists/{id}/tracks POST Add tracks
/api/v3/playlists/{id}/tracks DELETE Remove tracks
/api/v3/playlists/{id}/tracks PUT Replace all tracks
/api/v3/playlists/{id}/tracks PATCH Reorder tracks
/api/v3/playlists/{id}/tracks/all DELETE Clear all tracks
/api/v3/playlists/{id}/image/cover PUT Upload cover art
/api/v3/playlists/{id}/context GET User context for playlist
Services API (v3) — Collections & Following
Endpoint Method Description
-------------------------------------------- ------ ----------------------------------
/api/v3/collection/tracks/{id} PUT Add track to collection
/api/v3/collection/tracks/{id} DELETE Remove track from collection
/api/v3/collection/tracks POST Bulk add tracks
/api/v3/collection/tracks GET List user's tracks
/api/v3/collection/releases/{id} PUT Add album to collection
/api/v3/collection/playlists/{id} PUT Add playlist to collection
/api/v3/collection/stations/{id} PUT Favourite a station
/api/v3/collection/podcasts/{id} PUT Add podcast to collection
/api/v3/collection/audiobooks/{id} PUT Add audiobook to collection
/api/v3/collection/followedartists/{id} PUT Follow an artist
/api/v3/collection/followedartists/{id} DELETE Unfollow an artist
/api/v3/collection/follow-artists PUT Bulk follow artists
/api/v3/collection/followedartists/{id}/exists GET Check follow status
/api/v3/collection/followedartists GET List followed artists
Metadata API (v2.4) — Community Discovery
Endpoint Method Description
-------------------------------------------- ------ ----------------------------------
/api/v2.4/search/users GET Search user profiles
/api/v2.4/playlists/public GET User's public playlists
/api/v2.4/playlists/by-verified-user GET Verified user's playlists
/api/v2.4/playlists/verified GET All verified user playlists
Notes
- Services API endpoints use v3 and require
Authorization: Bearer {token}. - Metadata API endpoints use v2.4 and require
StoreIdheader. - Social Radio and AutomixIQ are SDK-based features — contact Tuned Global for integration packages.
- UGC video submission APIs are in development — contact Tuned Global for early access.