Our API uses the following status codes:

The thethings.iO API attempts to return appropriate HTTP status codes for every request.

HTTP Status CodeMessageDescription
200OKSuccess!
201CreatedCreated / Pushed!
304Not ModifiedThere was no new data to return
400Bad RequestThe request was invalid or cannot be otherwise served. An accompanying error message will explain further.
401UnauthorizedAuthentication credentials were missing or incorrect.
403ForbiddenThe request is understood, but it has been refused or access is not allowed. An accompanying error message will explain why. This code is used when requests are being denied due to rate limits.
404Not foundThe URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
410GoneThis resource is gone. Used to indicate that an API endpoint has been turned off. For example: “thethings.iO REST API v1 will soon stop functioning. Please migrate to API v2.”
429Too Many RequestsReturned in API v2 when a request cannot be served due to the application’s rate limit having been exhausted for the resource.
500Internal Server ErrorSomething is broken. Please contact with support.
502Bad Gatewaythethings.iO is down or being upgraded.
503Service Unavailablethethings.iO servers are up, but overloaded with requests. Try again later.
504Gateway timeoutthethings.iO servers are up, but the request couldn’t be serviced due to some failure within our stack. Try again later.