> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reorderjs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Activity Log

> The activity log records subscription lifecycle events across all domains. Browse it globally or per subscription to see who changed what and when.

The activity log records every significant lifecycle event across subscriptions, renewals, dunning, and cancellations — giving you a stable, chronological audit trail you can browse from two places: the global Activity Log page under **Subscriptions**, and the **Activity Log** section on each individual subscription's detail page. Both surfaces show who made a change, what changed, and when, with the ability to drill into a full event snapshot.

## The global activity log

Navigate to **Subscriptions → Activity Log** to see events across all subscriptions in one place.

### Columns

| Column           | What it shows                                                                                                          |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Subscription** | The linked subscription reference                                                                                      |
| **Created**      | When the event was recorded                                                                                            |
| **Actor**        | Who or what triggered the event (admin user email, storefront customer, or `system`/`scheduler` for automated actions) |
| **Event**        | The event type badge                                                                                                   |
| **Reason**       | The recorded reason for the event, if one exists                                                                       |

### Search

Use the search input to find events by subscription reference, customer name, or reason text.

### Filters

Click **Add filter** to filter by **Event** type or **Actor**. Applied filters appear as chips in the toolbar.

The page also exposes **Created from** and **Created to** date inputs. These are applied as filters but are not shown as separate chips — they appear inline in the toolbar area.

### Quick presets

The toolbar includes quick presets to filter events by domain:

| Preset            | Events shown                                                                      |
| ----------------- | --------------------------------------------------------------------------------- |
| **Subscriptions** | Subscription lifecycle events (created, pause, resume, cancel, plan change, etc.) |
| **Renewals**      | Renewal cycle events (scheduled, succeeded, failed, approved, etc.)               |
| **Dunning**       | Dunning case events (opened, retry attempted, recovered, etc.)                    |
| **Cancellation**  | Cancellation case events (opened, offer applied, finalized, etc.)                 |

Presets behave like other active filters and can be combined or removed individually.

### Sorting

The list defaults to **Created descending** (newest events first). Use the sorting menu to change the sort order.

### Event detail

Click any row to open an event detail drawer. The drawer shows:

| Section                   | What it contains                                          |
| ------------------------- | --------------------------------------------------------- |
| **Event overview**        | Event type, actor, subscription reference, and timestamp  |
| **Subscription snapshot** | The subscription state at the time of the event           |
| **Changed fields**        | The specific fields that changed, with old and new values |
| **Previous state**        | The full previous state snapshot                          |
| **New state**             | The full new state snapshot                               |
| **Metadata**              | Additional event context                                  |

For shipping address changes, the **Changed fields** section shows readable before/after address values rather than raw boolean flags.

## Event types

The activity log captures events from four domains:

### Subscription events

Events that record changes to a subscription record directly:

* Subscription created
* Status changed (paused, resumed, cancelled)
* Plan change scheduled
* Plan change applied
* Shipping address updated
* Next delivery skipped

### Renewal events

Events generated during renewal cycle execution:

* Renewal cycle scheduled
* Renewal succeeded (order created)
* Renewal failed
* Approval requested
* Changes approved or rejected
* Force renewal triggered

### Dunning events

Events from payment recovery cases:

* Dunning case opened
* Retry attempted
* Retry succeeded or failed
* Case marked recovered or unrecovered
* Retry schedule overridden

### Cancellation events

Events from cancellation and retention cases:

* Cancellation case opened
* Retention offer applied
* Reason updated
* Cancellation finalized

## Per-subscription event timeline

The subscription detail page at `/app/subscriptions/:id` includes an **Activity Log** section that shows only events for that one subscription. This gives you immediate audit context without leaving the subscription detail view.

If the subscription was created through storefront checkout, the timeline begins with a `Subscription created` event whose actor is the customer who placed the order.

### Timeline columns

| Column      | What it shows                                                     |
| ----------- | ----------------------------------------------------------------- |
| **Created** | When the event was recorded                                       |
| **Event**   | The event type badge                                              |
| **Actor**   | Who triggered the event (`admin` email, `system`, or `scheduler`) |
| **Summary** | A readable summary of what changed                                |

Entries are ordered newest first. The **Summary** column uses operator-facing labels — for example, an address change appears as a readable `old address → new address` diff rather than raw field names.

### Timeline filters

The timeline supports domain and actor filters via **Add filter**. Date filters (**Created from** and **Created to**) are also available — add them from the **Add filter** menu and the corresponding date input appears below the toolbar. Removing the filter hides the input again. The timeline does not include a search input.

### Timeline event detail

Click any timeline entry to open the event drawer with the full snapshot, including **Previous state**, **New state**, **Changed fields**, and **Metadata**. The drawer uses a dedicated query and does not reload the full timeline.

<Tip>
  Use the domain filter in the subscription timeline to focus on one category of events — for example, filter to **Renewals** to see just the billing history for that subscription.
</Tip>
