For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

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.

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.

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.

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.

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.

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

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.

Last updated

Was this helpful?