def contents(self, **kwargs):
     from sefaria.sheets import get_sheet_listing_data
     d = super(UserHistory, self).contents(**kwargs)
     if kwargs.get("for_api", False):
         keys = {
             'ref': '',
             'he_ref': '',
             'book': '',
             'versions': {},
             'time_stamp': 0,
             'saved': False,
             'delete_saved': False,
             'is_sheet': False,
             'sheet_id': -1,
             'sheet_owner': '',
             'sheet_title': '',
         }
         d = {
             key: d.get(key, default)
             for key, default in list(keys.items())
         }
     if kwargs.get("annotate", False):
         try:
             ref = Ref(d["ref"])
             if ref.is_sheet():
                 d.update(get_sheet_listing_data(d["sheet_id"]))
             else:
                 d["text"] = {
                     "en": TextChunk(ref, "en").as_sized_string(),
                     "he": TextChunk(ref, "he").as_sized_string()
                 }
         except Exception as e:
             logger.warning(
                 "Failed to retrieve text for history Ref: {}".format(
                     d['ref']))
             return d
     return d