distribution.delivery.post
curl --request POST \
--url 'https://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey=' \
--header 'Content-Type: application/json' \
--data '
{
"file_id": 123456,
"partner_user_id": "123456",
"artist": [
{
"spotify_artist_id": "4Z8W4fKeB5YxbusRsdQVPb",
"partner_artist_id": "123456"
}
]
}
'import requests
url = "https://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey="
payload = {
"file_id": 123456,
"partner_user_id": "123456",
"artist": [
{
"spotify_artist_id": "4Z8W4fKeB5YxbusRsdQVPb",
"partner_artist_id": "123456"
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
file_id: 123456,
partner_user_id: '123456',
artist: [{spotify_artist_id: '4Z8W4fKeB5YxbusRsdQVPb', partner_artist_id: '123456'}]
})
};
fetch('https://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey=', 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://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'file_id' => 123456,
'partner_user_id' => '123456',
'artist' => [
[
'spotify_artist_id' => '4Z8W4fKeB5YxbusRsdQVPb',
'partner_artist_id' => '123456'
]
]
]),
CURLOPT_HTTPHEADER => [
"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://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey="
payload := strings.NewReader("{\n \"file_id\": 123456,\n \"partner_user_id\": \"123456\",\n \"artist\": [\n {\n \"spotify_artist_id\": \"4Z8W4fKeB5YxbusRsdQVPb\",\n \"partner_artist_id\": \"123456\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey=")
.header("Content-Type", "application/json")
.body("{\n \"file_id\": 123456,\n \"partner_user_id\": \"123456\",\n \"artist\": [\n {\n \"spotify_artist_id\": \"4Z8W4fKeB5YxbusRsdQVPb\",\n \"partner_artist_id\": \"123456\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"file_id\": 123456,\n \"partner_user_id\": \"123456\",\n \"artist\": [\n {\n \"spotify_artist_id\": \"4Z8W4fKeB5YxbusRsdQVPb\",\n \"partner_artist_id\": \"123456\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": {
"header": {
"status_code": 201,
"execute_time": 0.32
},
"body": {
"delivery": {
"delivery_id": 123456,
"status": "pending"
}
}
}
}{
"message": {
"header": {
"status_code": 123,
"execute_time": 123
},
"body": {
"error": {
"code": "<string>",
"namespace": "<string>",
"extraData": "<unknown>"
}
}
}
}{
"message": {
"header": {
"status_code": 123,
"execute_time": 123
},
"body": {
"error": {
"code": "<string>",
"namespace": "<string>",
"extraData": "<unknown>"
}
}
}
}{
"message": {
"header": {
"status_code": 404,
"execute_time": 0.32
},
"body": {
"error": {
"code": "004"
}
}
}
}{
"message": {
"header": {
"status_code": 123,
"execute_time": 123
},
"body": {
"error": {
"code": "<string>",
"namespace": "<string>",
"extraData": "<unknown>"
}
}
}
}Deliveries
distribution.delivery.post
Claims the artist and creates a delivery from an uploaded release file in a single call. Musixmatch associates the artist identities with the Musixmatch user before processing the release, then creates the delivery. Call this after uploading the ZIP to the URL returned by POST /ws/1.1/distribution.files.post. Returns a delivery_id and initial status.
POST
/
ws
/
1.1
/
distribution.delivery.post
distribution.delivery.post
curl --request POST \
--url 'https://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey=' \
--header 'Content-Type: application/json' \
--data '
{
"file_id": 123456,
"partner_user_id": "123456",
"artist": [
{
"spotify_artist_id": "4Z8W4fKeB5YxbusRsdQVPb",
"partner_artist_id": "123456"
}
]
}
'import requests
url = "https://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey="
payload = {
"file_id": 123456,
"partner_user_id": "123456",
"artist": [
{
"spotify_artist_id": "4Z8W4fKeB5YxbusRsdQVPb",
"partner_artist_id": "123456"
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
file_id: 123456,
partner_user_id: '123456',
artist: [{spotify_artist_id: '4Z8W4fKeB5YxbusRsdQVPb', partner_artist_id: '123456'}]
})
};
fetch('https://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey=', 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://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'file_id' => 123456,
'partner_user_id' => '123456',
'artist' => [
[
'spotify_artist_id' => '4Z8W4fKeB5YxbusRsdQVPb',
'partner_artist_id' => '123456'
]
]
]),
CURLOPT_HTTPHEADER => [
"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://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey="
payload := strings.NewReader("{\n \"file_id\": 123456,\n \"partner_user_id\": \"123456\",\n \"artist\": [\n {\n \"spotify_artist_id\": \"4Z8W4fKeB5YxbusRsdQVPb\",\n \"partner_artist_id\": \"123456\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey=")
.header("Content-Type", "application/json")
.body("{\n \"file_id\": 123456,\n \"partner_user_id\": \"123456\",\n \"artist\": [\n {\n \"spotify_artist_id\": \"4Z8W4fKeB5YxbusRsdQVPb\",\n \"partner_artist_id\": \"123456\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.musixmatch.com/ws/1.1/distribution.delivery.post?apikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"file_id\": 123456,\n \"partner_user_id\": \"123456\",\n \"artist\": [\n {\n \"spotify_artist_id\": \"4Z8W4fKeB5YxbusRsdQVPb\",\n \"partner_artist_id\": \"123456\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": {
"header": {
"status_code": 201,
"execute_time": 0.32
},
"body": {
"delivery": {
"delivery_id": 123456,
"status": "pending"
}
}
}
}{
"message": {
"header": {
"status_code": 123,
"execute_time": 123
},
"body": {
"error": {
"code": "<string>",
"namespace": "<string>",
"extraData": "<unknown>"
}
}
}
}{
"message": {
"header": {
"status_code": 123,
"execute_time": 123
},
"body": {
"error": {
"code": "<string>",
"namespace": "<string>",
"extraData": "<unknown>"
}
}
}
}{
"message": {
"header": {
"status_code": 404,
"execute_time": 0.32
},
"body": {
"error": {
"code": "004"
}
}
}
}{
"message": {
"header": {
"status_code": 123,
"execute_time": 123
},
"body": {
"error": {
"code": "<string>",
"namespace": "<string>",
"extraData": "<unknown>"
}
}
}
}Authorizations
Query Parameters
The Musixmatch user ID obtained via token introspection
Body
application/json
The file identifier returned by POST /ws/1.1/distribution.files.post
List of artist identifiers to claim before the delivery is processed. At least one identifier per item is required.
Minimum array length:
1Show child attributes
Show child attributes
The partner's internal user identifier
Response
Delivery created.
Show child attributes
Show child attributes
Was this page helpful?