Skip to content
KeystoneJS LogoKeystoneJSv5


Adds createdBy and updatedBy fields to a list. These fields are read-only but they will be updated automatically when items are created or updated.


const { byTracking } = require('@keystonejs/list-plugins');

keystone.createList('ListWithPlugin', {
  fields: {
    // ...
  plugins: [
      /* ...config */


createdByFieldStringcreatedByName of the createdBy field.
updatedByFieldStringupdatedByName of the createdBy field.
refStringUserA reference to the list authenticated items (users).
accessObjectSee: accessChange default access controls.


By default access control on at tracking fields is read only:

  read: true,
  create: false,
  update: false

Disabling created or updated

You can import either createdBy or updatedBy to apply a single tracking field:

const { createdBy, updatedBy } = require('@keystonejs/list-plugins');

Note: The API is the same.

Have you found a mistake, something that is missing, or could be improved on this page? Please edit the Markdown file on GitHub and submit a PR with your changes.

Edit Page