Note
Prior to working with the Cinegy PCS REST API, the following components must be installed: .NET Runtime 6.0.19 and .NET 6.0.

Introduction

The Cinegy Process Coordination Service contains a simple set of REST API methods, which provide the user with simple access to Clients, Resources, and Tasks removing the extra complexity of SOAP API.

The REST API exposes Swagger UI, which visualizes and interacts with the API’s resources without having any of the implementation logic in place.

This version of the Cinegy PCS REST API is implemented as .NET 6.0 console application and provides read-only access to the following information:

Deployment

The first step is to deploy your Cinegy PCS REST API included in the Cinegy Convert installation package on the Cinegy Partner portal or the Cinegy Customer portal.

Having downloaded the Cinegy.Process.Rest package, extract the contents of the ZIP archive into a folder. This package is provided as a separate folder containing several files. Among them is the appsettings.json configuration file with application settings and the Cinegy.Process.Rest.exe file used to run as a console utility.

Application Settings

The appsettings.json configuration file is provided in the Cinegy PCS installation package, but after the first start of a console utility, it will be automatically copied into the Application Data folder: C:\ProgramData\Cinegy\Pcs.Rest.

Below is a version of the appsettings.json configuration file with a brief description:

{
  "ApplicationUrls": [ "http://*:8666" ],
  "LogAllHeaders": false,

  "Swagger": {
    "Enabled": true
  },
  "Tracing": {
    "Enabled": false,
    "ConsoleExporterEnabled": true,
    "OpenTelemetryExporterEnabled": true,
    "UseB3TracePropagation": true,
    "OpenTelemetryEndpoint": "http://localhost:4317"
  },
  "Metrics": {
    "Enabled": false,
    "ConsoleExporterEnabled": false,
    "OpenTelemetryExporterEnabled": true,
    "OpenTelemetryEndpoint": "https://otelcollector.cinegy.com",
    "OpenTelemetryPeriodicExportInterval": 10000
  },
  "Pcs": {
    "Endpoint": "http://localhost:8555/CinegyProcessCoordinationService/ICinegyProcessCoordinationService/soap",
    "HeartbeatFrequency": "00:00:15"
  }
}

ApplicationUrls defines a list of ports where the Cinegy PCS REST API should be hosted. The default URL is http://*:8666.

LogAllHeaders enables/disables logging of all incoming HTTP request headers into the application log.

The Swagger section enables/disables the Swagger UI for the Cinegy PCS REST API.

The Tracing section provides tracing control for the application. The following parameters can be configured here:

  • Enabled – enables/disables tracing for the application.

  • ConsoleExporterEnabled – enables/disables logging the telemetry messages to the console application.

  • OpenTelemetryExporterEnabled – enables/disables export of tracing messages for OpenTelemetry.

  • UseB3TracePropagation – activates/deactivates usage of B3 Propagation.

  • OpenTelemetryEndpoint – specifies the OpenTelemetry endpoint.

The Metrics section provides metrics control for the application. The following parameters can be configured here:

  • Enabled – enables/disables metrics tracing for the application.

  • ConsoleExporterEnabled – enables/disables logging the metrics messages to the console application.

  • OpenTelemetryExporterEnabled – enables/disables export of metrics messages for OpenTelemetry.

  • OpenTelemetryEndpoint – specifies the OpenTelemetry endpoint.

  • OpenTelemetryPeriodicExportInterval – specifies the metrics export interval.

The Pcs section defines Cinegy PCS configuration:

  • Endpoint – by default, the configuration is set to connect to the Cinegy PCS installed locally on the same machine (localhost) and use the default port 8555. In case the PCS is installed on another machine or another port should be used, the endpoint value should be modified:

    http://[server_name]:[port]/CinegyProcessCoordinationService/ICinegyProcessCoordinationService/soap

    where:

    • server_name – specifies the name or IP address of the machine where the Cinegy PCS is installed;

    • port – specifies the connection port configured in Cinegy PCS settings.

  • HeartbeatFrequency – time interval for the Cinegy PCS to report it is running properly.

