Query the audit log of a database


  before = Sys.time(),
  resourceId = NULL,
  typeFilter = NULL,
  limit = 1000


databaseIdthe database identifier.
beforea Date or POSIX to filter result before a given time; defaults to the time of the query.
afteran optional Date or POSIX
typeFiltera character string with the event type to filter on; default is none.
limitthe maximum number of events to return. Default is 1,000 events.
resoureIda resource (i.e. form or folder) identifier to filter on.


A database audit log contains details on a wide variety of events in the database. These events include the deletion of records or adding a user. This function queries the audit log and returns the event details as a data frame. Note that each query returns a maximum of 100 events, therefore the data frame has three attributes to help you query older log entries:

  • databaseId : the database identifier;

  • moreEvents : if TRUE then there are more (older) entries to be queried;

  • startTime : the (UNIX) timestamp which is essentially the same as the time provided in the before argument of the query;

  • endTime the earliest timestamp of the range, which can be used to query the next set of entries.

The following event type filters are supported:

  • RECORD : changes to records

  • FORM : changes to form schemas

  • FOLDER : changes to folders

  • DATABASE : changes to the database itself (renaming, creation)

  • LOCK : changes to the database locks

  • USER_PERMISSION : changes to user permissions

  • ROLE : changes to roles


A data frame with the results of the query and with three attributes as described in the Details section.


# Query up to 10,000 records
events <- queryAuditLog("cax132253", limit = 10000)

# Query events after the beginning of 2022
events <- queryAuditLog("cax132253", after = as.Date("2022-01-01"))

# Query only changes to user permissions
events <- queryAuditLog("cax132253", typeFilter = "USER_PERMISSION")