---
title: "Journal"
source: /de/gcxone/api/audit
locale: de
updated: 2026-09-04
---
Operationen auf Journal-Ressourcen. 5 Endpunkte, jeweils relativ zu `https://api.nxgen.cloud/api/v1` und authentifiziert wie unter [Authentication](/gcxone/api/authentication).

## POST /log/audit

Neuen Journal‑Eintrag hinzufügen. Im Allgemeinen erfassen alle CRUD‑APIs die Benutzeraktionen im Journal, wenn die API erfolgreich ausgeführt wird. Diese AUDIT‑POST‑API wird verwendet, um Benutzerinteraktionen zu protokollieren, die über andere API‑Aufrufe nicht erfasst werden können.

### Request body

Journal‑Filterung und -Sortierung

```json
{
  "action": "string",
  "category": "string",
  "mqttPush": "boolean",
  "payload": {
    "sourceEntityLevel": "sensor | device | site | account",
    "sourceEntityId": "string"
  },
  "deltaPayload": "string",
  "source": "string",
  "subCategory": "string",
  "userAction": "string",
  "actionStatus": "string",
  "actionTime": "number",
  "workflowId": "string",
  "workflowName": "string",
  "userName": "string"
}
```

### Responses

| Status | Description | Body |
| --- | --- | --- |
| 200 | Success | object |
| 204 | Kein Inhalt |  |
| 400 | Ungültige Eingabe |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |

Beispiel`200`Antwort

```json
{
  "data": "Audit added successfully"
}
```

## GET /log/audit/eventlist/workflowid/{id}

Liste der Ereignisse zu einem Workflow abrufen.

### Parameter

| Name | In | Typ | Erforderlich | Beschreibung |
| --- | --- | --- | --- | --- |
| id | Pfad | string | Ja | Arbeitsablauf-ID |

### Antworten

| Status | Beschreibung | Inhalt |
| --- | --- | --- |
| 200 | Erfolg | Objekt |
| 400 | Ungültige Eingabe |  |
| 403 | Verboten |  |

Beispiel `200` Antwort:

```json
{
  "data": {
    "errorCode": 0,
    "errorMessage": "if errorCode above is a negative number then this errorMessage field will give more details.",
    "message": [
      "62cba820173001197cf10420",
      "62cbac84a520010f074a4403"
    ]
  }
}
```

Beispiel `400` Antwort:

```json
{
  "errorCode": "ERR001",
  "errorDesc": "Invalid Request"
}
```

## POST /log/audit/filter

Ruft Journal‑Protokolle mit Filterung, Sortierung und Paginierung ab. Es ermöglicht die Suche nach hierarchischer Ebene. Es kann anhand einer angegebenen Hierarchie gefiltert werden oder verwendet die Hierarchie des angemeldeten Benutzers. Dies bietet die Möglichkeit, zusätzliche Entitätsfelder in der Antwort zu erhalten. Außerdem werden Konfigurations‑Metadaten zur Entität bereitgestellt.

### Anfrage‑Body

Journal‑Filterung und -Sortierung

```json
{
  "filters": [
    {
      "columnName": "string (required)",
      "type": "distinctList | date | number | StringConditionFilter (required)",
      "filter": "object (required)"
    }
  ],
  "sortOrder": [
    {
      "columnName": "string",
      "isAscending": "boolean"
    }
  ],
  "primaryColumns": [
    "string"
  ],
  "hierarchyLevel": "string",
  "hierarchyId": "string",
  "nPerPage": "number",
  "pageNumber": "number",
  "isConfigDetailRequired": "boolean",
  "getConfig": "boolean",
  "getChildOrParent": "boolean"
}
```

### Antworten

| Status | Beschreibung | Body |
| --- | --- | --- |
| 200 | Erfolg | Objekt |
| 204 | Kein Inhalt |  |
| 400 | Ungültige Eingabe |  |
| 401 | Nicht autorisiert |  |
| 403 | Verboten |  |

Beispiel `200` Antwort:

```json
{
  "config": {
    "columns": [
      {
        "visibility": true,
        "columnName": "commercialName",
        "DisplayName": "Audit",
        "isFilterable": true,
        "filterType": "stringCondition",
        "sticky": true,
        "isRightBorder": true,
        "isMandatory": true,
        "isNotDraggable": true
      }
    ],
    "defaultNPerPage": 50,
    "defaultFilterCondition": [],
    "defaultSortingOrder": [
      {
        "columnName": "dateTime",
        "isAscending": false
      }
    ],
    "maxVisibleColumnCount": 6,
    "exportLimitNPerPage": 500
  },
  "dataResult": [
    {
      "action": "Search or Tree node click",
      "actionStatus": "Success",
      "category": "Video Activity Search",
      "sourceEntityName": "8428 Moll Kaarst Lackierhalle",
      "subCategory": "Search",
      "timeStamp": 1656405046000,
      "userAction": "Event search result has been fetched",
      "userEmail": "admin@tenant.de",
      "deltaPayload": "Import Report"
    }
  ],
  "totalRecordsCount": 3552,
  "filteredBy": [],
  "sortedBy": [
    {
      "columnName": "dateTime",
      "isAscending": false
    }
  ],
  "dispatchedAll": false,
  "isDefaultProjectionMutated": false,
  "isDefaultFilterMutated": false,
  "isDefaultSortingMutated": false
}
```

## GET /log/audit/report/workflowid/{id}/timezone/{tzone}

Eine PDF‑Datei mit Workflow‑Details.

### Parameter

| Name | Im | Typ | Erforderlich | Beschreibung |
| --- | --- | --- | --- | --- |
| id | path | string | Ja | Workflow‑ID |
| tzone | path | string | nein | Zeitzone der Client‑Anwendung. |

### Antworten

| Status | Beschreibung | Inhalt |
| --- | --- | --- |
| 200 | Erfolg |  |
| 400 | Ungültige Eingabe |  |
| 403 | Verboten |  |

## POST /log/eventlog

Liste der Ereignisprotokolle für eine bestimmte Entität abrufen.

### Anfragetext

Ereignisprotokolle abrufen.

```json
{
  "entityId": "string",
  "startTime": "number",
  "endTime": "number",
  "page": "number"
}
```

### Antworten

| Status | Beschreibung | Inhalt |
| --- | --- | --- |
| 200 | Erfolg | Objekt |
| 400 | Ungültige Eingabe |  |
| 403 | Verboten |  |
| 404 | Nicht gefunden |  |

Beispiel `200` antwort:

```json
{
  "data": {
    "errorCode": 0,
    "message": {
      "eventLogs": [
        {
          "workFlowId": "8a81bc4c820160182151cd2e86160",
          "type": "WORKFLOW",
          "timestamp": 1658211586783,
          "userName": "Christian John",
          "status": "CLOSED",
          "workflowOutcome": "alarm_false",
          "message": "Verbindungsausfall V1.1",
          "workflowOutcomeName": "Falsealarm"
        }
      ],
      "nextPage": 1
    }
  }
}
```

Beispiel `400` antwort:

```json
{
  "errorCode": "ERR001",
  "errorDesc": "Invalid Request"
}
```

Beispiel `404` antwort:

```json
{
  "errorCode": "404",
  "errorDesc": "Not Found"
}
```