/tracks

afterpageloadcalls

Some track somewhere on the internet

Endpoint https://api.musicxray.com/tracks.xml

Tracks take time to prep for matching, this is a process that can take a relatively large amount of time and is thus an asynchronous process. The idea is that you tell our application where the new song is located. Instead of polling our application, we tell your application when the request is complete. This allows for a more event driven architecture and less wasted bandwidth.

Supported methods

  • /tracks.xml [GET,POST]
  • /tracks/[resource_id].xml [GET,PUT,DELETE]

Properties

name description type access required example value
id UNIQUE id integer read-only yes 1,2,3
mp3_url Location we can use to download your mp3 string read,write no http://myservice.us/s.mp3
post_back_url URL to ping when ready for matching String read,write yes http://myservice.us/s/1/d
uri unique identifier set by you string read,write no my_cool_app
application_id non unique identifier set by you integer read,write no 271818,281287
application_name non unique identifier set by you string read,write no myfirstuse,myseconduse
state How far along we are is in the matching processes string read-only no extracted, complete
reason_for_state More of a description about the state string read-only no Able to extract sonic...., Completed matching ....
track_matches All matches for this track. list read-only no [ TODO LINK TO PAGE WITH XML]

Notice in the above property list the only parameter you absolutely must set is mp3_url this is the most important parameter as this tells us where to find the music you need analyzed

Filters

Parameter Type Description
application_id Integer non unique identifier set by you
application_name String non unique identifier set by you
uris List Comma separated list of uri's
limit Integer Limit result set ( 20 default; 100 maximum )