Response status codes
Responses from ThousandEyes APIs generally use standard HTTP status codes as shown below:
Status Code | Definition | When you'll see it |
---|---|---|
200 | OK | Nearly every response |
201 | CREATED | Using a /new endpoint (e.g. /tests/{testType}/new ) |
204 | NO CONTENT | Using a /delete endpoint (e.g. /tests/{testType}/{testId}/delete ) |
301 | MOVED PERMANENTLY | Requests accessing a nonexistent version of the API |
400 | BAD REQUEST | Malformatted requests |
401 | UNAUTHORIZED | Invalid credentials provided or account is locked |
403 | FORBIDDEN | Insufficient permissions to execute request (ie, any POST method as a regular user) |
404 | NOT FOUND | Attempting to access an endpoint that does not exist |
405 | METHOD NOT ALLOWED | Wrong request type for target endpoint (ie, POSTing data to a GET endpoint) |
406 | NOT ACCEPTABLE | Can be returned when the Content Type of the data returned does not match the Accept header of the request |
415 | UNSUPPORTED MEDIA TYPE | Attempting to POST data in incorrect format |
429 | TOO MANY REQUESTS | You have exceeded the max number of requests per 1-minute period |
500 | INTERNAL SERVER ERROR | Contact support if you see this error type |
503 | SERVICE UNAVAILABLE | The ThousandEyes API is currently in maintenance mode. |
If the response code is not specific enough to determine the cause of the issue, error messages will be included in the response in JSON format, for example:
{
"timestamp": 1679677853573,
"httpStatus": "PRECONDITION_FAILED",
"errors": [
"User cannot create more than 5 integrations"
],
"path": "https://api.thousandeyes.com/v7/stream"
}
Error Handling
The API will raise exceptions in the event something failed, such as missing or invalid parameters.
We recommend writing code that gracefully handles all possible API exceptions.