&gt; Most (many?) APIs, whether or not their authors call them REST, are single URL APIs that you throw JSON&#x2F;YAML&#x2F;whatever at. 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>Having spent three years of my life writing tooling to deal with such a vendor&#x27;s API, I would really, <i>really</i> prefer that people avoid this anti-pattern. REST is a <i>really</i> nice idea, and it works out tremendously well in practice. RPC-over-HTTP is not such a nice idea, and it works out rather painfully in practice.<p>As an aside, the mere fact that the message is serialised doesn&#x27;t mean that HTTP and rest are inapplicable: HTML, XML, JSON, YAML, protobufs, s-expressions &amp;c. are all just different forms of serialisation which can be applied to data. The RESTful way to indicate Not Found is to return a 404 status code, with a body which is useful to the client in some way. A human being might accept plain text or HTML; a programmatic client might accept a JSON or protobuf response, and probably doesn&#x27;t even need one for a 404.