Skip to main content
Skip table of contents

Enhanced Auditing Capabilities


Early Access provides an opportunity to explore our latest features before they are released to the world! These features are still in-development, so we would love your feedback.

Instructions for enabling Early Access Features

How to enable Early Access features

  1. Go to Administration → Server Settings
  2. Navigate to the Early Access tab
  3. Toggle the Early Access features that you would like to enable

Purpose

This document describes the event payload data that can be contained in your audit data. You can query the audit information via the REST API of the iGrafx Process Design application.

API Endpoint

The general API endpoint to retrieve your audit information is

CODE
https://YOUR_SUBDOMAIN.igrafxcloud.com/api/auditevents

Calling it without any additional parameters will return the last 24 hours of audit information, with the data format outlined below under General Payload Structure

To query older data, you will have to append the query parameter secondThreshold to your URL. It determines the amount of historic audit data to retrieve, and by default is set to 86400 seconds (24 hours). For example, to retrieve the last 30 days of audit information, you can use the following URL:

CODE
https://YOUR_SUBDOMAIN.igrafxcloud.com/api/auditevents?secondThreshold=2592000

General Payload Structure

A general audit event will have the following data structure, and then custom data relevant to the specific type and category of the event. We describe the general structure here and provide additional examples of specific audit events for analysis in the table under Available Specific Data.

Basic Audit Event Payload

JS
{
        "uuid": "558ff7b4-7fd2-459c-9b2d-4a3d5d0fc306",
        "platformVersion": "18.3.1.925-develop",
        "eventCategory": "SECURITY",
        "eventType": "loginsuccess",
        "principal": "firstname.lastname@company.com",
        "eventData": {},
        "timestamp": "2023-08-08T04:26:58.919+00:00"
}

The fields are as follows

Field nameContent/Purpose
uuid Contains a unique identifier for the event
platformVersion The version the Process Design app was running at the time of the event
eventCategory Category for the event (see Category column in the below table)
eventType Specific event type (see Event Type column in the below table)
principal The authenticated user or entity that triggered the event
eventData A custom payload that is different per event, see the below table
timestamp The timestamp of the event, either as ISO-8601 string or numeric timestamp

Available Specific Data

In addition to the generic fields listed above, each action may have additional information

