adding support for summary API and returning generic APIResult