Audit Logs API Events and Event Types

Prev Next

When you call the Audit Log API to return specific data on your user activity in Pigment, it returns audit events. The audit event is a JSON with standard fields and a payload containing details that vary depending on the event type. This article describes audit event structures, and provides details on the event types that occur in your Pigment Workspace.

For more information on the Audit Logs API, check out these topics:

All audit events returned by the Audit Logs API has a standard structure. You can read more details about this in the article Calling the Audit Log API. The following is a list of event types returned by the Audit Logs API.

User event types

Audit Log Event Type

Description

Sample Payload

UserInvited

User invited into the organization.

If the user is invited into the organization, and SAML SSO is configured, then you can interpret this event to mean that the user is activated.

{
  "id": "ABC124",
  "name": "John Doe",
  "email": "JOHN.DOE@ACME.COM"
}

UserAccountTypeUpdated

The user account type changed.

Any changes to the Workspace Primary Owner account type is not logged here.

{
  "userId": "ABC123",
  "userName": "John Doe",
  "userEmail": "JOHN.DOE@ACME.COM",
  "newAccountType": "Workspace Admin",
  "previousAccountType": "Builder"
}

UserDeactivated

User deactivated.

This event is logged either through the member’s page or through SCIM provisioning.

{
  "id": "ABC123",
  "name": "John Doe",
  "email": "JOHN.DOE@ACME.COM"
}

UserReactivated

User reactivated following their account being deactivated.

This event is logged either through the member’s page or through SCIM provisioning.

{
  "id": "ABC123",
  "name": "John Doe",
  "email": "JOHN.DOE@ACME.COM"
}

UserPasswordChanged

A user reset their password.

This event only appears if the user performs an action using the reset password email.

If the password is reset administratively, this event won’t appear. An example of this would be when a user can’t receive password reset emails, and is provided with a temporary password.
This event is logged on the same Workspaces as

UserLoggedIn.

This event is logged on the same Workspaces as UserLoggedIn.{
  "id": "ABC123",
  "name": "John Doe",
  "email": "JOHN.DOE@ACME.COM"
}

UserLoggedIn

User logged into Pigment, whether through the web application or MCP client. This event is logged on the Workspace(s) the user is an active Member of.

An exception applies to users who are Members of Workspaces that belong to several companies, such as consultants. For these users, this event is only logged on the Workspaces of their own company.

Pigment Support Account does not generate this event (there is the event SupportSessionStarted instead).

No payload is available for this event because the event is generated for the actor.

UserLoggedOut

User logged out of Pigment. This event is logged on the same Workspaces as UserLoggedIn.
Pigment Support Account does not generate this event.

No payload is available for this event because the event is generated for the actor.

SupportSessionStarted

Pigment Support account has started a session in the Workspace.

No payload is available for this event because the event is generated for the actor.

CredentialUsed

User accessed a Workspace for the first time in a session, for example by opening it in Pigment or by connecting to it through MCP.

This event is only logged on the Workspace that was accessed. Workspaces that the user can access but doesn’t open don’t generate this event.

No payload is available for this event because the event is generated for the actor.

Group event types

Audit Log Event Type

Description

Sample Payload

UserGroupCreated

A Group was created.

{
  "id": "ABC123",
  "name": "My Group"
}

UserGroupDeleted

A Group was deleted.

{
  "id": "ABC123",
  "name": "My Group"
}

UserGroupMembershipUpdated

A Member was added to or removed from a Group from the Groups page.

If the Member was added to the Group, the details of the Group will be in the field called newGroup.

If the Member was removed from the Group, the details of the Group will be in the field called previousGroup.

{
"userId":"ABC123",
"userEmail":"JOHn.DOE@ACME.COM",
"newGroup":
{
"id":"ABC123",
"name":"My Group"
}
}

UserGroupApplicationRoleUpdated

A Group was assigned to a Role in an Application or removed from a Role in an Application from the Groups page, or the Application Role was changed.

When an Application Role is removed from a Group, the payload will only contain the group and application fields - no record of the removed Application Role will be logged.