Console Utility

The Cinegy.Process.Rest.exe file is provided in the Cinegy PCS installation package. It runs as a console utility used for connection to the Cinegy PCS and hosting of REST API for access according to the settings specified in the appsettings.json configuration file.

Run the Cinegy.Process.Rest.exe file. The following console window appears, informing you about the successful connection to the Cinegy PCS and hosting of REST API for access:

console

By default, the Cinegy PCS REST API is available at the following address:

REST API Methods

Here is provided a list of the REST API methods and parameters for core Cinegy.Process.Rest operations with brief descriptions.

Clients

Get Clients List

Returns the list of registered Cinegy Convert and Cinegy PCS clients according to the defined parameters (see table below) with their metadata as an XML text. The method is GET.

Parameter Description

start

The number of records to skip when paginating results.

count

The number of records to return when paginating results.

status

Retrieval of clients by status.

Note
Available values are: online, suspect, and offline.

order

Ordering of clients in the list.

Note
Available values are: creationTime, modificationTime.

orderDirection

Ordering direction of clients in the list by the specified criteria.

Note
Available values are: ascending, descending.
Curl
curl -X 'GET' \
  'http://localhost:8666/pcs/v1/clients/list' \
  -H 'accept: text/plain'
Request URL
http://<servername>:8666/pcs/v/clients/list

where:

  • <servername> is the host where Cinegy.Process.Rest is running; "localhost" is defined by default.

  • v is the REST API version.

Response Example
Response Body
{
  "items": [
    {
      "id": "e43282242697240b18b598c07cd4ac672280e703a9feedc35ff97229c7214a021cbd828c31200563",
      "type": "cinegy.convert.profile.editor",
      "name": "Cinegy Convert\\Profile Editor",
      "description": null,
      "version": null,
      "host": "PC1",
      "status": "offline",
      "registrationTime": "2023-07-17T17:21:13.2217671",
      "lastAccessTime": "2023-07-17T19:22:56.6414335",
      "parameters": {
        "cinegy.pcs.clientPermission.readResources": "true",
        "cinegy.pcs.clientPermission.modifyResources": "true"
      }
    },
  ...
    {
      "id": "f6ec33f0c218e9aa6fd3ebe919328e45ad599e4e15c4d07c126935f13739d98c4709a98df9e6f932",
      "type": "cinegy.process.coordination.explorer",
      "name": "Cinegy Process Coordination Explorer",
      "description": null,
      "version": null,
      "host": "ZT-09",
      "status": "offline",
      "registrationTime": "2023-06-01T14:53:38.1981198",
      "lastAccessTime": "2023-07-07T14:08:02.7879425",
      "parameters": {
        "cinegy.pcs.clientPermission.modifyResources": "true",
        "cinegy.pcs.clientPermission.modifyAttributeDescriptors": "true",
        "cinegy.pcs.clientPermission.readResources": "true",
        "cinegy.pcs.clientPermission.readAttributeDescriptors": "true",
        "cinegy.pcs.clientPermission.readClientsInformation": "true"
      }
    }
  ],
  "totalCount": 250,
  "start": 0,
  "limit": 20
}
Response Headers
 content-length: 13771
 content-type: application/json; charset=utf-8
 date: Fri,28 Jul 2023 10:16:12 GMT
 server: Kestrel
Response Schema
{
  "items": [
    {
      "id": "string",
      "type": "string",
      "name": "string",
      "description": "string",
      "version": {
        "major": 0,
        "minor": 0,
        "build": 0,
        "revision": 0,
        "majorRevision": 0,
        "minorRevision": 0
      },
      "host": "string",
      "status": "online",
      "registrationTime": "2023-07-28T10:16:12.196Z",
      "lastAccessTime": "2023-07-28T10:16:12.196Z",
      "parameters": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      }
    }
  ],
  "totalCount": 0,
  "start": 0,
  "limit": 0
}

