Skip to main content

Overview

The Social API covers the platform’s social graph — following users and artists, reposting content, and managing the user’s personal library of liked tracks, albums, and artists.
Base URL: https://open.beatpass.ca/api/v1Authentication: Write operations require a valid Bearer token. Read operations on public profiles use optional auth.

User Following

Follow User

POST /api/v1/users/{user}/follow

Unfollow User

POST /api/v1/users/{user}/unfollow

Check Follow Status

GET /api/v1/users/{user}/follow-status

Get User’s Followers

GET /api/v1/users/{user}/followers

Get User’s Followed Users

GET /api/v1/users/{user}/followed-users

Artist Following

Follow Artist

POST /api/v1/artists/{artistId}/follow

Unfollow Artist

POST /api/v1/artists/{artistId}/unfollow

Check Artist Follow Status

GET /api/v1/artists/{artistId}/follow-status

Get Artist’s Followers

GET /api/v1/artists/{artistId}/followers

Follow Limits

Max Following

5,000 users Maximum accounts a user can follow

Follow Rate

Rate limited Too many follows in quick succession triggers 429

Self-Follow

Not allowed Cannot follow your own account

Reposts

Toggle Repost

Toggle repost status for a track. If already reposted, it removes the repost.
POST /api/v1/reposts/toggle
track_id
integer
required
Track ID to repost or un-repost.

Get User’s Reposts

GET /api/v1/users/{user}/reposts

Repost Limits

LimitValue
Daily repost limit100 per day
Hourly repost limit20 per hour
Self-repostNot allowed

User Library

Add to Library

Add a track to the authenticated user’s library (liked tracks).
POST /api/v1/users/me/add-to-library

Remove from Library

Remove a track from the user’s library.
POST /api/v1/users/me/remove-from-library

Get Liked Tracks

GET /api/v1/users/{user}/liked-tracks

Get Liked Albums

GET /api/v1/users/{user}/liked-albums

Get Liked Artists

GET /api/v1/users/{user}/liked-artists

Library Limits

LimitValue
Max saved items10,000
Max playlists100
Max tracks per playlist500

Collections

Collections are curated groupings of content. All collection endpoints require authentication.

List Collections

GET /api/v1/collections
GET /api/v1/collections/featured

User Collections

GET /api/v1/collections/user

Collection Recommendations

GET /api/v1/collections/recommendations

Create Collection

POST /api/v1/collections

Get Collection

GET /api/v1/collections/{id}

Update Collection

PUT /api/v1/collections/{id}

Delete Collection

DELETE /api/v1/collections/{id}

Play Collection

POST /api/v1/collections/{id}/play

User Profile

Get User Profile

Retrieve a user’s public profile. Enhanced data returned when authenticated.
GET /api/v1/user-profile/{user}

Update Profile

Update the authenticated user’s profile.
PUT /api/v1/users/profile/update

Get User’s Playlists

GET /api/v1/users/{user}/playlists

Get Upload Minutes Remaining

Check how many upload minutes a user has remaining on their current plan.
GET /api/v1/users/{user}/minutes-left
user
integer
required
User ID.
Response:
{
  "status": "success",
  "minutesLeft": 120
}
Returns null for minutesLeft if the user’s plan has no minute-based upload restriction.

Get Contact Info

Retrieve a user’s contact information. Rate limited to 30 requests per minute.
GET /api/v1/users/{user}/contact-info

Search Users

GET /api/v1/users/search

Last modified on February 7, 2026