I've started to work a bit more with http://api.carriots.com/streams/ and I'm using the List capability (Get). I've got a couple items to recommend.
The API should note which fields are case sensitive. For instance, if "device" field is used, it looks like it is case sensitive and needs to match exactly what is in Carriots Control Panel. Therefore testDevice@Carriots is different from test device@carriots. Please review the field descriptions and explicitly say what is case sensitive and what is not.
I'd like to recommend that there be a way to suppress the actual data feedback on List. Perhaps this is an added field or maybe the max field could be set to 0 (right now if you use 0 you get the default 1000). Such a mechanism will keep the overhead low for programatic access and could reduce the load on your servers as well. For instance, if a program needs to retrieve data for a certain day, the program may first inquiry about the entire 24 hour date range. In doing so it may get the list max of 1000 elements, but the result may show something like "total_documents": 1258, which means there is more data in the day than one list call can handle. Therefore the program needs to narrow down the search range to perhaps two 12 hours ranges. Doing this first bit of accessing, it isn't necessary to get the data, just the quantity of records. Getting all the records in the first couple calls takes added time, memory, etc.
Thank you for the continued support and improvement.