Next question… 
I’ve been looking at GetSeqences on this page. The example given looks like this:
<?xml version="1.0" encoding="utf-8"?>
<Communication
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ConnectionId>3a2fcbae-d387-441b-9be4-2020b9731b43</ConnectionId>
<Command SequenceId="79">
<Type>Request</Type>
<Name>GetSequences</Name>
<InputParams>
<Param Name="ItemId" Value="230ae9f1-17bc-4c3b-806f-9fdf048fe760"/>
<Param Name="SeqType" Value="Recording"/>
<Param Name="Time" Value="0"/>
<Param Name="AfterTime" Value="1358258893"/>
<Param Name="AfterCount" Value="1"/>
</InputParams>
<OutputParams/>
</Command>
</Communication>
Based upon that, I’ve made this request:
<?xml version="1.0" encoding="utf-8"?>
<Communication xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ConnectionId>5a535d7b-eb49-466c-96c2-fbc40521ec58</ConnectionId>
<Command SequenceId="3">
<Type>Request</Type>
<Name>GetSequences</Name>
<InputParams>
<Param Name="SeqType" Value="Recording"/>
<Param Name="ChalAnswer" Value="aVWc3hDu1WTmQBxpYAxZuTDh20zhn8O7D4WKpU2PNLm4b/BsH4ZnnAhYK+9fhQubHlBfGDyqs+oPJk9QQP73/g=="/>
<Param Name="AfterCount" Value="100"/>
<Param Name="Time" Value="0"/>
<Param Name="Challenge" Value="1B9FE4A7-E1DA-4396-8608-E5CE08B618DC"/>
<Param Name="CameraId" Value="bd45dcdb-d1f0-4b73-8532-d78ba2fdf873"/>
<Param Name="AfterTime" Value="1624012649"/>
</InputParams>
</Command>
</Communication>
So Time is 1/1/1970 and AfterTime is the number of Epoch seconds for “right now”. This returned only the oldest recordings.
Important: One thing I did have to do was change ItemId to CameraId because I got an error back when I used ItemId telling me CameraId was missing from the request parameters. Looks like the documentation is slightly out of date.
I would expect that:
<?xml version="1.0" encoding="utf-8"?>
<Communication xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ConnectionId>5a535d7b-eb49-466c-96c2-fbc40521ec58</ConnectionId>
<Command SequenceId="3">
<Type>Request</Type>
<Name>GetSequences</Name>
<InputParams>
<Param Name="SeqType" Value="Recording"/>
<Param Name="ChalAnswer" Value="aVWc3hDu1WTmQBxpYAxZuTDh20zhn8O7D4WKpU2PNLm4b/BsH4ZnnAhYK+9fhQubHlBfGDyqs+oPJk9QQP73/g=="/>
<Param Name="BeforeCount" Value="100"/>
<Param Name="Time" Value="1624012649"/>
<Param Name="Challenge" Value="1B9FE4A7-E1DA-4396-8608-E5CE08B618DC"/>
<Param Name="CameraId" Value="bd45dcdb-d1f0-4b73-8532-d78ba2fdf873"/>
<Param Name="BeforeTime" Value="1624012649"/>
</InputParams>
</Command>
</Communication>
(which is exactly the same thing but using BeforeTime and BeforeCount instead of AfterTime and AfterCount) would return exactly the same thing, or possibly (ideally!) the most recent 100 recordings, but it returns an empty set of sequences.
Am I misunderstanding the API or does it not work as described…?
EDIT:
I have tried setting now to the Epoch seconds and aMonth to 2678400 (which is 60*60*24*31), as the day for which the earlier request returned sequences was less than a month ago. I used the exactly same approach, but instead of:
<Param Name="Time" Value="0"/>
<Param Name="AfterTime" Value="<now>"/>
I had:
<Param Name="Time" Value="<now - aMonth>"/>
<Param Name="AfterTime" Value="<aMonth>"/>
where the angle bracket text would obviously be replaced by real numbers.
It returned no sequences at all, despite including the period that definitely has sequences!