---
title: Log activity
slug: cms-13/docs/log-activity
docTags: 
createdAt: 2026-07-30T20:22:08.256Z
---

The Activity API tracks content changes across pages, blocks, and media items. Use activity data to support project feeds, enable mirroring, and audit recent edits. The system logs each change as an `Activity` record.

:::hint{type="info"}
**Note**
The `Activity` API supersedes the deprecated `ChangeLog` API.
:::

## Activity retention and archiving

Control how long activity records persist to balance storage costs against audit requirements.

The system stores activities for at least one month. A scheduled job archives or deletes activities that no other platform feature depends on.

Archived activities persist for 12 months by default. Configure the `ArchiveRetentionPeriod` property on `ActivityOptions` to change the retention period. The value represents the number of months to retain activities in the archive.

The following values control archiving behavior:

- `0` – Disable archiving. The system deletes activities immediately.
- `-1` – Disable archive cleanup. Activities remain indefinitely. Do not use this value without external safeguards.

Retrieve archived activities by calling `IActivityQueryService.ListActivitiesAsync` with the `IncludeArchived` flag set on the query.

## Administrators change log

Review recent content changes through the Change Log interface in the admin view. Go to [Change Log](docId\:ylXpZbvda_1Dhyh4-tp2i) for details.

## Programming interfaces

Build custom activity tracking and auditing by using the classes and interfaces in the `EPiServer.DataAbstraction.Activities` namespace (`EPiServer` assembly).

Related blog post: [Activity log with custom content security activity](https://swapcode.wordpress.com/2020/07/06/episerver-activity-log-with-custom-content-security-activity/)