Get Client ID Data

Returns resource metadata of specific Cinegy Convert or the Cinegy PCS client by its ID number as an XML text. The method is GET.

Parameter Description

id

Client ID number (can be taken from the Get Clients List)

Curl
curl -X 'GET' \
  'http://localhost:8666/pcs/v1/clients/cd36a9de22bc7657d20009980facee8998cfcf0915c4d07c126935f13739d98c4709a98df9e6f932' \
  -H 'accept: text/plain'
Request URL
http://<servername>:8666/pcs/v/clients/{id}

where:

  • <servername> is the host where Cinegy.Process.Rest is running; "localhost" is defined by default.

  • v is the REST API version.

  • {id} is the client ID number that you get using the Get Clients List.

Response Example
Response Body
{
  "id": "cd36a9de22bc7657d20009980facee8998cfcf0915c4d07c126935f13739d98c4709a98df9e6f932",
  "type": "cinegy.process.rest",
  "name": "Cinegy.Process.Rest",
  "description": null,
  "version": null,
  "host": "ZT-09",
  "status": 0,
  "registrationTime": "2023-07-17T14:47:53.7318464",
  "lastAccessTime": "2023-07-28T13:23:05.3932307",
  "parameters": {
    "cinegy.pcs.clientPermission.readClientFeatures": "true",
    "cinegy.pcs.clientPermission.readAttributeDescriptors": "true",
    "cinegy.pcs.clientPermission.readDatabaseOptions": "true",
    "cinegy.pcs.clientPermission.enumerateActiveTasks": "true",
    "cinegy.pcs.clientPermission.readClientsInformation": "true",
    "cinegy.pcs.clientPermission.readResources": "true"
  }
}
Response Headers
 content-length: 760
 content-type: application/json; charset=utf-8
 date: Fri,28 Jul 2023 10:23:14 GMT
 server: Kestrel
Response Schema
{
  "id": "string",
  "type": "string",
  "name": "string",
  "description": "string",
  "version": {
    "major": 0,
    "minor": 0,
    "build": 0,
    "revision": 0,
    "majorRevision": 0,
    "minorRevision": 0
  },
  "host": "string",
  "status": "online",
  "registrationTime": "2023-07-28T10:23:15.462Z",
  "lastAccessTime": "2023-07-28T10:23:15.462Z",
  "parameters": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  }
}

Resources

Get Resources List

Retrieves a list of registered Cinegy Convert resources according to the defined parameters (see table below) with their metadata as an XML text. The method is GET.

Parameter Description

start

The number of records to skip when paginating results.

count

The number of records to return when paginating results.

types

Additional filtering by resource types.

Note
Available values are: CinegyArchiveTarget, TranscodingConfiguration, FileStorageTarget, etc. If not defined, all resources are displayed.

order

Ordering of resources in the list.

Note
Available values are: creationTime, modificationTime.

orderDirection

Ordering direction of resources in the list by the specified criteria.

Note
Available values are: ascending, descending.

payload

Retrieves the payload of a resource.

Note
Available values are: true, false.
Curl
curl -X 'GET' \
  'http://localhost:8666/pcs/v1/resources/list' \
  -H 'accept: text/plain'
Request URL
http://<servername>:8666/pcs/v/resources/list

where:

  • <servername> is the host where Cinegy.Process.Rest is running; "localhost" is defined by default.

  • v is the REST API version.

