After having read a lot of material on REST versioning, I am thnking of versioning the calls instead of the API. For example:
http://api.mydomain.com/callfoo
Facebook does verisoning in the url. I feel url versioning is cleaner and easier to maintain as well in the real world.
.Net makes it super easy to do versioning this way:
[HttpPost] [Route("{version}/someCall/{id}")] public HttpResponseMessage someCall(string version, int id))