> For the complete documentation index, see [llms.txt](https://docs.licensespring.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.licensespring.com/vendor-platform/settings/audit-log/audit-log-v2.md).

# Audit log V2

The Audit Log V2 gives you a complete, immutable record of every change made in your LicenseSpring account  who did what, when, and what changed. It captures field-level diffs so you can see exactly what a value was before and after each action.

### Overview

To access the Audit Log, navigate to **Settings → User Settings → Audit Log**. On this page, click the **Platform (v2)** tab to view all changes made across your account.

<figure><img src="https://1783554078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgLzurdfXUuKr9IziZWLz%2Fuploads%2FPvyjET0BInyzqqYsSkex%2FScreenshot%202026-09-15%20at%201.37.17%E2%80%AFPM.png?alt=media&amp;token=f09d2d35-2b88-45fd-93d8-c571685cd34e" alt=""><figcaption></figcaption></figure>

You can also view audit records scoped to a specific license, open any license, navigate to the **Log** section, and click the **Platform (v2)** tab to see only the changes for that license.

<figure><img src="https://1783554078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgLzurdfXUuKr9IziZWLz%2Fuploads%2FffC3Pou4Bi4IiJwxwhLi%2FScreenshot%202026-09-15%20at%202.06.20%E2%80%AFPM.png?alt=media&amp;token=903aa861-8d14-4e1d-be03-3ccfe39ce4e6" alt=""><figcaption></figcaption></figure>

All times in the Audit Log are in **UTC**. This applies to every timestamp surface,  the list, the record drawer, and the date filter.

### The Audit Log List

Each row in the list represents a single audit record. The columns are:

| Column              | Description                                                             |
| ------------------- | ----------------------------------------------------------------------- |
| **Timestamp (UTC)** | When the action occurred, shown to the second (DD/MM/YYYY HH:mm:ss)     |
| **Action**          | What was done (e.g. created, updated, deleted)                          |
| **Entity**          | The type of object that was affected                                    |
| **Changes**         | A summary of how many fields changed, and the change kind               |
| **Actor**           | Who or what triggered the action                                        |
| **Request ID**      | The first 8 characters of the request ID — click to copy the full value |

Timestamps are shown to the second deliberately,  bulk operations write their entire batch within the same minute, so seconds are what distinguish individual rows within a batch.

### Filters

Click **Filters** to open the advanced search panel. Applied filters appear as chips in the filter bar -- click the **×** on any chip to remove just that filter, or click **Clear all filters** to reset everything including the date range.

Filters persist per user and per company. If you set filters and reload the page, they will be restored.

#### Available Filters

**Entity type** and **Action** are multi-select filters. Actions are grouped by entity type, and each option shows only the verb since the group heading already names the entity.

**Entity ID** and **Actor ID** are exact-match filters. Enter a value and press **Enter** or click away to apply. The placeholder reads "Exact ID  press Enter". A partial ID returns no results, these filters do not perform fuzzy matching.

**Date range** filters by UTC day. Selecting a single day returns all records for that full UTC day. The date range does not appear as a chip in the filter bar,  the date picker itself shows the applied range.<br>

<figure><img src="https://1783554078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgLzurdfXUuKr9IziZWLz%2Fuploads%2F9tVfdIePIaECQB2XXl00%2FScreenshot%202026-09-15%20at%201.42.57%E2%80%AFPM.png?alt=media&amp;token=647d9e5f-ace3-4dfc-84bf-05a2dc8069ae" alt=""><figcaption></figcaption></figure>

### Expanding a Row

Click the arrow on the left of any row to expand it and see a compact field-level diff. Up to 6 fields are shown inline, followed by a **+ N more fields** link and a **View full record** link that opens the record drawer.

<figure><img src="https://1783554078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgLzurdfXUuKr9IziZWLz%2Fuploads%2FhHn3hD2Me61oit9ALHkp%2FScreenshot%202026-09-15%20at%201.44.35%E2%80%AFPM.png?alt=media&amp;token=75523352-639b-49e8-aa8e-812a2f9e91ef" alt=""><figcaption></figcaption></figure>

#### Change Kinds

| Kind         | How it appears                                                                                                                 |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| **Update**   | Two columns showing the value before and after the change                                                                      |
| **Create**   | New values only,  no before column. The header reads "After" and the Changes column shows "Created · N fields" in green        |
| **Delete**   | The removed values are shown with a red **REMOVED** label. The Changes column shows "Deleted · N fields" in red                |
| **Semantic** | No field-level diff. The expanded row shows "This action recorded no field-level changes." and the Changes column shows a dash |

Color is never the only signal, removals always carry the word "Removed" and create/delete actions always carry their prefix in the Changes column.

<figure><img src="https://1783554078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgLzurdfXUuKr9IziZWLz%2Fuploads%2FtfRYl1aA5erJAtVgW1D0%2FScreenshot%202026-09-15%20at%201.54.37%E2%80%AFPM.png?alt=media&amp;token=334497d5-0197-45e6-872d-35defefa3404" alt=""><figcaption></figcaption></figure>

### Record Drawer

Click **View full record** on an expanded row to open the full record drawer. The drawer shows:

* The action name and raw action code (e.g. `product.created`)
* The outcome
* The exact timestamp the action occurred, shown to the microsecond,  this format is intentional so it can be matched back against the API
* **Entity**, **Event ID**, and **Record ID**  all copyable
* A **Changes table** with a sticky header and aligned Field / Before / After columns. Each field shows the raw column name under the friendly field name.
* An **Actor card** with name, type, Actor ID, IP address, user agent, and Request ID. Any value the system did not record shows a dash, never a blank.
* A **Context section** with entity chain links and any additional context (see Context below)
* A **Show raw record** toggle that displays the full JSON with a **Copy JSON** button

The footer of the drawer reads "Append-only record · read-only". Audit records cannot be edited or deleted.

<figure><img src="https://1783554078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgLzurdfXUuKr9IziZWLz%2Fuploads%2FqVsaGhmS6qmMBdHMSCvJ%2FScreenshot%202026-09-15%20at%201.47.34%E2%80%AFPM.png?alt=media&amp;token=5c8ec4bd-753e-4fe6-b13c-3d032d52dd3e" alt=""><figcaption></figcaption></figure>

### Actors

The actor recorded against each entry depends on what triggered the action:

| Actor type             | How it appears                                                                                                     |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Platform user**      | Shown as their email address. Links to their user page only when they are a member of the company you are viewing. |
| **License user**       | Always linked through to the License Users page                                                                    |
| **Management API key** | Shown as "Management API key" with the key ID underneath. Not a link, API keys do not have their own page.         |
| **System**             | Shown as "System" with no ID, recorded by scheduled jobs or actions with no user context                           |

<figure><img src="https://1783554078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgLzurdfXUuKr9IziZWLz%2Fuploads%2Fhx791RRq1FIg7Sbwkhbj%2FScreenshot%202026-09-15%20at%202.01.14%E2%80%AFPM.png?alt=media&amp;token=07087f63-63f0-453d-a54f-4cdcf62a7f7d" alt=""><figcaption></figcaption></figure>

### Bulk Operations

When a change is made as part of a bulk operation, a neutral **N in this batch** marker appears on the Action cell.

Clicking the marker filters the list to show only records from that batch. A banner reads "Showing N loaded records from one bulk operation". Click **Show all records** to return to the full list.

The count shown reflects only the records currently loaded,  a large batch may extend beyond the rows you have loaded so far. As you load more entries, the count updates. If only one row of a batch is loaded, the marker reads "Part of a bulk operation" and is not clickable.

The record drawer also offers a **Show only this bulk operation** shortcut.

### Context

Below the field-level diff (and in the drawer's Context section), each record may include:

* **Entity chain links:** links to the related License, Order, Customer, and Product. A license links only when the record also carries its order, since the license page is nested under it.
* **External reference chips:** customer-supplied references copied from the order.
* **Flag chips:** Hardware ID (when a device is associated) and Offline.

### Redacted and Truncated Values

**Redacted values:** fields that contain secrets (such as license keys) are stored as hashes. They render as italic *Redacted (hash stored)* in the diff. Clicking copies the full `sha256:…` digest. The plaintext value is never shown.

**Truncated values:** values longer than 8,192 characters are cut by the system. The cell shows a chip reading "…showing first 8,192 of N characters" where N is the original total length. Long values do not stretch the row or cause horizontal scrolling.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.licensespring.com/vendor-platform/settings/audit-log/audit-log-v2.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
