Result Codes

The eMusic API returns a status code with each response, indicating the success or failure of the method invocation. The response may also contain one or more messages that further elucidates the status code. (The messages are particularly useful for errors and exceptions.)

In general, the status codes mimick those of the HTTP 1.1 protocol, with a few ammendments:

1. The eMusic API differentiates between missing data that is crucial pertaining to the method's primary response (e.g. an album of the "album info" method) and ancillary (e.g. an album's rating of the "album info" method.)

2. The eMusic API itself may timeout when an internal server request takes too long. eMusic is comprised of many sub-systems. If one or more of our own internal sub-systems appears to be taking too long to handle an eMusic API request, we'll try to get you as much information as possible -- but pieces may be missing!

It is important to note that though these status codes mimic HTTP protocol codes, they are returned as part of the response XML and are in addition to the actual server response code.

Result Codes Table

One of the following status codes is returned in each method response:

Code Status Description
200 OK This result code means that everything went smashingly, and the requested data was produced exactly as expected!
206 PARTIAL CONTENT This result code means that everything went (mostly) alright, but some of the non-critical requested data was not found.
227 PARTIAL TIMEOUT This result code means that everything went (mostly) alright, but some of the non-critical requested data timed-out and wasn't included.
228 PARTIAL ERROR This result code means that everything went (mostly) alright, but there were some problems retrieving non-critical requested data.
400 BAD REQUEST This result code means that the method request was malformed, missing parameters, or contained bad values for parameters.
405 METHOD NOT ALLOWED This result code means that a request method other than GET was invoked.
500 INTERNAL SERVER ERROR This result code means that something bad happened (on our servers) and even the basic data could not be returned.
527 SERVER TIMEOUT This result code means that the entire response took too long to complete.