logo logo
  • Home
  • Distro
  • Max
  • PRO
VerseOne Login

API Docs

  • Introduction Introduction
    • API Workflow Guide
    • Royalties API Walkthrough
  • Auth Requests Auth Requests
  • Authentication Authentication
    • Login
  • Distribution Distribution
    • Get All Releases
    • Show a Release Detail
    • Create a Release and Tracks
    • Upload an Artwork Image
    • Upload a Track File
    • Get Genres
    • Get Subgenres
    • Get Moods
    • Get Languages
    • Get Release Pricing
    • Update Release or Tracks metadata
    • Delete Release or Track
  • Royalties Royalties
    • Payouts list
    • Create Payout Request
    • Set Threshold
    • Get Pending Payouts for The User
    • Set Monthly Type
    • Income List
    • Get Invoice
  • Analytics Analytics
    • Get Product by UPC
    • Get Artist by Name
    • Get Territories
    • Get DSPs
    • Trends Total
    • Trends List
    • Trends Chart
    • Get Artist ID
    • Get Artist ID from Identifiers
    • Get Artist Social Stats
    • Get Artist Stats
    • Get Artist URLs
    • Get Instagram Audience Stats
    • Get Tiktok Audience Stats
    • Get Youtube Audience Stats
    • Get Youtube Market Coverage
    • Get Editorial Playlists
    • Get Curator Playlists
    • Get Radio Airplays
    • Get Radio
    • Get Charts
    • Get Social Audience Stats

VerseOne API Docs

Distribution

Get All Releases

GET /api/v1/release requires authentication
                            GET /api/v1/release
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: application/json

Accept

Example: application/json

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
     "http://verseone.test/api/v1/release"
);
const headers = {
      "Authorization": "Bearer {YOUR_AUTH_KEY}",
      "Content-Type": "application/json",
      "Accept": "application/json",
};

fetch(url, {
     method: "GET",
     headers,
}).then(response => response.json());
                                    
                                            

                                                import requests