{
"group":
{
"id":"ABC123",
"name":"My Group"
},
"application":
{
"id":"ABC123",
"name":"My Application"
},
"previousApplicationRole":"Admin",
"newApplicationRole":"Modeler"
}

Application event types

Audit Log Event Type

Description

Sample Payload

ApplicationSnapshotCreated

This event is logged whenever a Member has taken a Snapshot.

Note, a Snapshot creation might have failed but this event will still be logged. The status of the Snapshot created will be available on Pigment in the Snapshots page.

The parameter snapshotGroup refers to the Group that contains the Applications being snapshot. If it is a single Application being snapshot, the Group will just contain a single Application details in the applications parameter.

Every Application with a Snapshot will have two parameters:

  • The seedApplication is the live Application which is the source of data of the snapshot Application

  • The snapshotApplication is the snapshot version of the seedApplication

{
"snapshotGroup":
{
"groupId":"ABC123",
"friendlyName":"My Snapshot",
"applications":
[
{
"seedApplication":
{
"id":"ABC123",
"name":"My Application 1"
}
,
"snapshotApplication":
{
"id":"ABC123",
"name":"My Application 1"
}
},
{"seedApplication":
{"id":"ABC123",
"name":"My Application 2"
},
"snapshotApplication":
{"id":"ABC123",
"name":"My Application 2"
}
},
{"seedApplication":
{"id":"ABC123",
"name":"My Application 3"
},
"snapshotApplication":
{"id":"ABC123",
"name":"My Application 3"
}}]}}

ApplicationSnapshotDeleted

This event is logged whenever a Member has deleted a Snapshot or removed an Application from a Snapshot.

The parameter snapshotGroup refers to the Group that contains the Applications being snapshot. If it is a single Application being snapshot, the Group will just contain a single Application details in the applications parameter.

Every Application with a Snapshot will have two parameters:

  • The seedApplication is the live Application which is the source of data of the snapshot Application.

  • The snapshotApplication is the snapshot version of the seedApplication

The deletedSnapshotApplications field will contain details of the Applications that were deleted or removed from the Snapshot.

The name of the deleted Snapshot Application is not available, just the Application ID.

{
"snapshotGroup":
{
"groupId":"ABC123",
"friendlyName":"My Snapshot",
"applications":
[{
"seedApplication":
{
"id":"ABC123",
"name":"My Application"
},
"snapshotApplication":
{"id":"ABC123
,"name":""
}}]}
,"deletedSnapshotApplications":
[{"id":"ABC123",
"name":""
}]}

ApplicationSnapshotUpdated

This event is logged whenever a Member has renamed a Snapshot.

There will be two parameters to represent the Group:

  • previousSnapshotGroup contains details about the Snapshot group prior to the update.

  • newSnapshotGroup contains details about the Snapshot group post-update.

The Snapshot Group refers to the group that contains the Applications being snapshot. If it is a single Application being snapshot, the Group will just contain a single Application details in the applications parameter.

Every Application with a Snapshot will have two parameters:

  • The seedApplication is the live Application which is the source of data of the snapshot Application

  • The snapshotApplication is the snapshot version of the seedApplication

The type parameter at the end of the payload will state the type of update, in this case a “Rename”.

{
"previousSnapshotGroup":
{
"groupId":
"ABC123",
"friendlyName":"My Application",
"applications":
[{
"seedApplication":
{
"id":"ABC123",
"name":"My Application"
},
"snapshotApplication":
{
"id":"ABC123",
"name":"My Application"
}},
{
"seedApplication":
{
"id":"ABC123",
"name":"My Application"
},
"snapshotApplication":
{
"id":"ABC123",
"name":"My Application"
}},
{
"seedApplication":
{
"id":"ABC123",
"name":"My Application"
},
"snapshotApplication":
{
"id":"ABC123",
"name":"My Application"
}}]},
"newSnapshotGroup":
{
"groupId":"ABC123",
"friendlyName":"My Application ",
"applications":
[{
"seedApplication":
{
"id":"ABC123",
"name":"My Application"
},
"snapshotApplication":
{
"id":"ABC123",
"name":"My Application"
}},
{"seedApplication":
{"id":"ABC123",
"name":"My Application"
},
"snapshotApplication":
{
"id":"ABC123",
"name":"My Application"
}},
{
"seedApplication":
{
"id":"ABC123",
"name":"My Application"
},
"snapshotApplication":
{
"id":"ABC123",
"name":"My Application"
}}]},
"type":"Rename"
}

