Dear "John Doe",
the sensor message is not stored, past sensor messages cannot be reported. However status changes are logged and include the according sensor message, but this table only shows the time of the status change and does not aggregate the downtime.
This table can be generated by an API call similar to
Replace the id=2123 with the object ID of the sensor in question. The output includes all status changes, for example pausing as well. To limit this to up/down, please add &filter_status=608&filter_status=607&filter_status=620
Normal reports (no API usage required) do aggregate downtime and also list the status changes, however without the reasons, as it could make the report too dense.
Both reports and the aforementioned table are based on sensors. Getting a sorted output has to be done manually. You can add a full probe (meaning all its sensors) to a normal report. In order for the status change table, you can first extract the object IDs of all sensors for a particular object, like for a probe. This example is for the local probe which has the ID 1: