Version 0.6.2  
Docs

Error Codes

Appwrite uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, invalid input, etc.). Codes in the 5xx range indicate an error with the Appwrite server, but these are rare.

Code Text Description
200 OK Success!
204 No Content The server has successfully fulfilled the request and that there is no additional content to send in the response payload body. This status will usually return on successful delete operations.
304 Not Modified There was no new data to return.
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. Requests with wrong or invalid input will yield this response.
401 Unauthorized Missing or incorrect authentication credentials can happen when the API key or user permission is not sufficient.
403 Forbidden The request is understood, but it has been refused, or access is not allowed. An accompanying error message will explain why. Make sure to register your app in your project's dashboard platform list.
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exists.
409 Conflict This response is sent when a request conflicts with the current state of the server. This status code will usually appear when you're trying to create an already existing resource.
429 Too Many Requests Returned in when a request cannot be served due to the application’s rate limit having been exhausted for the resource. See Rate Limits
500 Internal Server Error Something is broken. Contact our team, or raise a GitHub issue.
503 Service Unavailable The Appwrite servers are up but overloaded with requests. Try again later.
504 Gateway timeout The Appwrite servers are up, but the request couldn’t be serviced due to some failure within the stack. Try again later.

Error Messages

When the Appwrite APIs return error messages, it does so in JSON format. For example, an error might look like this:

{
    "message": "Invalid id: Parameter must be a valid number",
    "code": 400
}