Update specified playlist details
curl --request PUT \
--url https://open.beatpass.ca/api/v1/playlists \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "My playlist",
"description": "<string>",
"image": "<string>",
"public": false,
"collaborative": false
}
'import requests
url = "https://open.beatpass.ca/api/v1/playlists"
payload = {
"name": "My playlist",
"description": "<string>",
"image": "<string>",
"public": False,
"collaborative": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'My playlist',
description: '<string>',
image: '<string>',
public: false,
collaborative: false
})
};
fetch('https://open.beatpass.ca/api/v1/playlists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://open.beatpass.ca/api/v1/playlists",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'My playlist',
'description' => '<string>',
'image' => '<string>',
'public' => false,
'collaborative' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://open.beatpass.ca/api/v1/playlists"
payload := strings.NewReader("{\n \"name\": \"My playlist\",\n \"description\": \"<string>\",\n \"image\": \"<string>\",\n \"public\": false,\n \"collaborative\": false\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://open.beatpass.ca/api/v1/playlists")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"My playlist\",\n \"description\": \"<string>\",\n \"image\": \"<string>\",\n \"public\": false,\n \"collaborative\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://open.beatpass.ca/api/v1/playlists")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"My playlist\",\n \"description\": \"<string>\",\n \"image\": \"<string>\",\n \"public\": false,\n \"collaborative\": false\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"playlist": {
"id": 123,
"name": "Some Playlist",
"public": true,
"collaborative": false,
"image": "https://example.com/image1.jpg",
"description": "<string>"
}
}"<unknown>"Playlists
Update specified playlist details
PUT
/
playlists
Update specified playlist details
curl --request PUT \
--url https://open.beatpass.ca/api/v1/playlists \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "My playlist",
"description": "<string>",
"image": "<string>",
"public": false,
"collaborative": false
}
'import requests
url = "https://open.beatpass.ca/api/v1/playlists"
payload = {
"name": "My playlist",
"description": "<string>",
"image": "<string>",
"public": False,
"collaborative": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'My playlist',
description: '<string>',
image: '<string>',
public: false,
collaborative: false
})
};
fetch('https://open.beatpass.ca/api/v1/playlists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://open.beatpass.ca/api/v1/playlists",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'My playlist',
'description' => '<string>',
'image' => '<string>',
'public' => false,
'collaborative' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://open.beatpass.ca/api/v1/playlists"
payload := strings.NewReader("{\n \"name\": \"My playlist\",\n \"description\": \"<string>\",\n \"image\": \"<string>\",\n \"public\": false,\n \"collaborative\": false\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://open.beatpass.ca/api/v1/playlists")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"My playlist\",\n \"description\": \"<string>\",\n \"image\": \"<string>\",\n \"public\": false,\n \"collaborative\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://open.beatpass.ca/api/v1/playlists")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"My playlist\",\n \"description\": \"<string>\",\n \"image\": \"<string>\",\n \"public\": false,\n \"collaborative\": false\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"playlist": {
"id": 123,
"name": "Some Playlist",
"public": true,
"collaborative": false,
"image": "https://example.com/image1.jpg",
"description": "<string>"
}
}"<unknown>"Authorizations
API access is invite-only. Contact contact@beatpass.ca to request access. Once approved, generate tokens from Account Settings → Developers. Include as: Authorization: Bearer {token}. Tokens expire after 90 days.
Body
application/json
Example:
"My playlist"
Short description (between 20 and 170 chracaters) for playlist
Image url for playlist
Whether this playlist will be set as public
Whether this playlist will be set as collaborative
Last modified on July 21, 2026
Was this page helpful?
⌘I