Developers

As a developer you can create applications and add them to MIX.DJ, taking advantage of the existing user base. You host the application, which means that you are in full control of your server specifications.

Setting up an APP

To interact with MIX.DJ your application can issue calls to our API and request or post information.

When you add an application to our site we will give you an APP ID.

Requesting a Token

Whenever you plan on using our API you must first request a token. In order to request a token you need a unique key that we send to you when a user visits your APP from an iframe on our site. We pass this along as $_GET['key'].
This is an example of how you can request a token:
http://www.mix.dj/token.php?key=$_GET['key']
If successful, you will get a JSON response like:
Object
(
    [token] => LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUc4d0RRWUpLb1pJaHZjTkFRRUJCUUFEWGdBd1d3SlVBdHFZdmVWOXFEdDd6NFhXTXYzS3VZM2JyWXpUKzR0VgpBbERrN1dQWjhqRVpoVzBNWjE1Z3lHdGNlNm5ueFRNenp4SXpHM29BRVIzc0JVRCtYdStHb21JeVV4UE1RN1NtCkVPdFg0ZTNwekp6R081cUxBZ01CQUFFPQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0K
)

Sending a Request

Now that you have a valid token you can make requests to our server. With each request you must pass the token we created for you.
An example call to our API server would look like:
http://www.mix.dj/api.php?token=#{TOKEN}&method=#{METHOD_NAME}

Understanding an API Response

For methods that could return more than one item the response will contain an indicator of the total items available as well as how many pages there are. We return by default 10 items at most and in order to get the next 10 items you would have to pass the param "page=2".

To the left you will find a list of the modules that implement API methods. Click on the module and you will see a list of the methods that your application can use. For shortness and formatting purposes we do not include the full request in there but only the most relevant parts.

charts
browse
GET /api.php?method=charts.browse
Get audios / videos charts.

&period=week||month||year {select charts period.}

&cat=#||videos||tracks||mixes {Get items by category_id or subcategory_id OR videos OR tracks OR mixes.} (if cat is not defined, it will return global mixes by default)

&limit=# {Number of returned items} (default is 10) max is 30

