Have had a conversation with Jordan in GE support regarding the limitation in the REST API and response was quote: "There's not a way to do this currently, but I have asked the devs and they are considering adding it in" unquote.
I passed on the link to my client-side work-around, previously referenced above, as a way of handling a range of dates.
My strategy in the java code is to cache datapoints in a flat file such as uuid.tmp
I store oldest first, so recent data can always be appended to the file.
The API returns the datapoints in reverse chronological order (so Page 1 has latest, Page N is older etc).
So all I do is read page by page until the increasingly older datapoints are equal or before the most recent timestamp I have in the file cache.
The cache just gets extended by the recent data.
Subsequent calls are much quicker.
However this is not really a substitute for having a date/time range built into the REST API.
But the github example is satisfactory for my purposes.
I do wonder about the retention of datapoints in the GE Cloud.
Having my local cache of the historical data defends against the potential "triming" of the available data via the API in the future.
I only have a couple of handfulls of GE Smart Plugs but (particularly for the devices that have intermitant pattern of power drain) there is already a lot of data accumulated, since it seems to me, each time the power level changes an event is generated and pushed to the cloud as a new datapoint.