Response Example
Response Body
{
  "items": [
    {
      "id": "338df4d9-e238-4f6c-9d65-0b7425396e4c",
      "type": "parameter",
      "name": "zt-playout5",
      "description": "zt-playout5",
      "version": null,
      "timestamp": 0,
      "creatorId": "bce0840da179b7f4b7c16b693ae0d7c2661db7c4a98b7795946635f7aac0ed23e21f44617311b0a9",
      "creatorHost": "ZT-PLAYOUT5",
      "creatorName": "Cinegy Process Coordination Explorer",
      "dependencies": {},
      "payload": null
    },
...
    {
      "id": "a2f8ab65-003b-4089-9d75-9a90dad083f0",
      "type": "CinegyArchiveTarget",
      "name": "Archive Ingest / Import Profile",
      "description": "",
      "version": null,
      "timestamp": 0,
      "creatorId": "110b68d5ddddc0f9ae3625f68d181941274dae07930c07328d41ab948b2f791f",
      "creatorHost": "ZT-09",
      "creatorName": "Cinegy Convert\\Profile Editor",
      "dependencies": {},
      "payload": null
    }
  ],
  "totalCount": 1047,
  "start": 0,
  "limit": 20
}
Response Headers
 content-length: 9846
 content-type: application/json; charset=utf-8
 date: Fri,28 Jul 2023 07:59:53 GMT
 server: Kestrel
Response Schema
{
  "items": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "type": "string",
      "name": "string",
      "description": "string",
      "version": {
        "major": 0,
        "minor": 0,
        "build": 0,
        "revision": 0,
        "majorRevision": 0,
        "minorRevision": 0
      },
      "timestamp": 0,
      "creatorId": "string",
      "creatorHost": "string",
      "creatorName": "string",
      "dependencies": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "payload": "string"
    }
  ],
  "totalCount": 0,
  "start": 0,
  "limit": 0
}

Get Resource ID Data

Retrieves a Cinegy Convert resource metadata by resource ID number. The method is GET.

Parameter Description

id

Resource ID number (can be taken from the Get Resources List)

Curl
curl -X 'GET' \
  'http://localhost:8666/pcs/v1/resources/c947f2ca-dcdf-41e9-98c2-fd3b07b91271' \
  -H 'accept: text/plain'
Request URL
http://<servername>:8666/pcs/v/resources/{id}

where:

  • <servername> is the host where Cinegy.Process.Rest is running; "localhost" is defined by default.

  • v is the REST API version.

  • {id} is the resource ID number that you get using the Get Resources List.

Response Example
Response Body
{
  "id": "338df4d9-e238-4f6c-9d65-0b7425396e4c",
  "type": "parameter",
  "name": "zt-playout5",
  "description": "zt-playout5",
  "version": null,
  "timestamp": 0,
  "creatorId": "bce0840da179b7f4b7c16b693ae0d7c2661db7c4a98b7795946635f7aac0ed23e21f44617311b0a9",
  "creatorHost": "ZT-PLAYOUT5",
  "creatorName": "Cinegy Process Coordination Explorer",
  "dependencies": {},
  "payload": ""
}
Response Headers
 content-length: 406
 content-type: application/json; charset=utf-8
 date: Fri,28 Jul 2023 10:37:39 GMT
 server: Kestrel
Response Schema
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "type": "string",
  "name": "string",
  "description": "string",
  "version": {
    "major": 0,
    "minor": 0,
    "build": 0,
    "revision": 0,
    "majorRevision": 0,
    "minorRevision": 0
  },
  "timestamp": 0,
  "creatorId": "string",
  "creatorHost": "string",
  "creatorName": "string",
  "dependencies": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "payload": "string"
}

Tasks

Get Tasks List

Retrieves a list of registered Cinegy Convert tasks for the current user according to the defined parameters (see table below) with their metadata as an XML text. The method is GET.

Parameter Description

start

The number of records to skip when paginating results.

count

The number of records to return when paginating results.

status

Retrieval of tasks by status.

Note
Available values are: inProgress, paused, suspended, pending, finished.

order

Ordering of tasks in the list.

Note
Available values are: priority, status, creationTime, modificationTime, handlerCreationTime, handlerFinishTime.

