If someone more schooled in web design wouldn't mind answering, what problems arise of by using the GET add-contact api as described in the post? What is the benefit of using xml in the body of a PUT or POST verb vs the headers?
From RFC2616 9.1.1: ...the convention has been established that the GET and HEAD methods SHOULD NOT have the significance of taking an action other than retrieval. Why? GET should mean simply getting the page. Not doing so runs the risk of: - Bookmarks breaking (what if someone bookmarks the add-contact link?) - Google deleting everything because it followed the links (there is an example of this on The Daily WTF) -…
In the example, the add-contact URI was dynamically generated so the deletion from following a url and and bookmark breaking did not seem especially pertinent.
But your explanation made a lot of points clear. One maintains the integrity of the call by placing parameters in the body. Avoiding proxy and caching issues inherit in using GET, as well as avoiding xss, makes immediate sense.