&gt; If the caller is going to get back a serialized status message ([&quot;Not found&quot;]), then the HTTP request was successful, and it should return 200.<p>Now all clients have to implement their own error checks, string parsing, just to discover something that the HTTP layer could have told you explicitly, that the resource requested could not be found.<p>If an API treats data as resources, then the API should return HTTP status codes that clarifies how the query against the resource was handled.<p>&quot;Could I have this?&quot; = &quot;404 Not Found&quot; is a great response.<p>&quot;Could I have this?&quot; = &quot;200 OK&quot; (not really) is a crap response.