Мы подобную проблему решили следующим образом - запрос /entity/{id}/refresh - синхронно ходит по всем апи и обновляет сущность в базе, клиент ждет ответа секунду, потом вешает прелоадер в интерфейсе и иногда ходит в метод /entity/{id} который смотрит только в базу, дополнительно возвращается статус - доделали таску или нет.
токены и бакеты прекрасно работают когда вы сервер и вам нужно вести учет сколько раз к вам пришел запрос. если же вы клиент, то скорее всего, вам нужно тикер который отправляет запрос раз в N единиц времени