curl --request POST \
--url https://api.recoupable.dev/api/artists \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"spotify_artist_id": "<string>",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.recoupable.dev/api/artists"
payload = {
"name": "<string>",
"spotify_artist_id": "<string>",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
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({
name: '<string>',
spotify_artist_id: '<string>',
account_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
organization_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.recoupable.dev/api/artists', 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.recoupable.dev/api/artists",
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([
'name' => '<string>',
'spotify_artist_id' => '<string>',
'account_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'organization_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
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.recoupable.dev/api/artists"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"spotify_artist_id\": \"<string>\",\n \"account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"organization_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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.recoupable.dev/api/artists")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"spotify_artist_id\": \"<string>\",\n \"account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"organization_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.recoupable.dev/api/artists")
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 \"name\": \"<string>\",\n \"spotify_artist_id\": \"<string>\",\n \"account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"organization_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"artist": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"image": "<string>",
"instruction": "<string>",
"knowledges": [
"<string>"
],
"label": "<string>",
"organization": "<string>",
"company_name": "<string>",
"job_title": "<string>",
"role_type": "<string>",
"onboarding_status": "<string>",
"onboarding_data": "<unknown>",
"account_info": "<array>",
"account_socials": "<array>"
}
}{
"artist": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"image": "<string>",
"instruction": "<string>",
"knowledges": [
"<string>"
],
"label": "<string>",
"organization": "<string>",
"company_name": "<string>",
"job_title": "<string>",
"role_type": "<string>",
"onboarding_status": "<string>",
"onboarding_data": "<unknown>",
"account_info": "<array>",
"account_socials": "<array>"
}
}{
"status": "error",
"missing_fields": [
"<string>"
],
"error": "<string>",
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Create Artist
Create a new artist account. When spotify_artist_id is provided and a canonical artist already exists for it, the existing artist is linked to the account instead of creating a duplicate. The artist can optionally be linked to an organization.
curl --request POST \
--url https://api.recoupable.dev/api/artists \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"spotify_artist_id": "<string>",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.recoupable.dev/api/artists"
payload = {
"name": "<string>",
"spotify_artist_id": "<string>",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
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({
name: '<string>',
spotify_artist_id: '<string>',
account_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
organization_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.recoupable.dev/api/artists', 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.recoupable.dev/api/artists",
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([
'name' => '<string>',
'spotify_artist_id' => '<string>',
'account_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'organization_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
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.recoupable.dev/api/artists"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"spotify_artist_id\": \"<string>\",\n \"account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"organization_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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.recoupable.dev/api/artists")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"spotify_artist_id\": \"<string>\",\n \"account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"organization_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.recoupable.dev/api/artists")
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 \"name\": \"<string>\",\n \"spotify_artist_id\": \"<string>\",\n \"account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"organization_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"artist": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"image": "<string>",
"instruction": "<string>",
"knowledges": [
"<string>"
],
"label": "<string>",
"organization": "<string>",
"company_name": "<string>",
"job_title": "<string>",
"role_type": "<string>",
"onboarding_status": "<string>",
"onboarding_data": "<unknown>",
"account_info": "<array>",
"account_socials": "<array>"
}
}{
"artist": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"image": "<string>",
"instruction": "<string>",
"knowledges": [
"<string>"
],
"label": "<string>",
"organization": "<string>",
"company_name": "<string>",
"job_title": "<string>",
"role_type": "<string>",
"onboarding_status": "<string>",
"onboarding_data": "<unknown>",
"account_info": "<array>",
"account_socials": "<array>"
}
}{
"status": "error",
"missing_fields": [
"<string>"
],
"error": "<string>",
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Body
Artist creation parameters
The name of the artist to create
1Optional Spotify artist id. When provided, the endpoint resolves-or-creates the canonical artist for that id: if an artist already carries it, that artist is linked to the account and returned (200) instead of creating a duplicate; otherwise the artist is created with its Spotify profile attached (201).
UUID of the account to create the artist for. Only applicable when the authenticated account has access to multiple accounts via organization membership. If not provided, the artist is created for the API key's own account.
Optional organization ID to link the new artist to
Response
Existing canonical artist for the given spotify_artist_id linked to the account (no new artist created)
Show child attributes
Show child attributes
Was this page helpful?