Response
Object
(
    [api] => Object
        (
            [total] => 1
            [current_page] => 1
        )

    [output] => Object
        (
            [id] => 4776401
            [title] => Tech House Beats #59
            [description] => MixSet description...
            [likes] => 9
            [permalink] => http://www.mix.dj/video/4776401/tech-house-beats-59/
            [photo] => http://cloudbooster.net/files/mdj-image-1410732661-39747_120.jpg
            [file_url] => http://cloudbooster.net/stream/files/audio/4776401/NAS0/f965f6f56220ddb0cd991d069de346af.mp3
            [duration] => 78:44
            [categories] => Array
                (
                    [0] => Array
                        (
                            [0] => DJ MIXES
                            [1] => http://www.mix.dj/video/category/14/dj-mixes/
                        )

                    [1] => Array
                        (
                            [0] => House
                            [1] => http://www.mix.dj/video/category/23/house/
                        )

                    [2] => Array
                        (
                            [0] => Tek House
                            [1] => http://www.mix.dj/video/category/43/tek-house/
                        )

                )

            [comments] => 11
            [user_name] => profile-39747
            [user_fullname] => floorex
            [user_id] => 39747
            [user_profile] => http://www.mix.dj/profile-39747/
            [user_image] => http://www.mix.dj/file/pic/user/39747_50_square.png
            [time_stamp] => 1410733031
            [convert_time_stamp] => September 15, 2014
            [allow_download] => true
        )

)
friend
getFriends
GET /api.php?method=friend.getFriends&user_id=#{USER_ID}
Gets a full list of friends for a specific user. If you do not pass the #{USER_ID} we will return information about the user that is currently logged in.
Response
Object
(
    [api] => Object
        (
            [total] => 1
            [pages] => 0
            [current_page] => 0
        )

    [output] => Array
        (
            [0] => Object
                (
                    [user_id] => 7
                    [user_name] => jane-doe
                    [full_name] => Jane Doe
                    [joined] => 1314110027
                    [country_iso] => US
                    [gender] => Female
                    [photo_50px] => http://www.mix.dj/file/pic/user/7_50.jpg
                    [photo_50px_square] => http://www.mix.dj/file/pic/user/7_50_square.jpg
                    [photo_120px] => http://www.mix.dj/file/pic/user/7_120.jpg
                    [photo_original] => http://www.mix.dj/file/pic/user/7.jpg
                    [profile_url] => http://www.mix.dj/index.php?do=/jane-doe/
                )

        )

)
isFriend
GET /api.php?method=friend.isFriend&user_id=#{USER_ID}&friend_user_id=#{FRIEND_USER_ID}
Checks if 2 users are friends or not. If you do not pass the #{USER_ID} we will return information about the user that is currently logged in.
Response
Object
(
    [api] => Object
        (
            [total] => 0
            [pages] => 0
            [current_page] => 0
        )

    [output] => Object
        (
            [is_friend] => 1
        )

)
mail
getNewCount
GET /api.php?method=mail.getNewCount&user_id=#{USER_ID}
Get the total number of unseen messages.
Response
Object
(
    [api] => Object
        (
            [total] => 0
            [pages] => 0
            [current_page] => 0
        )

    [output] => 1
)
get
GET /api.php?method=mail.get
Get all of the users mail that is currently logged in.
Response
Object
(
    [api] => Object
        (
            [total] => 2
            [current_page] => 0
        )

    [output] => Array
        (
            [0] => Object
                (
                    [id] => 4637
                    [preview] => Hello my dear friends, thanks for your support and kind words. t...
                    [message] => Hello my dear friends, thanks for your support and kind words.</a>http://www.mix.dj/video/4787543/selfie/t_143551952... namaste !!"Happy"
                    [from] => Dj Villas
                    [from_url] => http://dev.oneclickgroup.com/profile-349927/
                    [image] => http://cloudbooster.net/files/8ae99fe7fc4d8a7c819c3a3e6d497473.jpg
                    [time_stamp] => 1435519708
                    [permalink] => http://dev.oneclickgroup.com/mail/thread/id_4637/
                    [new] => 1
                )

            [1] => Object
                (
                    [id] => 4625
                    [preview] => Hi,Check this out...
                    [message] => Hi,Check this out http://www.mix.dj/video/4787673/funky-glit
                    [from] => Tryan B
                    [from_url] => http://dev.oneclickgroup.com/profile-89508/
                    [image] => http://dev.oneclickgroup.com/file/pic/user/89508.jpg
                    [time_stamp] => 1435286049
                    [permalink] => http://dev.oneclickgroup.com/mail/thread/id_4625/
                    [new] => 1
                )

        )

)
message
GET /api.php?method=mail.message&id=#{ID}
Get specific mail ID details.