View event types and Temporary Views

Audit Log Event Type

Description

Sample Payload

ViewAccessed

Whenever a Member lands on a View in a Metric, Table, Dimension or Transaction List, this event is logged.

It’s logged even if the View is used in a widget on a Board.

Even if the Member doesn’t have the required Access Rights set up on the View, but obtains a URL to land on the View, this action is logged.

{
  "entity": {
    "id": "ABC123",
    "name": "View 1",
    "application": {
      "id": "ABC123",
      "name": "My Application"
    },
    "entityType": "View",
    "block": {
      "id": "ABC123",
      "name": "My Metric"
    }
  }
}

ViewCreated

A View was created in Pigment.

The event will appear with the BlockCreated event, as a View is also created whenever a Block is created.

{
  "entity": {
    "id": "ABC123",
    "name": "My View",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "View"
  }
}

ViewUpdated

A view configuration was updated.

There’s a parameter in the payload type which uses these values to specify updates:

  • settings: Formatting, configuration change, pivoting.

  • rename: View was renamed.

There can be multiple unique ViewUpdated events logged from a single action, depending on the type update that occurred on the Pigment View.

{
  "entity": {
    "id": "ABC123",
    "name": "My View",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "View"
  },
  "type": "Settings"
}

ViewDeleted

A View was deleted.

No corresponding deleted View event is available when a Block is deleted.

{
  "entity": {
    "id": "ABC123",
    "name": "My View",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "View"
  }
}

Temporary Views in Pigment

Certain actions in Pigment can result in events from temporary Views being logged. For example, this can happen when you use the Formula Playground, or create a draft View, which is not saved, and then share the View URL with another Member in the Application.

You can identify these from the name of the View from within the entity. It has a suffix containing a random ID. In the example below, the suffix is 111aa1a1:

{
"entity":
{
"id":"ABC123",
"name":"My View - 111aa1a1",
"application":
{
"id":"ABC123",
"name":"test app"
},
"entityType":"View",
"block":
{
"id":"ABC123",
"name":"My Metric"}
}
}

Metric event types and Temporary Metrics

Audit Log Event Type

Description

Sample Payload

MetricCreated

A Metric was created.

If the Metric is a security Metric, it has the following additional parameter settings:

  • isSecurityBlock: This value is true.

  • dataType: This is one of the following:
    - BlockDataType_Permissions
    - BlockDataType_AccessRights

{
  "entity": {
    "id": "ABC123",
    "name": "My Metric",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Metric"
  },
  "settings": {
    "isSecurityBlock": false,
    "dataType": "BlockDataType_Number"
  }
}

MetricUpdated

A Metric was updated, for example, renamed.

The type of update is specified in the type parameter:

  • rename: Metric was renamed.

  • settings: Metric configuration changed, for example Block settings.

  • formula: Formula on the Metric was changed.

If the Metric is a security Metric, it has the following additional parameter settings:

  • isSecurityBlock: This value is true.

  • dataType: This is one of the following:
    - BlockDataType_Permissions
    - BlockDataType_AccessRights

{
  "entity": {
    "id": "ABC123",
    "name": "My Metric",
    "application": {
      "id": "ABC123",
      "name": "test app"
    },
    "entityType": "Metric"
  },
  "settings": {
    "isSecurityBlock": false,
    "dataType": "BlockDataType_Number"
  },
  "type": "Settings"
}

MetricDeleted

A Metric was deleted.

If the Metric is a security Metric, it has the following additional parameter settings:

  • isSecurityBlock: This value is true.

  • dataType: This is one of the following:
    - BlockDataType_Permissions
    - BlockDataType_AccessRights

