Вам не нужно версии API REST. В случае REST управление версиями происходит во время выполнения либо через то, что можно назвать «правилами игнорирования расширений полезной нагрузки», либо путем согласования содержимого.
«Обязательные правила расширения полезной нагрузки» относятся к аспекту, который вы встраиваете в дизайн ваших сообщений. «Необходимо игнорировать» означает, что часть программного обеспечения, которая обрабатывает сообщение данного формата, должна игнорировать любые неизвестные синтаксические конструкции. Это то, что мы все знаем из HTML и что позволяет вставлять всевозможные необычные теги в HTML-страницу без удушья парсера.
«Обязательно игнорировать» позволяет расширять возможности вашего сервиса, добавляя материал к тому, что вы уже отправляете, без учета клиентов, которые понимают только старые версии.
Контент-согласование относится к встроенному HTTP-механизму согласования фактического представления, которое сервер отправляет данному клиенту во время выполнения. Типичный сценарий таков: клиенты отправляют заголовок Accept в запросе, чтобы объявить, на что они способны, а серверы выбирают представление для отправки обратно на основе этих возможностей. Но есть и варианты этой темы (подробности см. Здесь: http://www.w3.org/Protocols/rfc2616/rfc2616-sec12.html).
Согласование содержимого допускает несовместимые изменения, что означает, что я могу превратить свой сервис в возможность отправки несовместимых старых и новых версий, и на основе заголовка Accept моя служба отправит соответствующую.
Итог: при обоих подходах ваш API остается без изменений. Нет необходимости делать какие-либо версии на уровне API - особенно не часто предлагаемое (но совершенно неправильное) включение идентификаторов версий в URI (помните, что вы делаете REST здесь, а не SOAP!)