Identify API error codes, inspect error payloads, and handle batch request failures.
Use this page to identify API error codes, understand the error response format, and handle batch request failures.
Response checksCheck both the HTTP status code and the response body to determine whether a request succeeded.
Error response format
When a request fails, the API returns a response with status set to error and an error object that contains the code and message.
JSON example
{
"status": "error",
"version": "1.2",
"error": {
"code": "1001",
"message": "Missing ArtistId"
}
}XML example
<response status="error" version="1.2">
<error code="1001">
<errorMessage>Missing artist ID</errorMessage>
</error>
</response>Handle errors
- Check the HTTP status code.
- Check the
statusfield in the response body. - Read
error.codeto identify the failure type. - Read
error.messagefor the human-readable error. - If
error.codeis1008, inspecterror.errorsto review each failed item in a batch request.
If you want to reproduce a request and inspect the full response more easily, use the Postman sample requests guide.
If you want to reproduce a request and inspect the full response more easily, use the Postman sample requests guide.
If you want to reproduce a request and inspect the full response more easily, use the Postman sample requests guide.
If you want to reproduce a request and inspect the full response more easily, use the Postman sample requests guide.
Batch request errors (1008)
1008)If the API returns error code 1008, the response includes an errors array with one entry for each failed item in the batch.
code— the error code for the specific itemmessage— the human-readable error for the specific itemindex— the zero-based position of the failed item in the batch
{
"error": {
"code": 1008,
"message": "One or more errors has occurred.",
"errors": [
{
"code": 1001,
"message": "Missing TrackID",
"index": 2
}
]
}
}Error code categories
1xxx — Invalid or missing input parameters
| Code | Description |
|---|---|
| 1001 | Required parameter missing |
| 1002 | Invalid parameter value |
| 1003 | Parameter value out of allowable range |
| 1006 | Invalid enumeration value |
| 1007 | Query string parameters are not permitted when performing HTTP POST. Please use the POST body or a header. |
| 1008 | One or more errors from a batch. See Batch request errors (1008). |
2xxx — Invalid resource reference
| Code | Description |
|---|---|
| 2001 | Resource cannot be found |
| 2002 | Resource is not available in current context |
| 2003 | Resource already exists |
3xxx — User restrictions
| Code | Description |
|---|---|
| 3001 | User's payment card has expired |
| 3002 | User has no saved card details |
| 3003 | Payment for this purchase has failed |
| 3004 | Supplied price is out of date |
| 3005 | Card issued in a country not valid for this shop |
| 3100 | Problem connecting to payment provider |
| 3101 | Payment failed (provider-level) |
| 3102 | Payment was declined by provider |
| 3103 | Adding a card failed |
| 3104 | Adding a card was declined |
| 3105 | Basket is not eligible for refund |
| 3106 | Refund was declined |
| 3107 | Transaction has already been refunded |
| 3201 | Simultaneous stream requests from multiple devices. Streaming access is temporarily disabled. |
4xx — Authentication errors
| Code | Description |
|---|---|
| 401 | Authentication for this request has failed. The response contains a plain-text message that describes the reason. |
7xxx — MassiveMusic API application errors
| Code | Description |
|---|---|
| 7001 | Unable to perform action |
| 7002 | Application configuration error |
| 7003 | Operation timed out |
| 7102 | Refund processing failed |
9xxx — Internal server errors
| Code | Description |
|---|---|
| 9001 | Unexpected internal server error |