{
  "entity": {
    "id": "ABC123",
    "name": "My Metric",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Metric"
  },
  "settings": {
    "isSecurityBlock": false,
    "dataType": "BlockDataType_Number"
  }
}

MetricDataChanged

The data in a Metric changed due to an input or import.

If the Metric is a security Metric, it has the following additional parameter settings:

  • isSecurityBlock: this value is true.

  • dataType: this is one of the following:
    - BlockDataType_Permissions
    - BlockDataType_AccessRights

{
  "entity": {
    "id": "ABC123",
    "name": "My Metric",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Metric"
  },
  "settings": {
    "isSecurityBlock": false,
    "dataType": "BlockDataType_Number"
  }
}

Temporary Metrics in Pigment

Using the Formula Playground in Pigment can result in the audit trail logging Metric events on temporary metrics. You can identify these from the name of the Metric from within the entity . It has a prefix Formula Playground.
For example:

{
"entity":
{
"id":"ABC123",
"name":"Formula Playground ABC123",
"application":
{
"id":"ABC123",
"name":"My App"
},
"entityType":"Metric"
},
"settings":
{
"isSecurityBlock":false,
"dataType":"BlockDataType_Number"
}
}

Table event types

Audit Log Event Type

Description

Sample Payload

TableDeleted

A Table was deleted.

{
  "entity": {
    "id": "ABC123",
    "name": "My Table",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Table"
  },
  "settings": {
    "isSecurityBlock": false
  }
}

TableCreated

A Table was created.

{
  "entity": {
    "id": "ABC123",
    "name": "My Table",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Table"
  },
  "settings": {
    "isSecurityBlock": false
  }
}

TableUpdated

A Table was updated, for example a Metric was added.

The type of update is specified in the update_type parameter:

  • rename: Dimension List was renamed.

  • settings: Table settings updated, for example Metrics changed.

{
  "entity": {
    "id": "ABC123",
    "name": "My Table",
    "application": {
      "id": "ABC123",
      "name": "test app"
    },
    "entityType": "Table"
  },
  "settings": {
    "isSecurityBlock": false
  },
  "type": "Settings"
}

Boards event types

Audit Log Event Type

Description

Sample Payload

BoardUpdated

A Board was updated, for example, adding a widget, and so on.