Require message ID.
Response
Object
(
    [api] => Object
        (
            [total] => 1
            [current_page] => 0
        )

    [output] => Object
        (
            [id] => 4637
            [permalink] => http://dev.oneclickgroup.com/mail/thread/id_4637/
            [conversation] => Array
                (
                    [0] => Object
                        (
                            [id] => 11448
                            [user_id] => 349927
                            [message] => Hello my dear friends, <br />thanks for your support and kind words.<br /><br /><a href="http://www.mix.dj/video/4787543/selfie/t_1435519525/" target="_blank" rel="nofollow"></a><a href="http://www.mix.dj/video/4787543/selfie/t_1435519525/" target="_blank" rel="nofollow">http://www.mix.dj/video/4787543/selfie/t_143551952...</a> <br /><br />Namaste !!<br /><img src="http://www.mix.dj/file/pic/emoticon/default/happy.png" alt="Happy" />
                            [from] => Dj Villas
                            [from_url] => http://dev.oneclickgroup.com/profile-349927/
                            [image] => http://cloudbooster.net/files/8ae99fe7fc4d8a7c819c3a3e6d497473.jpg
                            [time_stamp] => 1435519708
                        )

                )

        )

)
add
GET /api.php?method=mail.add&id=#{THREAD_ID}&user_id=#{USER_ID}
Response
Object
(
    [api] => Object
        (
            [total] => 0
            [current_page] => 0
        )

    [output] => Object
        (
            [id] => 4696
            [permalink] => http://dev.oneclickgroup.com
/mail/thread/id_4696/
        )

)
musicsharing
getSongs
GET /api.php?method=musicsharing.getSongs&user_id=#{USER_ID}
Get all uploaded songs based on the user ID# you pass. If you do not pass the #{USER_ID} we will return information about the user that is currently logged in.
Response
Object
(
    [api] => Object
        (
            [total] => 1
            [pages] => 0
            [current_page] => 0
        )

    [output] => Array
        (
            [0] => Object
                (
                    [path_file] => http://www.mix.dj/file/musicsharing/2011/09/c81e728d9d4c2f636f067f89cc14862a1.mp3
                    [album_url] => http://www.mix.dj/musicsharing/listen/album_1
                    [listen] => 4
                )

        )

)
notification
getNewCount
GET /api.php?method=notification.getNewCount&user_id=#{USER_ID}
Get the total number of unseen notifications.
Response
Object
(
    [api] => Object
        (
            [total] => 5
            [pages] => 0
            [current_page] => 0
        )

    [output] => 5
)
get
GET /api.php?method=notification.get&user_id=#{USER_ID}
Get all of the users notifications. If you do not pass the #{USER_ID} we will return information about the user that is currently logged in.
Response
Object
(
    [api] => Object
        (
            [total] => 0
            [pages] => 0
            [current_page] => 0
        )

    [output] => Array
        (
            [0] => Object
                (
                    [notification_id] => 3
                    [link] => http://www.mix.dj/john-doe/comment-id_1/
                    [message] => Jane Doe commented on your wall
                    [icon] => http://www.mix.dj/module/blog/static/image/default/default/activity.png
                )

        )

)
photo
addPhoto
POST /api.php?method=photo.addPhoto&photo=#{@FILE_PATH;TYPE=MIME_TYPE}&photo_name=#{BASE_FILE_NAME}
Uploads a photo on behalf of the user.
Response
Object
(
    [api] => Object
        (
            [total] => 0
            [pages] => 0
            [current_page] => 0
        )

    [output] => Object
        (
            [original] => http://www.mix.dj/file/pic/photo/2011/08/39740c5e356fdd6f66cfc973d4aebf6d.jpg
            [75px] => http://www.mix.dj/file/pic/photo/2011/08/39740c5e356fdd6f66cfc973d4aebf6d_75.jpg
            [100px] => http://www.mix.dj/file/pic/photo/2011/08/39740c5e356fdd6f66cfc973d4aebf6d_100.jpg
            [150px] => http://www.mix.dj/file/pic/photo/2011/08/39740c5e356fdd6f66cfc973d4aebf6d_150.jpg
            [240px] => http://www.mix.dj/file/pic/photo/2011/08/39740c5e356fdd6f66cfc973d4aebf6d_240.jpg
            [500px] => http://www.mix.dj/file/pic/photo/2011/08/39740c5e356fdd6f66cfc973d4aebf6d_500.jpg
            [1024px] => http://www.mix.dj/file/pic/photo/2011/08/39740c5e356fdd6f66cfc973d4aebf6d_1024.jpg
        )

)
getPhotos
GET /api.php?method=photo.getPhotos&user_id=#{USER_ID}
Get all the photos for a user. If you do not pass the #{USER_ID} we will return information about the user that is currently logged in.
Response
Object
(
    [api] => Object
        (
            [total] => 1
            [pages] => 0
            [current_page] => 0
        )

    [output] => Array
        (
            [0] => Object
                (
                    [photo_100px] => http://www.mix.dj/file/pic/photo/c81e728d9d4c2f636f067f89cc14862c_100.jpg
                    [photo_240px] => http://www.mix.dj/file/pic/photo/c81e728d9d4c2f636f067f89cc14862c_240.jpg
                    [photo_original] => http://www.mix.dj/file/pic/photo/c81e728d9d4c2f636f067f89cc14862c.jpg
                )

        )

)
user
getUser
GET /api.php?method=user.getUser&user_id=#{USER_ID}
Get information about a user based on the user ID# you pass. If you do not pass the #{USER_ID} we will return information about the user that is currently logged in.
Response
Object
(
    [api] => Object
        (
            [total] => 0
            [pages] => 0
            [current_page] => 0
        )

    [output] => Object
        (
            [user_id] => 1
            [user_name] => john-doe
            [joined] => 1314109907
            [birthday] => -261273600
            [gender] => Male
            [country_iso] => US
            [cf_about_me] => About me :)
            [cf_first_name] => John
            [cf_last_name] => Doe
            [cf_twitter_page] => http://twitter.com/john_doe
            [cf_facebook_page] => http://facebook.com/john_doe
            [cf_website] => http://john_doe.com
            [city_location] => Dallas
            [full_name] => John Doe
            [email] => john.doe@site.com
            [photo_50px] => http://www.mix.dj/file/pic/user/2011/08/9d673759d1cf55c9cd0b0805dc32e68e_50.jpg
            [photo_50px_square] => http://www.mix.dj/file/pic/user/2011/08/9d673759d1cf55c9cd0b0805dc32e68e_50_square.jpg
            [photo_120px] => http://www.mix.dj/file/pic/user/2011/08/9d673759d1cf55c9cd0b0805dc32e68e_120.jpg
            [photo_original] => http://www.mix.dj/file/pic/user/2011/08/9d673759d1cf55c9cd0b0805dc32e68e.jpg
            [profile_url] => http://www.mix.dj/index.php?do=/john-doe/
            [country_name] => United States
        )

)
video
browse
GET /api.php?method=video.browse
Get all public audios / videos. If you pass a user ID# it will return just the videos / audios for that user. If you pass a video / audio ID# it will return just that video / audio.

