For bitemporal data, the asAt
timestamp reflects the point in time at which a data item is saved into LUSID. Find out about the effectiveAt timestamp.
An asAt
timestamp is determined internally by LUSID and cannot be updated by the user. As such, methods which update data in LUSID do not take an asAt
parameter.
All List*
and Get*
APIs include a parameter for specifying the asAt
timestamp. This allows data to be extracted from LUSID as it was at a point in the past, regardless of any subsequent updates or corrections.
A more concrete example would be how the system will deal with a correction. We can deal with two updates for the same business time (effectiveAt
) and know that they happened on 2 different asAt
times. This means we can ask for the state of that entity either before or after the second update/correction.
This enables us to build a system which can always reproduce its state at any point in time. You can ask how the entire system looked asAt
5pm yesterday and be guaranteed to get the correct answer. Anything that happened after 5pm would have an asAt
later than 5pm.