Skip to main content
Skip table of contents

Enhanced Auditing Capabilities

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.

Enabling the Enhanced Auditing Capabilities

CLOUD ONLY

This feature is for iGrafx hosted instances only (cloud deployments). To enable the feature, navigate to the Admin → Server Settings → Support tab. At the bottom of the tab there will be a toggle switch to toggle on/off the enhanced audit feature.

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 name

Content/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 Action

Event Type

Category 

eventData payload

Create Local User In Platform

create-user

USER_MANAGEMENT


CODE
"eventData": {
    "user": {
        "id": "637",
        "loginName": "firstname.lastname@company.com",
        "firstName": "Firstname",
        "lastName": "Lastname",
        "email": "firstname.lastname@company.com"
    }
}


Update User Details In Platform

update-user

USER_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 Platform

delete-user

USER_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 API

create-user-api

USER_MANAGEMENT


CODE
"eventData": {
    "user": {
        "id": "637",
        "loginName": "firstname.lastname@company.com",
        "firstName": "Firstname",
        "lastName": "Lastname",
        "email": "firstname.lastname@company.com"
    }
}


Update User Details Via API

update-user-api

USER_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 API

delete-user-api

USER_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 Area

load-object-tab

OBJECTS


CODE
"eventData": {
    "objectId": "568331",
    "repository": "repo",
    "version": "-1",
    "tab": "itemprops"
}


Bulk operation requested

create-bulk-operation

OBJECTS


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 Diagram

view-diagram-data

DIAGRAMMING


CODE
"eventData": {
    "repository": "testRepo",
    "objectId": "9197",
    "version": "0"
}


View Full Diagram Narrative

view-full-narrative

NARRATIVE


CODE
"eventData": {
    "repository": "repo",
    "objectId": "9375",
    "objectVer": "0",
    "narrativeId": "21",
    "version": "0"
}


View Diagram SOP Narrative

view-sop-narrative

NARRATIVE


CODE
"eventData": {
    "repository": "repo",
    "diagramId": "9375",
    "diagramVersion": "6",
    "narrativeId": "21",
    "narrativeVersion": "0"
}


View Shape Narrative

view-shape-narrative

NARRATIVE


CODE
"eventData": {
  "repository": "repo",
  "diagramId": "7451",
  "diagramVersion": "1",
  "narrativeId": "1327",
  "narrativeVersion": "0",
  "shapeId": "121"
}


View Path Narrative

view-path-narrative

NARRATIVE


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 Login

loginsuccess

SECURITY

Not applicable

Successful App Token Login

apptokensuccess

SECURITY


CODE
"eventData": {
    "TokenId": "03jfgj903-5cd1-4d11-a877-410b666194c0"
}


Changing a Feature Flag via the REST API

set-feature-flag-api

SETTINGS


CODE
"eventData": {
  "featureFlagGuid": "3gg45532-df8e-48ce-a41c-0427e7d75155",
  "setActive": "true"
}


Reading the Feature Flag Status via the REST API

get-feature-flag-api

SETTINGS


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.