HTTP ERROR Status Codes

Status code Description
400 BAD REQUEST OpenSocial application servers MUST return 400 BAD REQUEST under any one or more of the following conditions:
* Invalid request URI
* Invalid HTTP Header
* Receiving an unsupported, nonstandard parameter
* Receiving an invalid HTTP Message Body
401 UNAUTHORIZED OpenSocial container servers MUST return 401 UNAUTHORIZED when receiving a request for a protected resource and the request is either
* Missing OAuth authorization credentials as described in OAuth Consumer Request 1.0,
* OAuth authorization credentials are present, but the user identity is not authorized to access the protected resource. If the request already included authorization credentials, the 401 response indicates that the request has been refused for those credentials. A 401 response MUST include a WWW-Authenticate header field indicating the request MAY present an OAuth token for the container server's realm. Example: WWW-Authenticate: OAuth realm=""
403 FORBIDDEN The server understood the request but is refusing to fulfill it. Authorization will not help. The current authorization context does not allow the request.
404 NOT FOUND The server has not found a resource (such as a feed or entry) that matches the request URI.
405 METHOD NOT ALLOWED The method specified in the Request-Line is not allowed for the resource identified by the Request-URI. The response MUST include an Allow header containing a list of valid methods for the requested resource.
409 CONFLICT The request could not be completed due to a conflict with the current state of the resource. This code is only allowed in situations where it is expected that the user might be able to resolve the conflict and resubmit the request. The response body SHOULD include enough information for the user to recognize the source of the conflict. Ideally, the response entity would include enough information for the user or user agent to fix the problem; however, that might not be possible and is not required. Conflicts are most likely to occur in response to a PUT request. For example, this code can be used for a limit exceeded error as well as conflicting updates. See the error message for more information.
500 INTERNAL SERVER ERROR Internal error. This is the default code that is used for all unrecognized errors.
501 NOT IMPLEMENTED The request was valid but has not been implemented by the provider. A container SHOULD return 501 NOT IMPLEMENTED when receiving a request for an OPTIONAL/MAY feature that the container does not implement.