orderDirection

Ordering direction of tasks in the list by the specified criteria.

Note
Available values are: ascending, descending.
Curl
curl -X 'GET' \
  'http://localhost:8666/pcs/v1/tasks/list' \
  -H 'accept: text/plain'
Request URL
http://<servername>:8666/pcs/v/tasks/list

where:

  • <servername> is the host where Cinegy.Process.Rest is running; "localhost" is defined by default.

  • v is the REST API version.

Response Example
Response Body
{
  "items": [
    {
      "id": "73642d74-ff20-4b6c-84a5-f8ba0ee145e4",
      "type": null,
      "name": "Task file_example_MP4_640_3MG.mp4 - 27.07.2023 19:44:13",
      "description": null,
      "version": null,
      "creatorName": "Cinegy Convert\\Client",
      "creatorHost": "PC1",
      "creatorId": "",
      "creationTime": "2023-07-27T19:44:13.1472955",
      "modificationTime": "2023-07-27T19:44:15.6553817",
      "timestamp": 0,
      "priority": 100,
      "status": 0,
      "statusDescription": "Task is in progress.",
      "requirements": [],
      "metadata": {},
      "payload": {
        "Payload": "null",
        "type": "GenericTaskPayload"
      },
      "handlerId": "",
      "handlerName": "Cinegy Convert\\Agent Manager",
      "handlerHost": "ZT-09",
      "progress": null,
      "result": null
    },
...
    {
      "id": "7b30672e-6a83-4559-9b0c-d2454fa7bab8",
      "type": null,
      "name": "Task The Trail.mp4 - 27-Jule-23 13:29:00",
      "description": null,
      "version": null,
      "creatorName": "Cinegy Convert\\Monitor",
      "creatorHost": "ZT-106",
      "creatorId": "",
      "creationTime": "2023-07-27T13:29:00.6410079",
      "modificationTime": "2023-07-27T13:30:37.0105978",
      "timestamp": 0,
      "priority": 50,
      "status": 4,
      "statusDescription": "Task is finished.",
      "requirements": [
        {
          "parameter": "cinegy.pcs.customParameter.ZT-106 Serv.4",
          "condition": 0,
          "value": ""
        }
      ],
      "metadata": {},
      "payload": {
        "Payload": "null",
        "type": "GenericTaskPayload"
      },
      "handlerId": "",
      "handlerName": "Cinegy Convert\\Agent Manager",
      "handlerHost": "ZT-106",
      "progress": {
        "generationTime": "2023-07-27T10:30:15.2450333Z",
        "globalMessage": "Processing 'The Trail'",
        "globalCurrentProgress": "00:06:32.8320000",
        "globalMaxProgress": "00:11:40",
        "localMessage": null,
        "localCurrentProgress": "00:01:32.8320000",
        "localMaxProgress": "00:01:40"
      },
      "result": {
        "details": "Successfully finished",
        "generationTime": "2023-07-27T13:30:36.9985865+03:00",
        "type": 0
      }
    }
  ],
  "totalCount": 120,
  "start": 0,
  "limit": 20
}
Response Headers
 content-length: 29945
 content-type: application/json; charset=utf-8
 date: Fri,28 Jul 2023 10:51:01 GMT
 server: Kestrel
