Занимался недавно подобным. У меня получились модели общие, обработка в контроллерах. И кстати уже когда делал — пытался представить ситуацию что необходимо будет делать еще одну версию — не получилось. Все гипотетические изменения укладывались в текущую версию с учетом обратной совместимости, но возможность версионности оставил.
Перед написанием изучил довольно много литературы, блогов и презентаций, начал даже писать статью на хабре но пока что лень победила. Самое полезное что я читал —
REST API Design Rulebook, рекомендую.