Listings: Track Versions

This API endpoint returns all available media and remixed versions of a given track that is part of the POOL account's distribution. It is possible that more versions are available inside of the POOL service, but if they are not part of the results, then the user does not have access to the media through their current subscription.

Track Versions Specification

Parameters: Header variables:
  1. userid: integer
  2. token: string
JSON returned:

Track Versions Workflow

  1. URL: https://api.promoonly.com/track/versions/[TRACK_ID]
  2. Header: Authorization: Bearer Base64(userid:token)
  3. Method: GET
  4. Returned: JSON

    Example JSON Output

    [
        {
            "artist": "Arizona Zervas",
            "bpm": 88,
            "content_warning": true,
            "downloaded": 0,
            "duration": 167,
            "genre": "",
            "label": "Arizona Zervas/Columbia",
            "mix": "",
            "modified": 1584075640,
            "release": "Loop Video - 2020-03-12",
            "release_image": "https://pomed.promoonly.com/issue_imgs/POOL_LOOP_Video_icon.png",
            "releaseid": 56046,
            "title": "ROXANNE",
            "titleid": 622297,
            "trackid": 371553,
            "type": 1
        },
        {
            "artist": "Arizona Zervas",
            "bpm": 88,
            "content_warning": false,
            "downloaded": 0,
            "duration": 164,
            "genre": "Hip-Hop",
            "label": "RECORDS/Columbia",
            "mix": "",
            "modified": 1574689410,
            "release": "Roxanne",
            "release_image": "https://s3.amazonaws.com/pool.images/54031.jpg",
            "releaseid": 54031,
            "title": "Roxanne",
            "titleid": 617444,
            "trackid": 357048,
            "type": 2
        },
        {
            "artist": "Arizona Zervas",
            "bpm": 88,
            "content_warning": false,
            "downloaded": 0,
            "duration": 164,
            "genre": "Rap",
            "label": "RECORDS/Columbia",
            "mix": "Clean",
            "modified": 1573845083,
            "release": "Roxanne",
            "release_image": "https://s3.amazonaws.com/pool.images/53839.jpg",
            "releaseid": 53839,
            "title": "Roxanne",
            "titleid": 616721,
            "trackid": 355810,
            "type": 2
        }
    ]

Examples

  1. PHP (using cURL):

    <?php
        $userid = 1;
        $token = "8b26e1e4f3f5e00a888807e605565c47";

        $versions_url = "https://api.promoonly.com/track/versions/374650";

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $versions_url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer ".base64_encode($userid.":".$token)));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        $versions_result = curl_exec($ch);
        curl_close($ch);

        $versions_obj = json_decode($versions_result);
    ?>
  2. Javascript (using jQuery):

    function b64EncodeUnicode(str)
    {
        return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
            function toSolidBytes(match, p1)
            {
                return String.fromCharCode('0x' + p1);
            }));
    }

    var userid = 1;
    var token = "8b26e1e4f3f5e00a888807e605565c47";
    var auth_str = "Bearer " + b64EncodeUnicode(userid + ":" + token);

    $.ajax({
        type: "GET",
        url: "https://api.promoonly.com/track/versions/374650",
        headers: { "Authorization": auth_str },
        dataType: "json",
        success: function (data)
        {
            console.log(data);
        }
    });
  3. Python (using requests):

    #!/usr/bin/env python

    import requests
    import base64
    import urllib

    userid = 1
    token = "8b26e1e4f3f5e00a888807e605565c47"

    b64_key = base64.b64encode("%s:%s" % (userid, token))
    headers = {"Authorization": "Bearer %s" % b64_key}
    versions_url = "https://api.promoonly.com/track/versions/374650"
    result_return = requests.get(versions_url, headers=headers)

    print(result_return.text)