I had some difficulty finding simple examples of how to use the Reolink API and ended up digging through some python implementations to figure out how it works.
The official documentation is available at https://bit.ly/3rWxG6e but it is a bit lacking, and the API is somewhat weird, which makes it difficult. You should still look at it though, as it lets you know what commands are available through the API.
The main weirdness is that even if you are sending one command at a time, the payload has to be an array of objects and the response is always an array of objects. Also, you have to pass the command both as a URL parameter and in the payload.
Included here are a small(ish) bash script (also requires jq) for running API commands against Reolink cameras or NVRs.
FINALY
./r Search '{ "Search": { "channel": 0, "onlyStatus": 0, "streamType": "main", "StartTime": { "year": 2022, "mon": 10, "day": 1, "hour": 0, "min": 0, "sec": 0 }, "EndTime": { "year": 2022, "mon": 11, "day": 1, "hour": 23, "min": 59, "sec": 59 } } }'