You have one URI with a finite set of verbs you can use to manipulate it and its representations. The server doesn’t care how the client displays the resource or enables a user to interact with it and the client doesn’t care what the “real” resource is one the server or the technologies used to manipulate or store it. In case of an error, you also have a finite set of error codes that you need to be able to understand. The exact same ideas should apply in an API context. Your API should be defined in terms of POST, GET, PUT, DELETE (and maybe other) HTTP verbs using HTTP status codes.
...more
This highlight has been truncated due to consecutive passage length restrictions.