Как лучше хранить данные клиента между его запросами?
1) Не надо использовать встроенные сессии вообще нигде и никогда.
В api можно использовать свои собственные токены, описать в документации api процесс их получения и передачи.
2) Почитайте документацию любого api крупного проекта: fb, https://developers.facebook.com/tools/explorer/?me... twitter https://dev.twitter.com/rest/public итд
Так или иначе (oauth, своя авторизация, еще как то) клиент получает access token который далее явно передает.
3) Если вся эта история нужна Вам для авторизации/разграничения прав - ок.
Но если Вы хотите для каждой сессии хранить какие то состояния на сервере - хорошо подумайте насколько это необходимо. Работать со stateless api гораздо приятней и понятней.
Если я правильно понял вопрос, то достаточно клиенту добавить возможность работы с куками