&user_id=#{Pass a user_id if you want to return videos /audios from a specific user.}

&id=#{Pass a video / audio ID to get a specific media.}

&featured=1{Return only featured medias.} (default is 0)

&order=ASC||DESC {Sort items by ascending or descending.} (if order is not defined, it will sort items by order descending by default)

&sort=upload||average||total_play||total_like|random {Sort items by upload date OR average rating OR total plays OR total likes OR random} (if option is not defined, it will sort items by upload date by default.)

&cat=#||videos||tracks||mixes {Get items by category_id or subcategory_id OR videos OR tracks OR mixes.} (if cat is not defined, it will return all items by default)

&tag=TAG_NAME {Get items by specific tag.}

&search_word=WORDS {Search items by specific words.}

&search_in=title||text {Search in title or text.} (default is title)

&search_opt=exact||like {Search for exact words or search items that contains the words.} (default is exact)

&limit=# {Number of returned items} (default is 10) max is 30

Response
Object
(
    [api] => Object
        (
            [total] => 1
            [current_page] => 0
        )

    [output] => Object
        (
            [id] => 4776401
            [title] => Tech House Beats #59
            [description] => MixSet description...
            [likes] => 9
            [permalink] => http://www.mix.dj/video/4776401/tech-house-beats-59/
            [photo] => Object
                (
                    [75] => http://cloudbooster.net/files/covers/art-129232-1399997499_thumb.jpg
                    [240] => http://cloudbooster.net/files/covers/art-129232-1399997499_thumb.jpg
                    [500] => http://cloudbooster.net/files/covers/art-129232-1399997499.jpg
                    [default] => http://cloudbooster.net/files/covers/art-129232-1399997499.jpg
                )

            [file_url] => http://cloudbooster.net/stream/files/audio/4776401/NAS0/f965f6f56220ddb0cd991d069de346af.mp3
            [duration] => 78:44
            [categories] => Array
                (
                    [0] => Array
                        (
                            [0] => DJ MIXES
                            [1] => http://www.mix.dj/video/category/14/dj-mixes/
                        )

                    [1] => Array
                        (
                            [0] => House
                            [1] => http://www.mix.dj/video/category/23/house/
                        )

                    [2] => Array
                        (
                            [0] => Tek House
                            [1] => http://www.mix.dj/video/category/43/tek-house/
                        )

                )

            [comments] => 11
            [user_name] => profile-39747
            [user_fullname] => floorex
            [user_id] => 39747
            [user_profile] => http://www.mix.dj/profile-39747/
            [user_image] => Object
                (
                    [50] => http://www.mix.dj/file/pic/user/129232_50_square.jpg
                    [default] => http://www.mix.dj/file/pic/user/129232.jpg
                )

            [time_stamp] => 1410733031
            [convert_time_stamp] => September 15, 2014
            [wav_datas] => 0.0687256,0.192108,0.383942,0.472473,0.51178,0.537231,0.693695,...
        )

)
categories
GET /api.php?method=video.categories
Get categories. Return all mixes categories by default.

