I think the main response processing to JSON should be shared, that was quite a bit of code duplication between the search results and the rest of the functions. The stripping of wrapping JSON before conversion to POJOs could be beneficial to put into a centralized private function, considering the same code is duplicated 3 times for get, create, and update. For search there isn't a lot of shared functionality with other methods.

I was trying to keep the JSON wrapper cleaning logic close to the API calls.