Response Schema
{
  "items": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "type": "string",
      "name": "string",
      "description": "string",
      "version": {
        "major": 0,
        "minor": 0,
        "build": 0,
        "revision": 0,
        "majorRevision": 0,
        "minorRevision": 0
      },
      "creatorName": "string",
      "creatorHost": "string",
      "creatorId": "string",
      "creationTime": "2023-07-28T10:51:02.193Z",
      "modificationTime": "2023-07-28T10:51:02.193Z",
      "timestamp": 0,
      "priority": 0,
      "status": "inProgress",
      "statusDescription": "string",
      "requirements": [
        {
          "parameter": "string",
          "condition": "exists",
          "value": "string"
        }
      ],
      "metadata": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "payload": {},
      "handlerId": "string",
      "handlerName": "string",
      "handlerHost": "string",
      "progress": {
        "generationTime": "2023-07-28T10:51:02.193Z",
        "globalMessage": "string",
        "globalCurrentProgress": {
          "ticks": 0,
          "days": 0,
          "hours": 0,
          "milliseconds": 0,
          "minutes": 0,
          "seconds": 0,
          "totalDays": 0,
          "totalHours": 0,
          "totalMilliseconds": 0,
          "totalMinutes": 0,
          "totalSeconds": 0
        },
        "globalMaxProgress": {
          "ticks": 0,
          "days": 0,
          "hours": 0,
          "milliseconds": 0,
          "minutes": 0,
          "seconds": 0,
          "totalDays": 0,
          "totalHours": 0,
          "totalMilliseconds": 0,
          "totalMinutes": 0,
          "totalSeconds": 0
        },
        "localMessage": "string",
        "localCurrentProgress": {
          "ticks": 0,
          "days": 0,
          "hours": 0,
          "milliseconds": 0,
          "minutes": 0,
          "seconds": 0,
          "totalDays": 0,
          "totalHours": 0,
          "totalMilliseconds": 0,
          "totalMinutes": 0,
          "totalSeconds": 0
        },
        "localMaxProgress": {
          "ticks": 0,
          "days": 0,
          "hours": 0,
          "milliseconds": 0,
          "minutes": 0,
          "seconds": 0,
          "totalDays": 0,
          "totalHours": 0,
          "totalMilliseconds": 0,
          "totalMinutes": 0,
          "totalSeconds": 0
        }
      },
      "result": {
        "details": "string",
        "generationTime": "2023-07-28T10:51:02.193Z",
        "type": "success"
      }
    }
  ],
  "totalCount": 0,
  "start": 0,
  "limit": 0
}

Get Task ID Data

Retrieves a Cinegy Convert task metadata by task ID number. The method is GET.

Parameter Description

id

Task ID number (can be taken from the Get Tasks List)

payload

Retrieves the payload of a task.

Note
Available values are: true, false.
Curl
curl -X 'GET' \
  'http://localhost:8666/pcs/v1/tasks/7b30672e-6a83-4559-9b0c-d2454fa7bab7' \
  -H 'accept: text/plain'
Request URL
http://<servername>:8666/pcs/v/tasks/{id}

where:

  • <servername> is the host where Cinegy.Process.Rest is running; "localhost" is defined by default.

  • v is the REST API version.

  • {id} is the task ID number that you get using the Get Tasks List.

