HTTP status codes
When working with a Common REST API over HTTP, client applications should expect at least the following HTTP status codes. Not all servers necessarily return all status codes identified here:
- 200 OK
 - 
The request was successful and a resource returned, depending on the request.
 - 201 Created
 - 
The request succeeded and the resource was created.
 - 204 No Content
 - 
The action request succeeded, and there was no content to return.
 - 304 Not Modified
 - 
The read request included an
If-None-Matchheader, and the value of the header matched the revision value of the resource. - 400 Bad Request
 - 
The request was malformed.
 - 401 Unauthorized
 - 
The request requires user authentication.
 - 403 Forbidden
 - 
Access was forbidden during an operation on a resource.
 - 404 Not Found
 - 
The specified resource could not be found, perhaps because it does not exist.
 - 405 Method Not Allowed
 - 
The HTTP method is not allowed for the requested resource.
 - 406 Not Acceptable
 - 
The request contains parameters that are not acceptable, such as a resource or protocol version that is not available.
 - 409 Conflict
 - 
The request would have resulted in a conflict with the current state of the resource.
 - 410 Gone
 - 
The requested resource is no longer available, and will not become available again. This can happen when resources expire for example.
 - 412 Precondition Failed
 - 
The resource’s current version does not match the version provided.
 - 415 Unsupported Media Type
 - 
The request is in a format not supported by the requested resource for the requested method.
 - 428 Precondition Required
 - 
The resource requires a version, but no version was supplied in the request.
 - 500 Internal Server Error
 - 
The server encountered an unexpected condition that prevented it from fulfilling the request.
 - 501 Not Implemented
 - 
The resource does not support the functionality required to fulfill the request.
 - 503 Service Unavailable
 - 
The requested resource was temporarily unavailable. The service may have been disabled, for example.