When the permissions on a Board is updated, this event is also logged.

 {
 "entity": {
    "id": "ABC123",
    "name": "My Board",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Board"
  }

BoardCreated

A Board was created.

 {
 "entity": {
    "id": "ABC123",
    "name": "My Board",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Board"
  }

BoardDeleted

A Board was deleted.

 {
 "entity": {
    "id": "ABC123",
    "name": "My Board",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Board"
  }

BoardAccessed

A Board was accessed by a Member.
Note: event tracked since the 2024-10-22

 {
 "entity": {
    "id": "ABC123",
    "name": "My Board",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Board"
  }

List event types

Audit Log Event Type

Description

Sample Payload

DimensionListCreated

A Dimension List was created.

If the Dimension is a Role Dimension, there will be an additional parameter setting:

  • isSecurityBlock: true.

{
  "entity": {
    "id": "ABC123",
    "name": "My Dimension",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Dimension"
  },
  "settings": {
    "isSecurityBlock": false
  }
}

DimensionListUpdated

A Dimension List was updated.

The type of update is specified in the update_type parameter:

  • rename: Dimension List was renamed.

  • settings: List settings updated, for example Properties added.

  • Block settings.

  • formula: Formula on the List property was changed.

If the Dimension is a Role dimension, it has the following additional parameter setting:

  • isSecurityBlock:  true.

{
  "entity": {
    "id": "ABC123",
    "name": "My Dimension",
    "application": {
      "id": "ABC123",
      "name": "My Ap"
    },
    "entityType": "Dimension"
  },
  "settings": {
    "isSecurityBlock": false
  },
  "type": "Settings"
}

DimensionListDeleted

A Dimension List was deleted.

If the Dimension is a Role dimension, it has the following additional parameter setting:

  • isSecurityBlock:  true.

{
  "entity": {
    "id": "ABC123",
    "name": "My Dimension",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Dimension"
  },
  "settings": {
    "isSecurityBlock": false
  }
}

DimensionDataChanged

The data on a Dimension changed, for example, due to an input or an import.

This event is also logged if the order of items on a List was changed.

If the Dimension is a Role dimension, it has the following additional parameter setting:

  • isSecurityBlock: true.

{
  "entity": {
    "id": "ABC123",
    "name": "My Dimension",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Dimension"
  },
  "settings": {
    "isSecurityBlock": false
  }
}

TransactionListCreated

A Transaction List was created.

{
  "entity": {
    "id": "ABC123",
    "name": "My Transaction List",
    "application": {
      "id": "ABC123",
      "name": "My Application"
    },
    "entityType": "TransactionList"
  },
  "settings": {
    "isSecurityBlock": false
  }
}

TransactionListDataChanged

The data on a Transaction List changed, for example, due to an input or an import.

This event is also logged if the order of items on a List was changed.

{
  "entity": {
    "id": "ABC123",
    "name": "My Transaction List",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "TransactionList"
  },
  "settings": {
    "isSecurityBlock": false
  }
}

TransactionListDeleted

A Transaction List was deleted.

{
  "entity": {
    "id": "ABC123",
    "name": "My Table",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Table"
  },
  "settings": {
    "isSecurityBlock": false
  }
}

TransactionListUpdated

A Transaction List was updated.

The type of update is specified in the update_type parameter:

  • rename: Dimension List was renamed.

  • settings: List settings updated, for example properties added.

  • Block settings.

  • formula: Formula on the List Property was changed.

{
  "entity": {
    "id": "ABC123",
    "name": "My Transaction List",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "TransactionList"
  },
  "settings": {
    "isSecurityBlock": false
  },
  "type": "Settings"
}

API Key Management event types

Audit Log Event Type

Description

Sample Payload

APIKeyCreated

An API key was created.

This applies for all API key types.

The type field specifies the key type:

  • SecurityAudit - Audit Logs API key

  • Import - Import API key

  • Export - Export API key

  • UserProvisioning - SCIM Provisioning

actOnBehalfOfKeyOwner confirms if the API key uses the credentials of the user who owns the API key (represented by the ownerID). It has a value of true or false.

ownerId indicates the user ID of the user who created the API key.

{
  "id": "ABC123",
  "type": "SecurityAudit",
  "name": "My API Key",
  "expirationDate": "2025-01-04T14:42:14.397Z",
  "actOnBehalfOfKeyOwner": true,
  "ownerId": "ABC123"
}

APIKeyRevoked

An API key was deleted.

This applies for all API key types.

The type field specifies the key type:

  • SecurityAudit - Audit Logs API key

  • Import - Import API key

  • Export - Export API key

  • UserProvisioning - SCIM Provisioning

actOnBehalfOfKeyOwner confirms if the API key uses the credentials of the user who owns the API key (represented by the ownerID). It has a value of true or false.

ownerId indicates the user ID of the user who created the API key.

{
  "id": "ABC123",
  "type": "SecurityAudit",
  "name": "My API Key",
  "expirationDate": "2025-01-04T14:42:14.397Z",
  "actOnBehalfOfKeyOwner": true,
  "ownerId": "ABC123"
}

APIKeyRenamed

An API key was renamed.

This applies for all API key types.

The type field specifies the key type:

  • SecurityAudit - Audit Logs API key

  • Import - Import API key

  • Export - Export API key

  • UserProvisioning - SCIM Provisioning

actOnBehalfOfKeyOwner confirms if the API key uses the credentials of the user who owns the API key (represented by the ownerID). It has a value of true or false.

ownerId indicates the user ID of the user who created the API key.

{
  "id": "ABC123",
  "type": "SecurityAudit",
  "name": "My API Key",
  "expirationDate": "2025-01-04T14:42:14.397Z",
  "actOnBehalfOfKeyOwner": true,
  "ownerId": "ABC123"
}

APIKeyRenewed

An API key expiration date was updated.

This applies for all API key types.

The type field specifies the key type:

  • SecurityAudit - Audit Logs API key

  • Import - Import API key

  • Export - Export API key

  • UserProvisioning - SCIM Provisioning

actOnBehalfOfKeyOwner confirms if the API key uses the credentials of the user who owns the API key (represented by the ownerID). It has a value of true or false.

ownerId indicates the user ID of the user who created the API key.

{
  "id": "ABC123",
  "type": "SecurityAudit",
  "name": "My API Key",
  "expirationDate": "2025-01-04T14:42:14.397Z",
  "actOnBehalfOfKeyOwner": true,
  "ownerId": "ABC123"
}

IpAllowListCreated

An IP allow list was created.

 {
	"id": "ABC123",
	"name": "IP allow list name",
	"description": "IP allow list description",
	"ipRanges": [
		"1.1.1.0/24"
	],
	"isDefaultForApiKey": true,
	"createdAt": "2025-02-04T13:33:46.744Z",
	"assignedApiKeyIds": []
}

IpAllowListUpdated

An IP allow list was updated.

 {
	"id": "ABC123",
	"name": "IP allow list name",
	"description": "IP allow list description",
	"ipRanges": [
		"1.1.1.0/24"
	],
	"isDefaultForApiKey": true,
	"createdAt": "2025-02-04T13:33:46.744Z",
	"assignedApiKeyIds": []
}

IpAllowListDeleted

An IP allow list was deleted.

 {
	"id": "ABC123",
	"name": "IP allow list name",
	"description": "IP allow list description",
	"ipRanges": [
		"1.1.1.0/24"
	],
	"isDefaultForApiKey": true,
	"createdAt": "2025-02-04T13:33:46.744Z",
	"assignedApiKeyIds": []
}

AssignedApiKeysUpdated

An IP allow list was linked manualy to an API key.

 {
	"id": "ABC123",
	"name": "IP allow list name",
	"description": "IP allow list description",
	"ipRanges": [
		"1.1.1.0/24"
	],
	"isDefaultForApiKey": true,
	"createdAt": "2025-02-04T13:33:46.744Z",
	"assignedApiKeyIds": []
}

DefaultIpAllowListSet

An IP allow list was set as default allow list.

 {
	"id": "ABC123",
	"name": "IP allow list name",
	"description": "IP allow list description",
	"ipRanges": [
		"1.1.1.0/24"
	],
	"isDefaultForApiKey": true,
	"createdAt": "2025-02-04T13:33:46.744Z",
	"assignedApiKeyIds": []
}

DefaultIpAllowListCleared

The default allow list was cleared.

 {
	"id": "ABC123",
	"name": "IP allow list name",
	"description": "IP allow list description",
	"ipRanges": [
		"1.1.1.0/24"
	],
	"isDefaultForApiKey": true,
	"createdAt": "2025-02-04T13:33:46.744Z",
	"assignedApiKeyIds": []
}

Data Export event types

Audit Log Event Type

Description

Sample Payload

DataExported

Data exported from any Pigment block using the Pigment Export API will be logged in this event. If data is exported through the Pigment UI, only Dimension and Transaction Lists have this event. Successful calls from MCP data tools (e.g. query_data, get_metric_description, get_metric_context, fetch_metric_data, fetch_list_data) also log this event, naming the Metric or List and its Application (the returned values are not included).

{
  "entity": {
    "id": "ABC123",
    "name": "My Dimension",
    "application": {
      "id": "ABC123",
      "name": "My App"
    },
    "entityType": "Dimension"
  }
}

Application Security Settings event types

Audit Log Event Type

Description

Sample Payload

InheritanceSettingsUpdated

Data access rights inheritance options were updated in the application.

In the settings field:

  • The value for  allowResetAccessRightsForSharedBlocksDependencies  is equal to true  when the setting to allow the use of RESETACCESSRIGHTS on Shared Blocks is activated.

  • The value for disableAccessRightsInheritanceForBlocksInApp is equal to true when the setting to remove inheritance throughout the entire Application is activated.

{
"application":
{
"id":"ABC123",
"name":"My Application"},
"settings":
{
"allowResetAccessRightsForSharedBlocksDependencies":false
}
}

AccessRightsRuleCreated

When a data access rights rule is created, this event is logged.

Details available in the payload:
settings contains the following parameters:

  • read: The value will be true if either the Read option or Read and Write option is selected

  • write: The value will be true if either the Write option only or Read and Write option is selected

  • applyRule: The value will be true if the rule is created to “apply”, false if the rule created is set to “do not apply”

accessRightsMetric contains details (name, id, application) about the access rights type Metric that is created for the configuration.

ruleAppliesTo contains details about the selected options for where the rule is set in the application. Depending on the settings for the rule, the following information will be logged:

  • all: The value will be true if the rule is set for All Metrics and List Properties in the Application.

  • singleMetric :

    • This parameter will be logged if the rule is set for Specific Metric(s)

    • The specific Metric details will be logged in this parameter (metric id, name)

    • There will be a single event per Metric where the rule is added

  • metricsUsingSpecificDimensions :

    • This parameter will be logged if the rule is set for All Metrics using specific Dimension(s)

    • The Dimension details will be logged (dimension id, name)

  • listProperty:

    • This parameter will be logged if the rule is set on a List Property through either the Specific List Properties or List Items Values options

    • There will be a single event per List Property where the rule is added.

    • This parameter will contain the details of the Dimension or Transaction List where the rule is set

    • This parameter will contain details of the Property on which the rule is set (propertyId, propertyName)

    • If a Dimension is mapped to a Property on the List, this parameter will contain details of the mapped Dimension (id and name), as well as the details of the Property which the Dimension is mapped to (mappedToId and mappedToName)

{"application":
{"id":"ABC123","name":"My Application"},
"settings":
{
"read":true,
"write":true,
"applyRule":true,
"accessRightsMetric":
{
"id":"ABC123",
"name":"My access rights Metric",
"application":
{
"id":"ABC124",
"name":"My Application"
},
"entityType":"Metric"
},
"ruleAppliesTo":
{
"singleMetric":
{
"metric":
{
"id":"ABC123",
"name":"My Metric",
"application":
{
"id":"ABC123","name":"My Applicatio"},
"entityType":"Metric"
}}}}}

AccessRightsRuleDeleted

When a data access rights rule is deleted, this event is logged.

Details available in the payload:
settings contains the following parameters:

  • read: The value will be true if either the Read option or Read and Write option is selected

  • write: The value will be true if either the Write option only or Read and Write option is selected

  • applyRule: The value will be true if the rule is created to “apply”, false if the rule created is set to “do not apply”

accessRightsMetric contains details (name, id, application) about the access rights type Metric that is created for the configuration.

ruleAppliesTo contains details about the selected options for where the rule is set in the Application. Depending on the settings for the rule, the following information will be logged:

  • all: The value will be true if the rule is set for All Metrics and List Properties in the Application.

  • singleMetric :

    • This parameter will be logged if the rule is set for Specific Metric(s)

    • The specific Metric details will be logged in this parameter (metric id, name)

    • There will be a single event per Metric where the rule is added

  • metricsUsingSpecificDimensions :

    • This parameter will be logged if the rule is set for All Metrics using specific Dimension(s)

    • The Dimension details will be logged (dimension id, name)

  • listProperty:

    • This parameter will be logged if the rule is set on a list property through either the Specific List Properties or List Items Values options

    • There will be a single event per List Property where the rule is added.

    • This parameter will contain the details of the Dimension or Transaction List where the rule is set.

    • This parameter will contain details of the Property on which the rule is set (propertyId, propertyName)

    • If a Dimension is mapped to a Property on the List, this parameter will contain details of the mapped Dimension (id and name), as well as the details of the Property which the Dimension is mapped to (mappedToId and mappedToName)

{
"application":
{
"id":"ABC123",
"name":"My Application"
},
"settings":
{
"read":true,
"write":true,
"applyRule":true,
"accessRightsMetric":
{
"id":"ABC123",
"name":"My access rights Metric",
"application":
{
"id":"ABC123","name":"My Application"
},
"entityType":"Metric"
},
"ruleAppliesTo":
{
"metricsUsingSpecificDimensions":
{
"dimensions":
[{"id":"ABC123","name":"My Dimension",
"application":
{"id":"ABC123","name":"My Application"},
"entityType":"Dimension"},
{"id":"ABC123","name":"My Dimension 2",
"application":
{"id":"ABC123","name":"My Application"},"entityType":"Dimension"
}]}}}}

Model Context Protocol (MCP) and MCP Set-up event types

MCP tool calls that modify data or return data create audit events tagged with user.agent = PublicMcp alongside the user actor:

  • Authentication. Connecting an MCP client logs a UserLoggedIn event.

  • Write tools. Actions that create or update Metrics, Lists, Boards, Views, access rules, or data inputs log the same events as the UI (for example, MetricCreated, BoardUpdated, MetricDataChanged).

  • Data tools. Successful calls to data tools (query_data, get_metric_description, get_metric_context, fetch_metric_data, and fetch_list_data) log a DataExported event for each call. The event specifies the Metric or List and its Application, but does not include the returned values.

  • Metadata tools. Tools that only read metadata (such as get_applications, search_metrics_and_lists, search_boards, semantic_search, and get_views) do not log audit events.

MCP setup event types

The following table lists the events logged when MCP is set up or changed for your organization, and when an MCP client connects to the MCP server. These events are available only through the Audit Logs API. Each event records who performed the action and when.

Audit Log Event Type

Description

McpConfigurationCreated

An admin selects Enable MCP Server for the first time. MCP is then on.

McpConfigurationEnabled

An admin turns MCP on but not for the first time. Only admins with the Manage Integrations permission can do this. The event is written only if the change fully works.

McpConfigurationDisabled

An admin turns MCP off. Only admins with the Manage Integrations permission can do this. The event is written only if the change fully works.

McpRedirectUriCreated

An admin adds an entry in Allowed MCP Clients. The UI calls these URLs "Callback URL". The event names say "RedirectUri".

McpRedirectUriDeleted

An admin removes an entry in Allowed MCP Clients. The UI calls these URLs "Callback URL". The event names say "RedirectUri".

McpRedirectUriEnabled

An admin enables an entry in Allowed MCP Clients. The UI calls these URLs "Callback URL". The event names say "RedirectUri".

McpRedirectUriDisabled

An admin disables an entry in Allowed MCP Clients. The UI calls these URLs "Callback URL". The event names say "RedirectUri".

McpConnectorRegistered

An AI client registers with the organization's MCP server. It can happen more than once for the same client, not only the first time. The actor is Pigment System, because the MCP client is not a signed-in Member.

UserLoggedIn

A user signs in through an MCP client. This is a separate event. For MCP, it shows the client ID and the callback URL.

Agent Connector event types

The following table lists the events logged when Agent connectors are set up or used. Agent connectors are third-party tools that Pigment Agents use. These events are available only through the Audit Logs API. For more information about Agent connectors, see Set up Agent connectors.

Audit Log Event Type

Description

McpAgentConnectorEnabled

An Agent connector was turned on.

McpAgentConnectorDisabled

An Agent connector was turned off.

McpAgentConnectorCredentialsCreated

A Member connects to a connector.

McpAgentConnectorCredentialsRefreshed

Access to an Agent connector was refreshed. This is created automatically when an Agent uses a connector and the access is about to expire.

McpAgentConnectorTokenRevoked

Access is revoked. This happens when a Member disconnects, and when an admin turns a connector off. One disconnect can create two events (one for each token). If the connector does not support revocation, a disconnect creates no event. There is no separate "disconnected" event.

McpAgentConnectorToolCreated

A tool was found in an Agent connector and added.

McpAgentConnectorToolMarkedUnavailable

A tool that was added earlier is no longer available in the Agent connector, so it was marked as unavailable.

McpAgentConnectorToolPolicyCreated

A policy was set for a tool or tool group in an Agent connector.

McpAgentConnectorToolPolicyUpdated

The policy of a tool or tool group was changed, for example from Always allow to Blocked.