History must be stored for all changes that happen within the system. Even changes that are performed via system migrations need to be stored for audit requirements.

To handle this feature, care will store all versions of a given resource along with the performer. This allows us to recreate data at a given point in time.

All data stored in the history object will be flattened and stored as a JSON Array. This data will not be passed along with regular endpoints, but will be served on request ( separate API ) .