import json
url = 'http://verseone.test/api/v1/release'
headers = {
     'Authorization': 'Bearer {YOUR_AUTH_KEY}',
     'Content-Type': 'application/json',
     'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()
                                    
                                            

                                                <?php
import requests
import json
 url = 'http://verseone.test/api/v1/release'
headers = {
 'Authorization': 'Bearer {YOUR_AUTH_KEY}',
 'Content-Type': 'application/json',
 'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()
?>
                                    
                                            

                                                curl --request GET \
--get "http://verseone.test/api/v1/release" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
                                   
                                            

Example Response

  • 200

                                                        {
    "current_page": 2,
    "data": [
        {
            "id": 37345,
            "title": "test upc",
            "type": 0,
            "bulk": 0,
            "type_title": "Audio",
            "status": "Draft",
            "created_at": "2025-04-25T08:20:27.000000Z",
            "meta_data": null,
            "tracks": [],
            "artwork": null,
            "smartlink": null,
            "smartLinkSelect": [
                "boomplay",
                "sevendigital",
                "amazon",
                "apple",
                "audiomack",
                "beatport",
                "deezer",
                "facebook",
                "fizy",
                "iheartradio",
                "joox",
                "junorecords",
                "kkbox",
                "linemusic",
                "mixcloud",
                "ayoba-2",
                "napster",
                "naver",
                "netease",
                "pandora",
                "pretzel-rocks",
                "qobuz",
                "shazam",
                "soundcloud",
                "spotify",
                "tidal",
                "tiktok",
                "timmusic",
                "traxsource",
                "trebel",
                "triller",
                "xiami",
                "yandex",
                "youtubemusic"
            ],
            "delete": "link route",
            "encode_apple": 0,
            "paystatus": null,
            "split_id": 0,
            "split_content": []
        },
        {
            "id": 34723,
            "title": "bigvideo",
            "type": 1,
            "bulk": 0,
            "type_title": "Video",
            "status": "Draft",
            "created_at": "2024-12-31T08:04:07.000000Z",
            "meta_data": {
                "release_id": 34723,
                "title": "bigvideo",
                "display_artists": null,
                "release_version": null,
                "label": "Johnny Liu",
                "format": 0,
                "total_volumes": 1,
                "compilation": null,
                "explicit_content": null,
                "barcode": "5056775225891",
                "cat_nr": "Johnny34723",
                "consumer_release_date": null,
                "consumer_release_time": null,
                "preorder_date": null,
                "expected_release_date": null,
                "original_release_date": null,
                "recording_year": "2024-12-31",
                "recording_location": null,
                "copyright_year_one": "2024-12-31T08:04:12.104Z",
                "copyright_text_one": null,
                "copyright_year_two": "2024-12-31T08:04:12.104Z",
                "copyright_text_two": null,
                "genre_id": null,
                "subgenre_id": null,
                "alternate_genre_id": null,
                "alternate_subgenre_id": null,
                "album_notes": null,
                "label_copy_info": null,
                "catalog_tier": null,
                "default_language": null,
                "default_extra_fields": "[]",
                "territories": "[]",
                "territory_based_custom_price": null,
                "pricing_interval": null,
                "usage_rights": null,
                "tags": null,
                "territory_based_release_date": null,
                "attachments": null,
                "artists": "[]",
                "dsps": "[{\"id\":1,\"title\":\"External\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[{\"title\":\"Amazon\",\"External_id\":\"99268\",\"type\":\"Both\",\"able\":true},{\"title\":\"Ami Entertainment\",\"External_id\":\"104465305\",\"type\":\"Both\",\"able\":true},{\"title\":\"Facebook Video \",\"External_id\":\"2721730765\",\"type\":\"Video\",\"able\":true},{\"title\":\"Facebook Video Fingerprinting\",\"External_id\":\"2929664894\",\"type\":\"Video\",\"able\":true},{\"title\":\"fizy\",\"External_id\":\"1988507361\",\"type\":\"Both\",\"able\":true},{\"title\":\"GOGOPIX\",\"External_id\":\"5936426630\",\"type\":\"Video\",\"able\":true},{\"title\":\"LINE Music\",\"External_id\":\"1232212955\",\"type\":\"Both\",\"able\":true},{\"title\":\"Nightlife Music\",\"External_id\":\"23822199\",\"type\":\"Video\",\"able\":true},{\"title\":\"ROXi Video\",\"External_id\":\"3672664570\",\"type\":\"Video\",\"able\":true},{\"title\":\"Tencent Video\",\"External_id\":\"6233344199\",\"type\":\"Video\",\"able\":true},{\"title\":\"TIDAL\",\"External_id\":\"3440259\",\"type\":\"Both\",\"able\":true},{\"title\":\"Xite\",\"External_id\":\"1553828531\",\"type\":\"Video\",\"able\":true}]},{\"id\":4,\"title\":\"Boomplay\",\"store_id\":\"boomplay\",\"able\":true,\"type\":\"Video\",\"details\":[]},{\"id\":6,\"title\":\"FLO\",\"store_id\":null,\"able\":true,\"type\":\"Video\",\"details\":[]},{\"id\":11,\"title\":\"AudibleMagic\",\"store_id\":null,\"able\":true,\"type\":\"Video\",\"details\":[]}]",
                "price": "{}"
            },
            "tracks": [],
            "artwork": null,
            "smartlink": null,
            "smartLinkSelect": [
                "boomplay",
                "sevendigital",
                "amazon",
                "apple",
                "audiomack",
                "beatport",
                "deezer",
                "facebook",
                "fizy",
                "iheartradio",
                "joox",
                "junorecords",
                "kkbox",
                "linemusic",
                "mixcloud",
                "ayoba-2",
                "napster",
                "naver",
                "netease",
                "pandora",
                "pretzel-rocks",
                "qobuz",
                "shazam",
                "soundcloud",
                "spotify",
                "tidal",
                "tiktok",
                "timmusic",
                "traxsource",
                "trebel",
                "triller",
                "xiami",
                "yandex",
                "youtubemusic"
            ],
            "delete": "link route",
            "encode_apple": 0,
            "paystatus": null,
            "split_id": 0,
            "split_content": []
        },
        {
            "id": 26476,
            "title": "New Release",
            "type": 0,
            "bulk": 0,
            "type_title": "Audio",
            "status": "Draft",
            "created_at": "2023-12-04T02:01:13.000000Z",
            "meta_data": {
                "release_id": 26476,
                "title": "New Release",
                "display_artists": "test",
                "release_version": "123",
                "label": "Johnny Liu",
                "format": 1,
                "total_volumes": 1,
                "compilation": null,
                "explicit_content": 1,
                "barcode": "5056775200683",
                "cat_nr": "Johnny26476&",
                "consumer_release_date": "2024-07-11",
                "consumer_release_time": null,
                "preorder_date": "2024-12-17",
                "expected_release_date": null,
                "original_release_date": "2024-07-11",
                "recording_year": "2024-04-19",
                "recording_location": null,
                "copyright_year_one": "2024-07-11",
                "copyright_text_one": "test",
                "copyright_year_two": "2024-07-11",
                "copyright_text_two": "test",
                "genre_id": 11,
                "subgenre_id": null,
                "alternate_genre_id": null,
                "alternate_subgenre_id": null,
                "album_notes": null,
                "label_copy_info": null,
                "catalog_tier": null,
                "default_language": "English",
                "default_extra_fields": "[]",
                "territories": "[]",
                "territory_based_custom_price": null,
                "pricing_interval": null,
                "usage_rights": null,
                "tags": null,
                "territory_based_release_date": null,
                "attachments": null,
                "artists": "[{\"id\":52575,\"name\":\"test\",\"created_at\":\"2024-01-04T08:09:52.000000Z\",\"updated_at\":\"2024-07-24T02:18:43.000000Z\",\"created_by\":1124,\"profile\":null,\"uuid\":\"b30ec8ea-7b4e-496e-a29e-98fb14871fd6\",\"label_id\":167,\"deleted_at\":null,\"last_release_date\":\"2024-07-15\",\"total_number_releases\":2,\"flag\":0,\"sub_label_id\":null,\"External_id\":null,\"value\":52575,\"label\":\"test\",\"primary\":true}]",
                "dsps": "[{\"id\":1,\"title\":\"External\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[{\"title\":\"7Digital\",\"External_id\":\"247916\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Amazon\",\"External_id\":\"99268\",\"type\":\"Both\",\"able\":true},{\"title\":\"Ami Entertainment\",\"External_id\":\"104465305\",\"type\":\"Both\",\"able\":true},{\"title\":\"Anghami\",\"External_id\":\"20799134\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Apple Music\",\"External_id\":\"1330598\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Audible Magic\",\"External_id\":\"8771887\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Audiomack\",\"External_id\":\"1817422193\",\"type\":\"Audio\",\"able\":true},{\"title\":\"AWA\",\"External_id\":\"847103579\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Beatport\",\"External_id\":\"89882\",\"type\":\"EDM\",\"able\":true},{\"title\":\"Deezer\",\"External_id\":\"2100357\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Facebook Audio Library\",\"External_id\":\"1499657856\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Facebook Fingerprinting \",\"External_id\":\"1415672002\",\"type\":\"Audio\",\"able\":true},{\"title\":\"fizy\",\"External_id\":\"1988507361\",\"type\":\"Both\",\"able\":true},{\"title\":\"Gracenote\",\"External_id\":\"9538495\",\"type\":\"Audio\",\"able\":true},{\"title\":\"iHeartRadio\",\"External_id\":\"3441649\",\"type\":\"Audio\",\"able\":true},{\"title\":\"JioSaavn\",\"External_id\":\"316911752\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Joox\",\"External_id\":\"1517454273\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Juno Records\",\"External_id\":\"13278\",\"type\":\"EDM\",\"able\":true},{\"title\":\"KkBox\",\"External_id\":\"121452605\",\"type\":\"Audio\",\"able\":true},{\"title\":\"LINE Music\",\"External_id\":\"1232212955\",\"type\":\"Both\",\"able\":true},{\"title\":\"MePlaylist\",\"External_id\":\"3357532813\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Mixcloud\",\"External_id\":\"1684139985\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Muska\",\"External_id\":\"3730648038\",\"type\":\"Audio\",\"able\":true},{\"title\":\"NAVER VIBE\",\"External_id\":\"1674795424\",\"type\":\"Audio\",\"able\":true},{\"title\":\"NetEase Cloud Music\",\"External_id\":\"1382854531\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Nuuday A\\/S\",\"External_id\":\"464139\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Pandora\",\"External_id\":\"7851192\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Peloton\",\"External_id\":\"2528780514\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Pretzel Rocks\",\"External_id\":\"2406442214\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Qobuz\",\"External_id\":\"9940949\",\"type\":\"Audio\",\"able\":true},{\"title\":\"SoundCloud\",\"External_id\":\"35299696\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Spotify\",\"External_id\":\"746109\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Spotify DJ Mixes opt-in\",\"External_id\":\"5199921899\",\"type\":\"EDM\",\"able\":true},{\"title\":\"Stellar Entertainment\",\"External_id\":\"1362159470\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Taobao\",\"External_id\":\"1234931270\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Tencent\",\"External_id\":\"1461025062\",\"type\":\"Audio\",\"able\":true},{\"title\":\"TIDAL\",\"External_id\":\"3440259\",\"type\":\"Both\",\"able\":true},{\"title\":\"TikTok\",\"External_id\":\"1809226414\",\"type\":\"Audio\",\"able\":true},{\"title\":\"TouchTunes\",\"External_id\":\"1130831671\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Traxsource com\",\"External_id\":\"286733\",\"type\":\"EDM\",\"able\":true},{\"title\":\"Trebel Music\",\"External_id\":\"4668622402\",\"type\":\"Audio\",\"able\":true}]},{\"id\":2,\"title\":\"Boomplay\",\"store_id\":\"boomplay\",\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":5,\"title\":\"FLO\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":7,\"title\":\"SoundExchange\",\"store_id\":\"ail_subscribe\",\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":8,\"title\":\"Worx\",\"store_id\":\"ail_subscribe\",\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":9,\"title\":\"Kuack\",\"store_id\":\"ail_subscribe\",\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":12,\"title\":\"Bmat\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":13,\"title\":\"ClicknClear\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":15,\"title\":\"Jaxsta\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[]}]",
                "price": "{}"
            },
            "tracks": [
                {
                    "id": 49579,
                    "name": "New Track",
                    "thumbnail": null,
                    "file": "https://verseone-bucket.s3.amazonaws.com/public/releases/29498/1728714162.wav?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY2BOXRXFA7R7THGA%2F20250512%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250512T031143Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Signature=1be2ee7bdd8b1a36f87c236bb2269b485f5ee097a708687d882b48669e567a34",
                    "version": null,
                    "type": 0,
                    "type_title": "Audio",
                    "created_at": "2024-07-24T01:35:08.000000Z",
                    "meta_data": {
                        "title": "New Track",
                        "display_artists": "test",
                        "track_version": null,
                        "isrc": "QZNC62501451",
                        "volume": null,
                        "p_year": "2020-12-24",
                        "p_line": "test",
                        "genre_id": 11,
                        "subgenre_id": null,
                        "alternate_genre_id": null,
                        "alternate_subgenre_id": null,
                        "instrumental": 0,
                        "explicit_content": "1",
                        "encode": 0,
                        "lyrics": null,
                        "need_lrc": 0,
                        "lrc_file": null,
                        "language": "Afrikaans",
                        "available_separately": 0,
                        "allow_preorder_preview": 0,
                        "allow_preorder": 1,
                        "preorder_type": null,
                        "asset_rights_claim": null,
                        "track_release_date": "2024-10-01",
                        "recording_year": "2020-12-24",
                        "recording_location": null,
                        "rights_holder_name": null,
                        "country_of_recording": null,
                        "country_of_commissioning": null,
                        "rights_ownership_name": null,
                        "rights_contract_begin_date": null,
                        "track_catalog_tier": null,
                        "artists": "[{\"id\":52575,\"name\":\"test\",\"created_at\":\"2024-01-04T08:09:52.000000Z\",\"updated_at\":\"2024-01-16T09:33:26.000000Z\",\"created_by\":1124,\"profile\":null,\"uuid\":\"b30ec8ea-7b4e-496e-a29e-98fb14871fd6\",\"label_id\":167,\"deleted_at\":null,\"last_release_date\":\"2023-11-14\",\"total_number_releases\":1,\"flag\":0,\"sub_label_id\":null,\"External_id\":null,\"value\":52575,\"label\":\"test\",\"primary\":true}]",
                        "translations": null,
                        "tags": "[]",
                        "contributors": "[{\"id\":52575,\"name\":\"test\",\"created_at\":\"2024-01-04T08:09:52.000000Z\",\"updated_at\":\"2024-11-03T01:11:01.000000Z\",\"created_by\":1124,\"profile\":null,\"uuid\":\"b30ec8ea-7b4e-496e-a29e-98fb14871fd6\",\"label_id\":1359,\"deleted_at\":null,\"last_release_date\":\"2024-11-03\",\"total_number_releases\":12,\"flag\":0,\"sub_label_id\":null,\"External_id\":null,\"skip_ugc_dsps\":0,\"value\":52575,\"label\":\"test\",\"roles\":[{\"value\":\"Mastering Engineer\",\"label\":\"Mastering Engineer\"}],\"instrument_type\":[{\"value\":\"Synthesizer\",\"label\":\"Synthesizer\"}],\"primary\":false}]",
                        "publishers": "[{\"key\":\"6LkdCgxlQNqFTLe8uB9DE\",\"default_writer_name\":\"johnny\",\"default_writer_last_name\":\"liu\",\"default_writer_share\":\"15\",\"default_writer_company\":\"VerseOne Distiribution and Publishing\",\"default_writer_email\":\"[email protected]\"}]",
                        "lyricists": "[{\"id\":52575,\"name\":\"test\",\"created_at\":\"2024-01-04T08:09:52.000000Z\",\"updated_at\":\"2024-01-16T09:33:26.000000Z\",\"created_by\":1124,\"profile\":null,\"uuid\":\"b30ec8ea-7b4e-496e-a29e-98fb14871fd6\",\"label_id\":167,\"deleted_at\":null,\"last_release_date\":\"2023-11-14\",\"total_number_releases\":1,\"flag\":0,\"sub_label_id\":null,\"External_id\":null,\"value\":52575,\"label\":\"test\",\"primary\":false}]",
                        "composers": "[{\"id\":52575,\"name\":\"test\",\"created_at\":\"2024-01-04T08:09:52.000000Z\",\"updated_at\":\"2024-01-16T09:33:26.000000Z\",\"created_by\":1124,\"profile\":null,\"uuid\":\"b30ec8ea-7b4e-496e-a29e-98fb14871fd6\",\"label_id\":167,\"deleted_at\":null,\"last_release_date\":\"2023-11-14\",\"total_number_releases\":1,\"flag\":0,\"sub_label_id\":null,\"External_id\":null,\"value\":52575,\"label\":\"test\",\"primary\":false}]",
                        "moods": "[\"Adventurous\"]",
                        "predominant_instruments": "[\"Accordion\"]"
                    },
                    "acr_result": 0,
                    "encode_id": null,
                    "encode": 0,
                    "order": null,
                    "split_id": 0,
                    "split_content": []
                }
            ],
            "artwork": "https://verseone-bucket.s3.amazonaws.com/public/releases/26476/artwork.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY2BOXRXFA7R7THGA%2F20250512%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250512T031142Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Signature=32ae129d72ef863485e3deaf334529b5caf06b7f13cd13b155cce52f031dfd09",
            "smartlink": null,
            "smartLinkSelect": [
                "boomplay",
                "sevendigital",
                "amazon",
                "apple",
                "audiomack",
                "beatport",
                "deezer",
                "facebook",
                "fizy",
                "iheartradio",
                "joox",
                "junorecords",
                "kkbox",
                "linemusic",
                "mixcloud",
                "ayoba-2",
                "napster",
                "naver",
                "netease",
                "pandora",
                "pretzel-rocks",
                "qobuz",
                "shazam",
                "soundcloud",
                "spotify",
                "tidal",
                "tiktok",
                "timmusic",
                "traxsource",
                "trebel",
                "triller",
                "xiami",
                "yandex",
                "youtubemusic"
            ],
            "delete": "link route",
            "encode_apple": 0,
            "paystatus": 1,
            "split_id": 24,
            "split_content": [
                {
                    "name": "test",
                    "email": "[email protected]",
                    "percent": 50
                }
            ]
        },
        {
            "id": 26367,
            "title": "Sponge-Bob Square-Pants",
            "type": 0,
            "bulk": 0,
            "type_title": "Audio",
            "status": "Draft",
            "created_at": "2023-11-27T05:46:41.000000Z",
            "meta_data": {
                "release_id": 26367,
                "title": "Sponge-Bob Square-Pants",
                "display_artists": null,
                "release_version": null,
                "label": "Johnny Liu",
                "format": null,
                "total_volumes": 1,
                "compilation": null,
                "explicit_content": null,
                "barcode": "5056530089959",
                "cat_nr": "Johnny26367",
                "consumer_release_date": "2024-05-28",
                "consumer_release_time": null,
                "preorder_date": null,
                "expected_release_date": null,
                "original_release_date": null,
                "recording_year": "2025-01-10",
                "recording_location": "China",
                "copyright_year_one": "2025-01-10T08:20:57.348Z",
                "copyright_text_one": null,
                "copyright_year_two": "2025-01-10T08:20:57.348Z",
                "copyright_text_two": null,
                "genre_id": null,
                "subgenre_id": null,
                "alternate_genre_id": null,
                "alternate_subgenre_id": null,
                "album_notes": null,
                "label_copy_info": null,
                "catalog_tier": null,
                "default_language": null,
                "default_extra_fields": "[]",
                "territories": "[]",
                "territory_based_custom_price": null,
                "pricing_interval": null,
                "usage_rights": null,
                "tags": null,
                "territory_based_release_date": null,
                "attachments": null,
                "artists": "[]",
                "dsps": "[{\"id\":1,\"title\":\"External\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[{\"title\":\"7Digital\",\"External_id\":\"247916\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Amazon\",\"External_id\":\"99268\",\"type\":\"Both\",\"able\":true},{\"title\":\"Ami Entertainment\",\"External_id\":\"104465305\",\"type\":\"Both\",\"able\":true},{\"title\":\"Anghami\",\"External_id\":\"20799134\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Apple Music\",\"External_id\":\"1330598\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Audible Magic\",\"External_id\":\"8771887\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Audiomack\",\"External_id\":\"1817422193\",\"type\":\"Audio\",\"able\":true},{\"title\":\"AWA\",\"External_id\":\"847103579\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Beatport\",\"External_id\":\"89882\",\"type\":\"EDM\",\"able\":true},{\"title\":\"Deezer\",\"External_id\":\"2100357\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Facebook Audio Library\",\"External_id\":\"1499657856\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Facebook Fingerprinting \",\"External_id\":\"1415672002\",\"type\":\"Audio\",\"able\":true},{\"title\":\"fizy\",\"External_id\":\"1988507361\",\"type\":\"Both\",\"able\":true},{\"title\":\"Gracenote\",\"External_id\":\"9538495\",\"type\":\"Audio\",\"able\":true},{\"title\":\"iHeartRadio\",\"External_id\":\"3441649\",\"type\":\"Audio\",\"able\":true},{\"title\":\"JioSaavn\",\"External_id\":\"316911752\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Joox\",\"External_id\":\"1517454273\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Juno Records\",\"External_id\":\"13278\",\"type\":\"EDM\",\"able\":true},{\"title\":\"KkBox\",\"External_id\":\"121452605\",\"type\":\"Audio\",\"able\":true},{\"title\":\"LINE Music\",\"External_id\":\"1232212955\",\"type\":\"Both\",\"able\":true},{\"title\":\"MePlaylist\",\"External_id\":\"3357532813\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Mixcloud\",\"External_id\":\"1684139985\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Muska\",\"External_id\":\"3730648038\",\"type\":\"Audio\",\"able\":true},{\"title\":\"NAVER VIBE\",\"External_id\":\"1674795424\",\"type\":\"Audio\",\"able\":true},{\"title\":\"NetEase Cloud Music\",\"External_id\":\"1382854531\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Nuuday A\\/S\",\"External_id\":\"464139\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Pandora\",\"External_id\":\"7851192\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Peloton\",\"External_id\":\"2528780514\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Pretzel Rocks\",\"External_id\":\"2406442214\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Qobuz\",\"External_id\":\"9940949\",\"type\":\"Audio\",\"able\":true},{\"title\":\"SoundCloud\",\"External_id\":\"35299696\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Spotify\",\"External_id\":\"746109\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Spotify DJ Mixes opt-in\",\"External_id\":\"5199921899\",\"type\":\"EDM\",\"able\":true},{\"title\":\"Stellar Entertainment\",\"External_id\":\"1362159470\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Taobao\",\"External_id\":\"1234931270\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Tencent\",\"External_id\":\"1461025062\",\"type\":\"Audio\",\"able\":true},{\"title\":\"TIDAL\",\"External_id\":\"3440259\",\"type\":\"Both\",\"able\":true},{\"title\":\"TikTok\",\"External_id\":\"1809226414\",\"type\":\"Audio\",\"able\":true},{\"title\":\"TouchTunes\",\"External_id\":\"1130831671\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Traxsource com\",\"External_id\":\"286733\",\"type\":\"EDM\",\"able\":true},{\"title\":\"Trebel Music\",\"External_id\":\"4668622402\",\"type\":\"Audio\",\"able\":true}]},{\"id\":2,\"title\":\"Boomplay\",\"store_id\":\"boomplay\",\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":5,\"title\":\"FLO\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":7,\"title\":\"SoundExchange\",\"store_id\":\"ail_subscribe\",\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":8,\"title\":\"Worx\",\"store_id\":\"ail_subscribe\",\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":9,\"title\":\"Kuack\",\"store_id\":\"ail_subscribe\",\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":12,\"title\":\"Bmat\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":13,\"title\":\"ClicknClear\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":15,\"title\":\"Jaxsta\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[]}]",
                "price": "{}"
            },
            "tracks": [
                {
                    "id": 85949,
                    "name": "Update-Release Upload",
                    "thumbnail": null,
                    "file": "https://verseone-bucket.s3.amazonaws.com/public/releases/25914/1736234459.wav?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY2BOXRXFA7R7THGA%2F20250512%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250512T031144Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Signature=1b7baac3222690384e119e60cd4ddbce9fc3103443c8b39eb2dfbc5321b7ce0b",
                    "version": null,
                    "type": 0,
                    "type_title": "Audio",
                    "created_at": "2024-11-15T15:55:42.000000Z",
                    "meta_data": null,
                    "acr_result": 0,
                    "encode_id": null,
                    "encode": 0,
                    "order": null,
                    "split_id": 0,
                    "split_content": []
                }
            ],
            "artwork": "https://verseone-bucket.s3.amazonaws.com/public/releases/26367/artwork.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY2BOXRXFA7R7THGA%2F20250512%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250512T031143Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Signature=f97f1160352222d69231a6a7254d0b960c5c34653a213155b4749081dacb69ee",
            "smartlink": null,
            "smartLinkSelect": [
                "boomplay",
                "sevendigital",
                "amazon",
                "apple",
                "audiomack",
                "beatport",
                "deezer",
                "facebook",
                "fizy",
                "iheartradio",
                "joox",
                "junorecords",
                "kkbox",
                "linemusic",
                "mixcloud",
                "ayoba-2",
                "napster",
                "naver",
                "netease",
                "pandora",
                "pretzel-rocks",
                "qobuz",
                "shazam",
                "soundcloud",
                "spotify",
                "tidal",
                "tiktok",
                "timmusic",
                "traxsource",
                "trebel",
                "triller",
                "xiami",
                "yandex",
                "youtubemusic"
            ],
            "delete": "link route",
            "encode_apple": 0,
            "paystatus": null,
            "split_id": 0,
            "split_content": []
        }
    ],
    "first_page_url": "/api/v1/releases?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "/api/v1/releases?page=1",
    "links": [
        {
            "url": null,
            "label": "&laquo; Previous",
            "active": false
        },
        {
            "url": "/api/v1/releases?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next &raquo;",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "/api/v1/releases",
    "per_page": 10,
    "prev_page_url": null,
    "to": 4,
    "total": 4
}
                                                    

Show a Release Detail

GET /api/v1/release/{id} requires authentication
                            GET /api/v1/release/{id}
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: application/json

Accept

Example: application/json

URL Parameters

id integer required

The ID of the release.

Example: 1

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                
    const url = new URL(
        "http://verseone.test/api/v1/release/1"
    );

    const headers = {
        "Authorization": "Bearer {YOUR_AUTH_KEY}",
        "Content-Type": "application/json",
        "Accept": "application/json",
    };

    fetch(url, {
        method: "GET",
        headers,
    }).then(response => response.json());

                                            

                                                
    import requests
    import json

    url = 'http://verseone.test/api/v1/release/1'
    headers = {
    'Authorization': 'Bearer {YOUR_AUTH_KEY}',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
    }

    response = requests.request('GET', url, headers=headers)
    response.json()

                                            

                                                
<?php
    import requests
    import json

    url = 'http://verseone.test/api/v1/release/1'
    headers = {
    'Authorization': 'Bearer {YOUR_AUTH_KEY}',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
    }

    response = requests.request('GET', url, headers=headers)
    response.json()
?>
    
                                            

                                                 curl --request GET \
    --get "http://verseone.test/api/v1/release/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

                                            

Example Response

  • 200

                                                        {
    "id": 26476,
    "title": "New Release",
    "type": 0,
    "bulk": 0,
    "type_title": "Audio",
    "status": "Draft",
    "created_at": "2023-12-04T02:01:13.000000Z",
    "meta_data": {
        "release_id": 26476,
        "title": "New Release",
        "display_artists": "test",
        "release_version": "123",
        "label": "Johnny Liu",
        "format": 1,
        "total_volumes": 1,
        "compilation": null,
        "explicit_content": 1,
        "barcode": "5056775200683",
        "cat_nr": "Johnny26476&",
        "consumer_release_date": "2024-07-11",
        "consumer_release_time": null,
        "preorder_date": "2024-12-17",
        "expected_release_date": null,
        "original_release_date": "2024-07-11",
        "recording_year": "2024-04-19",
        "recording_location": null,
        "copyright_year_one": "2024-07-11",
        "copyright_text_one": "test",
        "copyright_year_two": "2024-07-11",
        "copyright_text_two": "test",
        "genre_id": 11,
        "subgenre_id": null,
        "alternate_genre_id": null,
        "alternate_subgenre_id": null,
        "album_notes": null,
        "label_copy_info": null,
        "catalog_tier": null,
        "default_language": "English",
        "default_extra_fields": "[]",
        "territories": "[]",
        "territory_based_custom_price": null,
        "pricing_interval": null,
        "usage_rights": null,
        "tags": null,
        "territory_based_release_date": null,
        "attachments": null,
        "artists": "[{\"id\":52575,\"name\":\"test\",\"created_at\":\"2024-01-04T08:09:52.000000Z\",\"updated_at\":\"2024-07-24T02:18:43.000000Z\",\"created_by\":1124,\"profile\":null,\"uuid\":\"b30ec8ea-7b4e-496e-a29e-98fb14871fd6\",\"label_id\":167,\"deleted_at\":null,\"last_release_date\":\"2024-07-15\",\"total_number_releases\":2,\"flag\":0,\"sub_label_id\":null,\"External_id\":null,\"value\":52575,\"label\":\"test\",\"primary\":true}]",
        "dsps": "[{\"id\":1,\"title\":\"External\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[{\"title\":\"7Digital\",\"External_id\":\"247916\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Amazon\",\"External_id\":\"99268\",\"type\":\"Both\",\"able\":true},{\"title\":\"Ami Entertainment\",\"External_id\":\"104465305\",\"type\":\"Both\",\"able\":true},{\"title\":\"Anghami\",\"External_id\":\"20799134\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Apple Music\",\"External_id\":\"1330598\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Audible Magic\",\"External_id\":\"8771887\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Audiomack\",\"External_id\":\"1817422193\",\"type\":\"Audio\",\"able\":true},{\"title\":\"AWA\",\"External_id\":\"847103579\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Beatport\",\"External_id\":\"89882\",\"type\":\"EDM\",\"able\":true},{\"title\":\"Deezer\",\"External_id\":\"2100357\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Facebook Audio Library\",\"External_id\":\"1499657856\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Facebook Fingerprinting \",\"External_id\":\"1415672002\",\"type\":\"Audio\",\"able\":true},{\"title\":\"fizy\",\"External_id\":\"1988507361\",\"type\":\"Both\",\"able\":true},{\"title\":\"Gracenote\",\"External_id\":\"9538495\",\"type\":\"Audio\",\"able\":true},{\"title\":\"iHeartRadio\",\"External_id\":\"3441649\",\"type\":\"Audio\",\"able\":true},{\"title\":\"JioSaavn\",\"External_id\":\"316911752\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Joox\",\"External_id\":\"1517454273\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Juno Records\",\"External_id\":\"13278\",\"type\":\"EDM\",\"able\":true},{\"title\":\"KkBox\",\"External_id\":\"121452605\",\"type\":\"Audio\",\"able\":true},{\"title\":\"LINE Music\",\"External_id\":\"1232212955\",\"type\":\"Both\",\"able\":true},{\"title\":\"MePlaylist\",\"External_id\":\"3357532813\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Mixcloud\",\"External_id\":\"1684139985\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Muska\",\"External_id\":\"3730648038\",\"type\":\"Audio\",\"able\":true},{\"title\":\"NAVER VIBE\",\"External_id\":\"1674795424\",\"type\":\"Audio\",\"able\":true},{\"title\":\"NetEase Cloud Music\",\"External_id\":\"1382854531\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Nuuday A\\/S\",\"External_id\":\"464139\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Pandora\",\"External_id\":\"7851192\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Peloton\",\"External_id\":\"2528780514\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Pretzel Rocks\",\"External_id\":\"2406442214\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Qobuz\",\"External_id\":\"9940949\",\"type\":\"Audio\",\"able\":true},{\"title\":\"SoundCloud\",\"External_id\":\"35299696\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Spotify\",\"External_id\":\"746109\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Spotify DJ Mixes opt-in\",\"External_id\":\"5199921899\",\"type\":\"EDM\",\"able\":true},{\"title\":\"Stellar Entertainment\",\"External_id\":\"1362159470\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Taobao\",\"External_id\":\"1234931270\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Tencent\",\"External_id\":\"1461025062\",\"type\":\"Audio\",\"able\":true},{\"title\":\"TIDAL\",\"External_id\":\"3440259\",\"type\":\"Both\",\"able\":true},{\"title\":\"TikTok\",\"External_id\":\"1809226414\",\"type\":\"Audio\",\"able\":true},{\"title\":\"TouchTunes\",\"External_id\":\"1130831671\",\"type\":\"Audio\",\"able\":true},{\"title\":\"Traxsource com\",\"External_id\":\"286733\",\"type\":\"EDM\",\"able\":true},{\"title\":\"Trebel Music\",\"External_id\":\"4668622402\",\"type\":\"Audio\",\"able\":true}]},{\"id\":2,\"title\":\"Boomplay\",\"store_id\":\"boomplay\",\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":5,\"title\":\"FLO\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":7,\"title\":\"SoundExchange\",\"store_id\":\"ail_subscribe\",\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":8,\"title\":\"Worx\",\"store_id\":\"ail_subscribe\",\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":9,\"title\":\"Kuack\",\"store_id\":\"ail_subscribe\",\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":12,\"title\":\"Bmat\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":13,\"title\":\"ClicknClear\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[]},{\"id\":15,\"title\":\"Jaxsta\",\"store_id\":null,\"able\":true,\"type\":\"Audio\",\"details\":[]}]",
        "price": "{}"
    },
    "tracks": [
        {
            "id": 49579,
            "name": "New Track",
            "thumbnail": null,
            "file": "https://verseone-bucket.s3.amazonaws.com/public/releases/29498/1728714162.wav?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY2BOXRXFA7R7THGA%2F20250512%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250512T080018Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Signature=6533c2d9eacb1bf4ac8868bdb523da4c68a1376dfe86edbd2c4c2cf6bbb8fd28",
            "version": null,
            "type": 0,
            "type_title": "Audio",
            "created_at": "2024-07-24T01:35:08.000000Z",
            "meta_data": {
                "title": "New Track",
                "display_artists": "test",
                "track_version": null,
                "isrc": "QZNC62501451",
                "volume": null,
                "p_year": "2020-12-24",
                "p_line": "test",
                "genre_id": 11,
                "subgenre_id": null,
                "alternate_genre_id": null,
                "alternate_subgenre_id": null,
                "instrumental": 0,
                "explicit_content": "1",
                "encode": 0,
                "lyrics": null,
                "need_lrc": 0,
                "lrc_file": null,
                "language": "Afrikaans",
                "available_separately": 0,
                "allow_preorder_preview": 0,
                "allow_preorder": 1,
                "preorder_type": null,
                "asset_rights_claim": null,
                "track_release_date": "2024-10-01",
                "recording_year": "2020-12-24",
                "recording_location": null,
                "rights_holder_name": null,
                "country_of_recording": null,
                "country_of_commissioning": null,
                "rights_ownership_name": null,
                "rights_contract_begin_date": null,
                "track_catalog_tier": null,
                "artists": "[{\"id\":52575,\"name\":\"test\",\"created_at\":\"2024-01-04T08:09:52.000000Z\",\"updated_at\":\"2024-01-16T09:33:26.000000Z\",\"created_by\":1124,\"profile\":null,\"uuid\":\"b30ec8ea-7b4e-496e-a29e-98fb14871fd6\",\"label_id\":167,\"deleted_at\":null,\"last_release_date\":\"2023-11-14\",\"total_number_releases\":1,\"flag\":0,\"sub_label_id\":null,\"External_id\":null,\"value\":52575,\"label\":\"test\",\"primary\":true}]",
                "translations": null,
                "tags": "[]",
                "contributors": "[{\"id\":52575,\"name\":\"test\",\"created_at\":\"2024-01-04T08:09:52.000000Z\",\"updated_at\":\"2024-11-03T01:11:01.000000Z\",\"created_by\":1124,\"profile\":null,\"uuid\":\"b30ec8ea-7b4e-496e-a29e-98fb14871fd6\",\"label_id\":1359,\"deleted_at\":null,\"last_release_date\":\"2024-11-03\",\"total_number_releases\":12,\"flag\":0,\"sub_label_id\":null,\"External_id\":null,\"skip_ugc_dsps\":0,\"value\":52575,\"label\":\"test\",\"roles\":[{\"value\":\"Mastering Engineer\",\"label\":\"Mastering Engineer\"}],\"instrument_type\":[{\"value\":\"Synthesizer\",\"label\":\"Synthesizer\"}],\"primary\":false}]",
                "publishers": "[{\"key\":\"6LkdCgxlQNqFTLe8uB9DE\",\"default_writer_name\":\"johnny\",\"default_writer_last_name\":\"liu\",\"default_writer_share\":\"15\",\"default_writer_company\":\"VerseOne Distiribution and Publishing\",\"default_writer_email\":\"[email protected]\"}]",
                "lyricists": "[{\"id\":52575,\"name\":\"test\",\"created_at\":\"2024-01-04T08:09:52.000000Z\",\"updated_at\":\"2024-01-16T09:33:26.000000Z\",\"created_by\":1124,\"profile\":null,\"uuid\":\"b30ec8ea-7b4e-496e-a29e-98fb14871fd6\",\"label_id\":167,\"deleted_at\":null,\"last_release_date\":\"2023-11-14\",\"total_number_releases\":1,\"flag\":0,\"sub_label_id\":null,\"External_id\":null,\"value\":52575,\"label\":\"test\",\"primary\":false}]",
                "composers": "[{\"id\":52575,\"name\":\"test\",\"created_at\":\"2024-01-04T08:09:52.000000Z\",\"updated_at\":\"2024-01-16T09:33:26.000000Z\",\"created_by\":1124,\"profile\":null,\"uuid\":\"b30ec8ea-7b4e-496e-a29e-98fb14871fd6\",\"label_id\":167,\"deleted_at\":null,\"last_release_date\":\"2023-11-14\",\"total_number_releases\":1,\"flag\":0,\"sub_label_id\":null,\"External_id\":null,\"value\":52575,\"label\":\"test\",\"primary\":false}]",
                "moods": "[\"Adventurous\"]",
                "predominant_instruments": "[\"Accordion\"]"
            },
            "acr_result": 0,
            "encode_id": null,
            "encode": 0,
            "order": 1,
            "split_id": 0,
            "split_content": []
        }
    ],
    "artwork": "https://verseone-bucket.s3.amazonaws.com/public/releases/26476/artwork.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAY2BOXRXFA7R7THGA%2F20250512%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250512T080017Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Signature=09e130eeb5b62886fa746e22ad453945ed975f553f3db005da8f047357db77d8",
    "smartlink": null,
    "smartLinkSelect": [
        "boomplay",
        "sevendigital",
        "amazon",
        "apple",
        "audiomack",
        "beatport",
        "deezer",
        "facebook",
        "fizy",
        "iheartradio",
        "joox",
        "junorecords",
        "kkbox",
        "linemusic",
        "mixcloud",
        "ayoba-2",
        "napster",
        "naver",
        "netease",
        "pandora",
        "pretzel-rocks",
        "qobuz",
        "shazam",
        "soundcloud",
        "spotify",
        "tidal",
        "tiktok",
        "timmusic",
        "traxsource",
        "trebel",
        "triller",
        "xiami",
        "yandex",
        "youtubemusic"
    ],
    "delete": "link route",
    "encode_apple": 0,
    "paystatus": 1,
    "split_id": 24,
    "split_content": [
        {
            "name": "test",
            "email": "[email protected]",
            "percent": 50
        }
    ]
}
                                                    

Create a Release and Tracks

POST /api/v1/release requires authentication
                            POST /api/v1/release
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: multipart/form-data

Accept

Example: application/json

Body Parameters

file file required

DDEX ERN 3.8.2 XML file.

References:

https://service.ddex.net/xml/ern/382/release-notification.xsd https://service.ddex.net/xml/avs/avs

Must be a file. Must not be greater than 50000 kilobytes.

Example: C:\Users\v1\AppData\Local\Temp\phpCADF.tmp

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL("http://verseone.test/api/v1/release" );
 const headers = {"Authorization": "Bearer {YOUR_AUTH_KEY}",
  "Content-Type": "multipart/form-data",
  "Accept": "application/json",
                                        };

const body = new FormData();
body.append('file', document.querySelector('input[name="file"]').files[0]);

 fetch(url, { method: "POST",headers, body,
   }).then(response => response.json());
                                            

                                                import requests
import json

url = 'http://verseone.test/api/v1/release'
files = {
'file': open('C:\Users\v1\AppData\Local\Temp\phpCADF.tmp', 'rb')}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'multipart/form-data',
'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, files=files)
response.json()
                                            

                                                <?php
    $client = new \GuzzleHttp\Client();
    $url = 'http://verseone.test/api/v1/release';
    $response = $client->post(
        $url,
        [
            'headers' => [
                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                'Content-Type' => 'multipart/form-data',
                'Accept' => 'application/json',
            ],
            'multipart' => [
                [
                    'name' => 'file',
                    'contents' => fopen('C:\Users\v1\AppData\Local\Temp\phpCADF.tmp', 'r')
                ],
            ],
        ]
    );
    $body = $response->getBody();
    print_r(json_decode((string) $body));
?>
                                            

                                                curl --request POST \
"http://verseone.test/api/v1/release" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "file=@C:\Users\v1\AppData\Local\Temp\phpCADF.tmp"
                                            

Example Response

  • 200
  • 400
  • 401
  • 402

                                                        {
    "release_id": 26476,
    "status": "success",
    "tracks": [
        {
            "track_id": 49579,
            "name": "test track name 1",
            "order": 1
        },
        {
            "track_id": 49580,
            "name": "track name 2",
            "order": 2
        }
    ]
}
                                                    

                                                        {
    "status": "error",
    "message": "Failed to download XML file"
}
                                                    

                                                        {
    "status": "error",
    "message": "Failed to parse XML:"
}
                                                    

                                                        {
    "status": "error",
    "message": "This UPC is already registered"
}
                                                    

Upload an Artwork Image

POST /api/v1/release/image requires authentication
                            POST /api/v1/release/image
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: multipart/form-data

Accept

Example: application/json

Body Parameters

release_id integer required
release_id The id of an existing record in the releases table.
Example: 26476
artwork file required

artwork. Must be an image. Must not be greater than 50000 kilobytes.

Example: C:\Users\v1\AppData\Local\Temp\phpCB01.tmp

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/release/image"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "multipart/form-data",
                                            "Accept": "application/json",
                                        };

                                        const body = new FormData();
                                        body.append('release_id', '26476');
                                        body.append('artwork', document.querySelector('input[name="artwork"]').files[0]);

                                        fetch(url, {
                                            method: "POST",
                                            headers,
                                            body,
                                        }).then(response => response.json());
                                            

                                                import requests
                                        import json

                                        url = 'http://verseone.test/api/v1/release/image'
                                        files = {
                                        'release_id': (None, '26476'),
                                        'artwork': open('C:\Users\v1\AppData\Local\Temp\phpCB01.tmp', 'rb')}
                                        payload = {
                                            "release_id": 26476
                                        }
                                        headers = {
                                        'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                        'Content-Type': 'multipart/form-data',
                                        'Accept': 'application/json'
                                        }

                                        response = requests.request('POST', url, headers=headers, files=files)
                                        response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/release/image';
                                    $response = $client->post(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'multipart/form-data',
                                                'Accept' => 'application/json',
                                            ],
                                            'multipart' => [
                                                [
                                                    'name' => 'release_id',
                                                    'contents' => '26476'
                                                ],
                                                [
                                                    'name' => 'artwork',
                                                    'contents' => fopen('C:\Users\v1\AppData\Local\Temp\phpCB01.tmp', 'r')
                                                ],
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request POST \
                                        "http://verseone.test/api/v1/file/upload" \
                                        --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                        --header "Content-Type: multipart/form-data" \
                                        --header "Accept: application/json" \
                                        --form "is_last=delectus"\
                                        --form "release_id=16"\
                                        --form "upload_id=ygejy"\
                                        --form "track_id=1"\
                                        --form "replaces=7"\
                                        --form "file=@C:\Users\v1\AppData\Local\Temp\phpCB11.tmp"
                                            

Example Response

  • 200

                                                        {
         "status": true,
         "message": "Image uploaded",
         "id": 65616,//media_id
         "filename": "artwork (1).jpg"
     }
                                                    

Upload a Track File

POST /api/v1/file/upload requires authentication
                            POST /api/v1/file/upload
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: multipart/form-data

Accept

Example: application/json

Body Parameters

is_last string required
Example: true
file file required

file. Must be a file. Must not be greater than 10240 kilobytes.

Example: C:\Users\v1\AppData\Local\Temp\phpCB11.tmp
release_id integer required
Example: 16
upload_id string required

Must not be greater than 255 characters.

Example: ygejy
track_id integer required
Example: 1
replaces integer required
Example:

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/file/upload"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "multipart/form-data",
                                            "Accept": "application/json",
                                        };

                                        const body = new FormData();
                                        body.append('is_last', 'true');
                                        body.append('release_id', '16');
                                        body.append('upload_id', 'ygejy');
                                        body.append('track_id', '1');
                                        body.append('replaces', '7');
                                        body.append('file', document.querySelector('input[name="file"]').files[0]);

                                        fetch(url, {
                                            method: "POST",
                                            headers,
                                            body,
                                        }).then(response => response.json());
                                            

                                                import requests
                                        import json

                                        url = 'http://verseone.test/api/v1/file/upload'
                                        files = {
                                        'is_last': (None, 'true'),
                                        'release_id': (None, '16'),
                                        'upload_id': (None, 'ygejy'),
                                        'track_id': (None, '1'),
                                        'replaces': (None, '7'),
                                        'file': open('C:\Users\v1\AppData\Local\Temp\phpCB11.tmp', 'rb')}
                                        payload = {
                                            "is_last": "delectus",
                                            "release_id": 16,
                                            "upload_id": "ygejy",
                                            "track_id": 1,
                                            "replaces": 7
                                        }
                                        headers = {
                                        'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                        'Content-Type': 'multipart/form-data',
                                        'Accept': 'application/json'
                                        }

                                        response = requests.request('POST', url, headers=headers, files=files)
                                        response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/file/upload';
                                    $response = $client->post(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'multipart/form-data',
                                                'Accept' => 'application/json',
                                            ],
                                            'multipart' => [
                                                [
                                                    'name' => 'is_last',
                                                    'contents' => 'true'
                                                ],
                                                [
                                                    'name' => 'release_id',
                                                    'contents' => '16'
                                                ],
                                                [
                                                    'name' => 'upload_id',
                                                    'contents' => 'ygejy'
                                                ],
                                                [
                                                    'name' => 'track_id',
                                                    'contents' => '1'
                                                ],
                                                [
                                                    'name' => 'replaces',
                                                    'contents' => '7'
                                                ],
                                                [
                                                    'name' => 'file',
                                                    'contents' => fopen('C:\Users\v1\AppData\Local\Temp\phpCB11.tmp', 'r')
                                                ],
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request POST \
                                        "http://verseone.test/api/v1/file/upload" \
                                        --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                        --header "Content-Type: multipart/form-data" \
                                        --header "Accept: application/json" \
                                        --form "is_last=true"\
                                        --form "release_id=16"\
                                        --form "upload_id=ygejy"\
                                        --form "track_id=1"\
                                        --form "replaces=7"\
                                        --form "file=@C:\Users\v1\AppData\Local\Temp\phpCB11.tmp"
                                            

Example Response

  • 200
  • 200
  • 422

                                                        {
    "track_id": 95749,
    "uploaded": true,
    "track_url": "public/releases/26476/1747206217.wav"
}
                                                    

                                                        {
    "uploaded": false,
    "track_id": 95749
}
                                                    

                                                        {
    "status": "error",
    "errors": "Validation error message",
    "message": "Validation error message",
    "link": "/app/faq"
}
                                                    

Get Genres

GET /api/v1/genres requires authentication
                            GET /api/v1/genres
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: application/json

Accept

Example: application/json

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/genres"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "application/json",
                                            "Accept": "application/json",
                                        };

                                        fetch(url, {
                                            method: "GET",
                                            headers,
                                        }).then(response => response.json());
                                            

                                                import requests
                                            import json

                                            url = 'http://verseone.test/api/v1/genres'
                                            headers = {
                                            'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                            'Content-Type': 'application/json',
                                            'Accept': 'application/json'
                                            }

                                            response = requests.request('GET', url, headers=headers)
                                            response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/genres';
                                    $response = $client->get(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'application/json',
                                                'Accept' => 'application/json',
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request GET \
                                        --get "http://verseone.test/api/v1/genres" \
                                        --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                        --header "Content-Type: application/json" \
                                        --header "Accept: application/json"
                                            

Example Response

  • 200

                                                        [
     {
         "id": 1,
         "name": "Alternative",
         "created_at": "2023-02-08T13:06:05.000000Z",
         "updated_at": "2023-02-08T13:06:05.000000Z"
     },
     {
         "id": 4,
         "name": "Blues",
         "created_at": "2023-02-08T13:06:05.000000Z",
         "updated_at": "2023-02-08T13:06:05.000000Z"
     },
     {
         "id": 9,
         "name": "Classical",
         "created_at": "2023-02-08T13:06:05.000000Z",
         "updated_at": "2023-02-08T13:06:05.000000Z"
     },
     ...
 ]
                                                    

Get Subgenres

GET /api/v1/subgenres requires authentication
                            GET /api/v1/subgenres
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: application/json

Accept

Example: application/json

URL Parameters

genre integer required

The id of the genre.

Example: 6

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/subgenres"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "application/json",
                                            "Accept": "application/json",
                                        };

                                        fetch(url, {
                                            method: "GET",
                                            headers,
                                        }).then(response => response.json());
                                            

                                                import requests
                                            import json

                                            url = 'http://verseone.test/api/v1/subgenres'
                                            headers = {
                                            'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                            'Content-Type': 'application/json',
                                            'Accept': 'application/json'
                                            }

                                            response = requests.request('GET', url, headers=headers)
                                            response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/subgenres';
                                    $response = $client->get(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'application/json',
                                                'Accept' => 'application/json',
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request GET \
                                            --get "http://verseone.test/api/v1/subgenres" \
                                            --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                            --header "Content-Type: application/json" \
                                            --header "Accept: application/json"
                                            

Example Response

  • 200

                                                        [
     {
         "id": 16,
         "name": "Acoustic Blues",
         "genre_id": 4,
         "created_at": "2023-02-08T13:06:05.000000Z",
         "updated_at": "2023-02-08T13:06:05.000000Z"
     },
     {
         "id": 310,
         "name": "Blues Rock",
         "genre_id": 4,
         "created_at": "2024-04-22T09:55:11.000000Z",
         "updated_at": "2024-04-22T09:55:11.000000Z"
     },
     ...
 ]
                                                    

Get Moods

GET /api/v1/moods requires authentication
                            GET /api/v1/moods
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content-Type

Example: application/json

Accept

Example: application/json

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/moods"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "application/json",
                                            "Accept": "application/json",
                                        };

                                        fetch(url, {
                                            method: "GET",
                                            headers,
                                        }).then(response => response.json());
                                            

                                                import requests
                                            import json

                                            url = 'http://verseone.test/api/v1/moods'
                                            headers = {
                                            'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                            'Content-Type': 'application/json',
                                            'Accept': 'application/json'
                                            }

                                            response = requests.request('GET', url, headers=headers)
                                            response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                        $url = 'http://verseone.test/api/v1/moods';
                                        $response = $client->get(
                                            $url,
                                            [
                                                'headers' => [
                                                    'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                    'Content-Type' => 'application/json',
                                                    'Accept' => 'application/json',
                                                ],
                                            ]
                                        );
                                        $body = $response->getBody();
                                        print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request GET \
                                            --get "http://verseone.test/api/v1/moods" \
                                            --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                            --header "Content-Type: application/json" \
                                            --header "Accept: application/json"
                                            

Example Response

  • 200

                                                        [
     "Adventurous",
     "Aggressive",
     "Calm",
     "Carefree",
     "Cheerful",
     "Christmas",
     ...
 ]
                                                    

Get Languages

GET /api/v1/languages requires authentication
                            GET /api/v1/languages
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content-Type

Example: application/json

Accept

Example: application/json

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/languages"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "application/json",
                                            "Accept": "application/json",
                                        };

                                        fetch(url, {
                                            method: "GET",
                                            headers,
                                        }).then(response => response.json());
                                            

                                                import requests
                                            import json

                                            url = 'http://verseone.test/api/v1/languages'
                                            headers = {
                                            'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                            'Content-Type': 'application/json',
                                            'Accept': 'application/json'
                                            }

                                            response = requests.request('GET', url, headers=headers)
                                            response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/languages';
                                    $response = $client->get(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'application/json',
                                                'Accept' => 'application/json',
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request GET \
                                            --get "http://verseone.test/api/v1/languages" \
                                            --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                            --header "Content-Type: application/json" \
                                            --header "Accept: application/json"
                                            

Example Response

  • 200

                                                        {
     "af": {
         "value": "af",
         "name": "Afrikaans",
         "label": "Afrikaans"
     },
     "ak": {
         "value": "ak",
         "name": "Akan",
         "label": "Akan"
     }
         ...
 }
                                                    

Get Release Pricing

GET /api/v1/prices requires authentication
                            GET /api/v1/prices
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content-Type

Example: application/json

Accept

Example: application/json

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/prices"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "application/json",
                                            "Accept": "application/json",
                                        };

                                        fetch(url, {
                                            method: "GET",
                                            headers,
                                        }).then(response => response.json());
                                            

                                                import requests
                                        import json

                                        url = 'http://verseone.test/api/v1/prices'
                                        headers = {
                                        'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                        'Content-Type': 'application/json',
                                        'Accept': 'application/json'
                                        }

                                        response = requests.request('GET', url, headers=headers)
                                        response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/prices';
                                    $response = $client->get(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'application/json',
                                                'Accept' => 'application/json',
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request GET \
                                            --get "http://verseone.test/api/v1/prices" \
                                            --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                            --header "Content-Type: application/json" \
                                            --header "Accept: application/json"
                                            

Example Response

  • 401

                                                        {
    "error": "Invalid token"
}
                                                    

Update Release or Tracks metadata

PUT /api/v1/release/{id} requires authentication
                            PUT /api/v1/release/{id}
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content-Type

Example: multipart/form-data

Accept

Example: application/json

URL Parameters

id integer required

The ID of the release.

Example: 1

Body Parameters

file file required

DDEX ERN 3.8.2 XML file.

References:

https://service.ddex.net/xml/ern/382/release-notification.xsd https://service.ddex.net/xml/avs/avs

Must be a file. Must not be greater than 50000 kilobytes.

Example: C:\Users\v1\AppData\Local\Temp\phpCB33.tmp

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/release/1"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "multipart/form-data",
                                            "Accept": "application/json",
                                        };

                                        const body = new FormData();
                                        body.append('file', document.querySelector('input[name="file"]').files[0]);

                                        fetch(url, {
                                            method: "PUT",
                                            headers,
                                            body,
                                        }).then(response => response.json());
                                            

                                                import requests
                                        import json

                                        url = 'http://verseone.test/api/v1/release/1'
                                        files = {
                                        'file': open('C:\Users\v1\AppData\Local\Temp\phpCB33.tmp', 'rb')}
                                        headers = {
                                        'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                        'Content-Type': 'multipart/form-data',
                                        'Accept': 'application/json'
                                        }

                                        response = requests.request('PUT', url, headers=headers, files=files)
                                        response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/release/1';
                                    $response = $client->put(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'multipart/form-data',
                                                'Accept' => 'application/json',
                                            ],
                                            'multipart' => [
                                                [
                                                    'name' => 'file',
                                                    'contents' => fopen('C:\Users\v1\AppData\Local\Temp\phpCB33.tmp', 'r')
                                                ],
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request PUT \
                                            "http://verseone.test/api/v1/release/1" \
                                            --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                            --header "Content-Type: multipart/form-data" \
                                            --header "Accept: application/json" \
                                            --form "file=@C:\Users\v1\AppData\Local\Temp\phpCB33.tmp"
                                            

Example Response

  • 200
  • 400
  • 401

                                                        {
    "status": "success",
    "message": "update success!"
}
                                                    

                                                        {
    "status": "error",
    "message": "Failed to download XML file"
}
                                                    

                                                        {
    "status": "error",
    "message": "Failed to parse XML:"
}
                                                    

Delete Release or Track

DELETE /api/v1/release/delete requires authentication
  DELETE /api/v1/release/delete
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content-Type

Example: multipart/form-data

Accept

Example: application/json

Body Parameters

release_id integer required

The ID of the release.

Example: 1

track_id integer required
Example: blanditiis

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
    "http://verseone.test/api/v1/release/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "release_id": "ut",
    "track_id": "blanditiis"
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
                                            

                                                import requests
import json

url = 'http://verseone.test/api/v1/release/delete'
payload = {
    "release_id": "ut",
    "track_id": "blanditiis"
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, json=payload)
response.json()
                                            

                                                $client = new \GuzzleHttp\Client();
$url = 'http://verseone.test/api/v1/release/delete';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'release_id' => 'ut',
            'track_id' => 'blanditiis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
                                            

                                                curl --request DELETE \
    "http://verseone.test/api/v1/release/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"release_id\": \"ut\",
    \"track_id\": \"blanditiis\"
}"
                                            

Example Response

  • 200
  • 201
  • 400

                                                        {
'status':'success',
'message':'release delete success!
}
                                                    

                                                        {
'status':'success',
'message':'track delete success!'
}
                                                    

                                                        {
'status':'error',
'message':'no release_id or track_id'
}
                                                    
  • Introduction
    • API Workflow Guide
    • Royalties API Walkthrough
  • Auth Requests
  • Authentication
    • Login
  • Distribution
    • Get All Releases
    • Show a Release Detail
    • Create a Release and Tracks
    • Upload an Artwork Image
    • Upload a Track File
    • Get Genres
    • Get Subgenres
    • Get Moods
    • Get Languages
    • Get Release Pricing
    • Update Release or Tracks metadata
    • Delete Release or Track
  • Royalties
    • Payouts list
    • Create Payout Request
    • Set Threshold
    • Get Pending Payouts for The User
    • Set Monthly Type
    • Income List
    • Get Invoice
  • Analytics
    • Get Product by UPC
    • Get Artist by Name
    • Get Territories
    • Get DSPs
    • Trends Total
    • Trends List
    • Trends Chart
    • Get Artist ID
    • Get Artist ID from Identifiers
    • Get Artist Social Stats
    • Get Artist Stats
    • Get Artist URLs
    • Get Instagram Audience Stats
    • Get Tiktok Audience Stats
    • Get Youtube Audience Stats
    • Get Youtube Market Coverage
    • Get Editorial Playlists
    • Get Curator Playlists
    • Get Radio Airplays
    • Get Radio
    • Get Charts
    • Get Social Audience Stats
CONTENT

© 2026 VerseOne Distribution. All Rights Reserved.