In all occurences of a timestamp, we should use a unix timestamp. The only place a date string should be allowed is in the date field in a benchmark to allow for searching benchmarks on a specific date.
Should respond with all tags that have ever been used on a product. Perhaps also with its frequency of use? Important to note is that anyone can make a new tag - its just a plain text array of tags, it is not restricted by any means - there are no official tags.
Should just respond with an array of ID's for all products. This might be a good idea to limit somehow, perhaps "get the first 100 products in the database, in no specific order", and then perhaps "get the next 100 products". Haven't worked out how this might work, but should be doable.
Allow requester to create new benchmark for a product, with new sub_products and/or transports. This should make sure that the newly created benchmark should be marked as latest and make the the old ones not be marked as latest.
This endpoint should also recursively update all parents of a product and give them new benchmarks as well!
When creating a product, right now it doesn't check if the product already exists or not, so it will just freak out and give an error when you try to create a product twice - no bueno, gotta be fixed.
FIX?
Make sure that you do NOT create a new product entry in the database, and NOT create a new benchmark for this product IF IT ALREADY EXISTS.