You can only specify a start point and end point. The api will return the data points between those times. To my knowledge, there is no api to tell you the value at any specific time.
The main reason behind this is the data is updated at specific points in time and effectively dumb about what happened inbetween.
If you are measuring 2kW at 2pm and 4kW at 4pm, that does not necessarily mean it was 3kW at 3pm. in fact it could have been 0kW from 2.01pm until 3.59pm or it could have been 100kW from 2.30pm until 3.30pm, there is no globally safe way of “guessing” the value at 3pm.
Even with accumulative values eg 9kWh at 9am and 11kWh at 11am, you cannot assume it was 10kWh at 10am, it may have shot up to 11kWh a minuite after 9am and sat there for 2 hours or not moved for 2 hours and then shot up just before 11am, no way of telling.
So the best the data can tell you is what is was at the datapoints closest to your time for you to decide. If you are using fixed interval feeds you may be able to force a “near as damn it” value e.g. if you are using a 10s fixed interval you could ask for all datapoints betwenn 5secs before and 5 secs after your chosen time and that should return the one datapoint closest to your time +/- 5secs and repeat that for the second “energy2” datapoint.