User ActionEvent TypeCategory eventData payload
Create Local User In Platformcreate-userUSER_MANAGEMENT
CODE
"eventData": {
    "user": {
        "id": "637",
        "loginName": "firstname.lastname@company.com",
        "firstName": "Firstname",
        "lastName": "Lastname",
        "email": "firstname.lastname@company.com"
    }
}
Update User Details In Platformupdate-userUSER_MANAGEMENT
CODE
"eventData": {
    "userBefore": {
        "firstName": "Old firstname",
        "lastName": "Old lastname",
        "loginName": "oldfirstname.oldlastname@company.com",
        "userDirectoryType": "LOCAL",
        "id": "637",
        "email": "oldfirstname.oldlastname@company.com",
        "enabled": "true"
    },
    "userAfter": {
        "firstName": "New firstname",
        "lastName": "New lastname",
        "loginName": "newfirstname.newlastname@company.com",
        "userDirectoryType": "LOCAL",
        "id": "637",
        "email": "newfirstname.newlastname@company.com",
        "enabled": "false"
    }
}
Delete User In Platformdelete-userUSER_MANAGEMENT
CODE
"eventData": {
    "user": {
        "loginName": "firstname.lastname@company.com",
        "firstName": "Firstname",
        "lastName": "Lastname",
        "userDirectoryType": "LOCAL",
        "id": "637",
        "email": "firstname.lastname@company.com",
        "enabled": "true"
    }
}
Create Local User Via APIcreate-user-apiUSER_MANAGEMENT
CODE
"eventData": {
    "user": {
        "id": "637",
        "loginName": "firstname.lastname@company.com",
        "firstName": "Firstname",
        "lastName": "Lastname",
        "email": "firstname.lastname@company.com"
    }
}
Update User Details Via APIupdate-user-apiUSER_MANAGEMENT
CODE
"eventData": {
    "userBefore": {
        "firstName": "Old firstname",
        "lastName": "Old lastname",
        "loginName": "oldfirstname.oldlastname@company.com",
        "userDirectoryType": "LOCAL",
        "id": "637",
        "email": "oldfirstname.oldlastname@company.com",
        "enabled": "true"
    },
    "userAfter": {
        "firstName": "New firstname",
        "lastName": "New lastname",
        "loginName": "newfirstname.newlastname@company.com",
        "userDirectoryType": "LOCAL",
        "id": "637",
        "email": "newfirstname.newlastname@company.com",
        "enabled": "false"
    }
}
Delete User Via APIdelete-user-apiUSER_MANAGEMENT
CODE
"eventData": {
    "user": {
        "loginName": "firstname.lastname@company.com",
        "firstName": "Firstname",
        "lastName": "Lastname",
        "userDirectoryType": "LOCAL",
        "id": "637",
        "email": "firstname.lastname@company.com",
        "enabled": "true"
    }
}
Navigate to Object Tab in Platform Model Areaload-object-tabOBJECTS
CODE
"eventData": {
    "objectId": "568331",
    "repository": "repo",
    "version": "-1",
    "tab": "itemprops"
}
Bulk operation requestedcreate-bulk-operationOBJECTS
CODE
"eventData": {
    "bulkOperations": [
    	{
        	"bulkOperationType": "Relationship_Remove",
			"objectIds": [223,1245],
        	"changeParameters": [
            	{
                	"relationshipType": "RACIC",
                	"slot": 2,
					"targetObjectIds": [1236]
            	}
        	]
    	},
    	{
        	"bulkOperationType": "Relationship_Add",
			"objectIds": [223,1245],
        	"changeParameters": [
            	{
                	"relationshipType": "RACIC",
					"targetObjectIds": [193,196]
            	}
        	]
    	}
	]
}
View Web Diagramview-diagram-dataDIAGRAMMING
CODE
"eventData": {
    "repository": "testRepo",
    "objectId": "9197",
    "version": "0"
}
View Full Diagram Narrativeview-full-narrativeNARRATIVE
CODE
"eventData": {
    "repository": "repo",
    "objectId": "9375",
    "objectVer": "0",
    "narrativeId": "21",
    "version": "0"
}
View Diagram SOP Narrativeview-sop-narrativeNARRATIVE
CODE
"eventData": {
    "repository": "repo",
    "diagramId": "9375",
    "diagramVersion": "6",
    "narrativeId": "21",
    "narrativeVersion": "0"
}
View Shape Narrativeview-shape-narrativeNARRATIVE
CODE
"eventData": {
  "repository": "repo",
  "diagramId": "7451",
  "diagramVersion": "1",
  "narrativeId": "1327",
  "narrativeVersion": "0",
  "shapeId": "121"
}
View Path Narrativeview-path-narrativeNARRATIVE
CODE
"eventData": {
    "repository": "repo",
    "diagramId": "8906",
    "diagramVersion": "2",
    "narrativeId": "21",
    "narrativeVersion": "0",
    "pathId": "1",
    "shapeIds": {
        "shape1": "4",
        "shape2": "6",
        "shape3": "7",
        "shape4": "8",
        "shape5": "9"
    }
}
Successful LoginloginsuccessSECURITYNot applicable
Successful App Token LoginapptokensuccessSECURITY
CODE
"eventData": {
    "TokenId": "03jfgj903-5cd1-4d11-a877-410b666194c0"
}
Changing a Feature Flag via the REST APIset-feature-flag-apiSETTINGS
CODE
"eventData": {
  "featureFlagGuid": "3gg45532-df8e-48ce-a41c-0427e7d75155",
  "setActive": "true"
}
Reading the Feature Flag Status via the REST APIget-feature-flag-apiSETTINGS
CODE
"eventData": {
    "featureFlagGuid": "3gg45532-df8e-48ce-a41c-0427e7d75155"
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.