&option=videos||tracks||mixes {Request videos OR tracks OR mixes categories.} (if option is not defined, it will return mixes categories by default.)

&parent=0||1 {Request only parents categories} (if option is not defined, it will return parents & childs categories.)

Response
Object
(
    [api] => Object
        (
            [total] => 16
            [current_page] => 
        )

    [output] => Array
        (
            [0] => Object
                (
                    [category_id] => 23
                    [name] => House
                    [url] => http://www.mix.dj/video/category/23/house/
                )

            [1] => Object
                (
                    [category_id] => 27
                    [name] => Downtempo
                    [url] => http://www.mix.dj/video/category/27/downtempo/
                )

            [2] => Object
                (
                    [category_id] => 40
                    [name] => Disco
                    [url] => http://www.mix.dj/video/category/40/disco/
                )

            [3] => Object
                (
                    [category_id] => 28
                    [name] => Hip Hop / Urban
                    [url] => http://www.mix.dj/video/category/28/hip-hop-urban/
                )

            [4] => Object
                (
                    [category_id] => 24
                    [name] => Trance
                    [url] => http://www.mix.dj/video/category/24/trance/
                )

            [5] => Object
                (
                    [category_id] => 25
                    [name] => Techno
                    [url] => http://www.mix.dj/video/category/25/techno/
                )

            [6] => Object
                (
                    [category_id] => 26
                    [name] => Reggae
                    [url] => http://www.mix.dj/video/category/26/reggae/
                )

            [7] => Object
                (
                    [category_id] => 41
                    [name] => Dance
                    [url] => http://www.mix.dj/video/category/41/dance/
                )

            [8] => Object
                (
                    [category_id] => 39
                    [name] => Jungle
                    [url] => http://www.mix.dj/video/category/39/jungle/
                )

            [9] => Object
                (
                    [category_id] => 42
                    [name] => Latin
                    [url] => http://www.mix.dj/video/category/42/latin/
                )

            [10] => Object
                (
                    [category_id] => 123
                    [name] => Jazz
                    [url] => http://www.mix.dj/video/category/123/jazz/
                )

            [11] => Object
                (
                    [category_id] => 121
                    [name] => Indie
                    [url] => http://www.mix.dj/video/category/121/indie/
                )

            [12] => Object
                (
                    [category_id] => 118
                    [name] => Classical
                    [url] => http://www.mix.dj/video/category/118/classical/
                )

            [13] => Object
                (
                    [category_id] => 93
                    [name] => Unclassifiable
                    [url] => http://www.mix.dj/video/category/93/unclassifiable/
                )

            [14] => Object
                (
                    [category_id] => 112
                    [name] => Events
                    [url] => http://www.mix.dj/video/category/112/events/
                )

            [15] => Object
                (
                    [category_id] => 111
                    [name] => Contests
                    [url] => http://www.mix.dj/video/category/111/contests/
                )

        )

)
tags
GET /api.php?method=video.tags&user_id=#{USER_ID}
Get Tag Listing from User.

&limit=# {Number of returned items} (default is 10) max is 30

Response
Object
(
    [api] => Object
        (
            [total] => 1
            [current_page] => 1
        )

    [output] => Array
        (
            [0] => Object
                (
                    [tag_count] => 29
                    [tag_name] => mix dj
                    [tag_url] => http://www.mix.dj/video/tag/mix-dj/
                    [tag_group_title] => My Mix DJ Mixes
                    [tag_group_image] => Object
                        (
                            [75] => http://cloudbooster.net/files/326d5d7b1fda266b354d87a69a0f9ad9.jpg
                            [100] => http://cloudbooster.net/files/44aa4815cd2e70616743e39de2d5be9b.jpg
                            [150] => http://cloudbooster.net/files/e257a69460b6bf6cfb28231c026b80d9.jpg
                            [240] => http://cloudbooster.net/files/c913bb7f78c7810149fe64da0b68f69c.jpg
                            [500] => http://cloudbooster.net/files/1023f1331c0efb44b8ace50b8f210395.jpg
                            [default] => http://cloudbooster.net/files/ee1b4880a960708c0aaf06e8049d6ca1.jpg
                        )

                )

        )

)