title: Versioning REST API
body: <p>After having read a lot of material on REST versioning, I am thinking of versioning the calls instead of the API. For example:</p>
  <pre><code>http://api.mydomain.com/callfoo/v2.0/param1/param2/param3
  http://api.mydomain.com/verifyfoo/v1.0/param1/param2
  </code></pre>
  <p>instead of first having</p>
  <pre><code>http://api.mydomain.com/v1.0/callfoo/param1/param2
  http://api.mydomain.com/v1.0/verifyfoo/param1/param2
  </code></pre>
  <p>then going to</p>
  <pre><code>http://api.mydomain.com/v2.0/callfoo/param1/param2/param3
  http://api.mydomain.com/v2.0/verifyfoo/param1/param2
  </code></pre>
  <p>The advantage I see are:</p>
  <ul>
  <li>When the calls change, I do not have to rewrite my entire client - only the parts that are affected by the changed calls.</li>
  <li>Those parts of the client that work can continue as is (we have a lot of testing hours invested to ensure both the client and the server sides are stable.)</li>
  <li>I can use permanent or non-permanent redirects for calls that have changed.</li>
  <li>Backward compatibility would be a breeze as I can leave older call versions as is.</li>
  </ul>
  <p>Am I missing something? Please advise.</p>