API Reference
Playlists
Overview

Playlists

User playlists. Each call is scoped to the authenticated user — owners and collaborators see different things based on their permission level.

Endpoints

MethodPathPurpose
GET/api/v4/me/playlists/List playlists you own or that are shared with you
POST/api/v4/me/playlists/Create a playlist
GET/api/v4/me/playlists/{slug}/Retrieve one playlist
PATCH/api/v4/me/playlists/{slug}/Update name, description, image
DELETE/api/v4/me/playlists/{slug}/Delete a playlist (owner only)
POST/api/v4/me/playlists/{slug}/tracks/Add or remove tracks, stems, sound effects
POST/api/v4/me/playlists/{slug}/tracks/reorder/Reorder items

To list the tracks inside a playlist, use the catalog endpoint:

GET /api/v4/{locale}/tracks/?user_playlist={slug}

This is the same endpoint that powers track browsing; the user_playlist filter scopes it to one of your playlists.

Authentication

All playlist endpoints require an authenticated request. Send your token:

Authorization: Bearer <PARTNER_API_KEY>

The user identity is derived from the token. Partners that act on behalf of an end user should make sure that user is signed in to the relevant Slipstream account first.

Permissions

A playlist has one owner and any number of collaborators.

ActionOwnerCollaborator (can_edit)Anyone else
List, retrieve
Update name/description/image
Add or remove items
Reorder items
Delete

Endpoints return 403 Forbidden when the caller lacks permission.

The Playlist object

{
  "id": "8a4b2c1d-9e7f-4a6b-b3c2-1f8d4e5a7c6b",
  "name": "Late Night",
  "slug": "late-night",
  "description": "Reflective jazz under 120 BPM",
  "owner": {
    "id": "1e2d3c4b-5a69-4f78-9012-345678abcdef",
    "username": "user-12345",
    "name": "Sam Editor"
  },
  "permission": "owner",
  "playlist_type": "user",
  "tracks": 12,
  "duration": 2814,
  "url": "/playlists/late-night",
  "blurhash": "L6PZfSi_.AyE_3t7t7R**0o#DgR4",
  "all_image_sizes": {
    "small":  "https://...",
    "medium": "https://...",
    "large":  "https://..."
  },
  "collaborators": [
    { "id": "...", "username": "...", "permission": "can_edit" }
  ]
}
FieldDescription
idPlaylist UUID.
nameTitle.
slugURL-friendly identifier. Use this in every endpoint path.
descriptionFree text.
ownerThe user who created the playlist.
permission"owner" if the caller created it, otherwise "can_edit".
playlist_typeAlways "user" for endpoints under /api/v4/me/playlists/.
tracksItem count. Available on retrieve/update responses.
durationTotal runtime in seconds. Available on retrieve/update responses.
urlInternal path on slipstreammusic.com.
blurhash, all_image_sizesCover image, when set.
collaboratorsUsers with can_edit permission. Empty for solo playlists.

The list endpoint returns a slimmer shape — without tracks, duration, playlist_type, and collaborators. Call retrieve when you need those.

Pagination

list uses limit/offset:

ParameterDefaultMax
limit20100
offset0

Errors

HTTPWhen
400Validation error in body or query string
401Not authenticated
403Authenticated but lacking permission for that playlist
404Playlist not found, or not visible to the caller
429Rate limit hit