By saying that all #StateManipulation can be #POST, I am not denying the use case or clarity that other #HTTPMethod provides. I’m just saying that #StateManipulation is separate from #Query while they both still might occur in same #HTTPRequest.

By saying that all #StateManipulation can be #POST, I am not denying the use case or clarity that other #HTTPMethod provides. I’m just saying that #StateManipulation is separate from #Query while they both still might occur in same #HTTPRequest.
The simple rule is, if a request is permanently manipulating the state of data in database, then it is #StateManipulation and hence it is not a #GET request. While all #StateManipulation can be #POST request.
The #Payload or #RequestBody should be allowed in #HTTP #GET request. Why? Because whether u use #QueryParameter or #Payload, u are just querying the #Data while for #POST, #PUT, #DELETE request, u are manipulating state in database permanently.