Without knowing the what the REST API actually returned, it would be difficult for any monk here to help out. I would also suggest:print $rest->responseContent;
and check the response code against the documentation. It would not be odd for an API to return a non-successful code with no body or a blank body -- which would be unparseable.print $rest->responseCode();
My own approach to APIs is to always try doing it with curl first. Sure setting headers and json bodies with curl can be a bit daunting but using curl via the command line is a great way to explore and/or debug a REST api.