Response Example
Response Body
{
  "id": "7b30672e-6a83-4559-9b0c-d2454fa7bab7",
  "type": null,
  "name": "Task The Witcher 3 - Wild Hunt - Opening Cinematic - The Trail.mp4 - 27-Jule-23 13:29:00",
  "description": null,
  "version": null,
  "creatorName": "Cinegy Convert\\Monitor",
  "creatorHost": "ZT-106",
  "creatorId": "1dba37efb4cf9024b8d028eb8eeb4a09b1b7944c78cfd40460aedf1b47c708c51ba544342023b006",
  "creationTime": "2023-07-27T13:29:00.6410079",
  "modificationTime": "2023-07-27T13:30:37.0105978",
  "timestamp": 0,
  "priority": 50,
  "status": 4,
  "statusDescription": "Task is finished.",
  "requirements": [
    {
      "parameter": "cinegy.pcs.customParameter.ZT-106 Serv.4",
      "condition": 0,
      "value": ""
    }
  ],
  "metadata": {
    "src.meta.initialTimecode": "00:00:00:00",
    "src.meta.dropFlag": "False",
    "src.ext": "mp4",
    "src.name": "The Witcher 3 - Wild Hunt - Opening Cinematic - The Trail.mp4",
    "src.location": "E:\\Futages\\TheWitcher3\\the_witcher_3_videos\\The Trail",
    "src.meta.startTime": "00:00:00",
    "src.shortname": "The Witcher 3 - Wild Hunt - Opening Cinematic - The Trail"
  },
  "payload": {
    "Payload": "null",
    "type": "GenericTaskPayload"
  },
  "handlerId": "3b7556597eeb5e6b01c777711b03387106d19a2b78cfd40460aedf1b47c708c51ba544342023b006",
  "handlerName": "Cinegy Convert\\Agent Manager",
  "handlerHost": "ZT-106",
  "progress": {
    "generationTime": "2023-07-27T10:30:15.2450333Z",
    "globalMessage": "Processing 'The Witcher 3 - Wild Hunt - Opening Cinematic - The Trail'",
    "globalCurrentProgress": "00:06:32.8320000",
    "globalMaxProgress": "00:11:40",
    "localMessage": null,
    "localCurrentProgress": "00:01:32.8320000",
    "localMaxProgress": "00:01:40"
  },
  "result": {
    "details": "Successfully finished",
    "generationTime": "2023-07-273T13:30:36.9985865+03:00",
    "type": 0
  }
}
Response Headers
 content-length: 1875
 content-type: application/json; charset=utf-8
 date: Fri,28 Jul 2023 11:20:35 GMT
 server: Kestrel
Response Schema
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "type": "string",
  "name": "string",
  "description": "string",
  "version": {
    "major": 0,
    "minor": 0,
    "build": 0,
    "revision": 0,
    "majorRevision": 0,
    "minorRevision": 0
  },
  "creatorName": "string",
  "creatorHost": "string",
  "creatorId": "string",
  "creationTime": "2023-07-27T12:09:26.676Z",
  "modificationTime": "2023-07-27T12:09:26.676Z",
  "timestamp": 0,
  "priority": 0,
  "status": "inProgress",
  "statusDescription": "string",
  "requirements": [
    {
      "parameter": "string",
      "condition": "exists",
      "value": "string"
    }
  ],
  "metadata": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "payload": {},
  "handlerId": "string",
  "handlerName": "string",
  "handlerHost": "string",
  "progress": {
    "generationTime": "2023-07-27T12:09:26.676Z",
    "globalMessage": "string",
    "globalCurrentProgress": {
      "ticks": 0,
      "days": 0,
      "hours": 0,
      "milliseconds": 0,
      "minutes": 0,
      "seconds": 0,
      "totalDays": 0,
      "totalHours": 0,
      "totalMilliseconds": 0,
      "totalMinutes": 0,
      "totalSeconds": 0
    },
    "globalMaxProgress": {
      "ticks": 0,
      "days": 0,
      "hours": 0,
      "milliseconds": 0,
      "minutes": 0,
      "seconds": 0,
      "totalDays": 0,
      "totalHours": 0,
      "totalMilliseconds": 0,
      "totalMinutes": 0,
      "totalSeconds": 0
    },
    "localMessage": "string",
    "localCurrentProgress": {
      "ticks": 0,
      "days": 0,
      "hours": 0,
      "milliseconds": 0,
      "minutes": 0,
      "seconds": 0,
      "totalDays": 0,
      "totalHours": 0,
      "totalMilliseconds": 0,
      "totalMinutes": 0,
      "totalSeconds": 0
    },
    "localMaxProgress": {
      "ticks": 0,
      "days": 0,
      "hours": 0,
      "milliseconds": 0,
      "minutes": 0,
      "seconds": 0,
      "totalDays": 0,
      "totalHours": 0,
      "totalMilliseconds": 0,
      "totalMinutes": 0,
      "totalSeconds": 0
    }
  },
  "result": {
    "details": "string",
    "generationTime": "2023-07-27T12:09:26.677Z",
    "type": "success"
  }
}