{ "openapi": "3.0.0", "components": { "examples": {}, "headers": {}, "parameters": {}, "requestBodies": {}, "responses": {}, "schemas": { "Language": { "type": "string", "enum": [ "fr", "en" ], "example": "en", "description": "Type representing a supported language." }, "Timezone": { "type": "string", "example": "Europe/Paris", "description": "Represents a timezone as an IANA timezone string." }, "UserInfo": { "description": "Represents the user who performed an action, with a computed display name.", "properties": { "id": { "type": "string", "description": "The unique identifier of the user.", "example": "abc123" }, "friendlyName": { "type": "string", "description": "A human-readable display name for the user.\n\"OIAnalytics\" for the oianalytics system user, \"Admin\" for the admin login,\nor \"Firstname Lastname (login)\" for regular users.", "example": "John Doe (john.doe)" } }, "required": [ "id", "friendlyName" ], "type": "object", "additionalProperties": false }, "Instant": { "type": "string", "example": "2023-10-31T12:34:56.789Z", "description": "Represents an instant in time as an ISO 8601 string." }, "UserDTO": { "description": "Data Transfer Object for a user.\nRepresents a user with their personal information, login credentials, preferences, and display name.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "login": { "type": "string", "description": "The login username of the user.", "example": "john.doe" }, "firstName": { "type": "string", "nullable": true, "description": "The first name of the user.\nCan be `null` if not provided.", "example": "John" }, "lastName": { "type": "string", "nullable": true, "description": "The last name of the user.\nCan be `null` if not provided.", "example": "Doe" }, "email": { "type": "string", "nullable": true, "description": "The email address of the user.\nCan be `null` if not provided.", "example": "john.doe@example.com" }, "language": { "$ref": "#/components/schemas/Language", "description": "The preferred language of the user.", "example": "en" }, "timezone": { "$ref": "#/components/schemas/Timezone", "description": "The preferred timezone of the user.", "example": "Europe/Paris" }, "friendlyName": { "type": "string", "description": "The friendly display name of the user.", "example": "John Doe" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "login", "firstName", "lastName", "email", "language", "timezone", "friendlyName" ], "type": "object", "additionalProperties": false }, "Page_UserDTO_": { "description": "Represents a paginated response containing an array of elements.", "properties": { "content": { "items": { "$ref": "#/components/schemas/UserDTO" }, "type": "array", "description": "The content of the page - an array of elements." }, "totalElements": { "type": "number", "format": "double", "description": "The total number of elements across all pages.", "example": 2 }, "size": { "type": "number", "format": "double", "description": "The size of the page, i.e., the maximum number of elements per page.", "example": 10 }, "number": { "type": "number", "format": "double", "description": "The number of the current page, starting at 0.", "example": 0 }, "totalPages": { "type": "number", "format": "double", "description": "The total number of pages (which can be 0 if there are no elements).", "example": 1 } }, "required": [ "content", "totalElements", "size", "number", "totalPages" ], "type": "object", "additionalProperties": false }, "UserCommandDTO": { "description": "Command Data Transfer Object for creating or updating a user.\nUsed as the request body for user creation/update endpoints.", "properties": { "login": { "type": "string", "description": "The login username of the user.", "example": "john.doe" }, "firstName": { "type": "string", "nullable": true, "description": "The first name of the user.\nCan be `null` if not provided.", "example": "John" }, "lastName": { "type": "string", "nullable": true, "description": "The last name of the user.\nCan be `null` if not provided.", "example": "Doe" }, "email": { "type": "string", "nullable": true, "description": "The email address of the user.\nCan be `null` if not provided.", "example": "john.doe@example.com" }, "language": { "$ref": "#/components/schemas/Language", "description": "The preferred language of the user.", "example": "en" }, "timezone": { "$ref": "#/components/schemas/Timezone", "description": "The preferred timezone of the user.", "example": "Europe/Paris" } }, "required": [ "login", "firstName", "lastName", "email", "language", "timezone" ], "type": "object", "additionalProperties": false }, "UserWithPassword": { "properties": { "user": { "$ref": "#/components/schemas/UserCommandDTO" }, "password": { "type": "string" } }, "required": [ "user", "password" ], "type": "object", "additionalProperties": false }, "ChangePasswordCommand": { "description": "Command for changing a user's password.\nUsed as the request body for password change endpoints.", "properties": { "currentPassword": { "type": "string", "description": "The current password of the user.", "example": "oldPassword123" }, "newPassword": { "type": "string", "description": "The new password for the user.", "example": "newSecurePassword456" } }, "required": [ "currentPassword", "newPassword" ], "type": "object", "additionalProperties": false }, "InputType": { "type": "string" }, "OutputType": { "type": "string" }, "OIBusObjectAttribute": { "description": "Object-type attribute that groups related attributes.\nUsed to create nested form structures.", "properties": { "type": { "type": "string", "enum": [ "object" ], "nullable": false, "description": "The type of this attribute (always \"object\")." }, "key": { "type": "string", "description": "The unique key/identifier for this attribute.", "example": "serverUrl" }, "translationKey": { "type": "string", "description": "Translation key for internationalization.", "example": "connection.serverUrl" }, "validators": { "items": { "$ref": "#/components/schemas/OIBusAttributeValidator" }, "type": "array", "description": "Validators to apply to this attribute." }, "attributes": { "items": { "$ref": "#/components/schemas/OIBusAttribute" }, "type": "array", "description": "Child attributes contained within this object." }, "enablingConditions": { "items": { "$ref": "#/components/schemas/OIBusEnablingCondition" }, "type": "array", "description": "Conditions that determine when this object should be enabled." }, "displayProperties": { "$ref": "#/components/schemas/OIBusObjectDisplayProperties", "description": "Display properties for this object." } }, "required": [ "type", "key", "translationKey", "validators", "attributes", "enablingConditions", "displayProperties" ], "type": "object", "additionalProperties": false }, "OIBusAttributeDisplayProperties": { "description": "Display properties for individual form attributes.\nControls layout and visibility in form view.", "properties": { "row": { "type": "number", "format": "double", "description": "The row position in the form layout (1-based index).", "example": 1 }, "columns": { "type": "number", "format": "double", "description": "The number of columns this attribute should span.", "example": 6 }, "displayInViewMode": { "type": "boolean", "description": "Whether this attribute should be displayed in view mode.", "example": true } }, "required": [ "row", "columns", "displayInViewMode" ], "type": "object", "additionalProperties": false }, "OIBusAttributeType": { "type": "string", "enum": [ "string", "number", "boolean", "object", "instant", "string-select", "secret", "code", "scan-mode", "transformer-array", "certificate", "timezone", "array" ], "description": "Type representing the possible attribute types for OIBus form elements." }, "OIBusAttributeValidatorType": { "type": "string", "enum": [ "REQUIRED", "MINIMUM", "MAXIMUM", "POSITIVE_INTEGER", "VALID_CRON", "PATTERN", "UNIQUE", "SINGLE_TRUE", "MQTT_TOPIC_OVERLAP" ], "description": "Type representing the possible validator types for OIBus form attributes." }, "OIBusAttributeValidator": { "description": "Validator configuration for OIBus form attributes.\nDefines validation rules and their parameters.", "properties": { "type": { "$ref": "#/components/schemas/OIBusAttributeValidatorType", "description": "The type of validator to apply." }, "arguments": { "items": { "type": "string" }, "type": "array", "description": "Arguments for the validator.\nFor example, for MINIMUM validator: [\"10\"] would set minimum value to 10.", "example": [] } }, "required": [ "type", "arguments" ], "type": "object", "additionalProperties": false }, "OIBusStringAttribute": { "description": "Text input attribute.", "properties": { "type": { "type": "string", "enum": [ "string" ], "nullable": false, "description": "The type of this attribute (always \"string\")." }, "key": { "type": "string", "description": "The unique key/identifier for this attribute.", "example": "serverUrl" }, "translationKey": { "type": "string", "description": "Translation key for internationalization.", "example": "connection.serverUrl" }, "validators": { "items": { "$ref": "#/components/schemas/OIBusAttributeValidator" }, "type": "array", "description": "Validators to apply to this attribute." }, "displayProperties": { "$ref": "#/components/schemas/OIBusAttributeDisplayProperties", "description": "Display properties for this attribute." }, "defaultValue": { "type": "string", "nullable": true, "description": "Default value for this attribute.", "example": "oibus-client" } }, "required": [ "type", "key", "translationKey", "validators", "displayProperties", "defaultValue" ], "type": "object", "additionalProperties": false }, "OIBusCodeAttribute": { "description": "Code editor attribute for SQL or JSON content.", "properties": { "type": { "type": "string", "enum": [ "code" ], "nullable": false, "description": "The type of this attribute (always \"code\")." }, "key": { "type": "string", "description": "The unique key/identifier for this attribute.", "example": "serverUrl" }, "translationKey": { "type": "string", "description": "Translation key for internationalization.", "example": "connection.serverUrl" }, "validators": { "items": { "$ref": "#/components/schemas/OIBusAttributeValidator" }, "type": "array", "description": "Validators to apply to this attribute." }, "displayProperties": { "$ref": "#/components/schemas/OIBusAttributeDisplayProperties", "description": "Display properties for this attribute." }, "contentType": { "type": "string", "enum": [ "sql", "json" ], "description": "Type of content for syntax highlighting.", "example": "sql" }, "defaultValue": { "type": "string", "nullable": true, "description": "Default value for this attribute.", "example": "SELECT * FROM table" } }, "required": [ "type", "key", "translationKey", "validators", "displayProperties", "contentType", "defaultValue" ], "type": "object", "additionalProperties": false }, "OIBusStringSelectAttribute": { "description": "Dropdown select attribute with predefined string options.", "properties": { "type": { "type": "string", "enum": [ "string-select" ], "nullable": false, "description": "The type of this attribute (always \"string-select\")." }, "key": { "type": "string", "description": "The unique key/identifier for this attribute.", "example": "serverUrl" }, "translationKey": { "type": "string", "description": "Translation key for internationalization.", "example": "connection.serverUrl" }, "validators": { "items": { "$ref": "#/components/schemas/OIBusAttributeValidator" }, "type": "array", "description": "Validators to apply to this attribute." }, "displayProperties": { "$ref": "#/components/schemas/OIBusAttributeDisplayProperties", "description": "Display properties for this attribute." }, "selectableValues": { "items": { "type": "string" }, "type": "array", "description": "Available options for selection.", "example": [ "MQTT", "AMQP", "HTTP" ] }, "defaultValue": { "type": "string", "nullable": true, "description": "Default selected value.", "example": "MQTT" } }, "required": [ "type", "key", "translationKey", "validators", "displayProperties", "selectableValues", "defaultValue" ], "type": "object", "additionalProperties": false }, "OIBusSecretAttribute": { "description": "Secret/password input attribute.\nValue is masked in the UI.", "properties": { "type": { "type": "string", "enum": [ "secret" ], "nullable": false, "description": "The type of this attribute (always \"secret\")." }, "key": { "type": "string", "description": "The unique key/identifier for this attribute.", "example": "serverUrl" }, "translationKey": { "type": "string", "description": "Translation key for internationalization.", "example": "connection.serverUrl" }, "validators": { "items": { "$ref": "#/components/schemas/OIBusAttributeValidator" }, "type": "array", "description": "Validators to apply to this attribute." }, "displayProperties": { "$ref": "#/components/schemas/OIBusAttributeDisplayProperties", "description": "Display properties for this attribute." } }, "required": [ "type", "key", "translationKey", "validators", "displayProperties" ], "type": "object", "additionalProperties": false }, "OIBusNumberAttribute": { "description": "Numeric input attribute.", "properties": { "type": { "type": "string", "enum": [ "number" ], "nullable": false, "description": "The type of this attribute (always \"number\")." }, "key": { "type": "string", "description": "The unique key/identifier for this attribute.", "example": "serverUrl" }, "translationKey": { "type": "string", "description": "Translation key for internationalization.", "example": "connection.serverUrl" }, "validators": { "items": { "$ref": "#/components/schemas/OIBusAttributeValidator" }, "type": "array", "description": "Validators to apply to this attribute." }, "displayProperties": { "$ref": "#/components/schemas/OIBusAttributeDisplayProperties", "description": "Display properties for this attribute." }, "defaultValue": { "type": "number", "format": "double", "nullable": true, "description": "Default value for this attribute.", "example": 1883 }, "unit": { "type": "string", "nullable": true, "description": "Unit of measurement for this number (e.g., \"ms\", \"kb\").\nDisplayed next to the input field.", "example": "ms" } }, "required": [ "type", "key", "translationKey", "validators", "displayProperties", "defaultValue", "unit" ], "type": "object", "additionalProperties": false }, "OIBusBooleanAttribute": { "description": "Boolean (checkbox/toggle) attribute.", "properties": { "type": { "type": "string", "enum": [ "boolean" ], "nullable": false, "description": "The type of this attribute (always \"boolean\")." }, "key": { "type": "string", "description": "The unique key/identifier for this attribute.", "example": "serverUrl" }, "translationKey": { "type": "string", "description": "Translation key for internationalization.", "example": "connection.serverUrl" }, "validators": { "items": { "$ref": "#/components/schemas/OIBusAttributeValidator" }, "type": "array", "description": "Validators to apply to this attribute." }, "displayProperties": { "$ref": "#/components/schemas/OIBusAttributeDisplayProperties", "description": "Display properties for this attribute." }, "defaultValue": { "type": "boolean", "description": "Default value for this attribute.", "example": false } }, "required": [ "type", "key", "translationKey", "validators", "displayProperties", "defaultValue" ], "type": "object", "additionalProperties": false }, "OIBusInstantAttribute": { "description": "Date/time picker attribute.", "properties": { "type": { "type": "string", "enum": [ "instant" ], "nullable": false, "description": "The type of this attribute (always \"instant\")." }, "key": { "type": "string", "description": "The unique key/identifier for this attribute.", "example": "serverUrl" }, "translationKey": { "type": "string", "description": "Translation key for internationalization.", "example": "connection.serverUrl" }, "validators": { "items": { "$ref": "#/components/schemas/OIBusAttributeValidator" }, "type": "array", "description": "Validators to apply to this attribute." }, "displayProperties": { "$ref": "#/components/schemas/OIBusAttributeDisplayProperties", "description": "Display properties for this attribute." } }, "required": [ "type", "key", "translationKey", "validators", "displayProperties" ], "type": "object", "additionalProperties": false }, "OIBusScanModeAttribute": { "description": "Scan mode selection attribute.\nUsed for configuring how often data should be collected.", "properties": { "type": { "type": "string", "enum": [ "scan-mode" ], "nullable": false, "description": "The type of this attribute (always \"scan-mode\")." }, "key": { "type": "string", "description": "The unique key/identifier for this attribute.", "example": "serverUrl" }, "translationKey": { "type": "string", "description": "Translation key for internationalization.", "example": "connection.serverUrl" }, "validators": { "items": { "$ref": "#/components/schemas/OIBusAttributeValidator" }, "type": "array", "description": "Validators to apply to this attribute." }, "displayProperties": { "$ref": "#/components/schemas/OIBusAttributeDisplayProperties", "description": "Display properties for this attribute." }, "acceptableType": { "type": "string", "enum": [ "POLL", "SUBSCRIPTION_AND_POLL", "SUBSCRIPTION" ], "description": "What types of scan modes are acceptable.\nPOLL: Regular interval polling\nSUBSCRIPTION: Real-time subscription\nSUBSCRIPTION_AND_POLL: Both real-time and polling", "example": "POLL" } }, "required": [ "type", "key", "translationKey", "validators", "displayProperties", "acceptableType" ], "type": "object", "additionalProperties": false }, "OIBusCertificateAttribute": { "description": "Certificate upload/selection attribute.", "properties": { "type": { "type": "string", "enum": [ "certificate" ], "nullable": false, "description": "The type of this attribute (always \"certificate\")." }, "key": { "type": "string", "description": "The unique key/identifier for this attribute.", "example": "serverUrl" }, "translationKey": { "type": "string", "description": "Translation key for internationalization.", "example": "connection.serverUrl" }, "validators": { "items": { "$ref": "#/components/schemas/OIBusAttributeValidator" }, "type": "array", "description": "Validators to apply to this attribute." }, "displayProperties": { "$ref": "#/components/schemas/OIBusAttributeDisplayProperties", "description": "Display properties for this attribute." } }, "required": [ "type", "key", "translationKey", "validators", "displayProperties" ], "type": "object", "additionalProperties": false }, "OIBusTimezoneAttribute": { "description": "Timezone selection attribute.", "properties": { "type": { "type": "string", "enum": [ "timezone" ], "nullable": false, "description": "The type of this attribute (always \"timezone\")." }, "key": { "type": "string", "description": "The unique key/identifier for this attribute.", "example": "serverUrl" }, "translationKey": { "type": "string", "description": "Translation key for internationalization.", "example": "connection.serverUrl" }, "validators": { "items": { "$ref": "#/components/schemas/OIBusAttributeValidator" }, "type": "array", "description": "Validators to apply to this attribute." }, "displayProperties": { "$ref": "#/components/schemas/OIBusAttributeDisplayProperties", "description": "Display properties for this attribute." }, "defaultValue": { "type": "string", "nullable": true, "description": "Default timezone value.", "example": "UTC" } }, "required": [ "type", "key", "translationKey", "validators", "displayProperties", "defaultValue" ], "type": "object", "additionalProperties": false }, "OIBusArrayAttribute": { "description": "Array attribute for managing collections of objects.\nUsed for repeatable sections in forms.", "properties": { "type": { "type": "string", "enum": [ "array" ], "nullable": false, "description": "The type of this attribute (always \"array\")." }, "key": { "type": "string", "description": "The unique key/identifier for this attribute.", "example": "serverUrl" }, "translationKey": { "type": "string", "description": "Translation key for internationalization.", "example": "connection.serverUrl" }, "validators": { "items": { "$ref": "#/components/schemas/OIBusAttributeValidator" }, "type": "array", "description": "Validators to apply to this attribute." }, "paginate": { "type": "boolean", "description": "Whether to paginate the array elements.", "example": true }, "numberOfElementPerPage": { "type": "number", "format": "double", "description": "Number of elements to display per page when paginated.", "example": 5 }, "rootAttribute": { "$ref": "#/components/schemas/OIBusObjectAttribute", "description": "The object attribute that defines the structure of each array element." } }, "required": [ "type", "key", "translationKey", "validators", "paginate", "numberOfElementPerPage", "rootAttribute" ], "type": "object", "additionalProperties": false }, "OIBusAttribute": { "anyOf": [ { "$ref": "#/components/schemas/OIBusObjectAttribute" }, { "$ref": "#/components/schemas/OIBusStringAttribute" }, { "$ref": "#/components/schemas/OIBusCodeAttribute" }, { "$ref": "#/components/schemas/OIBusStringSelectAttribute" }, { "$ref": "#/components/schemas/OIBusSecretAttribute" }, { "$ref": "#/components/schemas/OIBusNumberAttribute" }, { "$ref": "#/components/schemas/OIBusBooleanAttribute" }, { "$ref": "#/components/schemas/OIBusInstantAttribute" }, { "$ref": "#/components/schemas/OIBusScanModeAttribute" }, { "$ref": "#/components/schemas/OIBusCertificateAttribute" }, { "$ref": "#/components/schemas/OIBusTimezoneAttribute" }, { "$ref": "#/components/schemas/OIBusArrayAttribute" } ], "description": "Union type representing all possible OIBus form attributes.\nIncludes both displayable attributes and array/object containers." }, "OIBusEnablingCondition": { "description": "Condition that determines when an attribute should be enabled/disabled.\nUsed for dynamic form behavior based on other field values.", "properties": { "targetPathFromRoot": { "type": "string", "description": "Path to the attribute that should be enabled/disabled.", "example": "protocol" }, "referralPathFromRoot": { "type": "string", "description": "Path to the attribute whose value determines the enabling condition.", "example": "connection.type" }, "values": { "items": { "anyOf": [ { "type": "string" }, { "type": "number", "format": "double" }, { "type": "boolean" } ] }, "type": "array", "description": "Values of the referral attribute that will enable the target attribute.", "example": [ "MQTT" ] }, "operator": { "type": "string", "enum": [ "EQUALS", "CONTAINS", "NOT_EQUAL" ], "description": "Operator to use for the condition.\nEQUALS: The referral attribute value must be equal to one of the values.\nCONTAINS: The referral attribute value must contain one of the values (string only).", "example": "EQUALS" } }, "required": [ "targetPathFromRoot", "referralPathFromRoot", "values" ], "type": "object", "additionalProperties": false }, "OIBusObjectDisplayProperties": { "description": "Display properties for object-type form attributes.\nControls visibility and styling of object containers.", "properties": { "visible": { "type": "boolean", "description": "Whether this object should be visible in the form.", "example": true }, "wrapInBox": { "type": "boolean", "description": "Whether this object should be wrapped in a visual box/container.", "example": true } }, "required": [ "visible", "wrapInBox" ], "type": "object", "additionalProperties": false }, "TransformerManifest": { "description": "Manifest for a transformer type.\nDescribes the configuration schema and capabilities of a transformer type.", "properties": { "id": { "type": "string", "description": "The unique identifier of the transformer type.", "example": "csv-to-mqtt" }, "inputType": { "$ref": "#/components/schemas/InputType", "description": "The input data type that the transformer accepts.", "example": "any" }, "outputType": { "$ref": "#/components/schemas/OutputType", "description": "The output data type that the transformer produces.", "example": "mqtt" }, "settings": { "$ref": "#/components/schemas/OIBusObjectAttribute", "description": "The configuration schema for the transformer settings." } }, "required": [ "id", "inputType", "outputType", "settings" ], "type": "object", "additionalProperties": false }, "TransformerLanguage": { "type": "string" }, "CustomTransformerDTO": { "description": "Data Transfer Object for a custom transformer.\nExtends the base transformer with custom-specific properties.", "properties": { "id": { "type": "string", "description": "The unique identifier of the transformer.", "example": "transformer123" }, "type": { "type": "string", "enum": [ "custom" ], "nullable": false, "description": "The type of the transformer (always 'custom' for this interface)." }, "inputType": { "$ref": "#/components/schemas/InputType", "description": "The input data type that the transformer accepts.", "example": "string" }, "outputType": { "$ref": "#/components/schemas/OutputType", "description": "The output data type that the transformer produces.", "example": "number" }, "manifest": { "$ref": "#/components/schemas/OIBusObjectAttribute", "description": "The manifest describing the transformer's input/output structure and attributes." }, "name": { "type": "string", "description": "The name of the custom transformer.", "example": "String to Number" }, "description": { "type": "string", "description": "A description of what the custom transformer does.", "example": "Converts string input to numeric output" }, "customCode": { "type": "string", "description": "The custom JavaScript code that implements the transformation logic.", "example": "function transform(input) { return parseFloat(input); }" }, "language": { "$ref": "#/components/schemas/TransformerLanguage", "description": "The language used", "example": "javascript" }, "timeout": { "type": "number", "format": "double", "description": "The maximum execution time for the custom code in milliseconds.", "example": 2000 }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the transformer. Only present for custom transformers." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the transformer. Only present for custom transformers." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the transformer was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the transformer was last updated.", "example": "2023-10-31T13:45:00.123Z" } }, "required": [ "id", "type", "inputType", "outputType", "manifest", "name", "description", "customCode", "language", "timeout", "createdBy", "updatedBy", "createdAt", "updatedAt" ], "type": "object", "additionalProperties": false }, "StandardTransformerDTO": { "description": "Data Transfer Object for a standard transformer.\nExtends the base transformer with standard-specific properties.", "properties": { "id": { "type": "string", "description": "The unique identifier of the transformer.", "example": "transformer123" }, "type": { "type": "string", "enum": [ "standard" ], "nullable": false, "description": "The type of the transformer (always 'standard' for this interface)." }, "inputType": { "$ref": "#/components/schemas/InputType", "description": "The input data type that the transformer accepts.", "example": "string" }, "outputType": { "$ref": "#/components/schemas/OutputType", "description": "The output data type that the transformer produces.", "example": "number" }, "manifest": { "$ref": "#/components/schemas/OIBusObjectAttribute", "description": "The manifest describing the transformer's input/output structure and attributes." }, "functionName": { "type": "string", "description": "The name of the standard function that implements the transformation.", "example": "toUpperCase" } }, "required": [ "id", "type", "inputType", "outputType", "manifest", "functionName" ], "type": "object", "additionalProperties": false }, "TransformerDTO": { "anyOf": [ { "$ref": "#/components/schemas/CustomTransformerDTO" }, { "$ref": "#/components/schemas/StandardTransformerDTO" } ], "description": "Union type representing either a custom or standard transformer." }, "Page_TransformerDTO_": { "description": "Represents a paginated response containing an array of elements.", "properties": { "content": { "items": { "$ref": "#/components/schemas/TransformerDTO" }, "type": "array", "description": "The content of the page - an array of elements." }, "totalElements": { "type": "number", "format": "double", "description": "The total number of elements across all pages.", "example": 2 }, "size": { "type": "number", "format": "double", "description": "The size of the page, i.e., the maximum number of elements per page.", "example": 10 }, "number": { "type": "number", "format": "double", "description": "The number of the current page, starting at 0.", "example": 0 }, "totalPages": { "type": "number", "format": "double", "description": "The total number of pages (which can be 0 if there are no elements).", "example": 1 } }, "required": [ "content", "totalElements", "size", "number", "totalPages" ], "type": "object", "additionalProperties": false }, "OIBusDataType": { "type": "string", "enum": [ "any", "time-values", "setpoint" ], "description": "Type representing an OIBus data type." }, "CustomTransformerCommandDTO": { "description": "Command Data Transfer Object for creating or updating a custom transformer.", "properties": { "type": { "type": "string", "enum": [ "custom" ], "nullable": false, "description": "The type of the transformer (always 'custom' for this interface)." }, "inputType": { "type": "string", "description": "The input data type that the transformer accepts.", "example": "string" }, "outputType": { "type": "string", "description": "The output data type that the transformer produces.", "example": "number" }, "name": { "type": "string", "description": "The name of the custom transformer.", "example": "String to Number" }, "description": { "type": "string", "description": "A description of what the custom transformer does.", "example": "Converts string input to numeric output" }, "customCode": { "type": "string", "description": "The custom JavaScript code that implements the transformation logic.", "example": "function transform(input) { return parseFloat(input); }" }, "customManifest": { "$ref": "#/components/schemas/OIBusObjectAttribute", "description": "The manifest describing the transformer's input/output structure and attributes." }, "language": { "$ref": "#/components/schemas/TransformerLanguage", "description": "The language of the custom code", "example": "javascript" }, "timeout": { "type": "number", "format": "double", "description": "The maximum execution time for the custom code in milliseconds.", "example": 2000 } }, "required": [ "type", "inputType", "outputType", "name", "description", "customCode", "customManifest", "language", "timeout" ], "type": "object", "additionalProperties": false }, "TransformerTestResponse": { "description": "Response from a transformer test run.", "properties": { "output": { "type": "string", "description": "The serialised transformation output produced by the transformer.", "example": "{\"topic\":\"sensors/sensor1\",\"payload\":42}" }, "metadata": { "properties": { "numberOfElement": { "type": "number", "format": "double", "description": "Number of data elements in the output (e.g. number of time-value points).", "example": 1 }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "Timestamp at which the output was produced.", "example": "2024-01-01T00:00:00.000Z" }, "contentSize": { "type": "number", "format": "double", "description": "Size of the output content in bytes.", "example": 256 }, "contentFile": { "type": "string", "description": "File path of the output content, if the transformer produced a file.", "example": "/tmp/transformer-output-1234.csv" }, "contentType": { "type": "string", "description": "MIME type of the output content.", "example": "application/json" } }, "required": [ "numberOfElement", "createdAt", "contentSize", "contentFile", "contentType" ], "type": "object", "description": "Execution metadata produced during the test run." } }, "required": [ "output", "metadata" ], "type": "object", "additionalProperties": false }, "TransformerTestRequest": { "description": "Request payload for testing a custom transformer.", "properties": { "inputData": { "type": "string", "description": "The raw input data string to pass to the transformer.\nThe expected format depends on the transformer's `inputType`\n(e.g. a JSON-serialised array of time-values, or a raw file path for `any`).", "example": "[{\"timestamp\":\"2024-01-01T00:00:00.000Z\",\"pointId\":\"sensor1\",\"value\":\"42.0\"}]" }, "options": { "additionalProperties": false, "type": "object", "description": "Optional transformer-specific options object passed alongside the input data.", "example": { "precision": 2 } } }, "required": [ "inputData" ], "type": "object", "additionalProperties": false }, "InputTemplate": { "properties": { "type": { "$ref": "#/components/schemas/InputType" }, "data": { "type": "string" }, "description": { "type": "string" } }, "required": [ "type", "data", "description" ], "type": "object", "additionalProperties": false }, "OIBusSouthType": { "type": "string", "enum": [ "opcua", "mqtt", "modbus", "oianalytics", "ads", "folder-scanner", "ftp", "mssql", "mysql", "odbc", "oledb", "opc", "oracle", "osisoft-pi", "postgresql", "rest", "sftp", "sqlite" ], "description": "Type representing the possible types for a South connector." }, "OIBusSouthCategory": { "type": "string", "enum": [ "file", "iot", "database", "api" ], "description": "Type representing the possible categories for a South connector." }, "SouthType": { "description": "Represents the type metadata for a South connector.\nDescribes the basic characteristics and capabilities of a South connector type.", "properties": { "id": { "$ref": "#/components/schemas/OIBusSouthType", "description": "The unique identifier of the South connector type.", "example": "folder-scanner" }, "category": { "$ref": "#/components/schemas/OIBusSouthCategory", "description": "The category of the South connector.", "example": "file" }, "modes": { "properties": { "history": { "type": "boolean", "description": "Whether this connector supports historical data retrieval.", "example": false }, "lastFile": { "type": "boolean", "description": "Whether this connector supports retrieving the last file.", "example": true }, "lastPoint": { "type": "boolean", "description": "Whether this connector supports retrieving the last data point.", "example": false }, "subscription": { "type": "boolean", "description": "Whether this connector supports real-time subscription mode.", "example": false } }, "required": [ "history", "lastFile", "lastPoint", "subscription" ], "type": "object", "description": "The operating modes supported by this connector type." } }, "required": [ "id", "category", "modes" ], "type": "object", "additionalProperties": false }, "SouthConnectorManifest": { "description": "Manifest for a South connector type.\nDescribes the configuration schema, capabilities, and structure of a South connector type.", "properties": { "id": { "$ref": "#/components/schemas/OIBusSouthType", "description": "The unique identifier of the South connector type.", "example": "folder-scanner" }, "category": { "$ref": "#/components/schemas/OIBusSouthCategory", "description": "The category of the South connector.", "example": "file" }, "modes": { "properties": { "history": { "type": "boolean", "description": "Whether this connector supports historical data retrieval.", "example": false }, "lastFile": { "type": "boolean", "description": "Whether this connector supports retrieving the last file.", "example": true }, "lastPoint": { "type": "boolean", "description": "Whether this connector supports retrieving the last data point.", "example": false }, "subscription": { "type": "boolean", "description": "Whether this connector supports real-time subscription mode.", "example": false } }, "required": [ "history", "lastFile", "lastPoint", "subscription" ], "type": "object", "description": "The operating modes supported by this connector type." }, "settings": { "$ref": "#/components/schemas/OIBusObjectAttribute", "description": "The configuration schema for the connector settings." }, "items": { "$ref": "#/components/schemas/OIBusArrayAttribute", "description": "The configuration schema for items (data points)." } }, "required": [ "id", "category", "modes", "settings", "items" ], "type": "object", "additionalProperties": false }, "SouthConnectorLightDTO": { "description": "Lightweight Data Transfer Object for a South connector.\nContains only essential information about a South connector for listing purposes.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "$ref": "#/components/schemas/OIBusSouthType", "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled" ], "type": "object", "additionalProperties": false }, "SouthADSItemSettings": { "properties": { "address": { "type": "string" } }, "required": [ "address" ], "type": "object", "additionalProperties": false }, "ScanModeDTO": { "description": "Data Transfer Object for a scan mode.\nRepresents a configured scan mode with its metadata and schedule.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the scan mode.", "example": "Daily Backup Scan" }, "description": { "type": "string", "description": "A description of the scan mode's purpose or behavior.", "example": "Scans for new backup data every day at midnight" }, "cron": { "type": "string", "description": "A cron expression defining the scan schedule.", "example": "0 0 * * *" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "description", "cron" ], "type": "object", "additionalProperties": false }, "SouthItemGroupDTO": { "description": "Data Transfer Object for a South item group.\nRepresents a group of items that can share common settings.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "standardSettings": { "properties": { "scanMode": { "$ref": "#/components/schemas/ScanModeDTO", "description": "The scan mode configuration for this group (default schedule)." }, "name": { "type": "string", "description": "The name of the group.", "example": "Production Line A" } }, "required": [ "scanMode", "name" ], "type": "object" }, "historySettings": { "properties": { "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.", "example": 200 }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.", "example": 3600 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.", "example": 1000 } }, "required": [ "readDelay", "maxReadInterval", "overlap" ], "type": "object" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "standardSettings", "historySettings" ], "type": "object", "additionalProperties": false }, "SouthConnectorADSItemDTO": { "description": "South connector item DTO for Beckhoff ADS.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthADSItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthADSSettingsEnumAsText": { "type": "string", "enum": [ "text", "integer" ] }, "SouthADSSettingsBoolAsText": { "type": "string", "enum": [ "text", "integer" ] }, "SouthADSSettingsStructureFiltering": { "properties": { "name": { "type": "string" }, "fields": { "type": "string" } }, "required": [ "name", "fields" ], "type": "object", "additionalProperties": false }, "SouthADSSettings": { "properties": { "netId": { "type": "string" }, "port": { "type": "number", "format": "double" }, "routerAddress": { "type": "string", "nullable": true }, "routerTcpPort": { "type": "number", "format": "double", "nullable": true }, "clientAmsNetId": { "type": "string", "nullable": true }, "clientAdsPort": { "type": "number", "format": "double", "nullable": true }, "retryInterval": { "type": "number", "format": "double" }, "plcName": { "type": "string", "nullable": true }, "enumAsText": { "$ref": "#/components/schemas/SouthADSSettingsEnumAsText" }, "boolAsText": { "$ref": "#/components/schemas/SouthADSSettingsBoolAsText" }, "structureFiltering": { "items": { "$ref": "#/components/schemas/SouthADSSettingsStructureFiltering" }, "type": "array", "nullable": true } }, "required": [ "netId", "port", "routerAddress", "routerTcpPort", "clientAmsNetId", "clientAdsPort", "retryInterval", "plcName", "enumAsText", "boolAsText", "structureFiltering" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthADSItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthADSItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorADSDTO": { "description": "South connector configuration for Beckhoff ADS.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "ads" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthADSSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorADSItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthFolderScannerItemSettings": { "properties": { "regex": { "type": "string" }, "minAge": { "type": "number", "format": "double" }, "preserveFiles": { "type": "boolean" }, "ignoreModifiedDate": { "type": "boolean" }, "maxFiles": { "type": "number", "format": "double" }, "maxSize": { "type": "number", "format": "double" }, "recursive": { "type": "boolean" } }, "required": [ "regex", "minAge", "preserveFiles", "maxFiles", "maxSize", "recursive" ], "type": "object", "additionalProperties": false }, "SouthConnectorFolderScannerItemDTO": { "description": "South connector item DTO for the Folder Scanner.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthFolderScannerItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthFolderScannerSettings": { "properties": { "inputFolder": { "type": "string" }, "compression": { "type": "boolean" } }, "required": [ "inputFolder", "compression" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthFolderScannerItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthFolderScannerItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorFolderScannerDTO": { "description": "South connector configuration for the Folder Scanner.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "folder-scanner" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthFolderScannerSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorFolderScannerItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthFTPItemSettings": { "properties": { "remoteFolder": { "type": "string" }, "regex": { "type": "string" }, "minAge": { "type": "number", "format": "double" }, "preserveFiles": { "type": "boolean" }, "ignoreModifiedDate": { "type": "boolean" }, "maxFiles": { "type": "number", "format": "double" }, "maxSize": { "type": "number", "format": "double" }, "recursive": { "type": "boolean" } }, "required": [ "remoteFolder", "regex", "minAge", "preserveFiles", "maxFiles", "maxSize", "recursive" ], "type": "object", "additionalProperties": false }, "SouthConnectorFTPItemDTO": { "description": "South connector item DTO for FTP file transfer.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthFTPItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthFTPSettingsAuthentication": { "type": "string", "enum": [ "none", "password" ] }, "SouthFTPSettings": { "properties": { "host": { "type": "string" }, "port": { "type": "number", "format": "double" }, "authentication": { "$ref": "#/components/schemas/SouthFTPSettingsAuthentication" }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "compression": { "type": "boolean" } }, "required": [ "host", "port", "authentication", "compression" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthFTPItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthFTPItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorFTPDTO": { "description": "South connector configuration for FTP file transfer.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "ftp" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthFTPSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorFTPItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthModbusItemSettingsModbusType": { "type": "string", "enum": [ "coil", "discrete-input", "input-register", "holding-register" ] }, "SouthModbusItemSettingsDataDataType": { "type": "string", "enum": [ "uint16", "int16", "uint32", "int32", "big-uint64", "big-int64", "float", "double", "bit" ] }, "SouthModbusItemSettingsData": { "properties": { "dataType": { "$ref": "#/components/schemas/SouthModbusItemSettingsDataDataType" }, "bitIndex": { "type": "number", "format": "double" }, "multiplierCoefficient": { "type": "number", "format": "double" } }, "required": [ "dataType", "multiplierCoefficient" ], "type": "object", "additionalProperties": false }, "SouthModbusItemSettings": { "properties": { "address": { "type": "string" }, "modbusType": { "$ref": "#/components/schemas/SouthModbusItemSettingsModbusType" }, "data": { "allOf": [ { "$ref": "#/components/schemas/SouthModbusItemSettingsData" } ], "nullable": true } }, "required": [ "address", "modbusType" ], "type": "object", "additionalProperties": false }, "SouthConnectorModbusItemDTO": { "description": "South connector item DTO for Modbus.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthModbusItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthModbusSettingsAddressOffset": { "type": "string", "enum": [ "modbus", "jbus" ] }, "SouthModbusSettingsEndianness": { "type": "string", "enum": [ "big-endian", "little-endian" ] }, "SouthModbusSettings": { "properties": { "host": { "type": "string" }, "port": { "type": "number", "format": "double" }, "connectTimeout": { "type": "number", "format": "double" }, "networkTimeout": { "type": "number", "format": "double" }, "retryInterval": { "type": "number", "format": "double" }, "slaveId": { "type": "number", "format": "double" }, "addressOffset": { "$ref": "#/components/schemas/SouthModbusSettingsAddressOffset" }, "endianness": { "$ref": "#/components/schemas/SouthModbusSettingsEndianness" }, "swapBytesInWords": { "type": "boolean" }, "swapWordsInDWords": { "type": "boolean" }, "batchQuery": { "type": "boolean" }, "groupingGap": { "type": "number", "format": "double" } }, "required": [ "host", "port", "connectTimeout", "networkTimeout", "retryInterval", "slaveId", "addressOffset", "endianness", "swapBytesInWords", "swapWordsInDWords", "batchQuery" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthModbusItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthModbusItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorModbusDTO": { "description": "South connector configuration for Modbus.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "modbus" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthModbusSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorModbusItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthMQTTItemSettings": { "properties": { "topic": { "type": "string" } }, "required": [ "topic" ], "type": "object", "additionalProperties": false }, "SouthConnectorMQTTItemDTO": { "description": "South connector item DTO for MQTT.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthMQTTItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthMQTTSettingsQos": { "type": "string", "enum": [ "0", "1", "2" ] }, "SouthMQTTSettingsAuthenticationType": { "type": "string", "enum": [ "none", "basic", "cert" ] }, "SouthMQTTSettingsAuthentication": { "properties": { "type": { "$ref": "#/components/schemas/SouthMQTTSettingsAuthenticationType" }, "username": { "type": "string" }, "password": { "type": "string", "nullable": true }, "certFilePath": { "type": "string" }, "keyFilePath": { "type": "string" }, "caFilePath": { "type": "string" } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "SouthMQTTSettings": { "properties": { "url": { "type": "string" }, "qos": { "$ref": "#/components/schemas/SouthMQTTSettingsQos" }, "persistent": { "type": "boolean" }, "authentication": { "$ref": "#/components/schemas/SouthMQTTSettingsAuthentication" }, "rejectUnauthorized": { "type": "boolean" }, "reconnectPeriod": { "type": "number", "format": "double" }, "connectTimeout": { "type": "number", "format": "double" }, "maxNumberOfMessages": { "type": "number", "format": "double" }, "flushMessageTimeout": { "type": "number", "format": "double" } }, "required": [ "url", "qos", "authentication", "rejectUnauthorized", "reconnectPeriod", "connectTimeout", "maxNumberOfMessages", "flushMessageTimeout" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthMQTTItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthMQTTItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorMQTTDTO": { "description": "South connector configuration for MQTT.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "mqtt" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthMQTTSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorMQTTItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthMSSQLItemSettingsDateTimeFieldsType": { "type": "string", "enum": [ "string", "date", "date-time", "date-time-2", "date-time-offset", "small-date-time", "iso-string", "unix-epoch", "unix-epoch-ms" ] }, "SouthMSSQLItemSettingsDateTimeFields": { "properties": { "fieldName": { "type": "string" }, "useAsReference": { "type": "boolean" }, "type": { "$ref": "#/components/schemas/SouthMSSQLItemSettingsDateTimeFieldsType" }, "timezone": { "$ref": "#/components/schemas/Timezone" }, "format": { "type": "string" }, "locale": { "type": "string" } }, "required": [ "fieldName", "useAsReference", "type" ], "type": "object", "additionalProperties": false }, "SouthMSSQLItemSettingsSerializationType": { "type": "string", "enum": [ "csv" ], "nullable": false }, "SouthMSSQLItemSettingsSerializationDelimiter": { "type": "string", "enum": [ "DOT", "SEMI_COLON", "COLON", "COMMA", "NON_BREAKING_SPACE", "SLASH", "TAB", "PIPE" ] }, "SouthMSSQLItemSettingsSerialization": { "properties": { "type": { "$ref": "#/components/schemas/SouthMSSQLItemSettingsSerializationType" }, "filename": { "type": "string" }, "delimiter": { "$ref": "#/components/schemas/SouthMSSQLItemSettingsSerializationDelimiter" }, "compression": { "type": "boolean" }, "outputTimestampFormat": { "type": "string" }, "outputTimezone": { "$ref": "#/components/schemas/Timezone" } }, "required": [ "type", "filename", "delimiter", "compression", "outputTimestampFormat", "outputTimezone" ], "type": "object", "additionalProperties": false }, "SouthMSSQLItemSettings": { "properties": { "query": { "type": "string" }, "dateTimeFields": { "items": { "$ref": "#/components/schemas/SouthMSSQLItemSettingsDateTimeFields" }, "type": "array", "nullable": true }, "serialization": { "$ref": "#/components/schemas/SouthMSSQLItemSettingsSerialization" } }, "required": [ "query", "dateTimeFields", "serialization" ], "type": "object", "additionalProperties": false }, "SouthConnectorMSSQLItemDTO": { "description": "South connector item DTO for Microsoft SQL Server.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthMSSQLItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthMSSQLSettings": { "properties": { "host": { "type": "string" }, "port": { "type": "number", "format": "double" }, "connectionTimeout": { "type": "number", "format": "double" }, "database": { "type": "string" }, "encryption": { "type": "boolean" }, "trustServerCertificate": { "type": "boolean" }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true }, "domain": { "type": "string", "nullable": true }, "requestTimeout": { "type": "number", "format": "double" } }, "required": [ "host", "port", "connectionTimeout", "database", "encryption", "trustServerCertificate", "username", "password", "domain", "requestTimeout" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthMSSQLItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthMSSQLItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorMSSQLDTO": { "description": "South connector configuration for Microsoft SQL Server.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "mssql" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthMSSQLSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorMSSQLItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthMySQLItemSettingsDateTimeFieldsType": { "type": "string", "enum": [ "string", "date-time", "iso-string", "unix-epoch", "unix-epoch-ms" ] }, "SouthMySQLItemSettingsDateTimeFields": { "properties": { "fieldName": { "type": "string" }, "useAsReference": { "type": "boolean" }, "type": { "$ref": "#/components/schemas/SouthMySQLItemSettingsDateTimeFieldsType" }, "timezone": { "$ref": "#/components/schemas/Timezone" }, "format": { "type": "string" }, "locale": { "type": "string" } }, "required": [ "fieldName", "useAsReference", "type" ], "type": "object", "additionalProperties": false }, "SouthMySQLItemSettingsSerializationType": { "type": "string", "enum": [ "csv" ], "nullable": false }, "SouthMySQLItemSettingsSerializationDelimiter": { "type": "string", "enum": [ "DOT", "SEMI_COLON", "COLON", "COMMA", "NON_BREAKING_SPACE", "SLASH", "TAB", "PIPE" ] }, "SouthMySQLItemSettingsSerialization": { "properties": { "type": { "$ref": "#/components/schemas/SouthMySQLItemSettingsSerializationType" }, "filename": { "type": "string" }, "delimiter": { "$ref": "#/components/schemas/SouthMySQLItemSettingsSerializationDelimiter" }, "compression": { "type": "boolean" }, "outputTimestampFormat": { "type": "string" }, "outputTimezone": { "$ref": "#/components/schemas/Timezone" } }, "required": [ "type", "filename", "delimiter", "compression", "outputTimestampFormat", "outputTimezone" ], "type": "object", "additionalProperties": false }, "SouthMySQLItemSettings": { "properties": { "query": { "type": "string" }, "requestTimeout": { "type": "number", "format": "double" }, "dateTimeFields": { "items": { "$ref": "#/components/schemas/SouthMySQLItemSettingsDateTimeFields" }, "type": "array", "nullable": true }, "serialization": { "$ref": "#/components/schemas/SouthMySQLItemSettingsSerialization" } }, "required": [ "query", "requestTimeout", "dateTimeFields", "serialization" ], "type": "object", "additionalProperties": false }, "SouthConnectorMySQLItemDTO": { "description": "South connector item DTO for MySQL.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthMySQLItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthMySQLSettings": { "properties": { "host": { "type": "string" }, "port": { "type": "number", "format": "double" }, "connectionTimeout": { "type": "number", "format": "double" }, "database": { "type": "string" }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true } }, "required": [ "host", "port", "connectionTimeout", "database", "username", "password" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthMySQLItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthMySQLItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorMySQLDTO": { "description": "South connector configuration for MySQL.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "mysql" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthMySQLSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorMySQLItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthODBCItemSettingsDateTimeFieldsType": { "type": "string", "enum": [ "string", "iso-string", "unix-epoch", "unix-epoch-ms" ] }, "SouthODBCItemSettingsDateTimeFields": { "properties": { "fieldName": { "type": "string" }, "useAsReference": { "type": "boolean" }, "type": { "$ref": "#/components/schemas/SouthODBCItemSettingsDateTimeFieldsType" }, "timezone": { "$ref": "#/components/schemas/Timezone" }, "format": { "type": "string" }, "locale": { "type": "string" } }, "required": [ "fieldName", "useAsReference", "type" ], "type": "object", "additionalProperties": false }, "SouthODBCItemSettingsSerializationType": { "type": "string", "enum": [ "csv" ], "nullable": false }, "SouthODBCItemSettingsSerializationDelimiter": { "type": "string", "enum": [ "DOT", "SEMI_COLON", "COLON", "COMMA", "NON_BREAKING_SPACE", "SLASH", "TAB", "PIPE" ] }, "SouthODBCItemSettingsSerialization": { "properties": { "type": { "$ref": "#/components/schemas/SouthODBCItemSettingsSerializationType" }, "filename": { "type": "string" }, "delimiter": { "$ref": "#/components/schemas/SouthODBCItemSettingsSerializationDelimiter" }, "compression": { "type": "boolean" }, "outputTimestampFormat": { "type": "string" }, "outputTimezone": { "$ref": "#/components/schemas/Timezone" } }, "required": [ "type", "filename", "delimiter", "compression", "outputTimestampFormat", "outputTimezone" ], "type": "object", "additionalProperties": false }, "SouthODBCItemSettings": { "properties": { "query": { "type": "string" }, "dateTimeFields": { "items": { "$ref": "#/components/schemas/SouthODBCItemSettingsDateTimeFields" }, "type": "array", "nullable": true }, "serialization": { "$ref": "#/components/schemas/SouthODBCItemSettingsSerialization" } }, "required": [ "query", "dateTimeFields", "serialization" ], "type": "object", "additionalProperties": false }, "SouthConnectorODBCItemDTO": { "description": "South connector item DTO for ODBC.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthODBCItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthODBCSettings": { "properties": { "remoteAgent": { "type": "boolean" }, "agentUrl": { "type": "string" }, "connectionTimeout": { "type": "number", "format": "double" }, "retryInterval": { "type": "number", "format": "double" }, "requestTimeout": { "type": "number", "format": "double" }, "connectionString": { "type": "string" }, "password": { "type": "string", "nullable": true } }, "required": [ "remoteAgent", "connectionTimeout", "retryInterval", "connectionString", "password" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthODBCItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthODBCItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorODBCDTO": { "description": "South connector configuration for ODBC.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "odbc" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthODBCSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorODBCItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthOIAnalyticsItemSettingsQueryParams": { "properties": { "key": { "type": "string" }, "value": { "type": "string" } }, "required": [ "key", "value" ], "type": "object", "additionalProperties": false }, "SouthOIAnalyticsItemSettingsSerializationType": { "type": "string", "enum": [ "csv" ], "nullable": false }, "SouthOIAnalyticsItemSettingsSerializationDelimiter": { "type": "string", "enum": [ "DOT", "SEMI_COLON", "COLON", "COMMA", "NON_BREAKING_SPACE", "SLASH", "TAB", "PIPE" ] }, "SouthOIAnalyticsItemSettingsSerialization": { "properties": { "type": { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettingsSerializationType" }, "filename": { "type": "string" }, "delimiter": { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettingsSerializationDelimiter" }, "compression": { "type": "boolean" }, "outputTimestampFormat": { "type": "string" }, "outputTimezone": { "$ref": "#/components/schemas/Timezone" } }, "required": [ "type", "filename", "delimiter", "compression", "outputTimestampFormat", "outputTimezone" ], "type": "object", "additionalProperties": false }, "SouthOIAnalyticsItemSettings": { "properties": { "endpoint": { "type": "string" }, "queryParams": { "items": { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettingsQueryParams" }, "type": "array" }, "serialization": { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettingsSerialization" } }, "required": [ "endpoint", "queryParams", "serialization" ], "type": "object", "additionalProperties": false }, "SouthConnectorOIAnalyticsItemDTO": { "description": "South connector item DTO for OIAnalytics.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthOIAnalyticsSettingsSpecificSettingsAuthentication": { "type": "string", "enum": [ "basic", "aad-client-secret", "aad-certificate" ] }, "SouthOIAnalyticsSettingsSpecificSettings": { "properties": { "host": { "type": "string" }, "acceptUnauthorized": { "type": "boolean" }, "authentication": { "$ref": "#/components/schemas/SouthOIAnalyticsSettingsSpecificSettingsAuthentication" }, "accessKey": { "type": "string" }, "secretKey": { "type": "string", "nullable": true }, "tenantId": { "type": "string" }, "clientId": { "type": "string" }, "clientSecret": { "type": "string", "nullable": true }, "certificateId": { "type": "string" }, "scope": { "type": "string" }, "useProxy": { "type": "boolean" }, "proxyUrl": { "type": "string" }, "proxyUsername": { "type": "string" }, "proxyPassword": { "type": "string", "nullable": true } }, "required": [ "host", "acceptUnauthorized", "authentication", "useProxy" ], "type": "object", "additionalProperties": false }, "SouthOIAnalyticsSettings": { "properties": { "useOiaModule": { "type": "boolean" }, "timeout": { "type": "number", "format": "double" }, "specificSettings": { "allOf": [ { "$ref": "#/components/schemas/SouthOIAnalyticsSettingsSpecificSettings" } ], "nullable": true } }, "required": [ "useOiaModule", "timeout" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthOIAnalyticsItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorOIAnalyticsDTO": { "description": "South connector configuration for OIAnalytics.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "oianalytics" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOIAnalyticsSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorOIAnalyticsItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthOLEDBItemSettingsDateTimeFieldsType": { "type": "string", "enum": [ "string", "iso-string", "unix-epoch", "unix-epoch-ms" ] }, "SouthOLEDBItemSettingsDateTimeFields": { "properties": { "fieldName": { "type": "string" }, "useAsReference": { "type": "boolean" }, "type": { "$ref": "#/components/schemas/SouthOLEDBItemSettingsDateTimeFieldsType" }, "timezone": { "$ref": "#/components/schemas/Timezone" }, "format": { "type": "string" }, "locale": { "type": "string" } }, "required": [ "fieldName", "useAsReference", "type" ], "type": "object", "additionalProperties": false }, "SouthOLEDBItemSettingsSerializationType": { "type": "string", "enum": [ "csv" ], "nullable": false }, "SouthOLEDBItemSettingsSerializationDelimiter": { "type": "string", "enum": [ "DOT", "SEMI_COLON", "COLON", "COMMA", "NON_BREAKING_SPACE", "SLASH", "TAB", "PIPE" ] }, "SouthOLEDBItemSettingsSerialization": { "properties": { "type": { "$ref": "#/components/schemas/SouthOLEDBItemSettingsSerializationType" }, "filename": { "type": "string" }, "delimiter": { "$ref": "#/components/schemas/SouthOLEDBItemSettingsSerializationDelimiter" }, "compression": { "type": "boolean" }, "outputTimestampFormat": { "type": "string" }, "outputTimezone": { "$ref": "#/components/schemas/Timezone" } }, "required": [ "type", "filename", "delimiter", "compression", "outputTimestampFormat", "outputTimezone" ], "type": "object", "additionalProperties": false }, "SouthOLEDBItemSettings": { "properties": { "query": { "type": "string" }, "dateTimeFields": { "items": { "$ref": "#/components/schemas/SouthOLEDBItemSettingsDateTimeFields" }, "type": "array", "nullable": true }, "serialization": { "$ref": "#/components/schemas/SouthOLEDBItemSettingsSerialization" } }, "required": [ "query", "dateTimeFields", "serialization" ], "type": "object", "additionalProperties": false }, "SouthConnectorOLEDBItemDTO": { "description": "South connector item DTO for OLE DB.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOLEDBItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthOLEDBSettings": { "properties": { "agentUrl": { "type": "string" }, "connectionTimeout": { "type": "number", "format": "double" }, "retryInterval": { "type": "number", "format": "double" }, "requestTimeout": { "type": "number", "format": "double" }, "connectionString": { "type": "string" }, "password": { "type": "string", "nullable": true } }, "required": [ "agentUrl", "connectionTimeout", "retryInterval", "requestTimeout", "connectionString", "password" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthOLEDBItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOLEDBItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorOLEDBDTO": { "description": "South connector configuration for OLE DB.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "oledb" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOLEDBSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorOLEDBItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthOPCItemSettingsAggregate": { "type": "string", "enum": [ "raw", "interpolative", "total", "average", "time-average", "count", "stdev", "minimum-actual-time", "minimum", "maximum-actual-time", "maximum", "start", "end", "delta", "reg-slope", "reg-const", "reg-dev", "variance", "range", "duration-good", "duration-bad", "percent-good", "percent-bad", "worst-quality", "annotations" ] }, "SouthOPCItemSettingsResampling": { "type": "string", "enum": [ "none", "1s", "10s", "30s", "1min", "1h", "1d" ] }, "SouthOPCItemSettings": { "properties": { "nodeId": { "type": "string" }, "aggregate": { "$ref": "#/components/schemas/SouthOPCItemSettingsAggregate" }, "resampling": { "$ref": "#/components/schemas/SouthOPCItemSettingsResampling" } }, "required": [ "nodeId", "aggregate" ], "type": "object", "additionalProperties": false }, "SouthConnectorOPCItemDTO": { "description": "South connector item DTO for classic OPC (OLE for Process Control).", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOPCItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthOPCSettingsMode": { "type": "string", "enum": [ "hda", "da" ] }, "SouthOPCSettings": { "properties": { "agentUrl": { "type": "string" }, "retryInterval": { "type": "number", "format": "double" }, "host": { "type": "string" }, "serverName": { "type": "string" }, "mode": { "$ref": "#/components/schemas/SouthOPCSettingsMode" } }, "required": [ "agentUrl", "retryInterval", "host", "serverName", "mode" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthOPCItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOPCItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorOPCDTO": { "description": "South connector configuration for classic OPC (OLE for Process Control).", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "opc" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOPCSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorOPCItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthOPCUAItemSettingsMode": { "type": "string", "enum": [ "da", "ha" ] }, "SouthOPCUAItemSettingsHaModeAggregate": { "type": "string", "enum": [ "raw", "average", "count", "minimum", "maximum" ] }, "SouthOPCUAItemSettingsHaModeResampling": { "type": "string", "enum": [ "none", "1s", "10s", "30s", "1min", "1h", "1d" ] }, "SouthOPCUAItemSettingsHaMode": { "properties": { "aggregate": { "$ref": "#/components/schemas/SouthOPCUAItemSettingsHaModeAggregate" }, "resampling": { "$ref": "#/components/schemas/SouthOPCUAItemSettingsHaModeResampling" } }, "required": [ "aggregate" ], "type": "object", "additionalProperties": false }, "SouthOPCUAItemSettingsTimestampOrigin": { "type": "string", "enum": [ "oibus", "point", "server" ] }, "SouthOPCUAItemSettings": { "properties": { "nodeId": { "type": "string" }, "mode": { "$ref": "#/components/schemas/SouthOPCUAItemSettingsMode" }, "haMode": { "$ref": "#/components/schemas/SouthOPCUAItemSettingsHaMode" }, "timestampOrigin": { "$ref": "#/components/schemas/SouthOPCUAItemSettingsTimestampOrigin" } }, "required": [ "nodeId", "mode" ], "type": "object", "additionalProperties": false }, "SouthConnectorOPCUAItemDTO": { "description": "South connector item DTO for OPC UA.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOPCUAItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthOPCUASettingsSecurityMode": { "type": "string", "enum": [ "none", "sign", "sign-and-encrypt" ] }, "SouthOPCUASettingsSecurityPolicy": { "type": "string", "enum": [ "none", "basic128", "basic192", "basic256", "basic128-rsa15", "basic192-rsa15", "basic256-rsa15", "basic256-sha256", "aes128-sha256-rsa-oaep", "pub-sub-aes-128-ctr", "pub-sub-aes-256-ctr" ] }, "SouthOPCUASettingsAuthenticationType": { "type": "string", "enum": [ "none", "basic", "cert" ] }, "SouthOPCUASettingsAuthentication": { "properties": { "type": { "$ref": "#/components/schemas/SouthOPCUASettingsAuthenticationType" }, "username": { "type": "string" }, "password": { "type": "string", "nullable": true }, "certFilePath": { "type": "string" }, "keyFilePath": { "type": "string" } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "SouthOPCUASettings": { "properties": { "url": { "type": "string" }, "keepSessionAlive": { "type": "boolean" }, "readTimeout": { "type": "number", "format": "double" }, "retryInterval": { "type": "number", "format": "double" }, "maxNumberOfMessages": { "type": "number", "format": "double" }, "flushMessageTimeout": { "type": "number", "format": "double" }, "securityMode": { "$ref": "#/components/schemas/SouthOPCUASettingsSecurityMode" }, "securityPolicy": { "$ref": "#/components/schemas/SouthOPCUASettingsSecurityPolicy" }, "authentication": { "$ref": "#/components/schemas/SouthOPCUASettingsAuthentication" } }, "required": [ "url", "keepSessionAlive", "readTimeout", "retryInterval", "maxNumberOfMessages", "flushMessageTimeout", "securityMode", "authentication" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthOPCUAItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOPCUAItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorOPCUADTO": { "description": "South connector configuration for OPC UA.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "opcua" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOPCUASettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorOPCUAItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthOracleItemSettingsDateTimeFieldsType": { "type": "string", "enum": [ "string", "date-time", "iso-string", "unix-epoch", "unix-epoch-ms" ] }, "SouthOracleItemSettingsDateTimeFields": { "properties": { "fieldName": { "type": "string" }, "useAsReference": { "type": "boolean" }, "type": { "$ref": "#/components/schemas/SouthOracleItemSettingsDateTimeFieldsType" }, "timezone": { "$ref": "#/components/schemas/Timezone" }, "format": { "type": "string" }, "locale": { "type": "string" } }, "required": [ "fieldName", "useAsReference", "type" ], "type": "object", "additionalProperties": false }, "SouthOracleItemSettingsSerializationType": { "type": "string", "enum": [ "csv" ], "nullable": false }, "SouthOracleItemSettingsSerializationDelimiter": { "type": "string", "enum": [ "DOT", "SEMI_COLON", "COLON", "COMMA", "NON_BREAKING_SPACE", "SLASH", "TAB", "PIPE" ] }, "SouthOracleItemSettingsSerialization": { "properties": { "type": { "$ref": "#/components/schemas/SouthOracleItemSettingsSerializationType" }, "filename": { "type": "string" }, "delimiter": { "$ref": "#/components/schemas/SouthOracleItemSettingsSerializationDelimiter" }, "compression": { "type": "boolean" }, "outputTimestampFormat": { "type": "string" }, "outputTimezone": { "$ref": "#/components/schemas/Timezone" } }, "required": [ "type", "filename", "delimiter", "compression", "outputTimestampFormat", "outputTimezone" ], "type": "object", "additionalProperties": false }, "SouthOracleItemSettings": { "properties": { "query": { "type": "string" }, "requestTimeout": { "type": "number", "format": "double" }, "dateTimeFields": { "items": { "$ref": "#/components/schemas/SouthOracleItemSettingsDateTimeFields" }, "type": "array", "nullable": true }, "serialization": { "$ref": "#/components/schemas/SouthOracleItemSettingsSerialization" } }, "required": [ "query", "requestTimeout", "dateTimeFields", "serialization" ], "type": "object", "additionalProperties": false }, "SouthConnectorOracleItemDTO": { "description": "South connector item DTO for Oracle Database.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOracleItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthOracleSettings": { "properties": { "thickMode": { "type": "boolean" }, "oracleClient": { "type": "string" }, "host": { "type": "string" }, "port": { "type": "number", "format": "double" }, "connectionTimeout": { "type": "number", "format": "double" }, "database": { "type": "string" }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true } }, "required": [ "thickMode", "host", "port", "connectionTimeout", "database", "username", "password" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthOracleItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOracleItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorOracleDTO": { "description": "South connector configuration for Oracle Database.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "oracle" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOracleSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorOracleItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthPIItemSettingsType": { "type": "string", "enum": [ "point-id", "point-query" ] }, "SouthPIItemSettings": { "properties": { "type": { "$ref": "#/components/schemas/SouthPIItemSettingsType" }, "piPoint": { "type": "string" }, "piQuery": { "type": "string" } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "SouthConnectorOsisoftPIItemDTO": { "description": "South connector item DTO for OSIsoft PI System.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthPIItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthPISettings": { "properties": { "agentUrl": { "type": "string" }, "retryInterval": { "type": "number", "format": "double" } }, "required": [ "agentUrl", "retryInterval" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthPIItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthPIItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorOsisoftPIDTO": { "description": "South connector configuration for OSIsoft PI System.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "osisoft-pi" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthPISettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorOsisoftPIItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthPostgreSQLItemSettingsDateTimeFieldsType": { "type": "string", "enum": [ "string", "iso-string", "unix-epoch", "unix-epoch-ms", "timestamp", "timestamptz" ] }, "SouthPostgreSQLItemSettingsDateTimeFields": { "properties": { "fieldName": { "type": "string" }, "useAsReference": { "type": "boolean" }, "type": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettingsDateTimeFieldsType" }, "timezone": { "$ref": "#/components/schemas/Timezone" }, "format": { "type": "string" }, "locale": { "type": "string" } }, "required": [ "fieldName", "useAsReference", "type" ], "type": "object", "additionalProperties": false }, "SouthPostgreSQLItemSettingsSerializationType": { "type": "string", "enum": [ "csv" ], "nullable": false }, "SouthPostgreSQLItemSettingsSerializationDelimiter": { "type": "string", "enum": [ "DOT", "SEMI_COLON", "COLON", "COMMA", "NON_BREAKING_SPACE", "SLASH", "TAB", "PIPE" ] }, "SouthPostgreSQLItemSettingsSerialization": { "properties": { "type": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettingsSerializationType" }, "filename": { "type": "string" }, "delimiter": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettingsSerializationDelimiter" }, "compression": { "type": "boolean" }, "outputTimestampFormat": { "type": "string" }, "outputTimezone": { "$ref": "#/components/schemas/Timezone" } }, "required": [ "type", "filename", "delimiter", "compression", "outputTimestampFormat", "outputTimezone" ], "type": "object", "additionalProperties": false }, "SouthPostgreSQLItemSettings": { "properties": { "query": { "type": "string" }, "dateTimeFields": { "items": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettingsDateTimeFields" }, "type": "array", "nullable": true }, "serialization": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettingsSerialization" } }, "required": [ "query", "dateTimeFields", "serialization" ], "type": "object", "additionalProperties": false }, "SouthConnectorPostgreSQLItemDTO": { "description": "South connector item DTO for PostgreSQL.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthPostgreSQLSettings": { "properties": { "host": { "type": "string" }, "port": { "type": "number", "format": "double" }, "sslMode": { "type": "boolean" }, "database": { "type": "string" }, "connectionTimeout": { "type": "number", "format": "double" }, "requestTimeout": { "type": "number", "format": "double" }, "username": { "type": "string", "nullable": true }, "password": { "type": "string", "nullable": true } }, "required": [ "host", "port", "sslMode", "database", "connectionTimeout", "requestTimeout", "username", "password" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthPostgreSQLItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorPostgreSQLDTO": { "description": "South connector configuration for PostgreSQL.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "postgresql" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthPostgreSQLSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorPostgreSQLItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthRestItemSettingsMethod": { "type": "string", "enum": [ "GET", "POST", "PUT", "PATCH", "DELETE" ] }, "SouthRestItemSettingsReturnType": { "type": "string", "enum": [ "file", "body" ] }, "SouthRestItemSettingsQueryParamsDateTimeInputType": { "type": "string", "enum": [ "string", "iso-string", "unix-epoch", "unix-epoch-ms" ] }, "SouthRestItemSettingsQueryParamsDateTimeInput": { "properties": { "type": { "allOf": [ { "$ref": "#/components/schemas/SouthRestItemSettingsQueryParamsDateTimeInputType" } ], "nullable": true }, "timezone": { "allOf": [ { "$ref": "#/components/schemas/Timezone" } ], "nullable": true }, "format": { "type": "string", "nullable": true } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "SouthRestItemSettingsQueryParams": { "properties": { "key": { "type": "string" }, "value": { "type": "string" }, "dateTimeInput": { "allOf": [ { "$ref": "#/components/schemas/SouthRestItemSettingsQueryParamsDateTimeInput" } ], "nullable": true } }, "required": [ "key", "value" ], "type": "object", "additionalProperties": false }, "SouthRestItemSettingsHeadersDateTimeInputType": { "type": "string", "enum": [ "string", "iso-string", "unix-epoch", "unix-epoch-ms" ] }, "SouthRestItemSettingsHeadersDateTimeInput": { "properties": { "type": { "allOf": [ { "$ref": "#/components/schemas/SouthRestItemSettingsHeadersDateTimeInputType" } ], "nullable": true }, "timezone": { "allOf": [ { "$ref": "#/components/schemas/Timezone" } ], "nullable": true }, "format": { "type": "string", "nullable": true } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "SouthRestItemSettingsHeaders": { "properties": { "key": { "type": "string" }, "value": { "type": "string" }, "dateTimeInput": { "allOf": [ { "$ref": "#/components/schemas/SouthRestItemSettingsHeadersDateTimeInput" } ], "nullable": true } }, "required": [ "key", "value" ], "type": "object", "additionalProperties": false }, "SouthRestItemSettingsBodyDateTimeInputType": { "type": "string", "enum": [ "string", "iso-string", "unix-epoch", "unix-epoch-ms" ] }, "SouthRestItemSettingsBodyDateTimeInput": { "properties": { "type": { "allOf": [ { "$ref": "#/components/schemas/SouthRestItemSettingsBodyDateTimeInputType" } ], "nullable": true }, "timezone": { "allOf": [ { "$ref": "#/components/schemas/Timezone" } ], "nullable": true }, "format": { "type": "string", "nullable": true } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "SouthRestItemSettingsBody": { "properties": { "content": { "type": "string", "nullable": true }, "dateTimeInput": { "allOf": [ { "$ref": "#/components/schemas/SouthRestItemSettingsBodyDateTimeInput" } ], "nullable": true } }, "required": [ "content" ], "type": "object", "additionalProperties": false }, "SouthRestItemSettingsTrackingInstantDateTimeInputType": { "type": "string", "enum": [ "string", "iso-string", "unix-epoch", "unix-epoch-ms" ] }, "SouthRestItemSettingsTrackingInstantDateTimeInput": { "properties": { "type": { "$ref": "#/components/schemas/SouthRestItemSettingsTrackingInstantDateTimeInputType" }, "timezone": { "$ref": "#/components/schemas/Timezone" }, "format": { "type": "string" }, "locale": { "type": "string" } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "SouthRestItemSettingsTrackingInstant": { "properties": { "trackInstant": { "type": "boolean" }, "jsonPath": { "type": "string" }, "dateTimeInput": { "allOf": [ { "$ref": "#/components/schemas/SouthRestItemSettingsTrackingInstantDateTimeInput" } ], "nullable": true } }, "required": [ "trackInstant" ], "type": "object", "additionalProperties": false }, "SouthRestItemSettings": { "properties": { "method": { "$ref": "#/components/schemas/SouthRestItemSettingsMethod" }, "endpoint": { "type": "string" }, "returnType": { "$ref": "#/components/schemas/SouthRestItemSettingsReturnType" }, "queryParams": { "items": { "$ref": "#/components/schemas/SouthRestItemSettingsQueryParams" }, "type": "array" }, "headers": { "items": { "$ref": "#/components/schemas/SouthRestItemSettingsHeaders" }, "type": "array" }, "body": { "allOf": [ { "$ref": "#/components/schemas/SouthRestItemSettingsBody" } ], "nullable": true }, "trackingInstant": { "allOf": [ { "$ref": "#/components/schemas/SouthRestItemSettingsTrackingInstant" } ], "nullable": true } }, "required": [ "method", "endpoint", "returnType", "queryParams", "headers" ], "type": "object", "additionalProperties": false }, "SouthConnectorRESTItemDTO": { "description": "South connector item DTO for the REST API.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthRestItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthRestSettingsAuthenticationType": { "type": "string", "enum": [ "none", "basic", "bearer", "api-key" ] }, "SouthRestSettingsAuthenticationAddTo": { "type": "string", "enum": [ "header", "query-params" ] }, "SouthRestSettingsAuthentication": { "properties": { "type": { "$ref": "#/components/schemas/SouthRestSettingsAuthenticationType" }, "username": { "type": "string" }, "password": { "type": "string", "nullable": true }, "token": { "type": "string", "nullable": true }, "apiKey": { "type": "string" }, "apiValue": { "type": "string", "nullable": true }, "addTo": { "$ref": "#/components/schemas/SouthRestSettingsAuthenticationAddTo" } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "SouthRestSettingsProxy": { "properties": { "useProxy": { "type": "boolean" }, "proxyUrl": { "type": "string" }, "proxyUsername": { "type": "string", "nullable": true }, "proxyPassword": { "type": "string", "nullable": true } }, "required": [ "useProxy" ], "type": "object", "additionalProperties": false }, "SouthRestSettingsTestMethod": { "type": "string", "enum": [ "GET", "POST", "PUT" ] }, "SouthRestSettingsTest": { "properties": { "method": { "$ref": "#/components/schemas/SouthRestSettingsTestMethod" }, "endpoint": { "type": "string" }, "successCode": { "type": "number", "format": "double" }, "body": { "type": "string", "nullable": true } }, "required": [ "method", "endpoint", "successCode" ], "type": "object", "additionalProperties": false }, "SouthRestSettings": { "properties": { "host": { "type": "string" }, "acceptUnauthorized": { "type": "boolean" }, "timeout": { "type": "number", "format": "double" }, "authentication": { "$ref": "#/components/schemas/SouthRestSettingsAuthentication" }, "proxy": { "$ref": "#/components/schemas/SouthRestSettingsProxy" }, "test": { "$ref": "#/components/schemas/SouthRestSettingsTest" } }, "required": [ "host", "acceptUnauthorized", "timeout", "authentication", "proxy", "test" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthRestItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthRestItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorRESTDTO": { "description": "South connector configuration for the REST API.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "rest" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthRestSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorRESTItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthSFTPItemSettings": { "properties": { "remoteFolder": { "type": "string" }, "regex": { "type": "string" }, "minAge": { "type": "number", "format": "double" }, "preserveFiles": { "type": "boolean" }, "ignoreModifiedDate": { "type": "boolean" }, "maxFiles": { "type": "number", "format": "double" }, "maxSize": { "type": "number", "format": "double" }, "recursive": { "type": "boolean" } }, "required": [ "remoteFolder", "regex", "minAge", "preserveFiles", "maxFiles", "maxSize", "recursive" ], "type": "object", "additionalProperties": false }, "SouthConnectorSFTPItemDTO": { "description": "South connector item DTO for SFTP file transfer.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthSFTPItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthSFTPSettingsAuthentication": { "type": "string", "enum": [ "password", "private-key" ] }, "SouthSFTPSettings": { "properties": { "host": { "type": "string" }, "port": { "type": "number", "format": "double" }, "authentication": { "$ref": "#/components/schemas/SouthSFTPSettingsAuthentication" }, "username": { "type": "string" }, "password": { "type": "string", "nullable": true }, "privateKey": { "type": "string" }, "passphrase": { "type": "string", "nullable": true }, "compression": { "type": "boolean" } }, "required": [ "host", "port", "authentication", "username", "compression" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthSFTPItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthSFTPItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorSFTPDTO": { "description": "South connector configuration for SFTP file transfer.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "sftp" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthSFTPSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorSFTPItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthSQLiteItemSettingsDateTimeFieldsType": { "type": "string", "enum": [ "string", "iso-string", "unix-epoch", "unix-epoch-ms" ] }, "SouthSQLiteItemSettingsDateTimeFields": { "properties": { "fieldName": { "type": "string" }, "useAsReference": { "type": "boolean" }, "type": { "$ref": "#/components/schemas/SouthSQLiteItemSettingsDateTimeFieldsType" }, "timezone": { "$ref": "#/components/schemas/Timezone" }, "format": { "type": "string" }, "locale": { "type": "string" } }, "required": [ "fieldName", "useAsReference", "type" ], "type": "object", "additionalProperties": false }, "SouthSQLiteItemSettingsSerializationType": { "type": "string", "enum": [ "csv" ], "nullable": false }, "SouthSQLiteItemSettingsSerializationDelimiter": { "type": "string", "enum": [ "DOT", "SEMI_COLON", "COLON", "COMMA", "NON_BREAKING_SPACE", "SLASH", "TAB", "PIPE" ] }, "SouthSQLiteItemSettingsSerialization": { "properties": { "type": { "$ref": "#/components/schemas/SouthSQLiteItemSettingsSerializationType" }, "filename": { "type": "string" }, "delimiter": { "$ref": "#/components/schemas/SouthSQLiteItemSettingsSerializationDelimiter" }, "compression": { "type": "boolean" }, "outputTimestampFormat": { "type": "string" }, "outputTimezone": { "$ref": "#/components/schemas/Timezone" } }, "required": [ "type", "filename", "delimiter", "compression", "outputTimestampFormat", "outputTimezone" ], "type": "object", "additionalProperties": false }, "SouthSQLiteItemSettings": { "properties": { "query": { "type": "string" }, "dateTimeFields": { "items": { "$ref": "#/components/schemas/SouthSQLiteItemSettingsDateTimeFields" }, "type": "array", "nullable": true }, "serialization": { "$ref": "#/components/schemas/SouthSQLiteItemSettingsSerialization" } }, "required": [ "query", "dateTimeFields", "serialization" ], "type": "object", "additionalProperties": false }, "SouthConnectorSQLiteItemDTO": { "description": "South connector item DTO for SQLite.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthSQLiteItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthSQLiteSettings": { "properties": { "databasePath": { "type": "string" } }, "required": [ "databasePath" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemTypedDTO_SouthSQLiteItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled and should be collected.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthSQLiteItemSettings", "description": "Item-specific settings for data collection." }, "scanMode": { "allOf": [ { "$ref": "#/components/schemas/ScanModeDTO" } ], "nullable": true, "description": "The scan mode configuration for this item." }, "group": { "allOf": [ { "$ref": "#/components/schemas/SouthItemGroupDTO" } ], "nullable": true, "description": "The group this item belongs to, if any." }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields (maxReadInterval, readDelay, overlap) are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings", "scanMode", "group", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorSQLiteDTO": { "description": "South connector configuration for SQLite.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "sqlite" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector is enabled and active.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthSQLiteSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorSQLiteItemDTO" }, "type": "array", "description": "List of items (data points) configured for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array", "description": "List of groups attached to this connector" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorDTO": { "anyOf": [ { "$ref": "#/components/schemas/SouthConnectorADSDTO" }, { "$ref": "#/components/schemas/SouthConnectorFolderScannerDTO" }, { "$ref": "#/components/schemas/SouthConnectorFTPDTO" }, { "$ref": "#/components/schemas/SouthConnectorModbusDTO" }, { "$ref": "#/components/schemas/SouthConnectorMQTTDTO" }, { "$ref": "#/components/schemas/SouthConnectorMSSQLDTO" }, { "$ref": "#/components/schemas/SouthConnectorMySQLDTO" }, { "$ref": "#/components/schemas/SouthConnectorODBCDTO" }, { "$ref": "#/components/schemas/SouthConnectorOIAnalyticsDTO" }, { "$ref": "#/components/schemas/SouthConnectorOLEDBDTO" }, { "$ref": "#/components/schemas/SouthConnectorOPCDTO" }, { "$ref": "#/components/schemas/SouthConnectorOPCUADTO" }, { "$ref": "#/components/schemas/SouthConnectorOracleDTO" }, { "$ref": "#/components/schemas/SouthConnectorOsisoftPIDTO" }, { "$ref": "#/components/schemas/SouthConnectorPostgreSQLDTO" }, { "$ref": "#/components/schemas/SouthConnectorRESTDTO" }, { "$ref": "#/components/schemas/SouthConnectorSFTPDTO" }, { "$ref": "#/components/schemas/SouthConnectorSQLiteDTO" } ], "description": "Data Transfer Object for a South connector.\nContains all configuration details and current state of a South connector." }, "SouthConnectorADSItemCommandDTO": { "description": "South connector item command for Beckhoff ADS.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthADSItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthADSItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthADSItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthItemGroupCommandDTO": { "description": "Command Data Transfer Object for creating or updating a South item group.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the group (null when creating a new group).", "example": null }, "standardSettings": { "properties": { "scanModeId": { "type": "string", "description": "The ID of the scan mode to use for this group.", "example": "periodic-5min" }, "name": { "type": "string", "description": "The name of the group.", "example": "Production Line A" } }, "required": [ "scanModeId", "name" ], "type": "object" }, "historySettings": { "properties": { "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.", "example": 200 }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.", "example": 3600 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.", "example": 1000 } }, "required": [ "readDelay", "maxReadInterval", "overlap" ], "type": "object" } }, "required": [ "id", "standardSettings", "historySettings" ], "type": "object", "additionalProperties": false }, "SouthConnectorADSCommandDTO": { "description": "South connector command for Beckhoff ADS.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "ads" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthADSSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorADSItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorFolderScannerItemCommandDTO": { "description": "South connector item command for the Folder Scanner.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthFolderScannerItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthFolderScannerItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthFolderScannerItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorFolderScannerCommandDTO": { "description": "South connector command for the Folder Scanner.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "folder-scanner" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthFolderScannerSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorFolderScannerItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorFTPItemCommandDTO": { "description": "South connector item command for FTP file transfer.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthFTPItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthFTPItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthFTPItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorFTPCommandDTO": { "description": "South connector command for FTP file transfer.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "ftp" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthFTPSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorFTPItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorModbusItemCommandDTO": { "description": "South connector item command for Modbus.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthModbusItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthModbusItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthModbusItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorModbusCommandDTO": { "description": "South connector command for Modbus.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "modbus" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthModbusSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorModbusItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorMQTTItemCommandDTO": { "description": "South connector item command for MQTT.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthMQTTItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthMQTTItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthMQTTItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorMQTTCommandDTO": { "description": "South connector command for MQTT.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "mqtt" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthMQTTSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorMQTTItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorMSSQLItemCommandDTO": { "description": "South connector item command for Microsoft SQL Server.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthMSSQLItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthMSSQLItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthMSSQLItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorMSSQLCommandDTO": { "description": "South connector command for Microsoft SQL Server.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "mssql" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthMSSQLSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorMSSQLItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorMySQLItemCommandDTO": { "description": "South connector item command for MySQL.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthMySQLItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthMySQLItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthMySQLItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorMySQLCommandDTO": { "description": "South connector command for MySQL.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "mysql" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthMySQLSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorMySQLItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorODBCItemCommandDTO": { "description": "South connector item command for ODBC.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthODBCItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthODBCItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthODBCItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorODBCCommandDTO": { "description": "South connector command for ODBC.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "odbc" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthODBCSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorODBCItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorOIAnalyticsItemCommandDTO": { "description": "South connector item command for OIAnalytics.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthOIAnalyticsItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorOIAnalyticsCommandDTO": { "description": "South connector command for OIAnalytics.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "oianalytics" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOIAnalyticsSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorOIAnalyticsItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorOLEDBItemCommandDTO": { "description": "South connector item command for OLE DB.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthOLEDBItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthOLEDBItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthOLEDBItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorOLEDBCommandDTO": { "description": "South connector command for OLE DB.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "oledb" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOLEDBSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorOLEDBItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorOPCItemCommandDTO": { "description": "South connector item command for classic OPC (OLE for Process Control).", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthOPCItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthOPCItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthOPCItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorOPCCommandDTO": { "description": "South connector command for classic OPC (OLE for Process Control).", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "opc" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOPCSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorOPCItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorOPCUAItemCommandDTO": { "description": "South connector item command for OPC UA.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthOPCUAItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthOPCUAItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthOPCUAItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorOPCUACommandDTO": { "description": "South connector command for OPC UA.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "opcua" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOPCUASettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorOPCUAItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorOracleItemCommandDTO": { "description": "South connector item command for Oracle Database.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthOracleItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthOracleItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthOracleItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorOracleCommandDTO": { "description": "South connector command for Oracle Database.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "oracle" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthOracleSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorOracleItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorOsisoftPIItemCommandDTO": { "description": "South connector item command for OSIsoft PI System.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthPIItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthPIItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthPIItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorOsisoftPICommandDTO": { "description": "South connector command for OSIsoft PI System.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "osisoft-pi" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthPISettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorOsisoftPIItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorPostgreSQLItemCommandDTO": { "description": "South connector item command for PostgreSQL.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthPostgreSQLItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorPostgreSQLCommandDTO": { "description": "South connector command for PostgreSQL.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "postgresql" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthPostgreSQLSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorPostgreSQLItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorRESTItemCommandDTO": { "description": "South connector item command for the REST API.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthRestItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthRestItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthRestItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorRESTCommandDTO": { "description": "South connector command for the REST API.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "rest" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthRestSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorRESTItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorSFTPItemCommandDTO": { "description": "South connector item command for SFTP file transfer.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthSFTPItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthSFTPItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthSFTPItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorSFTPCommandDTO": { "description": "South connector command for SFTP file transfer.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "sftp" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthSFTPSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorSFTPItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorSQLiteItemCommandDTO": { "description": "South connector item command for SQLite.", "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthSQLiteItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandTypedDTO_SouthSQLiteItemSettings_": { "properties": { "id": { "type": "string", "nullable": true, "description": "The ID of the item (null when creating a new item).", "example": null }, "enabled": { "type": "boolean", "description": "Whether this item should be enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "settings": { "$ref": "#/components/schemas/SouthSQLiteItemSettings", "description": "Item-specific settings for data collection." }, "scanModeId": { "type": "string", "nullable": true, "description": "The ID of the scan mode to use for this item.\nNull when the scan mode should be determined by the system.", "example": "periodic-5min" }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode to use when ID is not available.\nNull when not specifying by name.", "example": null }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group this item belongs to.\nNull when the item is not in any group.", "example": "group-123" }, "groupName": { "type": "string", "nullable": true, "description": "The name of the group this item belongs to.\nUsed when importing from CSV where group IDs are not available.\nNull when the item is not in any group.", "example": "Production Line A" }, "syncWithGroup": { "type": "boolean", "description": "Whether this item syncs its historian settings with its group.\nWhen true, historian fields are inherited from the group.", "example": true }, "maxReadInterval": { "type": "number", "format": "double", "nullable": true, "description": "Maximum read interval in seconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 3600 }, "readDelay": { "type": "number", "format": "double", "nullable": true, "description": "Read delay in milliseconds before querying historical data.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 200 }, "overlap": { "type": "number", "format": "double", "nullable": true, "description": "Default overlap in milliseconds for historical queries.\nOnly applicable for connectors with historian capabilities.\nWhen null and item is in a group, inherits from group settings.", "example": 1000 } }, "required": [ "id", "enabled", "name", "settings", "scanModeId", "scanModeName", "groupId", "groupName", "syncWithGroup", "maxReadInterval", "readDelay", "overlap" ], "type": "object", "additionalProperties": false }, "SouthConnectorSQLiteCommandDTO": { "description": "South connector command for SQLite.", "properties": { "name": { "type": "string", "description": "The name of the South connector.", "example": "Production Data Files" }, "type": { "type": "string", "enum": [ "sqlite" ], "nullable": false, "description": "The type of the South connector.", "example": "folder-scanner" }, "description": { "type": "string", "description": "Description of the South connector's purpose.", "example": "Scans production data CSV files" }, "enabled": { "type": "boolean", "description": "Whether the South connector should be enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/SouthSQLiteSettings", "description": "Configuration settings specific to this South connector type." }, "items": { "items": { "$ref": "#/components/schemas/SouthConnectorSQLiteItemCommandDTO" }, "type": "array", "description": "List of items (data points) to configure for this connector." }, "groups": { "items": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" }, "type": "array", "description": "List of groups used to gather items" } }, "required": [ "name", "type", "description", "enabled", "settings", "items", "groups" ], "type": "object", "additionalProperties": false }, "SouthConnectorCommandDTO": { "anyOf": [ { "$ref": "#/components/schemas/SouthConnectorADSCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorFolderScannerCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorFTPCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorModbusCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorMQTTCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorMSSQLCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorMySQLCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorODBCCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorOIAnalyticsCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorOLEDBCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorOPCCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorOPCUACommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorOracleCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorOsisoftPICommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorPostgreSQLCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorRESTCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorSFTPCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorSQLiteCommandDTO" } ], "description": "Command Data Transfer Object for creating or updating a South connector.\nUsed as the request body for South connector creation/update endpoints." }, "OIBusConnectionTestResult": { "properties": { "items": { "items": { "properties": { "value": { "type": "string" }, "key": { "type": "string" } }, "required": [ "value", "key" ], "type": "object" }, "type": "array" } }, "required": [ "items" ], "type": "object", "additionalProperties": false }, "SouthSettings": { "anyOf": [ { "$ref": "#/components/schemas/SouthADSSettings" }, { "$ref": "#/components/schemas/SouthFolderScannerSettings" }, { "$ref": "#/components/schemas/SouthFTPSettings" }, { "$ref": "#/components/schemas/SouthModbusSettings" }, { "$ref": "#/components/schemas/SouthMQTTSettings" }, { "$ref": "#/components/schemas/SouthMSSQLSettings" }, { "$ref": "#/components/schemas/SouthMySQLSettings" }, { "$ref": "#/components/schemas/SouthODBCSettings" }, { "$ref": "#/components/schemas/SouthOIAnalyticsSettings" }, { "$ref": "#/components/schemas/SouthOLEDBSettings" }, { "$ref": "#/components/schemas/SouthOPCSettings" }, { "$ref": "#/components/schemas/SouthOPCUASettings" }, { "$ref": "#/components/schemas/SouthOracleSettings" }, { "$ref": "#/components/schemas/SouthPISettings" }, { "$ref": "#/components/schemas/SouthPostgreSQLSettings" }, { "$ref": "#/components/schemas/SouthRestSettings" }, { "$ref": "#/components/schemas/SouthSFTPSettings" }, { "$ref": "#/components/schemas/SouthSQLiteSettings" } ] }, "OIBusTimeValue": { "description": "A time-value pair.", "properties": { "pointId": { "type": "string", "description": "The ID of the point.", "example": "point1" }, "timestamp": { "$ref": "#/components/schemas/Instant", "description": "The timestamp of the value.", "example": "2023-01-01T00:00:00Z" }, "data": { "properties": { "value": { "anyOf": [ { "type": "string" }, { "type": "number", "format": "double" } ], "description": "The value of the point.", "example": "100" } }, "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "number", "format": "double" } ] }, "required": [ "value" ], "type": "object", "description": "The data associated with the point." } }, "required": [ "pointId", "timestamp", "data" ], "type": "object", "additionalProperties": false }, "OIBusTimeValueContent": { "description": "Time-value content.", "properties": { "type": { "type": "string", "enum": [ "time-values" ], "nullable": false, "description": "The type of content.", "example": "time-values" }, "content": { "items": { "$ref": "#/components/schemas/OIBusTimeValue" }, "type": "array", "description": "The array of time-value pairs." } }, "required": [ "type", "content" ], "type": "object", "additionalProperties": false }, "OIBusFileContent": { "description": "Raw content.", "properties": { "type": { "type": "string", "enum": [ "any" ], "nullable": false, "description": "The type of content.", "example": "any" }, "filePath": { "type": "string", "description": "The path to the file containing the content.", "example": "/path/to/file.json" }, "filename": { "type": "string", "description": "The logical filename to store in cache metadata (used as the output filename by north connectors).\nWhen omitted, north connectors fall back to path.basename(filePath).\n\nSouth connectors that preserve directory structure (e.g. folder-scanner with recursive=true)\nset this to the path relative to the source folder, e.g. \"subdir/file.json\"." }, "content": { "type": "string", "description": "The content itself, if available." } }, "required": [ "type", "filePath" ], "type": "object", "additionalProperties": false }, "OIBusAnyContent": { "properties": { "type": { "type": "string", "enum": [ "any-content" ], "nullable": false, "description": "The type of content.", "example": "any-content" }, "content": { "type": "string", "description": "The content" } }, "required": [ "type", "content" ], "type": "object", "additionalProperties": false }, "OIBusSetpoint": { "description": "A setpoint.", "properties": { "reference": { "type": "string", "description": "The reference of the setpoint.", "example": "setpoint1" }, "value": { "anyOf": [ { "type": "string" }, { "type": "number", "format": "double" }, { "type": "boolean" } ], "description": "The value of the setpoint.", "example": 100 } }, "required": [ "reference", "value" ], "type": "object", "additionalProperties": false }, "OIBusSetpointContent": { "description": "Setpoint content.", "properties": { "type": { "type": "string", "enum": [ "setpoint" ], "nullable": false, "description": "The type of content.", "example": "setpoint" }, "content": { "items": { "$ref": "#/components/schemas/OIBusSetpoint" }, "type": "array", "description": "The array of setpoints." } }, "required": [ "type", "content" ], "type": "object", "additionalProperties": false }, "OIBusContent": { "anyOf": [ { "$ref": "#/components/schemas/OIBusTimeValueContent" }, { "$ref": "#/components/schemas/OIBusFileContent" }, { "$ref": "#/components/schemas/OIBusAnyContent" }, { "$ref": "#/components/schemas/OIBusSetpointContent" } ], "description": "Type representing OIBus content." }, "SouthItemSettings": { "anyOf": [ { "$ref": "#/components/schemas/SouthADSItemSettings" }, { "$ref": "#/components/schemas/SouthFolderScannerItemSettings" }, { "$ref": "#/components/schemas/SouthFTPItemSettings" }, { "$ref": "#/components/schemas/SouthModbusItemSettings" }, { "$ref": "#/components/schemas/SouthMQTTItemSettings" }, { "$ref": "#/components/schemas/SouthMSSQLItemSettings" }, { "$ref": "#/components/schemas/SouthMySQLItemSettings" }, { "$ref": "#/components/schemas/SouthODBCItemSettings" }, { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettings" }, { "$ref": "#/components/schemas/SouthOLEDBItemSettings" }, { "$ref": "#/components/schemas/SouthOPCItemSettings" }, { "$ref": "#/components/schemas/SouthOPCUAItemSettings" }, { "$ref": "#/components/schemas/SouthOracleItemSettings" }, { "$ref": "#/components/schemas/SouthPIItemSettings" }, { "$ref": "#/components/schemas/SouthPostgreSQLItemSettings" }, { "$ref": "#/components/schemas/SouthRestItemSettings" }, { "$ref": "#/components/schemas/SouthSFTPItemSettings" }, { "$ref": "#/components/schemas/SouthSQLiteItemSettings" } ] }, "SouthConnectorItemTestingSettings": { "description": "Settings for testing a South connector item.\nUsed when manually testing data collection for an item.", "properties": { "history": { "properties": { "endTime": { "type": "string", "description": "End time for historical data test (ISO 8601 format).\nNot applicable for folder-scanner as it doesn't support history mode." }, "startTime": { "type": "string", "description": "Start time for historical data test (ISO 8601 format).\nNot applicable for folder-scanner as it doesn't support history mode." } }, "required": [ "endTime", "startTime" ], "type": "object", "description": "Historical data range for testing.\nUndefined when testing real-time data collection (which for folder-scanner means last file)." } }, "type": "object", "additionalProperties": false }, "SouthItemTestRequest": { "properties": { "southSettings": { "$ref": "#/components/schemas/SouthSettings", "description": "South connector settings" }, "itemSettings": { "$ref": "#/components/schemas/SouthItemSettings", "description": "Item-specific settings" }, "testingSettings": { "$ref": "#/components/schemas/SouthConnectorItemTestingSettings", "description": "Testing settings including time range" } }, "required": [ "southSettings", "itemSettings", "testingSettings" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemDTO": { "anyOf": [ { "$ref": "#/components/schemas/SouthConnectorADSItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorFolderScannerItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorFTPItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorModbusItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorMQTTItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorMSSQLItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorMySQLItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorODBCItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorOIAnalyticsItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorOLEDBItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorOPCItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorOPCUAItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorOracleItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorOsisoftPIItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorPostgreSQLItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorRESTItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorSFTPItemDTO" }, { "$ref": "#/components/schemas/SouthConnectorSQLiteItemDTO" } ], "description": "Data Transfer Object for an item to query within a South connector.\nRepresents an individual data point or file to be collected." }, "Page_SouthConnectorItemDTO_": { "description": "Represents a paginated response containing an array of elements.", "properties": { "content": { "items": { "$ref": "#/components/schemas/SouthConnectorItemDTO" }, "type": "array", "description": "The content of the page - an array of elements." }, "totalElements": { "type": "number", "format": "double", "description": "The total number of elements across all pages.", "example": 2 }, "size": { "type": "number", "format": "double", "description": "The size of the page, i.e., the maximum number of elements per page.", "example": 10 }, "number": { "type": "number", "format": "double", "description": "The number of the current page, starting at 0.", "example": 0 }, "totalPages": { "type": "number", "format": "double", "description": "The total number of pages (which can be 0 if there are no elements).", "example": 1 } }, "required": [ "content", "totalElements", "size", "number", "totalPages" ], "type": "object", "additionalProperties": false }, "SouthItemLastValue": { "description": "Last value information for a South connector item.\nStores the last received value and metadata per item.", "properties": { "itemId": { "type": "string", "description": "The ID of the item.", "example": "item-123" }, "itemName": { "type": "string", "description": "The name of the item.", "example": "Temperature Sensor 1" }, "groupId": { "type": "string", "nullable": true, "description": "The ID of the group.", "example": "group-123" }, "groupName": { "type": "string", "description": "The name of the group.", "example": "Temperature Group" }, "queryTime": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The timestamp when the data was last queried (ISO 8601 format).", "example": "2024-02-02T12:00:00.000Z" }, "value": { "description": "The cached value (JSON-serialized, structure depends on connector type).\nFor file-based connectors: array of {filename, modifiedTime}\nFor history connectors: {maxInstant}" }, "trackedInstant": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The tracked instant from group/item (ISO 8601 format).\nCan be null for non-history connectors.", "example": "2024-02-02T12:00:00.000Z" } }, "required": [ "itemId", "itemName", "groupId", "groupName", "queryTime", "value", "trackedInstant" ], "type": "object", "additionalProperties": false }, "SouthConnectorItemCommandDTO": { "anyOf": [ { "$ref": "#/components/schemas/SouthConnectorADSItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorFolderScannerItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorFTPItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorModbusItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorMQTTItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorMSSQLItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorMySQLItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorODBCItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorOIAnalyticsItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorOLEDBItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorOPCItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorOPCUAItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorOracleItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorOsisoftPIItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorPostgreSQLItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorRESTItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorSFTPItemCommandDTO" }, { "$ref": "#/components/schemas/SouthConnectorSQLiteItemCommandDTO" } ], "description": "Command Data Transfer Object for creating or updating a South connector item.\nUsed as the request body for South connector item creation/update endpoints." }, "SouthCsvDelimiterRequest": { "properties": { "delimiter": { "type": "string", "description": "CSV delimiter character" } }, "required": [ "delimiter" ], "type": "object", "additionalProperties": false }, "Record_string.string_": { "properties": {}, "additionalProperties": { "type": "string" }, "type": "object", "description": "Construct a type with a set of properties K of type T" }, "SouthCsvImportResponse": { "properties": { "items": { "items": { "$ref": "#/components/schemas/SouthConnectorItemDTO" }, "type": "array", "description": "Array of valid items that can be imported" }, "errors": { "items": { "properties": { "error": { "type": "string" }, "item": { "$ref": "#/components/schemas/Record_string.string_" } }, "required": [ "error", "item" ], "type": "object" }, "type": "array", "description": "Array of items with errors" } }, "required": [ "items", "errors" ], "type": "object", "additionalProperties": false }, "ScanModeCommandDTO": { "description": "Command DTO for creating or updating a scan mode.\nUsed as the request body for scan mode creation/update endpoints.", "properties": { "name": { "type": "string", "description": "The name of the scan mode.", "example": "Daily Backup Scan" }, "description": { "type": "string", "description": "A description of the scan mode's purpose or behavior.", "example": "Scans for new backup data every day at midnight" }, "cron": { "type": "string", "description": "A cron expression defining the scan schedule.", "example": "0 0 * * *" } }, "required": [ "name", "description", "cron" ], "type": "object", "additionalProperties": false }, "ValidatedCronExpression": { "description": "Result of validating a cron expression.\nIncludes validation status, error messages, and execution details.", "properties": { "isValid": { "type": "boolean", "description": "Whether the cron expression is valid.", "example": true }, "errorMessage": { "type": "string", "description": "Error message if the cron expression is invalid.\nEmpty string if the expression is valid.", "example": "" }, "nextExecutions": { "items": { "$ref": "#/components/schemas/Instant" }, "type": "array", "description": "The next 3 execution times for the cron expression.\nEmpty array if the expression is invalid.", "example": [ "2024-01-01T00:00:00.000Z", "2024-01-02T00:00:00.000Z", "2024-01-03T00:00:00.000Z" ] }, "humanReadableForm": { "type": "string", "description": "A human-readable description of the cron expression.", "example": "At 00:00 every day" } }, "required": [ "isValid", "errorMessage", "nextExecutions", "humanReadableForm" ], "type": "object", "additionalProperties": false }, "RegistrationStatus": { "type": "string", "enum": [ "NOT_REGISTERED", "PENDING", "REGISTERED" ], "description": "Type representing a registration status." }, "RegistrationSettingsDTO": { "description": "Registration settings Data Transfer Object.\nRepresents the registration settings for the engine.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "host": { "type": "string", "description": "The host URL for registration.", "example": "https://registration.example.com" }, "activationCode": { "type": "string", "nullable": true, "description": "The activation code for registration.", "example": "ABC123" }, "status": { "$ref": "#/components/schemas/RegistrationStatus", "description": "The current registration status.", "example": "REGISTERED" }, "activationDate": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the activation occurred.", "example": "2023-01-01T00:00:00Z" }, "activationExpirationDate": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the activation expires.", "example": "2024-01-01T00:00:00Z" }, "checkUrl": { "type": "string", "nullable": true, "description": "The URL to check registration status.", "example": "https://instant.oianalytics.com/check" }, "useProxy": { "type": "boolean", "description": "Whether to use a proxy for registration.", "example": false }, "proxyUrl": { "type": "string", "nullable": true, "description": "The proxy URL for registration.", "example": null }, "proxyUsername": { "type": "string", "nullable": true, "description": "The username for proxy authentication.", "example": null }, "useApiGateway": { "type": "boolean", "description": "Whether to use an API Gateway", "example": false }, "apiGatewayHeaderKey": { "type": "string", "nullable": true, "description": "The header key for the API gateway", "example": null }, "apiGatewayBaseEndpoint": { "type": "string", "nullable": true, "description": "The base endpoint used by the API gateway" }, "acceptUnauthorized": { "type": "boolean", "description": "Whether to accept unauthorized certificates.", "example": false }, "commandRefreshInterval": { "type": "number", "format": "double", "description": "The interval in seconds for refreshing commands.", "example": 60 }, "commandRetryInterval": { "type": "number", "format": "double", "description": "The interval in seconds for retrying commands.", "example": 10 }, "messageRetryInterval": { "type": "number", "format": "double", "description": "The interval in seconds for retrying messages.", "example": 10 }, "commandPermissions": { "properties": { "updateNorthCacheContent": { "type": "boolean", "description": "Permission to remove cache content.", "example": true }, "getNorthCacheFileContent": { "type": "boolean", "description": "Permission to get cache file content.", "example": true }, "searchNorthCacheContent": { "type": "boolean", "description": "Permission to search cache content.", "example": true }, "updateHistoryCacheContent": { "type": "boolean", "description": "Permission to move cache content.", "example": true }, "getHistoryCacheFileContent": { "type": "boolean", "description": "Permission to get cache file content.", "example": true }, "searchHistoryCacheContent": { "type": "boolean", "description": "Permission to search cache content.", "example": true }, "setpoint": { "type": "boolean", "description": "Permission to apply setpoints.", "example": true }, "deleteNorth": { "type": "boolean", "description": "Permission to delete a north connector.", "example": true }, "updateNorth": { "type": "boolean", "description": "Permission to update a north connector.", "example": true }, "createNorth": { "type": "boolean", "description": "Permission to create a north connector.", "example": true }, "createOrUpdateSouthItemsFromCsv": { "type": "boolean", "description": "Permission to create or update south items from CSV.", "example": true }, "deleteSouth": { "type": "boolean", "description": "Permission to delete a south connector.", "example": true }, "updateSouth": { "type": "boolean", "description": "Permission to update a south connector.", "example": true }, "createSouth": { "type": "boolean", "description": "Permission to create a south connector.", "example": true }, "createOrUpdateHistoryItemsFromCsv": { "type": "boolean", "description": "Permission to create or update history items from CSV.", "example": true }, "deleteHistoryQuery": { "type": "boolean", "description": "Permission to delete a history query.", "example": true }, "updateHistoryQuery": { "type": "boolean", "description": "Permission to update a history query.", "example": true }, "createHistoryQuery": { "type": "boolean", "description": "Permission to create a history query.", "example": true }, "deleteCertificate": { "type": "boolean", "description": "Permission to delete a certificate.", "example": true }, "updateCertificate": { "type": "boolean", "description": "Permission to update a certificate.", "example": true }, "createCertificate": { "type": "boolean", "description": "Permission to create a certificate.", "example": true }, "deleteIpFilter": { "type": "boolean", "description": "Permission to delete an IP filter.", "example": true }, "updateIpFilter": { "type": "boolean", "description": "Permission to update an IP filter.", "example": true }, "createIpFilter": { "type": "boolean", "description": "Permission to create an IP filter.", "example": true }, "deleteScanMode": { "type": "boolean", "description": "Permission to delete a scan mode.", "example": true }, "updateScanMode": { "type": "boolean", "description": "Permission to update a scan mode.", "example": true }, "createScanMode": { "type": "boolean", "description": "Permission to create a scan mode.", "example": true }, "updateRegistrationSettings": { "type": "boolean", "description": "Permission to update registration settings.", "example": true }, "updateEngineSettings": { "type": "boolean", "description": "Permission to update engine settings.", "example": true }, "regenerateCipherKeys": { "type": "boolean", "description": "Permission to regenerate cipher keys.", "example": true }, "restartEngine": { "type": "boolean", "description": "Permission to restart the engine.", "example": true }, "updateVersion": { "type": "boolean", "description": "Permission to update the engine version.", "example": true } }, "required": [ "updateNorthCacheContent", "getNorthCacheFileContent", "searchNorthCacheContent", "updateHistoryCacheContent", "getHistoryCacheFileContent", "searchHistoryCacheContent", "setpoint", "deleteNorth", "updateNorth", "createNorth", "createOrUpdateSouthItemsFromCsv", "deleteSouth", "updateSouth", "createSouth", "createOrUpdateHistoryItemsFromCsv", "deleteHistoryQuery", "updateHistoryQuery", "createHistoryQuery", "deleteCertificate", "updateCertificate", "createCertificate", "deleteIpFilter", "updateIpFilter", "createIpFilter", "deleteScanMode", "updateScanMode", "createScanMode", "updateRegistrationSettings", "updateEngineSettings", "regenerateCipherKeys", "restartEngine", "updateVersion" ], "type": "object", "description": "Permissions for various commands." } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "host", "activationCode", "status", "activationDate", "checkUrl", "useProxy", "proxyUrl", "proxyUsername", "useApiGateway", "apiGatewayHeaderKey", "apiGatewayBaseEndpoint", "acceptUnauthorized", "commandRefreshInterval", "commandRetryInterval", "messageRetryInterval", "commandPermissions" ], "type": "object", "additionalProperties": false }, "RegistrationSettingsCommandDTO": { "description": "Registration settings command DTO.\nUsed as the request body for updating registration settings.", "properties": { "host": { "type": "string", "description": "The host URL for registration.", "example": "https://instance.oianalytics.com" }, "useProxy": { "type": "boolean", "description": "Whether to use a proxy for registration.", "example": false }, "proxyUrl": { "type": "string", "nullable": true, "description": "The proxy URL for registration.", "example": null }, "proxyUsername": { "type": "string", "nullable": true, "description": "The username for proxy authentication.", "example": null }, "proxyPassword": { "type": "string", "nullable": true, "description": "The password for proxy authentication.", "example": null }, "useApiGateway": { "type": "boolean", "description": "Whether to use an API Gateway", "example": false }, "apiGatewayHeaderKey": { "type": "string", "nullable": true, "description": "The header key for the API gateway", "example": null }, "apiGatewayHeaderValue": { "type": "string", "nullable": true, "description": "The header value (a secret) used for the API gateway", "example": null }, "apiGatewayBaseEndpoint": { "type": "string", "nullable": true, "description": "The base endpoint used by the API gateway" }, "acceptUnauthorized": { "type": "boolean", "description": "Whether to accept unauthorized certificates.", "example": false }, "commandRefreshInterval": { "type": "number", "format": "double", "description": "The interval in seconds for refreshing commands.", "example": 60 }, "commandRetryInterval": { "type": "number", "format": "double", "description": "The interval in seconds for retrying commands.", "example": 10 }, "messageRetryInterval": { "type": "number", "format": "double", "description": "The interval in seconds for retrying messages.", "example": 10 }, "commandPermissions": { "properties": { "testCustomTransformer": { "type": "boolean", "description": "Permission to test a custom transformer.", "example": true }, "deleteCustomTransformer": { "type": "boolean", "description": "Permission to delete a custom transformer.", "example": true }, "updateCustomTransformer": { "type": "boolean", "description": "Permission to update a custom transformer.", "example": true }, "createCustomTransformer": { "type": "boolean", "description": "Permission to create a custom transformer.", "example": true }, "updateNorthCacheContent": { "type": "boolean", "description": "Permission to remove cache content.", "example": true }, "getNorthCacheFileContent": { "type": "boolean", "description": "Permission to get cache file content.", "example": true }, "searchNorthCacheContent": { "type": "boolean", "description": "Permission to search cache content.", "example": true }, "updateHistoryCacheContent": { "type": "boolean", "description": "Permission to remove cache content.", "example": true }, "getHistoryCacheFileContent": { "type": "boolean", "description": "Permission to get cache file content.", "example": true }, "searchHistoryCacheContent": { "type": "boolean", "description": "Permission to search cache content.", "example": true }, "setpoint": { "type": "boolean", "description": "Permission to apply setpoints.", "example": true }, "testNorthConnection": { "type": "boolean", "description": "Permission to test a north connection.", "example": true }, "deleteNorth": { "type": "boolean", "description": "Permission to delete a north connector.", "example": true }, "updateNorth": { "type": "boolean", "description": "Permission to update a north connector.", "example": true }, "createNorth": { "type": "boolean", "description": "Permission to create a north connector.", "example": true }, "testSouthItem": { "type": "boolean", "description": "Permission to test a south item.", "example": true }, "testSouthConnection": { "type": "boolean", "description": "Permission to test a south connection.", "example": true }, "createOrUpdateSouthItemsFromCsv": { "type": "boolean", "description": "Permission to create or update south items from CSV.", "example": true }, "deleteSouth": { "type": "boolean", "description": "Permission to delete a south connector.", "example": true }, "updateSouth": { "type": "boolean", "description": "Permission to update a south connector.", "example": true }, "createSouth": { "type": "boolean", "description": "Permission to create a south connector.", "example": true }, "testHistorySouthItem": { "type": "boolean", "description": "Permission to test a history south item.", "example": true }, "testHistorySouthConnection": { "type": "boolean", "description": "Permission to test a history south connection.", "example": true }, "testHistoryNorthConnection": { "type": "boolean", "description": "Permission to test a history north connection.", "example": true }, "createOrUpdateHistoryItemsFromCsv": { "type": "boolean", "description": "Permission to create or update history items from CSV.", "example": true }, "deleteHistoryQuery": { "type": "boolean", "description": "Permission to delete a history query.", "example": true }, "updateHistoryQuery": { "type": "boolean", "description": "Permission to update a history query.", "example": true }, "createHistoryQuery": { "type": "boolean", "description": "Permission to create a history query.", "example": true }, "deleteCertificate": { "type": "boolean", "description": "Permission to delete a certificate.", "example": true }, "updateCertificate": { "type": "boolean", "description": "Permission to update a certificate.", "example": true }, "createCertificate": { "type": "boolean", "description": "Permission to create a certificate.", "example": true }, "deleteIpFilter": { "type": "boolean", "description": "Permission to delete an IP filter.", "example": true }, "updateIpFilter": { "type": "boolean", "description": "Permission to update an IP filter.", "example": true }, "createIpFilter": { "type": "boolean", "description": "Permission to create an IP filter.", "example": true }, "deleteScanMode": { "type": "boolean", "description": "Permission to delete a scan mode.", "example": true }, "updateScanMode": { "type": "boolean", "description": "Permission to update a scan mode.", "example": true }, "createScanMode": { "type": "boolean", "description": "Permission to create a scan mode.", "example": true }, "updateRegistrationSettings": { "type": "boolean", "description": "Permission to update registration settings.", "example": true }, "updateEngineSettings": { "type": "boolean", "description": "Permission to update engine settings.", "example": true }, "regenerateCipherKeys": { "type": "boolean", "description": "Permission to regenerate cipher keys.", "example": true }, "restartEngine": { "type": "boolean", "description": "Permission to restart the engine.", "example": true }, "updateVersion": { "type": "boolean", "description": "Permission to update the engine version.", "example": true } }, "required": [ "testCustomTransformer", "deleteCustomTransformer", "updateCustomTransformer", "createCustomTransformer", "updateNorthCacheContent", "getNorthCacheFileContent", "searchNorthCacheContent", "updateHistoryCacheContent", "getHistoryCacheFileContent", "searchHistoryCacheContent", "setpoint", "testNorthConnection", "deleteNorth", "updateNorth", "createNorth", "testSouthItem", "testSouthConnection", "createOrUpdateSouthItemsFromCsv", "deleteSouth", "updateSouth", "createSouth", "testHistorySouthItem", "testHistorySouthConnection", "testHistoryNorthConnection", "createOrUpdateHistoryItemsFromCsv", "deleteHistoryQuery", "updateHistoryQuery", "createHistoryQuery", "deleteCertificate", "updateCertificate", "createCertificate", "deleteIpFilter", "updateIpFilter", "createIpFilter", "deleteScanMode", "updateScanMode", "createScanMode", "updateRegistrationSettings", "updateEngineSettings", "regenerateCipherKeys", "restartEngine", "updateVersion" ], "type": "object", "description": "Permissions for various commands." } }, "required": [ "host", "useProxy", "proxyUrl", "proxyUsername", "proxyPassword", "useApiGateway", "apiGatewayHeaderKey", "apiGatewayHeaderValue", "apiGatewayBaseEndpoint", "acceptUnauthorized", "commandRefreshInterval", "commandRetryInterval", "messageRetryInterval", "commandPermissions" ], "type": "object", "additionalProperties": false }, "OIBusCommandType": { "type": "string", "enum": [ "setpoint", "update-version", "restart-engine", "regenerate-cipher-keys", "update-engine-settings", "update-registration-settings", "create-scan-mode", "update-scan-mode", "delete-scan-mode", "create-ip-filter", "update-ip-filter", "delete-ip-filter", "create-certificate", "update-certificate", "delete-certificate", "create-south", "update-south", "delete-south", "test-south-connection", "test-south-item", "create-north", "update-north", "delete-north", "test-north-connection", "create-or-update-south-items-from-csv", "create-history-query", "update-history-query", "delete-history-query", "test-history-query-north-connection", "test-history-query-south-connection", "test-history-query-south-item", "create-or-update-history-query-south-items-from-csv", "update-history-query-status", "search-north-cache-content", "search-history-cache-content", "get-north-cache-file-content", "get-history-cache-file-content", "update-north-cache-content", "update-history-cache-content", "create-custom-transformer", "update-custom-transformer", "delete-custom-transformer", "test-custom-transformer" ], "description": "Type representing an OIBus command type." }, "OIBusCommandStatus": { "type": "string", "enum": [ "RETRIEVED", "RUNNING", "ERRORED", "CANCELLED", "COMPLETED" ], "description": "Type representing an OIBus command status." }, "OIBusUpdateVersionCommandDTO": { "description": "Command DTO for updating the OIBus version.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-version" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "commandContent": { "properties": { "backupFolders": { "type": "string", "description": "The folders to back up before updating.", "example": "/backup" }, "updateLauncher": { "type": "boolean", "description": "Whether to update the launcher.", "example": true }, "assetId": { "type": "string", "description": "The asset ID for the update.", "example": "asset123" }, "version": { "type": "string", "description": "The version to update to.", "example": "3.7.0" } }, "required": [ "backupFolders", "updateLauncher", "assetId", "version" ], "type": "object", "description": "The content of the command, including version details and update options." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusRegenerateCipherKeysCommandDTO": { "description": "Command DTO for regenerating cipher keys.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "regenerate-cipher-keys" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion" ], "type": "object", "additionalProperties": false }, "OIBusRestartEngineCommandDTO": { "description": "Command DTO for restarting the engine.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "restart-engine" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion" ], "type": "object", "additionalProperties": false }, "LogLevel": { "type": "string", "enum": [ "silent", "error", "warn", "info", "debug", "trace" ], "description": "Type representing a log level." }, "EngineSettingsCommandDTO": { "description": "Engine settings command Data Transfer Object.\nUsed as the request body for updating engine settings.", "properties": { "name": { "type": "string", "description": "The name of the engine.", "example": "OIBus OT" }, "port": { "type": "number", "format": "double", "description": "The port on which the engine listens.", "example": 8080 }, "proxyEnabled": { "type": "boolean", "description": "Whether the proxy is enabled.", "example": false }, "proxyPort": { "type": "number", "format": "double", "nullable": true, "description": "The port for the proxy, if enabled.", "example": null }, "logParameters": { "properties": { "oia": { "properties": { "interval": { "type": "number", "format": "double", "description": "The interval in seconds for sending logs to OIA.", "example": 60 }, "level": { "$ref": "#/components/schemas/LogLevel", "description": "The log level for OIA output.", "example": "info" } }, "required": [ "interval", "level" ], "type": "object", "description": "OIA logging configuration." }, "loki": { "properties": { "password": { "type": "string", "description": "The password for Loki authentication.", "example": "pass" }, "username": { "type": "string", "description": "The username for Loki authentication.", "example": "user" }, "address": { "type": "string", "description": "The address of the Loki server.", "example": "http://loki:3100" }, "interval": { "type": "number", "format": "double", "description": "The interval in seconds for sending logs to Loki.", "example": 60 }, "level": { "$ref": "#/components/schemas/LogLevel", "description": "The log level for Loki output.", "example": "error" } }, "required": [ "password", "username", "address", "interval", "level" ], "type": "object", "description": "Loki logging configuration." }, "database": { "properties": { "maxNumberOfLogs": { "type": "number", "format": "double", "description": "The maximum number of logs to keep in the database.", "example": 10000 }, "level": { "$ref": "#/components/schemas/LogLevel", "description": "The log level for database output.", "example": "warn" } }, "required": [ "maxNumberOfLogs", "level" ], "type": "object", "description": "Database logging configuration." }, "file": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of log files to keep.", "example": 5 }, "maxFileSize": { "type": "number", "format": "double", "description": "The maximum size of a log file in bytes.", "example": 10485760 }, "level": { "$ref": "#/components/schemas/LogLevel", "description": "The log level for file output.", "example": "debug" } }, "required": [ "numberOfFiles", "maxFileSize", "level" ], "type": "object", "description": "File logging configuration." }, "console": { "properties": { "level": { "$ref": "#/components/schemas/LogLevel", "description": "The log level for console output.", "example": "info" } }, "required": [ "level" ], "type": "object", "description": "Console logging configuration." } }, "required": [ "oia", "loki", "database", "file", "console" ], "type": "object", "description": "Logging parameters for different outputs." } }, "required": [ "name", "port", "proxyEnabled", "proxyPort", "logParameters" ], "type": "object", "additionalProperties": false }, "OIBusUpdateEngineSettingsCommandDTO": { "description": "Command DTO for updating engine settings.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-engine-settings" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "commandContent": { "$ref": "#/components/schemas/EngineSettingsCommandDTO", "description": "The content of the command, including engine settings." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusUpdateRegistrationSettingsCommandDTO": { "description": "Command DTO for updating registration settings.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-registration-settings" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "commandContent": { "properties": { "messageRetryInterval": { "type": "number", "format": "double", "description": "The interval in seconds for retrying messages.", "example": 10 }, "commandRetryInterval": { "type": "number", "format": "double", "description": "The interval in seconds for retrying commands.", "example": 10 }, "commandRefreshInterval": { "type": "number", "format": "double", "description": "The interval in seconds for refreshing commands.", "example": 60 } }, "required": [ "messageRetryInterval", "commandRetryInterval", "commandRefreshInterval" ], "type": "object", "description": "The content of the command, including registration settings." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusCreateScanModeCommandDTO": { "description": "Command DTO for creating a scan mode.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "create-scan-mode" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "commandContent": { "$ref": "#/components/schemas/ScanModeCommandDTO", "description": "The content of the command, including scan mode details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusUpdateScanModeCommandDTO": { "description": "Command DTO for updating a scan mode.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-scan-mode" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "scanModeId": { "type": "string", "description": "The ID of the scan mode to update.", "example": "scan123" }, "commandContent": { "$ref": "#/components/schemas/ScanModeCommandDTO", "description": "The content of the command, including updated scan mode details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "scanModeId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusDeleteScanModeCommandDTO": { "description": "Command DTO for deleting a scan mode.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "delete-scan-mode" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "scanModeId": { "type": "string", "description": "The ID of the scan mode to delete.", "example": "scan123" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "scanModeId" ], "type": "object", "additionalProperties": false }, "IPFilterCommandDTO": { "description": "Command DTO for creating or updating an IP filter.\nUsed as the request body for IP filter creation/update endpoints.", "properties": { "address": { "type": "string", "description": "A regex pattern matched against the remote client's IP address.\nA plain IP address (e.g. `192.168.1.1`) is treated as a literal pattern.\nUse `*` to allow all addresses, or a regex prefix like `192\\.168\\.` to allow an entire subnet.\nBoth IPv4 and IPv6 addresses (including IPv4-mapped IPv6) are supported.", "example": "192\\.168\\.1\\..*" }, "description": { "type": "string", "description": "A description of the purpose or reason for this IP filter.", "example": "Allow traffic from the local admin workstation" } }, "required": [ "address", "description" ], "type": "object", "additionalProperties": false }, "OIBusCreateIPFilterCommandDTO": { "description": "Command DTO for creating an IP filter.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "create-ip-filter" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "commandContent": { "$ref": "#/components/schemas/IPFilterCommandDTO", "description": "The content of the command, including IP filter details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusUpdateIPFilterCommandDTO": { "description": "Command DTO for updating an IP filter.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-ip-filter" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "ipFilterId": { "type": "string", "description": "The ID of the IP filter to update.", "example": "filter123" }, "commandContent": { "$ref": "#/components/schemas/IPFilterCommandDTO", "description": "The content of the command, including updated IP filter details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "ipFilterId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusDeleteIPFilterCommandDTO": { "description": "Command DTO for deleting an IP filter.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "delete-ip-filter" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "ipFilterId": { "type": "string", "description": "The ID of the IP filter to delete.", "example": "filter123" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "ipFilterId" ], "type": "object", "additionalProperties": false }, "CertificateOptions": { "description": "Options for generating a certificate.\nUsed to specify details for certificate generation.", "properties": { "commonName": { "type": "string", "description": "The common name (e.g., domain name) for the certificate.", "example": "example.com" }, "countryName": { "type": "string", "description": "The country name for the certificate.", "example": "FR" }, "stateOrProvinceName": { "type": "string", "description": "The state or province name for the certificate.", "example": "Savoie" }, "localityName": { "type": "string", "description": "The locality (e.g., city) name for the certificate.", "example": "Chambéry" }, "organizationName": { "type": "string", "description": "The organization name for the certificate.", "example": "Example Inc." }, "keySize": { "type": "number", "format": "double", "description": "The key size in bits for the certificate.", "example": 2048 }, "daysBeforeExpiry": { "type": "number", "format": "double", "description": "The number of days before the certificate expires.", "example": 365 } }, "required": [ "commonName", "countryName", "stateOrProvinceName", "localityName", "organizationName", "keySize", "daysBeforeExpiry" ], "type": "object", "additionalProperties": false }, "CertificateCommandDTO": { "description": "Command DTO for creating or updating a certificate.\nUsed as the request body for certificate creation/update endpoints.", "properties": { "name": { "type": "string", "description": "The name of the certificate.", "example": "New Server SSL Certificate" }, "description": { "type": "string", "description": "A description of the certificate's purpose or usage.", "example": "New SSL certificate for securing server communications" }, "regenerateCertificate": { "type": "boolean", "description": "Whether to regenerate the certificate.", "example": false }, "options": { "allOf": [ { "$ref": "#/components/schemas/CertificateOptions" } ], "nullable": true, "description": "Options for generating the certificate.\nSet to `null` to not regenerate certificate" } }, "required": [ "name", "description", "regenerateCertificate", "options" ], "type": "object", "additionalProperties": false }, "OIBusCreateCertificateCommandDTO": { "description": "Command DTO for creating a certificate.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "create-certificate" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "commandContent": { "$ref": "#/components/schemas/CertificateCommandDTO", "description": "The content of the command, including certificate details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusUpdateCertificateCommandDTO": { "description": "Command DTO for updating a certificate.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-certificate" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "certificateId": { "type": "string", "description": "The ID of the certificate to update.", "example": "cert123" }, "commandContent": { "$ref": "#/components/schemas/CertificateCommandDTO", "description": "The content of the command, including updated certificate details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "certificateId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusDeleteCertificateCommandDTO": { "description": "Command DTO for deleting a certificate.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "delete-certificate" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "certificateId": { "type": "string", "description": "The ID of the certificate to delete.", "example": "cert123" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "certificateId" ], "type": "object", "additionalProperties": false }, "OIBusCreateSouthConnectorCommandDTO": { "description": "Command DTO for creating a south connector.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "create-south" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "commandContent": { "$ref": "#/components/schemas/SouthConnectorCommandDTO", "description": "The content of the command, including south connector details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusUpdateSouthConnectorCommandDTO": { "description": "Command DTO for updating a south connector.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-south" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "southConnectorId": { "type": "string", "description": "The ID of the south connector to update.", "example": "south123" }, "commandContent": { "$ref": "#/components/schemas/SouthConnectorCommandDTO", "description": "The content of the command, including updated south connector details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "southConnectorId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusDeleteSouthConnectorCommandDTO": { "description": "Command DTO for deleting a south connector.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "delete-south" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "southConnectorId": { "type": "string", "description": "The ID of the south connector to delete.", "example": "south123" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "southConnectorId" ], "type": "object", "additionalProperties": false }, "OIBusTestSouthConnectorCommandDTO": { "description": "Command DTO for testing a south connector connection.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "test-south-connection" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "southConnectorId": { "type": "string", "description": "The ID of the south connector to test.", "example": "south123" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "southConnectorId" ], "type": "object", "additionalProperties": false }, "OIBusTestSouthConnectorItemCommandDTO": { "description": "Command DTO for testing a south connector item.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "test-south-item" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "southConnectorId": { "type": "string", "description": "The ID of the south connector.", "example": "south123" }, "itemId": { "type": "string", "description": "The ID of the item to test.", "example": "item456" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "southConnectorId", "itemId" ], "type": "object", "additionalProperties": false }, "NorthAmazonS3Settings": { "properties": { "bucket": { "type": "string" }, "region": { "type": "string" }, "folder": { "type": "string" }, "accessKey": { "type": "string" }, "secretKey": { "type": "string", "nullable": true }, "useProxy": { "type": "boolean" }, "proxyUrl": { "type": "string", "nullable": true }, "proxyUsername": { "type": "string", "nullable": true }, "proxyPassword": { "type": "string", "nullable": true } }, "required": [ "bucket", "region", "folder", "accessKey", "secretKey", "useProxy" ], "type": "object", "additionalProperties": false }, "DataSourceType": { "type": "string" }, "SourceOriginSouthCommandDTO": { "properties": { "type": { "type": "string", "enum": [ "south" ], "nullable": false }, "southId": { "type": "string", "description": "The south ID associated to the transformer" }, "groupId": { "type": "string", "description": "The group ID associated to the transformer (mutually exclusive with items)" }, "items": { "items": { "properties": { "enabled": { "type": "boolean", "description": "Whether this item is enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "id": { "type": "string", "description": "The item ID" } }, "required": [ "enabled", "name", "id" ], "type": "object" }, "type": "array", "description": "The list of items associated to the transformer" } }, "required": [ "type", "southId", "items" ], "type": "object", "additionalProperties": false }, "SourceOriginOIAnalyticsCommandDTO": { "properties": { "type": { "type": "string", "enum": [ "oianalytics-setpoint" ], "nullable": false } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "SourceOriginAPICommandDTO": { "properties": { "type": { "type": "string", "enum": [ "oibus-api" ], "nullable": false }, "dataSourceId": { "type": "string" } }, "required": [ "type", "dataSourceId" ], "type": "object", "additionalProperties": false }, "TransformerSourceCommandDTO": { "anyOf": [ { "$ref": "#/components/schemas/SourceOriginSouthCommandDTO" }, { "$ref": "#/components/schemas/SourceOriginOIAnalyticsCommandDTO" }, { "$ref": "#/components/schemas/SourceOriginAPICommandDTO" } ] }, "Record_string.unknown_": { "properties": {}, "additionalProperties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" }, "TransformerCommandDTOWithOptions": { "description": "Data Transfer Object for a transformer with its options.\nUsed when a transformer needs to be applied with specific configuration options.", "properties": { "id": { "type": "string", "description": "The id used to match a transformer with options", "example": "id" }, "source": { "$ref": "#/components/schemas/TransformerSourceCommandDTO", "description": "From which source the data comes from" }, "transformerId": { "type": "string", "description": "The transformer to be applied." }, "options": { "$ref": "#/components/schemas/Record_string.unknown_", "description": "Configuration options for the transformer.", "example": { "precision": 2, "defaultValue": 0 } } }, "required": [ "id", "source", "transformerId", "options" ], "type": "object", "additionalProperties": false }, "NorthConnectorAmazonS3CommandDTO": { "description": "North connector command for Amazon S3.", "properties": { "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "aws-s3" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthAmazonS3Settings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode. Used to select a scan mode when its ID is unavailable", "example": null }, "scanModeId": { "type": "string", "description": "The ID of the scan mode.", "example": "scanModeId1" } }, "required": [ "numberOfFiles", "numberOfElements", "scanModeName", "scanModeId" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerCommandDTOWithOptions" }, "type": "array", "description": "The list of transformers to apply to the data.", "example": [] } }, "required": [ "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthAzureBlobSettingsAuthentication": { "type": "string", "enum": [ "access-key", "sas-token", "aad", "external" ] }, "NorthAzureBlobSettings": { "properties": { "useADLS": { "type": "boolean" }, "useCustomUrl": { "type": "boolean" }, "account": { "type": "string" }, "customUrl": { "type": "string" }, "container": { "type": "string" }, "path": { "type": "string" }, "authentication": { "$ref": "#/components/schemas/NorthAzureBlobSettingsAuthentication" }, "accessKey": { "type": "string", "nullable": true }, "sasToken": { "type": "string", "nullable": true }, "tenantId": { "type": "string", "nullable": true }, "clientId": { "type": "string", "nullable": true }, "clientSecret": { "type": "string", "nullable": true }, "useProxy": { "type": "boolean" }, "proxyUrl": { "type": "string" }, "proxyUsername": { "type": "string", "nullable": true }, "proxyPassword": { "type": "string", "nullable": true } }, "required": [ "useADLS", "useCustomUrl", "container", "path", "authentication", "useProxy" ], "type": "object", "additionalProperties": false }, "NorthConnectorAzureBlobCommandDTO": { "description": "North connector command for Azure Blob Storage.", "properties": { "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "azure-blob" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthAzureBlobSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode. Used to select a scan mode when its ID is unavailable", "example": null }, "scanModeId": { "type": "string", "description": "The ID of the scan mode.", "example": "scanModeId1" } }, "required": [ "numberOfFiles", "numberOfElements", "scanModeName", "scanModeId" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerCommandDTOWithOptions" }, "type": "array", "description": "The list of transformers to apply to the data.", "example": [] } }, "required": [ "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthConsoleSettings": { "properties": { "verbose": { "type": "boolean" } }, "required": [ "verbose" ], "type": "object", "additionalProperties": false }, "NorthConnectorConsoleCommandDTO": { "description": "North connector command for the Console debug output.", "properties": { "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "console" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthConsoleSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode. Used to select a scan mode when its ID is unavailable", "example": null }, "scanModeId": { "type": "string", "description": "The ID of the scan mode.", "example": "scanModeId1" } }, "required": [ "numberOfFiles", "numberOfElements", "scanModeName", "scanModeId" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerCommandDTOWithOptions" }, "type": "array", "description": "The list of transformers to apply to the data.", "example": [] } }, "required": [ "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthFileWriterSettings": { "properties": { "outputFolder": { "type": "string" }, "prefix": { "type": "string", "nullable": true }, "suffix": { "type": "string", "nullable": true } }, "required": [ "outputFolder", "prefix", "suffix" ], "type": "object", "additionalProperties": false }, "NorthConnectorFileWriterCommandDTO": { "description": "North connector command for the File Writer.", "properties": { "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "file-writer" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthFileWriterSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode. Used to select a scan mode when its ID is unavailable", "example": null }, "scanModeId": { "type": "string", "description": "The ID of the scan mode.", "example": "scanModeId1" } }, "required": [ "numberOfFiles", "numberOfElements", "scanModeName", "scanModeId" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerCommandDTOWithOptions" }, "type": "array", "description": "The list of transformers to apply to the data.", "example": [] } }, "required": [ "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthModbusSettingsAddressOffset": { "type": "string", "enum": [ "modbus", "jbus" ] }, "NorthModbusSettingsEndianness": { "type": "string", "enum": [ "big-endian", "little-endian" ] }, "NorthModbusSettings": { "properties": { "host": { "type": "string" }, "port": { "type": "number", "format": "double" }, "connectTimeout": { "type": "number", "format": "double" }, "retryInterval": { "type": "number", "format": "double" }, "slaveId": { "type": "number", "format": "double" }, "addressOffset": { "$ref": "#/components/schemas/NorthModbusSettingsAddressOffset" }, "endianness": { "$ref": "#/components/schemas/NorthModbusSettingsEndianness" }, "swapBytesInWords": { "type": "boolean" }, "swapWordsInDWords": { "type": "boolean" } }, "required": [ "host", "port", "connectTimeout", "retryInterval", "slaveId", "addressOffset", "endianness", "swapBytesInWords", "swapWordsInDWords" ], "type": "object", "additionalProperties": false }, "NorthConnectorModbusCommandDTO": { "description": "North connector command for Modbus.", "properties": { "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "modbus" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthModbusSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode. Used to select a scan mode when its ID is unavailable", "example": null }, "scanModeId": { "type": "string", "description": "The ID of the scan mode.", "example": "scanModeId1" } }, "required": [ "numberOfFiles", "numberOfElements", "scanModeName", "scanModeId" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerCommandDTOWithOptions" }, "type": "array", "description": "The list of transformers to apply to the data.", "example": [] } }, "required": [ "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthMQTTSettingsQos": { "type": "string", "enum": [ "0", "1", "2" ] }, "NorthMQTTSettingsAuthenticationType": { "type": "string", "enum": [ "none", "basic", "cert" ] }, "NorthMQTTSettingsAuthentication": { "properties": { "type": { "$ref": "#/components/schemas/NorthMQTTSettingsAuthenticationType" }, "username": { "type": "string" }, "password": { "type": "string", "nullable": true }, "certFilePath": { "type": "string" }, "keyFilePath": { "type": "string" }, "caFilePath": { "type": "string" } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "NorthMQTTSettings": { "properties": { "url": { "type": "string" }, "qos": { "$ref": "#/components/schemas/NorthMQTTSettingsQos" }, "persistent": { "type": "boolean" }, "authentication": { "$ref": "#/components/schemas/NorthMQTTSettingsAuthentication" }, "rejectUnauthorized": { "type": "boolean" }, "reconnectPeriod": { "type": "number", "format": "double" }, "connectTimeout": { "type": "number", "format": "double" } }, "required": [ "url", "qos", "authentication", "rejectUnauthorized", "reconnectPeriod", "connectTimeout" ], "type": "object", "additionalProperties": false }, "NorthConnectorMQTTCommandDTO": { "description": "North connector command for MQTT.", "properties": { "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "mqtt" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthMQTTSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode. Used to select a scan mode when its ID is unavailable", "example": null }, "scanModeId": { "type": "string", "description": "The ID of the scan mode.", "example": "scanModeId1" } }, "required": [ "numberOfFiles", "numberOfElements", "scanModeName", "scanModeId" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerCommandDTOWithOptions" }, "type": "array", "description": "The list of transformers to apply to the data.", "example": [] } }, "required": [ "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthOIAnalyticsSettingsSpecificSettingsAuthentication": { "type": "string", "enum": [ "basic", "aad-client-secret", "aad-certificate" ] }, "NorthOIAnalyticsSettingsSpecificSettings": { "properties": { "host": { "type": "string" }, "acceptUnauthorized": { "type": "boolean" }, "authentication": { "$ref": "#/components/schemas/NorthOIAnalyticsSettingsSpecificSettingsAuthentication" }, "accessKey": { "type": "string" }, "secretKey": { "type": "string", "nullable": true }, "tenantId": { "type": "string", "nullable": true }, "clientId": { "type": "string" }, "clientSecret": { "type": "string", "nullable": true }, "certificateId": { "type": "string", "nullable": true }, "scope": { "type": "string", "nullable": true }, "useProxy": { "type": "boolean" }, "proxyUrl": { "type": "string" }, "proxyUsername": { "type": "string", "nullable": true }, "proxyPassword": { "type": "string", "nullable": true } }, "required": [ "host", "acceptUnauthorized", "authentication", "useProxy" ], "type": "object", "additionalProperties": false }, "NorthOIAnalyticsSettings": { "properties": { "useOiaModule": { "type": "boolean" }, "timeout": { "type": "number", "format": "double" }, "compress": { "type": "boolean" }, "specificSettings": { "allOf": [ { "$ref": "#/components/schemas/NorthOIAnalyticsSettingsSpecificSettings" } ], "nullable": true } }, "required": [ "useOiaModule", "timeout", "compress" ], "type": "object", "additionalProperties": false }, "NorthConnectorOIAnalyticsCommandDTO": { "description": "North connector command for OIAnalytics.", "properties": { "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "oianalytics" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthOIAnalyticsSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode. Used to select a scan mode when its ID is unavailable", "example": null }, "scanModeId": { "type": "string", "description": "The ID of the scan mode.", "example": "scanModeId1" } }, "required": [ "numberOfFiles", "numberOfElements", "scanModeName", "scanModeId" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerCommandDTOWithOptions" }, "type": "array", "description": "The list of transformers to apply to the data.", "example": [] } }, "required": [ "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthOPCUASettingsSecurityMode": { "type": "string", "enum": [ "none", "sign", "sign-and-encrypt" ] }, "NorthOPCUASettingsSecurityPolicy": { "type": "string", "enum": [ "none", "basic128", "basic192", "basic256", "basic128-rsa15", "basic192-rsa15", "basic256-rsa15", "basic256-sha256", "aes128-sha256-rsa-oaep", "pub-sub-aes-128-ctr", "pub-sub-aes-256-ctr" ] }, "NorthOPCUASettingsAuthenticationType": { "type": "string", "enum": [ "none", "basic", "cert" ] }, "NorthOPCUASettingsAuthentication": { "properties": { "type": { "$ref": "#/components/schemas/NorthOPCUASettingsAuthenticationType" }, "username": { "type": "string" }, "password": { "type": "string", "nullable": true }, "certFilePath": { "type": "string" }, "keyFilePath": { "type": "string" } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "NorthOPCUASettings": { "properties": { "url": { "type": "string" }, "keepSessionAlive": { "type": "boolean" }, "retryInterval": { "type": "number", "format": "double" }, "securityMode": { "$ref": "#/components/schemas/NorthOPCUASettingsSecurityMode" }, "securityPolicy": { "$ref": "#/components/schemas/NorthOPCUASettingsSecurityPolicy" }, "authentication": { "$ref": "#/components/schemas/NorthOPCUASettingsAuthentication" } }, "required": [ "url", "keepSessionAlive", "retryInterval", "securityMode", "authentication" ], "type": "object", "additionalProperties": false }, "NorthConnectorOPCUACommandDTO": { "description": "North connector command for OPC UA.", "properties": { "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "opcua" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthOPCUASettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode. Used to select a scan mode when its ID is unavailable", "example": null }, "scanModeId": { "type": "string", "description": "The ID of the scan mode.", "example": "scanModeId1" } }, "required": [ "numberOfFiles", "numberOfElements", "scanModeName", "scanModeId" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerCommandDTOWithOptions" }, "type": "array", "description": "The list of transformers to apply to the data.", "example": [] } }, "required": [ "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthRESTSettingsMethod": { "type": "string", "enum": [ "POST", "PUT", "PATCH" ] }, "NorthRESTSettingsSendAs": { "type": "string", "enum": [ "file", "body" ] }, "NorthRESTSettingsAuthenticationType": { "type": "string", "enum": [ "none", "basic", "bearer", "api-key" ] }, "NorthRESTSettingsAuthenticationAddTo": { "type": "string", "enum": [ "header", "query-params" ] }, "NorthRESTSettingsAuthentication": { "properties": { "type": { "$ref": "#/components/schemas/NorthRESTSettingsAuthenticationType" }, "username": { "type": "string" }, "password": { "type": "string", "nullable": true }, "token": { "type": "string", "nullable": true }, "apiKey": { "type": "string" }, "apiValue": { "type": "string", "nullable": true }, "addTo": { "$ref": "#/components/schemas/NorthRESTSettingsAuthenticationAddTo" } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "NorthRESTSettingsProxy": { "properties": { "useProxy": { "type": "boolean" }, "proxyUrl": { "type": "string" }, "proxyUsername": { "type": "string", "nullable": true }, "proxyPassword": { "type": "string", "nullable": true } }, "required": [ "useProxy" ], "type": "object", "additionalProperties": false }, "NorthRESTSettingsQueryParams": { "properties": { "key": { "type": "string" }, "value": { "type": "string" } }, "required": [ "key", "value" ], "type": "object", "additionalProperties": false }, "NorthRESTSettingsHeaders": { "properties": { "key": { "type": "string" }, "value": { "type": "string" } }, "required": [ "key", "value" ], "type": "object", "additionalProperties": false }, "NorthRESTSettingsTestTestMethod": { "type": "string", "enum": [ "GET", "POST", "PUT" ] }, "NorthRESTSettingsTest": { "properties": { "testMethod": { "$ref": "#/components/schemas/NorthRESTSettingsTestTestMethod" }, "testEndpoint": { "type": "string" }, "body": { "type": "string", "nullable": true }, "testSuccessCode": { "type": "number", "format": "double" } }, "required": [ "testMethod", "testEndpoint", "testSuccessCode" ], "type": "object", "additionalProperties": false }, "NorthRESTSettings": { "properties": { "host": { "type": "string" }, "acceptUnauthorized": { "type": "boolean" }, "method": { "$ref": "#/components/schemas/NorthRESTSettingsMethod" }, "endpoint": { "type": "string" }, "timeout": { "type": "number", "format": "double" }, "sendAs": { "$ref": "#/components/schemas/NorthRESTSettingsSendAs" }, "successCode": { "type": "number", "format": "double" }, "authentication": { "$ref": "#/components/schemas/NorthRESTSettingsAuthentication" }, "proxy": { "$ref": "#/components/schemas/NorthRESTSettingsProxy" }, "queryParams": { "items": { "$ref": "#/components/schemas/NorthRESTSettingsQueryParams" }, "type": "array" }, "headers": { "items": { "$ref": "#/components/schemas/NorthRESTSettingsHeaders" }, "type": "array" }, "test": { "$ref": "#/components/schemas/NorthRESTSettingsTest" } }, "required": [ "host", "acceptUnauthorized", "method", "endpoint", "timeout", "sendAs", "successCode", "authentication", "proxy", "queryParams", "headers", "test" ], "type": "object", "additionalProperties": false }, "NorthConnectorRESTCommandDTO": { "description": "North connector command for the REST API.", "properties": { "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "rest" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthRESTSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode. Used to select a scan mode when its ID is unavailable", "example": null }, "scanModeId": { "type": "string", "description": "The ID of the scan mode.", "example": "scanModeId1" } }, "required": [ "numberOfFiles", "numberOfElements", "scanModeName", "scanModeId" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerCommandDTOWithOptions" }, "type": "array", "description": "The list of transformers to apply to the data.", "example": [] } }, "required": [ "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthSFTPSettingsAuthentication": { "type": "string", "enum": [ "password", "private-key" ] }, "NorthSFTPSettings": { "properties": { "host": { "type": "string" }, "port": { "type": "number", "format": "double" }, "authentication": { "$ref": "#/components/schemas/NorthSFTPSettingsAuthentication" }, "username": { "type": "string" }, "password": { "type": "string", "nullable": true }, "privateKey": { "type": "string" }, "passphrase": { "type": "string", "nullable": true }, "remoteFolder": { "type": "string" }, "prefix": { "type": "string", "nullable": true }, "suffix": { "type": "string", "nullable": true } }, "required": [ "host", "port", "authentication", "username", "remoteFolder", "prefix", "suffix" ], "type": "object", "additionalProperties": false }, "NorthConnectorSFTPCommandDTO": { "description": "North connector command for SFTP file transfer.", "properties": { "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "sftp" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthSFTPSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanModeName": { "type": "string", "nullable": true, "description": "The name of the scan mode. Used to select a scan mode when its ID is unavailable", "example": null }, "scanModeId": { "type": "string", "description": "The ID of the scan mode.", "example": "scanModeId1" } }, "required": [ "numberOfFiles", "numberOfElements", "scanModeName", "scanModeId" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerCommandDTOWithOptions" }, "type": "array", "description": "The list of transformers to apply to the data.", "example": [] } }, "required": [ "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthConnectorCommandDTO": { "anyOf": [ { "$ref": "#/components/schemas/NorthConnectorAmazonS3CommandDTO" }, { "$ref": "#/components/schemas/NorthConnectorAzureBlobCommandDTO" }, { "$ref": "#/components/schemas/NorthConnectorConsoleCommandDTO" }, { "$ref": "#/components/schemas/NorthConnectorFileWriterCommandDTO" }, { "$ref": "#/components/schemas/NorthConnectorModbusCommandDTO" }, { "$ref": "#/components/schemas/NorthConnectorMQTTCommandDTO" }, { "$ref": "#/components/schemas/NorthConnectorOIAnalyticsCommandDTO" }, { "$ref": "#/components/schemas/NorthConnectorOPCUACommandDTO" }, { "$ref": "#/components/schemas/NorthConnectorRESTCommandDTO" }, { "$ref": "#/components/schemas/NorthConnectorSFTPCommandDTO" } ], "description": "Command Data Transfer Object for creating or updating a North connector.\nUsed as the request body for North connector creation/update endpoints." }, "OIBusCreateNorthConnectorCommandDTO": { "description": "Command DTO for creating a north connector.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "create-north" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "commandContent": { "$ref": "#/components/schemas/NorthConnectorCommandDTO", "description": "The content of the command, including north connector details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusUpdateNorthConnectorCommandDTO": { "description": "Command DTO for updating a north connector.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-north" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "northConnectorId": { "type": "string", "description": "The ID of the north connector to update.", "example": "north123" }, "commandContent": { "$ref": "#/components/schemas/NorthConnectorCommandDTO", "description": "The content of the command, including updated north connector details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "northConnectorId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusDeleteNorthConnectorCommandDTO": { "description": "Command DTO for deleting a north connector.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "delete-north" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "northConnectorId": { "type": "string", "description": "The ID of the north connector to delete.", "example": "north123" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "northConnectorId" ], "type": "object", "additionalProperties": false }, "OIBusTestNorthConnectorCommandDTO": { "description": "Command DTO for testing a north connector connection.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "test-north-connection" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "northConnectorId": { "type": "string", "description": "The ID of the north connector to test.", "example": "north123" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "northConnectorId" ], "type": "object", "additionalProperties": false }, "OIBusCreateOrUpdateSouthConnectorItemsFromCSVCommandDTO": { "description": "Command DTO for creating or updating south connector items from CSV.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "create-or-update-south-items-from-csv" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "southConnectorId": { "type": "string", "description": "The ID of the south connector.", "example": "south123" }, "commandContent": { "properties": { "delimiter": { "type": "string", "description": "The delimiter used in the CSV.", "example": "," }, "csvContent": { "type": "string", "description": "The CSV content to import.", "example": "id,name,address\n1,Item 1,Address 1" }, "deleteItemsNotPresent": { "type": "boolean", "description": "Whether to delete items not present in the CSV.", "example": false } }, "required": [ "delimiter", "csvContent", "deleteItemsNotPresent" ], "type": "object", "description": "The content of the command, including CSV content and options." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "southConnectorId", "commandContent" ], "type": "object", "additionalProperties": false }, "HistoryTransformerCommandDTOWithOptions": { "properties": { "id": { "type": "string", "description": "The id used to match a transformer with options", "example": "id" }, "items": { "items": { "properties": { "enabled": { "type": "boolean", "description": "Whether this item is enabled.", "example": true }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "id": { "type": "string", "description": "The item ID" } }, "required": [ "enabled", "name", "id" ], "type": "object" }, "type": "array", "description": "The list of items associated to the transformer" }, "transformerId": { "type": "string", "description": "The transformer to be applied." }, "options": { "$ref": "#/components/schemas/Record_string.unknown_", "description": "Configuration options for the transformer.", "example": { "precision": 2, "defaultValue": 0 } } }, "required": [ "id", "items", "transformerId", "options" ], "type": "object", "additionalProperties": false }, "HistoryQueryCommandCommonDTO": { "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "queryTimeRange": { "properties": { "readDelay": { "type": "number", "format": "double" }, "maxReadInterval": { "type": "number", "format": "double" }, "endTime": { "$ref": "#/components/schemas/Instant" }, "startTime": { "$ref": "#/components/schemas/Instant" } }, "required": [ "readDelay", "maxReadInterval", "endTime", "startTime" ], "type": "object" }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double" }, "enabled": { "type": "boolean" } }, "required": [ "retentionDuration", "enabled" ], "type": "object" }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double" }, "retryCount": { "type": "number", "format": "double" }, "retryInterval": { "type": "number", "format": "double" } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object" }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double" }, "maxSize": { "type": "number", "format": "double" }, "runMinDelay": { "type": "number", "format": "double" } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object" }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double" }, "numberOfElements": { "type": "number", "format": "double" }, "scanModeName": { "type": "string", "nullable": true }, "scanModeId": { "type": "string" } }, "required": [ "numberOfFiles", "numberOfElements", "scanModeName", "scanModeId" ], "type": "object" } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object" }, "northTransformers": { "items": { "$ref": "#/components/schemas/HistoryTransformerCommandDTOWithOptions" }, "type": "array" } }, "required": [ "name", "description", "queryTimeRange", "caching", "northTransformers" ], "type": "object", "additionalProperties": false }, "HistoryQueryADSItemCommandDTO": { "description": "History query item command for Beckhoff ADS.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthADSItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthADSItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthADSItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryADSSouthCommandDTO": { "description": "History query south command for Beckhoff ADS.", "properties": { "southType": { "type": "string", "enum": [ "ads" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthADSSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryADSItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryFolderScannerItemCommandDTO": { "description": "History query item command for the Folder Scanner.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthFolderScannerItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthFolderScannerItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthFolderScannerItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryFolderScannerSouthCommandDTO": { "description": "History query south command for the Folder Scanner.", "properties": { "southType": { "type": "string", "enum": [ "folder-scanner" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthFolderScannerSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryFolderScannerItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryFTPItemCommandDTO": { "description": "History query item command for FTP file transfer.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthFTPItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthFTPItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthFTPItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryFTPSouthCommandDTO": { "description": "History query south command for FTP file transfer.", "properties": { "southType": { "type": "string", "enum": [ "ftp" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthFTPSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryFTPItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryModbusItemCommandDTO": { "description": "History query item command for Modbus.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthModbusItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthModbusItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthModbusItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryModbusSouthCommandDTO": { "description": "History query south command for Modbus.", "properties": { "southType": { "type": "string", "enum": [ "modbus" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthModbusSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryModbusItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryMQTTItemCommandDTO": { "description": "History query item command for MQTT.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthMQTTItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthMQTTItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthMQTTItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryMQTTSouthCommandDTO": { "description": "History query south command for MQTT.", "properties": { "southType": { "type": "string", "enum": [ "mqtt" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthMQTTSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryMQTTItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryMSSQLItemCommandDTO": { "description": "History query item command for Microsoft SQL Server.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthMSSQLItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthMSSQLItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthMSSQLItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryMSSQLSouthCommandDTO": { "description": "History query south command for Microsoft SQL Server.", "properties": { "southType": { "type": "string", "enum": [ "mssql" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthMSSQLSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryMSSQLItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryMySQLItemCommandDTO": { "description": "History query item command for MySQL.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthMySQLItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthMySQLItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthMySQLItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryMySQLSouthCommandDTO": { "description": "History query south command for MySQL.", "properties": { "southType": { "type": "string", "enum": [ "mysql" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthMySQLSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryMySQLItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryODBCItemCommandDTO": { "description": "History query item command for ODBC.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthODBCItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthODBCItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthODBCItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryODBCSouthCommandDTO": { "description": "History query south command for ODBC.", "properties": { "southType": { "type": "string", "enum": [ "odbc" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthODBCSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryODBCItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryOIAnalyticsItemCommandDTO": { "description": "History query item command for OIAnalytics.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthOIAnalyticsItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOIAnalyticsSouthCommandDTO": { "description": "History query south command for OIAnalytics.", "properties": { "southType": { "type": "string", "enum": [ "oianalytics" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthOIAnalyticsSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryOIAnalyticsItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryOLEDBItemCommandDTO": { "description": "History query item command for OLE DB.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOLEDBItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthOLEDBItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOLEDBItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOLEDBSouthCommandDTO": { "description": "History query south command for OLE DB.", "properties": { "southType": { "type": "string", "enum": [ "oledb" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthOLEDBSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryOLEDBItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryOPCItemCommandDTO": { "description": "History query item command for classic OPC (OLE for Process Control).", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOPCItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthOPCItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOPCItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOPCSouthCommandDTO": { "description": "History query south command for classic OPC (OLE for Process Control).", "properties": { "southType": { "type": "string", "enum": [ "opc" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthOPCSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryOPCItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryOPCUAItemCommandDTO": { "description": "History query item command for OPC UA.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOPCUAItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthOPCUAItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOPCUAItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOPCUASouthCommandDTO": { "description": "History query south command for OPC UA.", "properties": { "southType": { "type": "string", "enum": [ "opcua" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthOPCUASettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryOPCUAItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryOracleItemCommandDTO": { "description": "History query item command for Oracle Database.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOracleItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthOracleItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOracleItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOracleSouthCommandDTO": { "description": "History query south command for Oracle Database.", "properties": { "southType": { "type": "string", "enum": [ "oracle" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthOracleSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryOracleItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryOsisoftPIItemCommandDTO": { "description": "History query item command for OSIsoft PI System.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthPIItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthPIItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthPIItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOsisoftPISouthCommandDTO": { "description": "History query south command for OSIsoft PI System.", "properties": { "southType": { "type": "string", "enum": [ "osisoft-pi" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthPISettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryOsisoftPIItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryPostgreSQLItemCommandDTO": { "description": "History query item command for PostgreSQL.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthPostgreSQLItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryPostgreSQLSouthCommandDTO": { "description": "History query south command for PostgreSQL.", "properties": { "southType": { "type": "string", "enum": [ "postgresql" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthPostgreSQLSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryPostgreSQLItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryRESTItemCommandDTO": { "description": "History query item command for the REST API.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthRestItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthRestItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthRestItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryRESTSouthCommandDTO": { "description": "History query south command for the REST API.", "properties": { "southType": { "type": "string", "enum": [ "rest" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthRestSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryRESTItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQuerySFTPItemCommandDTO": { "description": "History query item command for SFTP file transfer.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthSFTPItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthSFTPItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthSFTPItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQuerySFTPSouthCommandDTO": { "description": "History query south command for SFTP file transfer.", "properties": { "southType": { "type": "string", "enum": [ "sftp" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthSFTPSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQuerySFTPItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQuerySQLiteItemCommandDTO": { "description": "History query item command for SQLite.", "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthSQLiteItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandTypedDTO_SouthSQLiteItemSettings_": { "properties": { "id": { "type": "string", "nullable": true }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthSQLiteItemSettings" } }, "required": [ "id", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQuerySQLiteSouthCommandDTO": { "description": "History query south command for SQLite.", "properties": { "southType": { "type": "string", "enum": [ "sqlite" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthSQLiteSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQuerySQLiteItemCommandDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryAmazonS3NorthCommandDTO": { "description": "History query north command for Amazon S3.", "properties": { "northType": { "type": "string", "enum": [ "aws-s3" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthAmazonS3Settings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryAzureBlobNorthCommandDTO": { "description": "History query north command for Azure Blob Storage.", "properties": { "northType": { "type": "string", "enum": [ "azure-blob" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthAzureBlobSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryConsoleNorthCommandDTO": { "description": "History query north command for the Console debug output.", "properties": { "northType": { "type": "string", "enum": [ "console" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthConsoleSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryFileWriterNorthCommandDTO": { "description": "History query north command for the File Writer.", "properties": { "northType": { "type": "string", "enum": [ "file-writer" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthFileWriterSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryModbusNorthCommandDTO": { "description": "History query north command for Modbus.", "properties": { "northType": { "type": "string", "enum": [ "modbus" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthModbusSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryMQTTNorthCommandDTO": { "description": "History query north command for MQTT.", "properties": { "northType": { "type": "string", "enum": [ "mqtt" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthMQTTSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOIAnalyticsNorthCommandDTO": { "description": "History query north command for OIAnalytics.", "properties": { "northType": { "type": "string", "enum": [ "oianalytics" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthOIAnalyticsSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOPCUANorthCommandDTO": { "description": "History query north command for OPC UA.", "properties": { "northType": { "type": "string", "enum": [ "opcua" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthOPCUASettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryRESTNorthCommandDTO": { "description": "History query north command for the REST API.", "properties": { "northType": { "type": "string", "enum": [ "rest" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthRESTSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQuerySFTPNorthCommandDTO": { "description": "History query north command for SFTP file transfer.", "properties": { "northType": { "type": "string", "enum": [ "sftp" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthSFTPSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryCommandDTO": { "allOf": [ { "$ref": "#/components/schemas/HistoryQueryCommandCommonDTO" }, { "anyOf": [ { "$ref": "#/components/schemas/HistoryQueryADSSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryFolderScannerSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryFTPSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryModbusSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryMQTTSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryMSSQLSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryMySQLSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryODBCSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOIAnalyticsSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOLEDBSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOPCSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOPCUASouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOracleSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOsisoftPISouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryPostgreSQLSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryRESTSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQuerySFTPSouthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQuerySQLiteSouthCommandDTO" } ] }, { "anyOf": [ { "$ref": "#/components/schemas/HistoryQueryAmazonS3NorthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryAzureBlobNorthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryConsoleNorthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryFileWriterNorthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryModbusNorthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryMQTTNorthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOIAnalyticsNorthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOPCUANorthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryRESTNorthCommandDTO" }, { "$ref": "#/components/schemas/HistoryQuerySFTPNorthCommandDTO" } ] } ], "description": "Command Data Transfer Object for creating or updating a history query.\nUsed as the request body for history query creation/update endpoints." }, "OIBusCreateHistoryQueryCommandDTO": { "description": "Command DTO for creating a history query.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "create-history-query" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "commandContent": { "$ref": "#/components/schemas/HistoryQueryCommandDTO", "description": "The content of the command, including history query details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusUpdateHistoryQueryCommandDTO": { "description": "Command DTO for updating a history query.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-history-query" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "historyQueryId": { "type": "string", "description": "The ID of the history query to update.", "example": "history123" }, "commandContent": { "properties": { "historyQuery": { "$ref": "#/components/schemas/HistoryQueryCommandDTO", "description": "The updated history query details." }, "resetCache": { "type": "boolean", "description": "Whether to reset the cache.", "example": false } }, "required": [ "historyQuery", "resetCache" ], "type": "object", "description": "The content of the command, including history query update details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "historyQueryId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusDeleteHistoryQueryCommandDTO": { "description": "Command DTO for deleting a history query.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "delete-history-query" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "historyQueryId": { "type": "string", "description": "The ID of the history query to delete.", "example": "history123" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "historyQueryId" ], "type": "object", "additionalProperties": false }, "OIBusTestHistoryQueryNorthConnectionCommandDTO": { "description": "Command DTO for testing a history query north connection.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "test-history-query-north-connection" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "historyQueryId": { "type": "string", "description": "The ID of the history query.", "example": "history123" }, "northConnectorId": { "type": "string", "description": "The ID of the north connector to test. Can be `null` to use the default north connector.", "example": "north123" }, "commandContent": { "$ref": "#/components/schemas/HistoryQueryCommandDTO", "description": "The content of the command, including history query details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "historyQueryId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusTestHistoryQuerySouthConnectionCommandDTO": { "description": "Command DTO for testing a history query south connection.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "test-history-query-south-connection" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "historyQueryId": { "type": "string", "description": "The ID of the history query.", "example": "history123" }, "southConnectorId": { "type": "string", "description": "The ID of the south connector to test. Can be `null` to use the default south connector.", "example": "south123" }, "commandContent": { "$ref": "#/components/schemas/HistoryQueryCommandDTO", "description": "The content of the command, including history query details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "historyQueryId", "commandContent" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemCommandDTO": { "anyOf": [ { "$ref": "#/components/schemas/HistoryQueryADSItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryFolderScannerItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryFTPItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryModbusItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryMQTTItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryMSSQLItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryMySQLItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryODBCItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOIAnalyticsItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOLEDBItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOPCItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOPCUAItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOracleItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryOsisoftPIItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryPostgreSQLItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQueryRESTItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQuerySFTPItemCommandDTO" }, { "$ref": "#/components/schemas/HistoryQuerySQLiteItemCommandDTO" } ], "description": "Command Data Transfer Object for creating or updating a history query item.\nUsed as the request body for history query item creation/update endpoints." }, "OIBusTestHistoryQuerySouthItemCommandDTO": { "description": "Command DTO for testing a history query south item.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "test-history-query-south-item" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "historyQueryId": { "type": "string", "description": "The ID of the history query.", "example": "history123" }, "southConnectorId": { "type": "string", "description": "The ID of the south connector. Can be `null` to use the default south connector.", "example": "south123" }, "itemId": { "type": "string", "description": "The ID of the item to test.", "example": "item456" }, "commandContent": { "properties": { "testingSettings": { "$ref": "#/components/schemas/SouthConnectorItemTestingSettings", "description": "The testing settings." }, "itemCommand": { "$ref": "#/components/schemas/HistoryQueryItemCommandDTO", "description": "The item details." }, "historyCommand": { "$ref": "#/components/schemas/HistoryQueryCommandDTO", "description": "The history query details." } }, "required": [ "testingSettings", "itemCommand", "historyCommand" ], "type": "object", "description": "The content of the command, including history query, item, and testing settings." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "historyQueryId", "itemId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusCreateOrUpdateHistoryQuerySouthItemsFromCSVCommandDTO": { "description": "Command DTO for creating or updating history query south items from CSV.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "create-or-update-history-query-south-items-from-csv" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "historyQueryId": { "type": "string", "description": "The ID of the history query.", "example": "history123" }, "commandContent": { "properties": { "delimiter": { "type": "string", "description": "The delimiter used in the CSV.", "example": "," }, "csvContent": { "type": "string", "description": "The CSV content to import.", "example": "id,name,address\r\n1,Item 1,Address 1" }, "deleteItemsNotPresent": { "type": "boolean", "description": "Whether to delete items not present in the CSV.", "example": false } }, "required": [ "delimiter", "csvContent", "deleteItemsNotPresent" ], "type": "object", "description": "The content of the command, including CSV content and options." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "historyQueryId", "commandContent" ], "type": "object", "additionalProperties": false }, "HistoryQueryStatus": { "type": "string", "enum": [ "PENDING", "RUNNING", "ERRORED", "PAUSED", "FINISHED" ], "description": "Type representing the possible statuses for a history query." }, "OIBusUpdateHistoryQueryStatusCommandDTO": { "description": "Command DTO for updating a history query status.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-history-query-status" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "historyQueryId": { "type": "string", "description": "The ID of the history query.", "example": "history123" }, "commandContent": { "properties": { "historyQueryStatus": { "$ref": "#/components/schemas/HistoryQueryStatus", "description": "The new status of the history query.", "example": "RUNNING" } }, "required": [ "historyQueryStatus" ], "type": "object", "description": "The content of the command, including the new history query status." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "historyQueryId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusSetpointCommandDTO": { "description": "Command DTO for sending setpoints.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "setpoint" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "northConnectorId": { "type": "string", "description": "The ID of the north connector.", "example": "north123" }, "commandContent": { "items": { "properties": { "value": { "type": "string", "description": "The value of the setpoint.", "example": "100" }, "reference": { "type": "string", "description": "The reference of the setpoint.", "example": "setpoint1" } }, "required": [ "value", "reference" ], "type": "object" }, "type": "array", "description": "The content of the command, including setpoint details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "northConnectorId", "commandContent" ], "type": "object", "additionalProperties": false }, "CacheSearchParam": { "description": "Parameters for searching the cache.", "properties": { "start": { "type": "string", "description": "The start time for the search.", "example": "2023-01-01T00:00:00Z" }, "end": { "type": "string", "description": "The end time for the search.", "example": "2023-01-02T00:00:00Z" }, "nameContains": { "type": "string", "description": "A string that the content name must contain.", "example": "example" }, "maxNumberOfFilesReturned": { "type": "number", "format": "double", "description": "The maximum number of file to return. Default to 0, meaning no limit" } }, "required": [ "maxNumberOfFilesReturned" ], "type": "object", "additionalProperties": false }, "OIBusSearchNorthCacheContentCommandDTO": { "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "search-north-cache-content" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "northConnectorId": { "type": "string" }, "commandContent": { "$ref": "#/components/schemas/CacheSearchParam" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "northConnectorId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusSearchHistoryCacheContentCommandDTO": { "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "search-history-cache-content" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "historyQueryId": { "type": "string" }, "commandContent": { "$ref": "#/components/schemas/CacheSearchParam" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "historyQueryId", "commandContent" ], "type": "object", "additionalProperties": false }, "DataFolderType": { "type": "string", "enum": [ "cache", "error", "archive" ] }, "OIBusGetNorthCacheFileContentCommandDTO": { "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "get-north-cache-file-content" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "northConnectorId": { "type": "string" }, "commandContent": { "properties": { "filename": { "type": "string" }, "folder": { "$ref": "#/components/schemas/DataFolderType" } }, "required": [ "filename", "folder" ], "type": "object" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "northConnectorId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusGetHistoryCacheFileContentCommandDTO": { "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "get-history-cache-file-content" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "historyQueryId": { "type": "string" }, "commandContent": { "properties": { "filename": { "type": "string" }, "folder": { "$ref": "#/components/schemas/DataFolderType" } }, "required": [ "filename", "folder" ], "type": "object" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "historyQueryId", "commandContent" ], "type": "object", "additionalProperties": false }, "CacheContentUpdateCommand": { "properties": { "cache": { "properties": { "move": { "items": { "properties": { "to": { "$ref": "#/components/schemas/DataFolderType" }, "filename": { "type": "string" } }, "required": [ "to", "filename" ], "type": "object" }, "type": "array" }, "remove": { "items": { "type": "string" }, "type": "array" } }, "required": [ "move", "remove" ], "type": "object" }, "error": { "properties": { "move": { "items": { "properties": { "to": { "$ref": "#/components/schemas/DataFolderType" }, "filename": { "type": "string" } }, "required": [ "to", "filename" ], "type": "object" }, "type": "array" }, "remove": { "items": { "type": "string" }, "type": "array" } }, "required": [ "move", "remove" ], "type": "object" }, "archive": { "properties": { "move": { "items": { "properties": { "to": { "$ref": "#/components/schemas/DataFolderType" }, "filename": { "type": "string" } }, "required": [ "to", "filename" ], "type": "object" }, "type": "array" }, "remove": { "items": { "type": "string" }, "type": "array" } }, "required": [ "move", "remove" ], "type": "object" } }, "required": [ "cache", "error", "archive" ], "type": "object", "additionalProperties": false }, "OIBusUpdateNorthCacheContentCommandDTO": { "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-north-cache-content" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "northConnectorId": { "type": "string" }, "commandContent": { "$ref": "#/components/schemas/CacheContentUpdateCommand" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "northConnectorId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusUpdateHistoryCacheContentCommandDTO": { "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-history-cache-content" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "historyQueryId": { "type": "string" }, "commandContent": { "$ref": "#/components/schemas/CacheContentUpdateCommand" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "historyQueryId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusCreateCustomTransformerCommandDTO": { "description": "Command DTO for creating a custom transformer.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "create-custom-transformer" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "commandContent": { "$ref": "#/components/schemas/CustomTransformerCommandDTO", "description": "The content of the command, including custom transformer details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusUpdateCustomTransformerCommandDTO": { "description": "Command DTO for updating a custom transformer.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "update-custom-transformer" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "transformerId": { "type": "string", "description": "The ID of the custom transformer to update.", "example": "transformer123" }, "commandContent": { "$ref": "#/components/schemas/CustomTransformerCommandDTO", "description": "The content of the command, including updated custom transformer details." } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "transformerId", "commandContent" ], "type": "object", "additionalProperties": false }, "OIBusDeleteCustomTransformerCommandDTO": { "description": "Command DTO for deleting a custom transformer.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "delete-custom-transformer" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" }, "transformerId": { "type": "string", "description": "The ID of the custom transformer to delete.", "example": "transformer123" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion", "transformerId" ], "type": "object", "additionalProperties": false }, "OIBusTestCustomTransformerCommandDTO": { "description": "Command DTO for testing a custom transformer connection.", "properties": { "id": { "type": "string", "description": "The unique identifier of the command.", "example": "cmd123" }, "type": { "type": "string", "enum": [ "test-custom-transformer" ], "nullable": false, "description": "The type of the command." }, "status": { "$ref": "#/components/schemas/OIBusCommandStatus", "description": "The current status of the command." }, "ack": { "type": "boolean", "description": "Whether the command has been acknowledged.", "example": true }, "retrievedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was retrieved.", "example": "2023-10-31T12:34:56.789Z" }, "completedDate": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The date and time when the command was completed.", "example": "2023-10-31T12:35:56.789Z" }, "result": { "type": "string", "nullable": true, "description": "The result of the command execution.", "example": "Success" }, "targetVersion": { "type": "string", "description": "The target version for the command.", "example": "3.7.0" } }, "required": [ "id", "type", "status", "ack", "retrievedDate", "completedDate", "result", "targetVersion" ], "type": "object", "additionalProperties": false }, "OIBusCommandDTO": { "anyOf": [ { "$ref": "#/components/schemas/OIBusUpdateVersionCommandDTO" }, { "$ref": "#/components/schemas/OIBusRegenerateCipherKeysCommandDTO" }, { "$ref": "#/components/schemas/OIBusRestartEngineCommandDTO" }, { "$ref": "#/components/schemas/OIBusUpdateEngineSettingsCommandDTO" }, { "$ref": "#/components/schemas/OIBusUpdateRegistrationSettingsCommandDTO" }, { "$ref": "#/components/schemas/OIBusCreateScanModeCommandDTO" }, { "$ref": "#/components/schemas/OIBusUpdateScanModeCommandDTO" }, { "$ref": "#/components/schemas/OIBusDeleteScanModeCommandDTO" }, { "$ref": "#/components/schemas/OIBusCreateIPFilterCommandDTO" }, { "$ref": "#/components/schemas/OIBusUpdateIPFilterCommandDTO" }, { "$ref": "#/components/schemas/OIBusDeleteIPFilterCommandDTO" }, { "$ref": "#/components/schemas/OIBusCreateCertificateCommandDTO" }, { "$ref": "#/components/schemas/OIBusUpdateCertificateCommandDTO" }, { "$ref": "#/components/schemas/OIBusDeleteCertificateCommandDTO" }, { "$ref": "#/components/schemas/OIBusCreateSouthConnectorCommandDTO" }, { "$ref": "#/components/schemas/OIBusUpdateSouthConnectorCommandDTO" }, { "$ref": "#/components/schemas/OIBusDeleteSouthConnectorCommandDTO" }, { "$ref": "#/components/schemas/OIBusTestSouthConnectorCommandDTO" }, { "$ref": "#/components/schemas/OIBusTestSouthConnectorItemCommandDTO" }, { "$ref": "#/components/schemas/OIBusCreateNorthConnectorCommandDTO" }, { "$ref": "#/components/schemas/OIBusUpdateNorthConnectorCommandDTO" }, { "$ref": "#/components/schemas/OIBusDeleteNorthConnectorCommandDTO" }, { "$ref": "#/components/schemas/OIBusTestNorthConnectorCommandDTO" }, { "$ref": "#/components/schemas/OIBusCreateOrUpdateSouthConnectorItemsFromCSVCommandDTO" }, { "$ref": "#/components/schemas/OIBusCreateHistoryQueryCommandDTO" }, { "$ref": "#/components/schemas/OIBusUpdateHistoryQueryCommandDTO" }, { "$ref": "#/components/schemas/OIBusDeleteHistoryQueryCommandDTO" }, { "$ref": "#/components/schemas/OIBusTestHistoryQueryNorthConnectionCommandDTO" }, { "$ref": "#/components/schemas/OIBusTestHistoryQuerySouthConnectionCommandDTO" }, { "$ref": "#/components/schemas/OIBusTestHistoryQuerySouthItemCommandDTO" }, { "$ref": "#/components/schemas/OIBusCreateOrUpdateHistoryQuerySouthItemsFromCSVCommandDTO" }, { "$ref": "#/components/schemas/OIBusUpdateHistoryQueryStatusCommandDTO" }, { "$ref": "#/components/schemas/OIBusSetpointCommandDTO" }, { "$ref": "#/components/schemas/OIBusSearchNorthCacheContentCommandDTO" }, { "$ref": "#/components/schemas/OIBusSearchHistoryCacheContentCommandDTO" }, { "$ref": "#/components/schemas/OIBusGetNorthCacheFileContentCommandDTO" }, { "$ref": "#/components/schemas/OIBusGetHistoryCacheFileContentCommandDTO" }, { "$ref": "#/components/schemas/OIBusUpdateNorthCacheContentCommandDTO" }, { "$ref": "#/components/schemas/OIBusUpdateHistoryCacheContentCommandDTO" }, { "$ref": "#/components/schemas/OIBusCreateCustomTransformerCommandDTO" }, { "$ref": "#/components/schemas/OIBusUpdateCustomTransformerCommandDTO" }, { "$ref": "#/components/schemas/OIBusDeleteCustomTransformerCommandDTO" }, { "$ref": "#/components/schemas/OIBusTestCustomTransformerCommandDTO" } ], "description": "Union type representing all possible OIBus command DTOs." }, "Page_OIBusCommandDTO_": { "description": "Represents a paginated response containing an array of elements.", "properties": { "content": { "items": { "$ref": "#/components/schemas/OIBusCommandDTO" }, "type": "array", "description": "The content of the page - an array of elements." }, "totalElements": { "type": "number", "format": "double", "description": "The total number of elements across all pages.", "example": 2 }, "size": { "type": "number", "format": "double", "description": "The size of the page, i.e., the maximum number of elements per page.", "example": 10 }, "number": { "type": "number", "format": "double", "description": "The number of the current page, starting at 0.", "example": 0 }, "totalPages": { "type": "number", "format": "double", "description": "The total number of pages (which can be 0 if there are no elements).", "example": 1 } }, "required": [ "content", "totalElements", "size", "number", "totalPages" ], "type": "object", "additionalProperties": false }, "OIBusNorthType": { "type": "string", "enum": [ "opcua", "mqtt", "modbus", "oianalytics", "rest", "sftp", "aws-s3", "azure-blob", "console", "file-writer" ], "description": "Type representing the possible types for a North connector." }, "OIBusNorthCategory": { "type": "string", "enum": [ "file", "iot", "api", "debug" ], "description": "Type representing the possible categories for a North connector." }, "NorthConnectorType": { "properties": { "id": { "$ref": "#/components/schemas/OIBusNorthType", "description": "North connector type ID" }, "category": { "$ref": "#/components/schemas/OIBusNorthCategory", "description": "Category of the north connector" }, "types": { "items": { "type": "string" }, "type": "array", "description": "Supported types" } }, "required": [ "id", "category", "types" ], "type": "object", "additionalProperties": false }, "NorthConnectorManifest": { "description": "Manifest for a North connector type.\nDescribes the configuration schema and capabilities of a North connector type.", "properties": { "id": { "$ref": "#/components/schemas/OIBusNorthType", "description": "The unique identifier of the North connector type.", "example": "console" }, "category": { "$ref": "#/components/schemas/OIBusNorthCategory", "description": "The category of the North connector.", "example": "debug" }, "types": { "items": { "type": "string" }, "type": "array", "description": "The data types supported by this North connector.", "example": [ "time-values", "any", "setpoints" ] }, "settings": { "$ref": "#/components/schemas/OIBusObjectAttribute", "description": "The configuration schema for the North connector settings." } }, "required": [ "id", "category", "types", "settings" ], "type": "object", "additionalProperties": false }, "NorthConnectorLightDTO": { "description": "Lightweight Data Transfer Object for a North connector.\nContains only essential information about a North connector.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "$ref": "#/components/schemas/OIBusNorthType", "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled" ], "type": "object", "additionalProperties": false }, "SouthItemGroupLightDTO": { "properties": { "id": { "type": "string" }, "name": { "type": "string", "description": "The name of the group.", "example": "Production Line A" } }, "required": [ "id", "name" ], "type": "object", "additionalProperties": false }, "ItemLightDTO": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the item.", "example": "Temperature Logs" }, "enabled": { "type": "boolean", "description": "Whether this item is enabled.", "example": true } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled" ], "type": "object", "additionalProperties": false }, "SourceOriginSouthDTO": { "properties": { "type": { "type": "string", "enum": [ "south" ], "nullable": false }, "south": { "$ref": "#/components/schemas/SouthConnectorLightDTO", "description": "The south associated to the transformer" }, "group": { "$ref": "#/components/schemas/SouthItemGroupLightDTO", "description": "The group associated to the transformer (mutually exclusive with items)" }, "items": { "items": { "$ref": "#/components/schemas/ItemLightDTO" }, "type": "array", "description": "The list of items associated to the transformer" } }, "required": [ "type", "south", "items" ], "type": "object", "additionalProperties": false }, "SourceOriginOIAnalyticsDTO": { "properties": { "type": { "type": "string", "enum": [ "oianalytics-setpoint" ], "nullable": false } }, "required": [ "type" ], "type": "object", "additionalProperties": false }, "SourceOriginAPIDTO": { "properties": { "type": { "type": "string", "enum": [ "oibus-api" ], "nullable": false }, "dataSourceId": { "type": "string" } }, "required": [ "type", "dataSourceId" ], "type": "object", "additionalProperties": false }, "TransformerSourceDTO": { "anyOf": [ { "$ref": "#/components/schemas/SourceOriginSouthDTO" }, { "$ref": "#/components/schemas/SourceOriginOIAnalyticsDTO" }, { "$ref": "#/components/schemas/SourceOriginAPIDTO" } ] }, "TransformerDTOWithOptions": { "description": "Data Transfer Object for a transformer with its options.\nUsed when a transformer needs to be applied with specific configuration options.", "properties": { "id": { "type": "string", "description": "The id used to match a transformer with options", "example": "id" }, "source": { "$ref": "#/components/schemas/TransformerSourceDTO", "description": "From which source the data comes from" }, "transformer": { "$ref": "#/components/schemas/TransformerDTO", "description": "The transformer to be applied." }, "options": { "$ref": "#/components/schemas/Record_string.unknown_", "description": "Configuration options for the transformer.", "example": { "precision": 2, "defaultValue": 0 } } }, "required": [ "id", "source", "transformer", "options" ], "type": "object", "additionalProperties": false }, "NorthConnectorAmazonS3DTO": { "description": "North connector configuration for Amazon S3.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "aws-s3" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthAmazonS3Settings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanMode": { "$ref": "#/components/schemas/ScanModeDTO", "description": "The scan mode configuration." } }, "required": [ "numberOfFiles", "numberOfElements", "scanMode" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerDTOWithOptions" }, "type": "array", "description": "The list of transformers applied to the data." } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthConnectorAzureBlobDTO": { "description": "North connector configuration for Azure Blob Storage.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "azure-blob" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthAzureBlobSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanMode": { "$ref": "#/components/schemas/ScanModeDTO", "description": "The scan mode configuration." } }, "required": [ "numberOfFiles", "numberOfElements", "scanMode" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerDTOWithOptions" }, "type": "array", "description": "The list of transformers applied to the data." } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthConnectorConsoleDTO": { "description": "North connector configuration for the Console debug output.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "console" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthConsoleSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanMode": { "$ref": "#/components/schemas/ScanModeDTO", "description": "The scan mode configuration." } }, "required": [ "numberOfFiles", "numberOfElements", "scanMode" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerDTOWithOptions" }, "type": "array", "description": "The list of transformers applied to the data." } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthConnectorFileWriterDTO": { "description": "North connector configuration for the File Writer.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "file-writer" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthFileWriterSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanMode": { "$ref": "#/components/schemas/ScanModeDTO", "description": "The scan mode configuration." } }, "required": [ "numberOfFiles", "numberOfElements", "scanMode" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerDTOWithOptions" }, "type": "array", "description": "The list of transformers applied to the data." } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthConnectorModbusDTO": { "description": "North connector configuration for Modbus.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "modbus" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthModbusSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanMode": { "$ref": "#/components/schemas/ScanModeDTO", "description": "The scan mode configuration." } }, "required": [ "numberOfFiles", "numberOfElements", "scanMode" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerDTOWithOptions" }, "type": "array", "description": "The list of transformers applied to the data." } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthConnectorMQTTDTO": { "description": "North connector configuration for MQTT.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "mqtt" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthMQTTSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanMode": { "$ref": "#/components/schemas/ScanModeDTO", "description": "The scan mode configuration." } }, "required": [ "numberOfFiles", "numberOfElements", "scanMode" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerDTOWithOptions" }, "type": "array", "description": "The list of transformers applied to the data." } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthConnectorOIAnalyticsDTO": { "description": "North connector configuration for OIAnalytics.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "oianalytics" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthOIAnalyticsSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanMode": { "$ref": "#/components/schemas/ScanModeDTO", "description": "The scan mode configuration." } }, "required": [ "numberOfFiles", "numberOfElements", "scanMode" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerDTOWithOptions" }, "type": "array", "description": "The list of transformers applied to the data." } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthConnectorOPCUADTO": { "description": "North connector configuration for OPC UA.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "opcua" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthOPCUASettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanMode": { "$ref": "#/components/schemas/ScanModeDTO", "description": "The scan mode configuration." } }, "required": [ "numberOfFiles", "numberOfElements", "scanMode" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerDTOWithOptions" }, "type": "array", "description": "The list of transformers applied to the data." } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthConnectorRESTDTO": { "description": "North connector configuration for the REST API.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "rest" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthRESTSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanMode": { "$ref": "#/components/schemas/ScanModeDTO", "description": "The scan mode configuration." } }, "required": [ "numberOfFiles", "numberOfElements", "scanMode" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerDTOWithOptions" }, "type": "array", "description": "The list of transformers applied to the data." } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthConnectorSFTPDTO": { "description": "North connector configuration for SFTP file transfer.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the North connector.", "example": "Debug Console Output" }, "type": { "type": "string", "enum": [ "sftp" ], "nullable": false, "description": "The type of the North connector.", "example": "console" }, "description": { "type": "string", "description": "The description of the North connector.", "example": "Outputs data to console for debugging purposes" }, "enabled": { "type": "boolean", "description": "Whether the North connector is enabled.", "example": true }, "settings": { "$ref": "#/components/schemas/NorthSFTPSettings", "description": "The settings specific to the North connector type." }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain archived files.", "example": 0 }, "enabled": { "type": "boolean", "description": "Whether archiving is enabled.", "example": false } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "The archive configuration for caching." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "The duration (in ms) to retain error files.", "example": 86400000 }, "retryCount": { "type": "number", "format": "double", "description": "The maximum number of retry attempts.", "example": 0 }, "retryInterval": { "type": "number", "format": "double", "description": "The interval (in ms) between retry attempts.", "example": 1000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "The error handling configuration for caching." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "The maximum number of elements in the cache before sending.", "example": 100 }, "maxSize": { "type": "number", "format": "double", "description": "The maximum size (in bytes) of the cache before sending.", "example": 1048576 }, "runMinDelay": { "type": "number", "format": "double", "description": "The minimum delay (in ms) between runs.", "example": 100 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "The throttling configuration for caching." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of files to trigger a send.", "example": 1 }, "numberOfElements": { "type": "number", "format": "double", "description": "The number of elements to trigger a send.", "example": 1 }, "scanMode": { "$ref": "#/components/schemas/ScanModeDTO", "description": "The scan mode configuration." } }, "required": [ "numberOfFiles", "numberOfElements", "scanMode" ], "type": "object", "description": "The trigger configuration for caching." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "The caching configuration for the North connector." }, "transformers": { "items": { "$ref": "#/components/schemas/TransformerDTOWithOptions" }, "type": "array", "description": "The list of transformers applied to the data." } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "type", "description", "enabled", "settings", "caching", "transformers" ], "type": "object", "additionalProperties": false }, "NorthConnectorDTO": { "anyOf": [ { "$ref": "#/components/schemas/NorthConnectorAmazonS3DTO" }, { "$ref": "#/components/schemas/NorthConnectorAzureBlobDTO" }, { "$ref": "#/components/schemas/NorthConnectorConsoleDTO" }, { "$ref": "#/components/schemas/NorthConnectorFileWriterDTO" }, { "$ref": "#/components/schemas/NorthConnectorModbusDTO" }, { "$ref": "#/components/schemas/NorthConnectorMQTTDTO" }, { "$ref": "#/components/schemas/NorthConnectorOIAnalyticsDTO" }, { "$ref": "#/components/schemas/NorthConnectorOPCUADTO" }, { "$ref": "#/components/schemas/NorthConnectorRESTDTO" }, { "$ref": "#/components/schemas/NorthConnectorSFTPDTO" } ], "description": "Data Transfer Object for a North connector.\nContains all configuration details of a North connector." }, "NorthSettings": { "anyOf": [ { "$ref": "#/components/schemas/NorthAmazonS3Settings" }, { "$ref": "#/components/schemas/NorthAzureBlobSettings" }, { "$ref": "#/components/schemas/NorthConsoleSettings" }, { "$ref": "#/components/schemas/NorthFileWriterSettings" }, { "$ref": "#/components/schemas/NorthModbusSettings" }, { "$ref": "#/components/schemas/NorthMQTTSettings" }, { "$ref": "#/components/schemas/NorthOIAnalyticsSettings" }, { "$ref": "#/components/schemas/NorthOPCUASettings" }, { "$ref": "#/components/schemas/NorthRESTSettings" }, { "$ref": "#/components/schemas/NorthSFTPSettings" } ] }, "CacheMetadata": { "description": "Metadata for cached content.", "properties": { "contentFile": { "type": "string", "description": "The path to the content file.", "example": "/path/to/content.json" }, "contentSize": { "type": "number", "format": "double", "description": "The size of the content in bytes.", "example": 1024 }, "numberOfElement": { "type": "number", "format": "double", "description": "The number of elements in the content.", "example": 10 }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The creation time of the content.", "example": "2023-01-01T00:00:00Z" }, "contentType": { "type": "string", "description": "The type of the content.", "example": "time-values" } }, "required": [ "contentFile", "contentSize", "numberOfElement", "createdAt", "contentType" ], "type": "object", "additionalProperties": false }, "CacheSearchResult": { "properties": { "searchDate": { "$ref": "#/components/schemas/Instant" }, "metrics": { "properties": { "currentArchiveSize": { "type": "number", "format": "double", "description": "The current size of the archive.", "example": 0 }, "currentErrorSize": { "type": "number", "format": "double", "description": "The current size of errors.", "example": 0 }, "currentCacheSize": { "type": "number", "format": "double", "description": "The current size of the cache.", "example": 0 }, "lastRunDuration": { "type": "number", "format": "double", "nullable": true, "description": "The duration of the last run in milliseconds.", "example": 1000 }, "lastRunStart": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The start time of the last run.", "example": "2023-01-01T00:00:00Z" }, "lastConnection": { "allOf": [ { "$ref": "#/components/schemas/Instant" } ], "nullable": true, "description": "The last connection time.", "example": "2023-01-01T00:00:00Z" } }, "required": [ "currentArchiveSize", "currentErrorSize", "currentCacheSize", "lastRunDuration", "lastRunStart", "lastConnection" ], "type": "object" }, "error": { "items": { "properties": { "metadata": { "$ref": "#/components/schemas/CacheMetadata" }, "filename": { "type": "string" } }, "required": [ "metadata", "filename" ], "type": "object" }, "type": "array" }, "archive": { "items": { "properties": { "metadata": { "$ref": "#/components/schemas/CacheMetadata" }, "filename": { "type": "string" } }, "required": [ "metadata", "filename" ], "type": "object" }, "type": "array" }, "cache": { "items": { "properties": { "metadata": { "$ref": "#/components/schemas/CacheMetadata" }, "filename": { "type": "string" } }, "required": [ "metadata", "filename" ], "type": "object" }, "type": "array" } }, "required": [ "searchDate", "metrics", "error", "archive", "cache" ], "type": "object", "additionalProperties": false }, "FileCacheContent": { "properties": { "content": { "type": "string" }, "contentFilename": { "type": "string" }, "contentType": { "type": "string", "enum": [ "csv", "xml", "json", "raw" ] }, "truncated": { "type": "boolean" }, "totalSize": { "type": "number", "format": "double" } }, "required": [ "content", "contentFilename", "contentType", "truncated", "totalSize" ], "type": "object", "additionalProperties": false }, "ScopeType": { "type": "string", "enum": [ "south", "north", "history-query", "internal", "web-server" ], "description": "Type representing a scope type." }, "LogDTO": { "description": "Data Transfer Object for a log entry.\nRepresents a log with its metadata, severity level, scope, and message content.", "properties": { "timestamp": { "type": "string", "description": "The timestamp of the log entry in ISO 8601 format.", "example": "2023-10-31T12:34:56.789Z" }, "level": { "$ref": "#/components/schemas/LogLevel", "description": "The severity level of the log entry.", "example": "error" }, "scopeType": { "$ref": "#/components/schemas/ScopeType", "description": "The type of scope the log is associated with (e.g., 'south', 'north').", "example": "south" }, "scopeId": { "type": "string", "nullable": true, "description": "The unique identifier of the scope (e.g., connector ID).\nCan be `null` if the log is not associated with a specific scope.", "example": "connector123" }, "scopeName": { "type": "string", "nullable": true, "description": "The human-readable name of the scope.\nCan be `null` if the log is not associated with a specific scope.", "example": "South Connector 1" }, "message": { "type": "string", "description": "The log message content, including details about the event or error.", "example": "Connection failed to host: timeout after 5s" } }, "required": [ "timestamp", "level", "scopeType", "scopeId", "scopeName", "message" ], "type": "object", "additionalProperties": false }, "Page_LogDTO_": { "description": "Represents a paginated response containing an array of elements.", "properties": { "content": { "items": { "$ref": "#/components/schemas/LogDTO" }, "type": "array", "description": "The content of the page - an array of elements." }, "totalElements": { "type": "number", "format": "double", "description": "The total number of elements across all pages.", "example": 2 }, "size": { "type": "number", "format": "double", "description": "The size of the page, i.e., the maximum number of elements per page.", "example": 10 }, "number": { "type": "number", "format": "double", "description": "The number of the current page, starting at 0.", "example": 0 }, "totalPages": { "type": "number", "format": "double", "description": "The total number of pages (which can be 0 if there are no elements).", "example": 1 } }, "required": [ "content", "totalElements", "size", "number", "totalPages" ], "type": "object", "additionalProperties": false }, "Scope": { "description": "Represents a scope associated with log entries.\nA scope can be a connector, service, or module.", "properties": { "scopeId": { "type": "string", "description": "The unique identifier of the scope (e.g., connector ID, service ID).", "example": "connector123" }, "scopeName": { "type": "string", "description": "The human-readable name of the scope.", "example": "South Connector 1" } }, "required": [ "scopeId", "scopeName" ], "type": "object", "additionalProperties": false }, "IPFilterDTO": { "description": "Data Transfer Object for an IP filter.\nRepresents a configured IP filter with its address and description.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "address": { "type": "string", "description": "A regex pattern matched against the remote client's IP address.\nA plain IP address (e.g. `192.168.1.1`) is treated as a literal pattern.\nUse `*` to allow all addresses, or a regex prefix like `192\\.168\\.` to allow an entire subnet.\nBoth IPv4 and IPv6 addresses (including IPv4-mapped IPv6) are supported.", "example": "192\\.168\\.1\\..*" }, "description": { "type": "string", "description": "A description of the purpose or reason for this IP filter.", "example": "Allow traffic from the local admin workstation" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "address", "description" ], "type": "object", "additionalProperties": false }, "HistoryQueryLightDTO": { "description": "Lightweight Data Transfer Object for a history query.\nContains essential information about a history query for listing and overview purposes.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the history query.", "example": "Production Data Migration" }, "description": { "type": "string", "description": "Description of the history query's purpose.", "example": "Migrate production data from old to new system" }, "status": { "$ref": "#/components/schemas/HistoryQueryStatus", "description": "Current status of the history query.", "example": "RUNNING" }, "startTime": { "type": "string", "description": "Start time for the data to be queried (ISO 8601 format).", "example": "2023-01-01T00:00:00Z" }, "endTime": { "type": "string", "description": "End time for the data to be queried (ISO 8601 format).", "example": "2023-01-31T23:59:59Z" }, "southType": { "$ref": "#/components/schemas/OIBusSouthType", "description": "The type of the South connector used for data retrieval.", "example": "opcua" }, "northType": { "$ref": "#/components/schemas/OIBusNorthType", "description": "The type of the North connector used for data storage.", "example": "aws-s3" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "description", "status", "startTime", "endTime", "southType", "northType" ], "type": "object", "additionalProperties": false }, "BaseEntity": { "description": "Base entity interface that includes common properties for all entities.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt" ], "type": "object", "additionalProperties": false }, "HistoryTransformerDTOWithOptions": { "description": "Data Transfer Object for a transformer with its options.\nUsed when a transformer needs to be applied with specific configuration options.", "properties": { "id": { "type": "string", "description": "The id used to match a transformer with options", "example": "id" }, "items": { "items": { "$ref": "#/components/schemas/ItemLightDTO" }, "type": "array", "description": "The list of items associated to the transformer" }, "transformer": { "$ref": "#/components/schemas/TransformerDTO", "description": "The transformer to be applied." }, "options": { "$ref": "#/components/schemas/Record_string.unknown_", "description": "Configuration options for the transformer.", "example": { "precision": 2, "defaultValue": 0 } } }, "required": [ "id", "items", "transformer", "options" ], "type": "object", "additionalProperties": false }, "HistoryQueryCommonDTO": { "properties": { "name": { "type": "string", "description": "The name of the history query.", "example": "Production Data Migration" }, "description": { "type": "string", "description": "Description of the history query's purpose.", "example": "Migrate production data from old to new system" }, "status": { "$ref": "#/components/schemas/HistoryQueryStatus", "description": "Current status of the history query.", "example": "RUNNING" }, "queryTimeRange": { "properties": { "readDelay": { "type": "number", "format": "double", "description": "Delay (in milliseconds) before the next data read.", "example": 200 }, "maxReadInterval": { "type": "number", "format": "double", "description": "Maximum interval (in seconds) between data reads.", "example": 3600 }, "endTime": { "$ref": "#/components/schemas/Instant", "description": "End time for the data to be queried (ISO 8601 format).", "example": "2023-01-31T23:59:59Z" }, "startTime": { "$ref": "#/components/schemas/Instant", "description": "Start time for the data to be queried (ISO 8601 format).", "example": "2023-01-01T00:00:00Z" } }, "required": [ "readDelay", "maxReadInterval", "endTime", "startTime" ], "type": "object" }, "caching": { "properties": { "archive": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "Duration (in ms) to retain archived files.", "example": 31536000000 }, "enabled": { "type": "boolean", "description": "Whether archiving of processed data is enabled.", "example": true } }, "required": [ "retentionDuration", "enabled" ], "type": "object", "description": "Archive configuration for completed data." }, "error": { "properties": { "retentionDuration": { "type": "number", "format": "double", "description": "Duration (in ms) to retain error files before cleanup.", "example": 2592000000 }, "retryCount": { "type": "number", "format": "double", "description": "Maximum number of retry attempts for failed operations.", "example": 3 }, "retryInterval": { "type": "number", "format": "double", "description": "Interval (in ms) between retry attempts for failed operations.", "example": 300000 } }, "required": [ "retentionDuration", "retryCount", "retryInterval" ], "type": "object", "description": "Error handling configuration." }, "throttling": { "properties": { "maxNumberOfElements": { "type": "number", "format": "double", "description": "Maximum number of elements in the cache before sending.", "example": 50000 }, "maxSize": { "type": "number", "format": "double", "description": "Maximum size (in bytes) of the cache before sending.", "example": 104857600 }, "runMinDelay": { "type": "number", "format": "double", "description": "Minimum delay (in ms) between execution runs.", "example": 3600000 } }, "required": [ "maxNumberOfElements", "maxSize", "runMinDelay" ], "type": "object", "description": "Throttling configuration to control data flow." }, "trigger": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "Number of files to accumulate before triggering a send.", "example": 10 }, "numberOfElements": { "type": "number", "format": "double", "description": "Number of elements to accumulate before triggering a send.", "example": 1000 }, "scanMode": { "$ref": "#/components/schemas/ScanModeDTO", "description": "The scan mode configuration determining when to trigger data sends." } }, "required": [ "numberOfFiles", "numberOfElements", "scanMode" ], "type": "object", "description": "Trigger configuration for when to send cached data." } }, "required": [ "archive", "error", "throttling", "trigger" ], "type": "object", "description": "Caching configuration for the history query." }, "northTransformers": { "items": { "$ref": "#/components/schemas/HistoryTransformerDTOWithOptions" }, "type": "array", "description": "List of transformers to apply to data before sending to North connector." } }, "required": [ "name", "description", "status", "queryTimeRange", "caching", "northTransformers" ], "type": "object", "additionalProperties": false }, "HistoryQueryADSItemDTO": { "description": "History query item DTO for Beckhoff ADS.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthADSItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthADSItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthADSItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryADSSouthDTO": { "description": "History query south DTO for Beckhoff ADS.", "properties": { "southType": { "type": "string", "enum": [ "ads" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthADSSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryADSItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryFolderScannerItemDTO": { "description": "History query item DTO for the Folder Scanner.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthFolderScannerItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthFolderScannerItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthFolderScannerItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryFolderScannerSouthDTO": { "description": "History query south DTO for the Folder Scanner.", "properties": { "southType": { "type": "string", "enum": [ "folder-scanner" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthFolderScannerSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryFolderScannerItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryFTPItemDTO": { "description": "History query item DTO for FTP file transfer.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthFTPItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthFTPItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthFTPItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryFTPSouthDTO": { "description": "History query south DTO for FTP file transfer.", "properties": { "southType": { "type": "string", "enum": [ "ftp" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthFTPSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryFTPItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryModbusItemDTO": { "description": "History query item DTO for Modbus.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthModbusItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthModbusItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthModbusItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryModbusSouthDTO": { "description": "History query south DTO for Modbus.", "properties": { "southType": { "type": "string", "enum": [ "modbus" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthModbusSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryModbusItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryMQTTItemDTO": { "description": "History query item DTO for MQTT.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthMQTTItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthMQTTItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthMQTTItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryMQTTSouthDTO": { "description": "History query south DTO for MQTT.", "properties": { "southType": { "type": "string", "enum": [ "mqtt" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthMQTTSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryMQTTItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryMSSQLItemDTO": { "description": "History query item DTO for Microsoft SQL Server.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthMSSQLItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthMSSQLItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthMSSQLItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryMSSQLSouthDTO": { "description": "History query south DTO for Microsoft SQL Server.", "properties": { "southType": { "type": "string", "enum": [ "mssql" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthMSSQLSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryMSSQLItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryMySQLItemDTO": { "description": "History query item DTO for MySQL.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthMySQLItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthMySQLItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthMySQLItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryMySQLSouthDTO": { "description": "History query south DTO for MySQL.", "properties": { "southType": { "type": "string", "enum": [ "mysql" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthMySQLSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryMySQLItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryODBCItemDTO": { "description": "History query item DTO for ODBC.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthODBCItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthODBCItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthODBCItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryODBCSouthDTO": { "description": "History query south DTO for ODBC.", "properties": { "southType": { "type": "string", "enum": [ "odbc" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthODBCSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryODBCItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryOIAnalyticsItemDTO": { "description": "History query item DTO for OIAnalytics.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthOIAnalyticsItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOIAnalyticsItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOIAnalyticsSouthDTO": { "description": "History query south DTO for OIAnalytics.", "properties": { "southType": { "type": "string", "enum": [ "oianalytics" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthOIAnalyticsSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryOIAnalyticsItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryOLEDBItemDTO": { "description": "History query item DTO for OLE DB.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOLEDBItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthOLEDBItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOLEDBItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOLEDBSouthDTO": { "description": "History query south DTO for OLE DB.", "properties": { "southType": { "type": "string", "enum": [ "oledb" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthOLEDBSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryOLEDBItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryOPCItemDTO": { "description": "History query item DTO for classic OPC (OLE for Process Control).", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOPCItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthOPCItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOPCItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOPCSouthDTO": { "description": "History query south DTO for classic OPC (OLE for Process Control).", "properties": { "southType": { "type": "string", "enum": [ "opc" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthOPCSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryOPCItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryOPCUAItemDTO": { "description": "History query item DTO for OPC UA.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOPCUAItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthOPCUAItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOPCUAItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOPCUASouthDTO": { "description": "History query south DTO for OPC UA.", "properties": { "southType": { "type": "string", "enum": [ "opcua" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthOPCUASettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryOPCUAItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryOracleItemDTO": { "description": "History query item DTO for Oracle Database.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOracleItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthOracleItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthOracleItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOracleSouthDTO": { "description": "History query south DTO for Oracle Database.", "properties": { "southType": { "type": "string", "enum": [ "oracle" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthOracleSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryOracleItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryOsisoftPIItemDTO": { "description": "History query item DTO for OSIsoft PI System.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthPIItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthPIItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthPIItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOsisoftPISouthDTO": { "description": "History query south DTO for OSIsoft PI System.", "properties": { "southType": { "type": "string", "enum": [ "osisoft-pi" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthPISettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryOsisoftPIItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryPostgreSQLItemDTO": { "description": "History query item DTO for PostgreSQL.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthPostgreSQLItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthPostgreSQLItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryPostgreSQLSouthDTO": { "description": "History query south DTO for PostgreSQL.", "properties": { "southType": { "type": "string", "enum": [ "postgresql" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthPostgreSQLSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryPostgreSQLItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryRESTItemDTO": { "description": "History query item DTO for the REST API.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthRestItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthRestItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthRestItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryRESTSouthDTO": { "description": "History query south DTO for the REST API.", "properties": { "southType": { "type": "string", "enum": [ "rest" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthRestSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQueryRESTItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQuerySFTPItemDTO": { "description": "History query item DTO for SFTP file transfer.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthSFTPItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthSFTPItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthSFTPItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQuerySFTPSouthDTO": { "description": "History query south DTO for SFTP file transfer.", "properties": { "southType": { "type": "string", "enum": [ "sftp" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthSFTPSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQuerySFTPItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQuerySQLiteItemDTO": { "description": "History query item DTO for SQLite.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthSQLiteItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemTypedDTO_SouthSQLiteItemSettings_": { "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string" }, "enabled": { "type": "boolean" }, "settings": { "$ref": "#/components/schemas/SouthSQLiteItemSettings" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "enabled", "settings" ], "type": "object", "additionalProperties": false }, "HistoryQuerySQLiteSouthDTO": { "description": "History query south DTO for SQLite.", "properties": { "southType": { "type": "string", "enum": [ "sqlite" ], "nullable": false }, "southSettings": { "$ref": "#/components/schemas/SouthSQLiteSettings" }, "items": { "items": { "$ref": "#/components/schemas/HistoryQuerySQLiteItemDTO" }, "type": "array" } }, "required": [ "southType", "southSettings", "items" ], "type": "object", "additionalProperties": false }, "HistoryQueryAmazonS3NorthDTO": { "description": "History query north DTO for Amazon S3.", "properties": { "northType": { "type": "string", "enum": [ "aws-s3" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthAmazonS3Settings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryAzureBlobNorthDTO": { "description": "History query north DTO for Azure Blob Storage.", "properties": { "northType": { "type": "string", "enum": [ "azure-blob" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthAzureBlobSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryConsoleNorthDTO": { "description": "History query north DTO for the Console debug output.", "properties": { "northType": { "type": "string", "enum": [ "console" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthConsoleSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryFileWriterNorthDTO": { "description": "History query north DTO for the File Writer.", "properties": { "northType": { "type": "string", "enum": [ "file-writer" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthFileWriterSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryModbusNorthDTO": { "description": "History query north DTO for Modbus.", "properties": { "northType": { "type": "string", "enum": [ "modbus" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthModbusSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryMQTTNorthDTO": { "description": "History query north DTO for MQTT.", "properties": { "northType": { "type": "string", "enum": [ "mqtt" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthMQTTSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOIAnalyticsNorthDTO": { "description": "History query north DTO for OIAnalytics.", "properties": { "northType": { "type": "string", "enum": [ "oianalytics" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthOIAnalyticsSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryOPCUANorthDTO": { "description": "History query north DTO for OPC UA.", "properties": { "northType": { "type": "string", "enum": [ "opcua" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthOPCUASettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryRESTNorthDTO": { "description": "History query north DTO for the REST API.", "properties": { "northType": { "type": "string", "enum": [ "rest" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthRESTSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQuerySFTPNorthDTO": { "description": "History query north DTO for SFTP file transfer.", "properties": { "northType": { "type": "string", "enum": [ "sftp" ], "nullable": false }, "northSettings": { "$ref": "#/components/schemas/NorthSFTPSettings" } }, "required": [ "northType", "northSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryDTO": { "allOf": [ { "$ref": "#/components/schemas/BaseEntity" }, { "$ref": "#/components/schemas/HistoryQueryCommonDTO" }, { "anyOf": [ { "$ref": "#/components/schemas/HistoryQueryADSSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryFolderScannerSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryFTPSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryModbusSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryMQTTSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryMSSQLSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryMySQLSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryODBCSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryOIAnalyticsSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryOLEDBSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryOPCSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryOPCUASouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryOracleSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryOsisoftPISouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryPostgreSQLSouthDTO" }, { "$ref": "#/components/schemas/HistoryQueryRESTSouthDTO" }, { "$ref": "#/components/schemas/HistoryQuerySFTPSouthDTO" }, { "$ref": "#/components/schemas/HistoryQuerySQLiteSouthDTO" } ] }, { "anyOf": [ { "$ref": "#/components/schemas/HistoryQueryAmazonS3NorthDTO" }, { "$ref": "#/components/schemas/HistoryQueryAzureBlobNorthDTO" }, { "$ref": "#/components/schemas/HistoryQueryConsoleNorthDTO" }, { "$ref": "#/components/schemas/HistoryQueryFileWriterNorthDTO" }, { "$ref": "#/components/schemas/HistoryQueryModbusNorthDTO" }, { "$ref": "#/components/schemas/HistoryQueryMQTTNorthDTO" }, { "$ref": "#/components/schemas/HistoryQueryOIAnalyticsNorthDTO" }, { "$ref": "#/components/schemas/HistoryQueryOPCUANorthDTO" }, { "$ref": "#/components/schemas/HistoryQueryRESTNorthDTO" }, { "$ref": "#/components/schemas/HistoryQuerySFTPNorthDTO" } ] } ] }, "HistorySouthItemTestRequest": { "properties": { "southSettings": { "$ref": "#/components/schemas/SouthSettings", "description": "South connector settings" }, "itemSettings": { "$ref": "#/components/schemas/SouthItemSettings", "description": "Item-specific settings" }, "testingSettings": { "properties": { "history": { "properties": { "endTime": { "type": "string", "description": "End time for the test" }, "startTime": { "type": "string", "description": "Start time for the test" } }, "required": [ "endTime", "startTime" ], "type": "object" } }, "required": [ "history" ], "type": "object", "description": "Testing settings including time range" } }, "required": [ "southSettings", "itemSettings", "testingSettings" ], "type": "object", "additionalProperties": false }, "HistoryQueryItemDTO": { "anyOf": [ { "$ref": "#/components/schemas/HistoryQueryADSItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryFolderScannerItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryFTPItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryModbusItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryMQTTItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryMSSQLItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryMySQLItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryODBCItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryOIAnalyticsItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryOLEDBItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryOPCItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryOPCUAItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryOracleItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryOsisoftPIItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryPostgreSQLItemDTO" }, { "$ref": "#/components/schemas/HistoryQueryRESTItemDTO" }, { "$ref": "#/components/schemas/HistoryQuerySFTPItemDTO" }, { "$ref": "#/components/schemas/HistoryQuerySQLiteItemDTO" } ], "description": "Data Transfer Object for a history query item.\nRepresents an individual data point to be queried." }, "Page_HistoryQueryItemDTO_": { "description": "Represents a paginated response containing an array of elements.", "properties": { "content": { "items": { "$ref": "#/components/schemas/HistoryQueryItemDTO" }, "type": "array", "description": "The content of the page - an array of elements." }, "totalElements": { "type": "number", "format": "double", "description": "The total number of elements across all pages.", "example": 2 }, "size": { "type": "number", "format": "double", "description": "The size of the page, i.e., the maximum number of elements per page.", "example": 10 }, "number": { "type": "number", "format": "double", "description": "The number of the current page, starting at 0.", "example": 0 }, "totalPages": { "type": "number", "format": "double", "description": "The total number of pages (which can be 0 if there are no elements).", "example": 1 } }, "required": [ "content", "totalElements", "size", "number", "totalPages" ], "type": "object", "additionalProperties": false }, "HistoryCsvDelimiterRequest": { "properties": { "delimiter": { "type": "string", "description": "CSV delimiter character" } }, "required": [ "delimiter" ], "type": "object", "additionalProperties": false }, "HistoryCsvImportResponse": { "properties": { "items": { "items": { "$ref": "#/components/schemas/HistoryQueryItemCommandDTO" }, "type": "array", "description": "Array of valid items that can be imported" }, "errors": { "items": { "properties": { "error": { "type": "string" }, "item": { "$ref": "#/components/schemas/Record_string.string_" } }, "required": [ "error", "item" ], "type": "object" }, "type": "array", "description": "Array of items with errors" } }, "required": [ "items", "errors" ], "type": "object", "additionalProperties": false }, "EngineSettingsDTO": { "description": "Engine settings Data Transfer Object.\nRepresents the configuration settings for the engine.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the engine.", "example": "OIBus OT" }, "port": { "type": "number", "format": "double", "description": "The port on which the engine listens.", "example": 2223 }, "version": { "type": "string", "description": "The version of the engine.", "example": "3.7.0" }, "launcherVersion": { "type": "string", "description": "The version of the launcher.", "example": "3.7.0" }, "proxyEnabled": { "type": "boolean", "description": "Whether the proxy is enabled.", "example": false }, "proxyPort": { "type": "number", "format": "double", "nullable": true, "description": "The port for the proxy, if enabled.", "example": null }, "logParameters": { "properties": { "oia": { "properties": { "interval": { "type": "number", "format": "double", "description": "The interval in seconds for sending logs to OIA.", "example": 60 }, "level": { "$ref": "#/components/schemas/LogLevel", "description": "The log level for OIA output." } }, "required": [ "interval", "level" ], "type": "object", "description": "OIA logging configuration." }, "loki": { "properties": { "password": { "type": "string", "description": "The password for Loki authentication.", "example": "pass" }, "username": { "type": "string", "description": "The username for Loki authentication.", "example": "user" }, "address": { "type": "string", "description": "The address of the Loki server.", "example": "http://loki:3100" }, "interval": { "type": "number", "format": "double", "description": "The interval in seconds for sending logs to Loki.", "example": 60 }, "level": { "$ref": "#/components/schemas/LogLevel", "description": "The log level for Loki output." } }, "required": [ "password", "username", "address", "interval", "level" ], "type": "object", "description": "Loki logging configuration." }, "database": { "properties": { "maxNumberOfLogs": { "type": "number", "format": "double", "description": "The maximum number of logs to keep in the database.", "example": 10000 }, "level": { "$ref": "#/components/schemas/LogLevel", "description": "The log level for database output." } }, "required": [ "maxNumberOfLogs", "level" ], "type": "object", "description": "Database logging configuration." }, "file": { "properties": { "numberOfFiles": { "type": "number", "format": "double", "description": "The number of log files to keep.", "example": 5 }, "maxFileSize": { "type": "number", "format": "double", "description": "The maximum size of a log file in bytes.", "example": 10485760 }, "level": { "$ref": "#/components/schemas/LogLevel", "description": "The log level for file output." } }, "required": [ "numberOfFiles", "maxFileSize", "level" ], "type": "object", "description": "File logging configuration." }, "console": { "properties": { "level": { "$ref": "#/components/schemas/LogLevel", "description": "The log level for console output." } }, "required": [ "level" ], "type": "object", "description": "Console logging configuration." } }, "required": [ "oia", "loki", "database", "file", "console" ], "type": "object", "description": "Logging parameters for different outputs." } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "port", "version", "launcherVersion", "proxyEnabled", "proxyPort", "logParameters" ], "type": "object", "additionalProperties": false }, "EngineSettingsUpdateResultDTO": { "description": "Engine settings update result Data Transfer Object.\nReturned after updating engine settings to indicate if a redirect is needed.", "properties": { "needsRedirect": { "type": "boolean", "description": "Whether the client needs to redirect due to a port change.", "example": true }, "newPort": { "type": "number", "format": "double", "nullable": true, "description": "The new port to redirect to, if applicable.", "example": 3333 } }, "required": [ "needsRedirect", "newPort" ], "type": "object", "additionalProperties": false }, "OIBusInfo": { "description": "Information about the OIBus instance.", "properties": { "version": { "type": "string", "description": "The version of OIBus.", "example": "3.7.0" }, "launcherVersion": { "type": "string", "description": "The version of the launcher.", "example": "3.7.0" }, "oibusName": { "type": "string", "description": "The name of the OIBus instance.", "example": "OIBus OT" }, "oibusId": { "type": "string", "description": "The ID of the OIBus instance.", "example": "aBc12F" }, "dataDirectory": { "type": "string", "description": "The data directory for OIBus.", "example": "/var/lib/oibus" }, "binaryDirectory": { "type": "string", "description": "The binary directory for OIBus.", "example": "/usr/lib/oibus" }, "processId": { "type": "string", "description": "The process ID of the OIBus instance.", "example": "12345" }, "hostname": { "type": "string", "description": "The hostname of the machine running OIBus.", "example": "server1" }, "operatingSystem": { "type": "string", "description": "The operating system of the machine.", "example": "linux" }, "architecture": { "type": "string", "description": "The architecture of the machine.", "example": "x64" }, "platform": { "type": "string", "description": "The platform of the machine.", "example": "ubuntu" } }, "required": [ "version", "launcherVersion", "oibusName", "oibusId", "dataDirectory", "binaryDirectory", "processId", "hostname", "operatingSystem", "architecture", "platform" ], "type": "object", "additionalProperties": false }, "CertificateDTO": { "description": "Data Transfer Object for a certificate.\nRepresents a certificate with its metadata, public key, and expiry information.", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity.", "example": "entity123" }, "createdBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who created the entity." }, "updatedBy": { "$ref": "#/components/schemas/UserInfo", "description": "The user who last updated the entity." }, "createdAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was created.", "example": "2023-10-31T12:34:56.789Z" }, "updatedAt": { "$ref": "#/components/schemas/Instant", "description": "The date and time when the entity was last updated.", "example": "2023-10-31T13:45:00.123Z" }, "name": { "type": "string", "description": "The name of the certificate.", "example": "Server SSL Certificate" }, "description": { "type": "string", "description": "A description of the certificate's purpose or usage.", "example": "SSL certificate for securing server communications" }, "publicKey": { "type": "string", "description": "The public key of the certificate in PEM format.", "example": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..." }, "certificate": { "type": "string", "description": "The certificate in PEM format.", "example": "-----BEGIN CERTIFICATE-----\nMIIDXTCCAkWgAwIBAgIJAKoK/heBjcOuMA0GCSqGSIb3DQEBBQUAMEUx..." }, "expiry": { "$ref": "#/components/schemas/Instant", "description": "The expiry date and time of the certificate in ISO 8601 format.", "example": "2026-01-01T00:00:00.000Z" } }, "required": [ "id", "createdBy", "updatedBy", "createdAt", "updatedAt", "name", "description", "publicKey", "certificate", "expiry" ], "type": "object", "additionalProperties": false } }, "securitySchemes": {} }, "info": { "title": "OIBus API", "version": "3.8.8", "description": "OIBus API is a RESTful interface for managing industrial data flows. It allows you to configure connectors, schedule data collection, transform and route data, monitor system health, and secure communications. Designed for developers and system integrators, it enables seamless integration between industrial systems and enterprise applications.", "license": { "name": "EUPL" }, "contact": { "email": "oibus@optimistik.com", "name": "Optimistik SAS", "url": "https://www.optimistik.com/" } }, "paths": { "/api/users": { "get": { "operationId": "Search", "responses": { "200": { "description": "Paginated list of user accounts", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Page_UserDTO_" } } } } }, "description": "Searches for users with optional filtering by login name", "summary": "Search users", "tags": [ "Users" ], "security": [], "parameters": [ { "in": "query", "name": "login", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "page", "required": true, "schema": { "format": "double", "type": "number" } } ] }, "post": { "operationId": "Create", "responses": { "201": { "description": "User created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDTO" } } } } }, "description": "Creates a new user account with the provided details and password", "summary": "Create user", "tags": [ "Users" ], "security": [], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserWithPassword" } } } } } }, "/api/users/{userId}": { "get": { "operationId": "FindById", "responses": { "200": { "description": "The user account details", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDTO" } } } } }, "description": "Retrieves a specific user by their unique identifier", "summary": "Get user details", "tags": [ "Users" ], "security": [], "parameters": [ { "in": "path", "name": "userId", "required": true, "schema": { "type": "string" } } ] }, "put": { "operationId": "Update", "responses": { "204": { "description": "User updated successfully" } }, "description": "Updates an existing user account with new details", "summary": "Update user", "tags": [ "Users" ], "security": [], "parameters": [ { "in": "path", "name": "userId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCommandDTO" } } } } }, "delete": { "operationId": "Delete", "responses": { "204": { "description": "User deleted successfully" } }, "description": "Deletes a user account by its unique identifier", "summary": "Delete user", "tags": [ "Users" ], "security": [], "parameters": [ { "in": "path", "name": "userId", "required": true, "schema": { "type": "string" } } ] } }, "/api/users/{userId}/password": { "post": { "operationId": "UpdatePassword", "responses": { "204": { "description": "Password updated successfully" } }, "description": "Updates a user's password", "summary": "Change password", "tags": [ "Users" ], "security": [], "parameters": [ { "in": "path", "name": "userId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangePasswordCommand" } } } } } }, "/api/transformers/types": { "get": { "operationId": "ListManifest", "responses": { "200": { "description": "Array of transformer type objects", "content": { "application/json": { "schema": { "items": { "properties": { "outputType": { "type": "string" }, "inputType": { "type": "string" }, "id": { "type": "string" } }, "required": [ "outputType", "inputType", "id" ], "type": "object" }, "type": "array" } } } } }, "description": "Retrieves a list of all available transformer types", "summary": "List all transformer types", "tags": [ "Transformers" ], "security": [], "parameters": [] } }, "/api/transformers/manifests/{type}": { "get": { "operationId": "GetManifest", "responses": { "200": { "description": "The transformer manifest", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransformerManifest" } } } } }, "description": "Retrieves a specific transformer manifest by its type", "summary": "Get transformer manifest", "tags": [ "Transformers" ], "security": [], "parameters": [ { "in": "path", "name": "type", "required": true, "schema": { "type": "string" } } ] } }, "/api/transformers/search": { "get": { "operationId": "Search", "responses": { "200": { "description": "Paginated list of transformers", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Page_TransformerDTO_" } } } } }, "description": "Searches for transformers with optional filtering by type, input type, and output type", "summary": "Search transformers", "tags": [ "Transformers" ], "security": [], "parameters": [ { "in": "query", "name": "type", "required": true, "schema": { "type": "string", "enum": [ "standard", "custom" ] } }, { "in": "query", "name": "inputType", "required": true, "schema": { "$ref": "#/components/schemas/OIBusDataType" } }, { "in": "query", "name": "outputType", "required": true, "schema": { "$ref": "#/components/schemas/OIBusDataType" } }, { "in": "query", "name": "page", "required": false, "schema": { "default": 0, "format": "double", "type": "number" } } ] } }, "/api/transformers/list": { "get": { "operationId": "List", "responses": { "200": { "description": "Array of all transformer objects", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/TransformerDTO" }, "type": "array" } } } } }, "description": "Retrieves a complete list of all available transformers", "summary": "List all transformers", "tags": [ "Transformers" ], "security": [], "parameters": [] } }, "/api/transformers/{transformerId}": { "get": { "operationId": "FindById", "responses": { "200": { "description": "The transformer object", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransformerDTO" } } } } }, "description": "Retrieves a specific transformer by its unique identifier", "summary": "Get transformer by ID", "tags": [ "Transformers" ], "security": [], "parameters": [ { "in": "path", "name": "transformerId", "required": true, "schema": { "type": "string" } } ] }, "put": { "operationId": "Update", "responses": { "204": { "description": "Transformer updated successfully" } }, "description": "Updates an existing custom transformer with new configuration", "summary": "Update transformer", "tags": [ "Transformers" ], "security": [], "parameters": [ { "in": "path", "name": "transformerId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomTransformerCommandDTO" } } } } }, "delete": { "operationId": "Delete", "responses": { "204": { "description": "Transformer deleted successfully" } }, "description": "Deletes a transformer by its unique identifier", "summary": "Delete transformer", "tags": [ "Transformers" ], "security": [], "parameters": [ { "in": "path", "name": "transformerId", "required": true, "schema": { "type": "string" } } ] } }, "/api/transformers": { "post": { "operationId": "Create", "responses": { "201": { "description": "Transformer created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomTransformerDTO" } } } } }, "description": "Creates a new data transformer with the provided configuration", "summary": "Create transformer", "tags": [ "Transformers" ], "security": [], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomTransformerCommandDTO" } } } } } }, "/api/transformers/test": { "post": { "operationId": "Test", "responses": { "200": { "description": "The transformation output and execution metadata", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransformerTestResponse" } } } } }, "description": "Runs a custom transformer against the provided input data and returns the transformed output.\nUse this endpoint to validate transformer logic before saving it.", "summary": "Test a custom transformer", "tags": [ "Transformers" ], "security": [], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { "testRequest": { "$ref": "#/components/schemas/TransformerTestRequest" }, "transformer": { "$ref": "#/components/schemas/CustomTransformerCommandDTO" } }, "required": [ "testRequest", "transformer" ], "type": "object" } } } } } }, "/api/transformers/template/{inputType}": { "get": { "operationId": "GetInputTemplate", "responses": { "200": { "description": "A template object with sample data for the requested input type", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InputTemplate" } } } } }, "description": "Returns a sample input payload for the given input type, useful as a starting point when writing or testing a custom transformer.", "summary": "Get input template for a transformer input type", "tags": [ "Transformers" ], "security": [], "parameters": [ { "in": "path", "name": "inputType", "required": true, "schema": { "$ref": "#/components/schemas/InputType" } } ] } }, "/api/south/types": { "get": { "operationId": "ListManifest", "responses": { "200": { "description": "Array of south connector type objects", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/SouthType" }, "type": "array" } } } } }, "description": "Retrieves a list of all available south connector types", "summary": "List all south connector types", "tags": [ "South Connectors" ], "security": [], "parameters": [] } }, "/api/south/manifests/{type}": { "get": { "operationId": "GetManifest", "responses": { "200": { "description": "The south connector manifest", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthConnectorManifest" } } } } }, "description": "Retrieves a specific south connector manifest by its type", "summary": "Get south connector manifest", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "type", "required": true, "schema": { "$ref": "#/components/schemas/OIBusSouthType" } } ] } }, "/api/south": { "get": { "operationId": "List", "responses": { "200": { "description": "Array of south connector objects", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/SouthConnectorLightDTO" }, "type": "array" } } } } }, "description": "Retrieves a list of all configured south connectors", "summary": "List all south connectors", "tags": [ "South Connectors" ], "security": [], "parameters": [] }, "post": { "operationId": "Create", "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthConnectorDTO" } } } } }, "description": "Creates a new south connector with the provided configuration", "summary": "Create south connector", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "query", "name": "duplicate", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthConnectorCommandDTO" } } } } } }, "/api/south/{southId}": { "get": { "operationId": "FindById", "responses": { "200": { "description": "The south connector object", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthConnectorDTO" } } } } }, "description": "Retrieves a specific south connector by its unique identifier", "summary": "Get south connector by ID", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ] }, "put": { "operationId": "Update", "responses": { "204": { "description": "No Content" } }, "description": "Updates an existing south connector configuration", "summary": "Update south connector", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthConnectorCommandDTO" } } } } }, "delete": { "operationId": "Delete", "responses": { "204": { "description": "No Content" } }, "description": "Deletes a south connector by its ID", "summary": "Delete south connector", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ] } }, "/api/south/{southId}/start": { "post": { "operationId": "Start", "responses": { "204": { "description": "No Content" } }, "description": "Start a south connector", "summary": "Start south connector", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ] } }, "/api/south/{southId}/stop": { "post": { "operationId": "Stop", "responses": { "204": { "description": "No Content" } }, "description": "Stop a south connector", "summary": "Stop south connector", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ] } }, "/api/south/{southId}/metrics/reset": { "post": { "operationId": "ResetSouthMetrics", "responses": { "204": { "description": "No Content" } }, "description": "Resets all metrics for a north connector", "summary": "Reset south connector metrics", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ] } }, "/api/south/{southId}/test/connection": { "post": { "operationId": "TestConnection", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OIBusConnectionTestResult" } } } } }, "description": "Tests the connection for a south connector", "summary": "Test south connection", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "southType", "required": true, "schema": { "$ref": "#/components/schemas/OIBusSouthType" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthSettings" } } } } } }, "/api/south/{southId}/items/test": { "post": { "operationId": "TestItem", "responses": { "200": { "description": "Test results", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OIBusContent" } } } } }, "description": "Test a south connector item", "summary": "Test south connector item", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "southType", "required": true, "schema": { "$ref": "#/components/schemas/OIBusSouthType" } }, { "in": "query", "name": "itemName", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthItemTestRequest" } } } } } }, "/api/south/{southId}/items/list": { "get": { "operationId": "ListItems", "responses": { "200": { "description": "Array of south connector item objects", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/SouthConnectorItemDTO" }, "type": "array" } } } } }, "description": "List all items for a south connector", "summary": "List south connector items", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ] } }, "/api/south/{southId}/items/search": { "get": { "operationId": "SearchItems", "responses": { "200": { "description": "Paginated list of items", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Page_SouthConnectorItemDTO_" } } } } }, "description": "Searches for items in a south connector with optional filtering", "summary": "Search south connector items", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "name", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "scanModeId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "enabled", "required": true, "schema": { "type": "boolean" } }, { "in": "query", "name": "page", "required": false, "schema": { "default": 0, "format": "double", "type": "number" } } ] } }, "/api/south/{southId}/items/{itemId}": { "get": { "operationId": "FindItemById", "responses": { "200": { "description": "The south connector item", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthConnectorItemDTO" } } } } }, "description": "Retrieves a specific item from a south connector", "summary": "Get south connector item", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "itemId", "required": true, "schema": { "type": "string" } } ] }, "put": { "operationId": "UpdateItem", "responses": { "204": { "description": "No Content" } }, "description": "Updates an existing item in a south connector", "summary": "Update south connector item", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "itemId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthConnectorItemCommandDTO" } } } } }, "delete": { "operationId": "DeleteItem", "responses": { "204": { "description": "No Content" } }, "description": "Delete a south item", "summary": "Delete south item", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "itemId", "required": true, "schema": { "type": "string" } } ] } }, "/api/south/{southId}/items/{itemId}/last-value": { "get": { "operationId": "GetItemLastValue", "responses": { "200": { "description": "The item's last cached value", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthItemLastValue" } } } } }, "description": "Retrieves the last cached value for a specific item", "summary": "Get item last value", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "itemId", "required": true, "schema": { "type": "string" } } ] } }, "/api/south/{southId}/items": { "post": { "operationId": "CreateItem", "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthConnectorItemDTO" } } } } }, "description": "Creates a new item in a south connector", "summary": "Create south connector item", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthConnectorItemCommandDTO" } } } } }, "delete": { "operationId": "DeleteAllItems", "responses": { "204": { "description": "No Content" } }, "description": "Deletes all items from a south connector", "summary": "Delete all south connector items", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ] } }, "/api/south/{southId}/items/{itemId}/enable": { "post": { "operationId": "EnableItem", "responses": { "204": { "description": "No Content" } }, "description": "Enable a south connector item", "summary": "Enable south connector item", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "itemId", "required": true, "schema": { "type": "string" } } ] } }, "/api/south/{southId}/items/{itemId}/disable": { "post": { "operationId": "DisableItem", "responses": { "204": { "description": "No Content" } }, "description": "Disable a south connector item", "summary": "Disable south connector item", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "itemId", "required": true, "schema": { "type": "string" } } ] } }, "/api/south/{southId}/items/enable": { "post": { "operationId": "EnableItems", "responses": { "204": { "description": "No Content" } }, "description": "Enable a list of south connector items", "summary": "Enable south connector items", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { "itemIds": { "items": { "type": "string" }, "type": "array" } }, "required": [ "itemIds" ], "type": "object" } } } } } }, "/api/south/{southId}/items/disable": { "post": { "operationId": "DisableItems", "responses": { "204": { "description": "No Content" } }, "description": "Disable a list of south connector items", "summary": "Disable south connector items", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { "itemIds": { "items": { "type": "string" }, "type": "array" } }, "required": [ "itemIds" ], "type": "object" } } } } } }, "/api/south/{southId}/items/delete": { "post": { "operationId": "DeleteItems", "responses": { "204": { "description": "No Content" } }, "description": "Delete a list of south connector items", "summary": "Delete south connector items", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { "itemIds": { "items": { "type": "string" }, "type": "array" } }, "required": [ "itemIds" ], "type": "object" } } } } } }, "/api/south/{southType}/items/to-csv": { "post": { "operationId": "ItemsToCsv", "responses": { "204": { "description": "No content" } }, "description": "Converts frontend in memory items to CSV format", "summary": "Convert items to CSV", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southType", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "delimiter": { "type": "string" }, "items": { "type": "string", "format": "binary" } }, "required": [ "delimiter", "items" ] } } } } } }, "/api/south/{southId}/items/export": { "post": { "operationId": "ExportItems", "responses": { "204": { "description": "No content" } }, "description": "Exports all items from a history query as a CSV file", "summary": "Export items to CSV", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthCsvDelimiterRequest" } } } } } }, "/api/south/{southType}/items/import/check": { "post": { "operationId": "CheckImportItems", "responses": { "200": { "description": "Import validation results", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthCsvImportResponse" } } } } }, "description": "Validates a CSV file before import and checks for conflicts with existing items", "summary": "Check CSV import", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southType", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "delimiter": { "type": "string" }, "deleteItemsNotPresent": { "type": "string" }, "itemsToImport": { "type": "string", "format": "binary" }, "currentItems": { "type": "string", "format": "binary" } }, "required": [ "delimiter", "deleteItemsNotPresent", "itemsToImport", "currentItems" ] } } } } } }, "/api/south/{southId}/items/import": { "post": { "operationId": "ImportItems", "responses": { "204": { "description": "No Content" } }, "description": "Imports items from a CSV file into a history query", "summary": "Import items from CSV", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "items": { "type": "string", "format": "binary" }, "deleteItemsNotPresent": { "type": "string" } }, "required": [ "items", "deleteItemsNotPresent" ] } } } } } }, "/api/south/{southId}/groups": { "get": { "operationId": "ListGroups", "responses": { "200": { "description": "Array of group objects", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/SouthItemGroupDTO" }, "type": "array" } } } } }, "description": "Lists all groups for a south connector", "summary": "List south item groups", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ] }, "post": { "operationId": "CreateGroup", "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthItemGroupDTO" } } } } }, "description": "Creates a new group for a south connector", "summary": "Create south item group", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" } } } } } }, "/api/south/{southId}/groups/{groupId}": { "get": { "operationId": "GetGroup", "responses": { "200": { "description": "The group object", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthItemGroupDTO" } } } } }, "description": "Gets a specific group by ID", "summary": "Get south item group", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "groupId", "required": true, "schema": { "type": "string" } } ] }, "put": { "operationId": "UpdateGroup", "responses": { "204": { "description": "No Content" } }, "description": "Updates an existing group", "summary": "Update south item group", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "groupId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthItemGroupCommandDTO" } } } } }, "delete": { "operationId": "DeleteGroup", "responses": { "204": { "description": "No Content" } }, "description": "Deletes a group", "summary": "Delete south item group", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "groupId", "required": true, "schema": { "type": "string" } } ] } }, "/api/south/{southId}/items/move-to-group": { "post": { "operationId": "MoveItemsToGroup", "responses": { "204": { "description": "No Content" } }, "description": "Moves items to a group (or removes them from a group if groupId is null)", "summary": "Move items to group", "tags": [ "South Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "southId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { "groupId": { "type": "string", "nullable": true }, "itemIds": { "items": { "type": "string" }, "type": "array" } }, "required": [ "groupId", "itemIds" ], "type": "object" } } } } } }, "/api/scan-modes": { "get": { "operationId": "List", "responses": { "200": { "description": "Array of scan mode objects", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/ScanModeDTO" }, "type": "array" } } } } }, "description": "Retrieves a list of all scan modes", "summary": "List all scan modes", "tags": [ "Scan Modes" ], "security": [], "parameters": [] }, "post": { "operationId": "Create", "responses": { "201": { "description": "Scan mode created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScanModeDTO" } } } } }, "description": "Creates a new scan mode with the provided configuration", "summary": "Create scan mode", "tags": [ "Scan Modes" ], "security": [], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScanModeCommandDTO" } } } } } }, "/api/scan-modes/{scanModeId}": { "get": { "operationId": "FindById", "responses": { "200": { "description": "The scan mode object", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScanModeDTO" } } } } }, "description": "Retrieves a specific scan mode by its unique identifier", "summary": "Get scan mode", "tags": [ "Scan Modes" ], "security": [], "parameters": [ { "in": "path", "name": "scanModeId", "required": true, "schema": { "type": "string" } } ] }, "put": { "operationId": "Update", "responses": { "204": { "description": "Scan mode updated successfully" } }, "description": "Updates an existing scan mode with new configuration", "summary": "Update scan mode", "tags": [ "Scan Modes" ], "security": [], "parameters": [ { "in": "path", "name": "scanModeId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScanModeCommandDTO" } } } } }, "delete": { "operationId": "Delete", "responses": { "204": { "description": "Scan mode deleted successfully" } }, "description": "Deletes a scan mode by its unique identifier", "summary": "Delete scan mode", "tags": [ "Scan Modes" ], "security": [], "parameters": [ { "in": "path", "name": "scanModeId", "required": true, "schema": { "type": "string" } } ] } }, "/api/scan-modes/verify": { "post": { "operationId": "VerifyCron", "responses": { "200": { "description": "The cron validation with next execution times", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidatedCronExpression" } } } } }, "description": "Validates a cron expression to ensure it's properly formatted", "summary": "Validate cron expression", "tags": [ "Scan Modes" ], "security": [], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { "cron": { "type": "string" } }, "required": [ "cron" ], "type": "object" } } } } } }, "/api/oianalytics/registration": { "get": { "operationId": "GetRegistrationSettings", "responses": { "200": { "description": "The registration settings", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistrationSettingsDTO" } } } } }, "description": "Returns the current OIAnalytics registration settings", "summary": "Retrieve registration settings", "tags": [ "OIAnalytics Registration" ], "security": [], "parameters": [] }, "put": { "operationId": "EditRegistrationSettings", "responses": { "204": { "description": "Connection settings updated successfully" } }, "description": "Updates the connection settings for the OIAnalytics service", "summary": "Update connection settings", "tags": [ "OIAnalytics Registration" ], "security": [], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistrationSettingsCommandDTO" } } } } } }, "/api/oianalytics/register": { "post": { "operationId": "Register", "responses": { "204": { "description": "Registration completed successfully" } }, "description": "Registers the current instance of OIBus with the OIAnalytics service", "summary": "Register service", "tags": [ "OIAnalytics Registration" ], "security": [], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistrationSettingsCommandDTO" } } } } } }, "/api/oianalytics/registration/test-connection": { "post": { "operationId": "TestConnection", "responses": { "204": { "description": "Connection test successful" } }, "description": "Test connection to OIAnalytics service with the provided settings", "summary": "Test connection", "tags": [ "OIAnalytics Registration" ], "security": [], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistrationSettingsCommandDTO" } } } } } }, "/api/oianalytics/unregister": { "post": { "operationId": "Unregister", "responses": { "204": { "description": "Unregistration completed successfully" } }, "description": "Unregister from OIAnalytics service. OIBus will still be registered on OIAnalytics. It must be removed manually", "summary": "Unregister service", "tags": [ "OIAnalytics Registration" ], "security": [], "parameters": [] } }, "/api/oianalytics/commands/search": { "get": { "operationId": "Search", "responses": { "200": { "description": "Paginated list of commands", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Page_OIBusCommandDTO_" } } } } }, "description": "Searches OIAnalytics commands with optional filtering by type, status, and time range.", "summary": "Search OIAnalytics commands", "tags": [ "OIAnalytics Commands" ], "security": [], "parameters": [ { "description": "Comma-separated list of command types to filter by (e.g. `update-version,restart-engine`).", "in": "query", "name": "types", "required": true, "schema": { "type": "string" } }, { "description": "Comma-separated list of statuses to filter by (e.g. `COMPLETED,ERRORED`). Valid values: `RETRIEVED`, `RUNNING`, `ERRORED`, `CANCELLED`, `COMPLETED`.", "in": "query", "name": "status", "required": true, "schema": { "type": "string" } }, { "description": "ISO 8601 start of the time range.", "in": "query", "name": "start", "required": true, "schema": { "$ref": "#/components/schemas/Instant" } }, { "description": "ISO 8601 end of the time range.", "in": "query", "name": "end", "required": true, "schema": { "$ref": "#/components/schemas/Instant" } }, { "description": "Filter by acknowledgement status. `true` returns only acknowledged commands.", "in": "query", "name": "ack", "required": true, "schema": { "type": "boolean" } }, { "in": "query", "name": "page", "required": false, "schema": { "default": 0, "format": "double", "type": "number" } } ] } }, "/api/oianalytics/commands/{commandId}": { "delete": { "operationId": "Delete", "responses": { "204": { "description": "Command deleted successfully" } }, "description": "Deletes an OIAnalytics command by its unique identifier", "summary": "Delete OIAnalytics command", "tags": [ "OIAnalytics Commands" ], "security": [], "parameters": [ { "in": "path", "name": "commandId", "required": true, "schema": { "type": "string" } } ] } }, "/api/north/types": { "get": { "operationId": "ListManifest", "responses": { "200": { "description": "Array of north connector type objects", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/NorthConnectorType" }, "type": "array" } } } } }, "description": "Retrieves a list of all available north connector types", "summary": "List all north connector types", "tags": [ "North Connectors" ], "security": [], "parameters": [] } }, "/api/north/manifests/{type}": { "get": { "operationId": "GetManifest", "responses": { "200": { "description": "The north connector manifest", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NorthConnectorManifest" } } } } }, "description": "Retrieves a specific north connector manifest by its type", "summary": "Get north connector manifest", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "type", "required": true, "schema": { "type": "string" } } ] } }, "/api/north": { "get": { "operationId": "List", "responses": { "200": { "description": "Array of north connector objects", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/NorthConnectorLightDTO" }, "type": "array" } } } } }, "description": "Retrieves a list of all configured north connectors", "summary": "List all north connectors", "tags": [ "North Connectors" ], "security": [], "parameters": [] }, "post": { "operationId": "Create", "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NorthConnectorDTO" } } } } }, "description": "Creates a new north connector with the provided configuration", "summary": "Create north connector", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "query", "name": "duplicate", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NorthConnectorCommandDTO" } } } } } }, "/api/north/{northId}": { "get": { "operationId": "FindById", "responses": { "200": { "description": "The north connector object", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NorthConnectorDTO" } } } } }, "description": "Retrieves a specific north connector by its unique identifier", "summary": "Get north connector by ID", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "northId", "required": true, "schema": { "type": "string" } } ] }, "put": { "operationId": "Update", "responses": { "204": { "description": "No Content" } }, "description": "Updates an existing north connector configuration", "summary": "Update north connector", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "northId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NorthConnectorCommandDTO" } } } } }, "delete": { "operationId": "Delete", "responses": { "204": { "description": "No Content" } }, "description": "Deletes a north connector by its ID", "summary": "Delete north connector", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "northId", "required": true, "schema": { "type": "string" } } ] } }, "/api/north/{northId}/start": { "post": { "operationId": "Start", "responses": { "204": { "description": "No Content" } }, "description": "Starts a north connector", "summary": "Start north connector", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "northId", "required": true, "schema": { "type": "string" } } ] } }, "/api/north/{northId}/stop": { "post": { "operationId": "Stop", "responses": { "204": { "description": "No Content" } }, "description": "Stops a north connector", "summary": "Stop north connector", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "northId", "required": true, "schema": { "type": "string" } } ] } }, "/api/north/{northId}/metrics/reset": { "post": { "operationId": "ResetMetrics", "responses": { "204": { "description": "No Content" } }, "description": "Resets all metrics for a north connector", "summary": "Reset north connector metrics", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "northId", "required": true, "schema": { "type": "string" } } ] } }, "/api/north/{northId}/test/connection": { "post": { "operationId": "TestNorth", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OIBusConnectionTestResult" } } } } }, "description": "Tests the connection for a north connector", "summary": "Test north connection", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "northId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "northType", "required": true, "schema": { "$ref": "#/components/schemas/OIBusNorthType" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NorthSettings" } } } } } }, "/api/north/{northId}/transformers": { "post": { "operationId": "AddOrEditTransformer", "responses": { "204": { "description": "No Content" } }, "description": "Adds or updates a transformer configuration for a north connector", "summary": "Add/edit transformer", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "northId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransformerDTOWithOptions" } } } } } }, "/api/north/{northId}/transformers/{transformerId}": { "delete": { "operationId": "RemoveTransformer", "responses": { "204": { "description": "No Content" } }, "description": "Remove a transformer from a north connector", "summary": "Remove transformer", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "northId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "transformerId", "required": true, "schema": { "type": "string" } } ] } }, "/api/north/{northId}/cache/search": { "get": { "operationId": "SearchCacheContent", "responses": { "200": { "description": "The cache search result", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheSearchResult" } } } } }, "description": "Searches for files in the north connector cache", "summary": "Search files in cache, error and archive folders", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "northId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "nameContains", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "start", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "end", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "maxNumberOfFilesReturned", "required": true, "schema": { "format": "double", "type": "number" } } ] } }, "/api/north/{northId}/cache/content/{filename}": { "get": { "operationId": "GetCacheFileContent", "responses": { "200": { "description": "The content of the file - may be truncated", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileCacheContent" } } } } }, "description": "Retrieve a file from a north connector cache", "summary": "Retrieve cache file content", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "northId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "filename", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "folder", "required": true, "schema": { "$ref": "#/components/schemas/DataFolderType" } } ] } }, "/api/north/{northId}/cache/update": { "post": { "operationId": "UpdateCacheContent", "responses": { "204": { "description": "No Content" } }, "description": "Update cache content by moving or removing files from cache, archive and error folders", "summary": "Move or remove files from cache, error and archive folders", "tags": [ "North Connectors" ], "security": [], "parameters": [ { "in": "path", "name": "northId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheContentUpdateCommand" } } } } } }, "/api/logs": { "get": { "operationId": "Search", "responses": { "200": { "description": "Paginated list of log entries", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Page_LogDTO_" } } } } }, "description": "Searches system logs with various filter parameters. If no time range is specified, defaults to the last 24 hours.", "summary": "Search logs", "tags": [ "Logs" ], "security": [], "parameters": [ { "description": "ISO 8601 start of the time range (e.g. `2024-01-01T00:00:00.000Z`). Defaults to 24 hours ago.", "in": "query", "name": "start", "required": true, "schema": { "$ref": "#/components/schemas/Instant" } }, { "description": "ISO 8601 end of the time range (e.g. `2024-01-02T00:00:00.000Z`). Defaults to now.", "in": "query", "name": "end", "required": true, "schema": { "$ref": "#/components/schemas/Instant" } }, { "description": "Comma-separated list of log levels to include (e.g. `error,warn`). Valid values: `silent`, `error`, `warn`, `info`, `debug`, `trace`.", "in": "query", "name": "levels", "required": true, "schema": { "type": "string" } }, { "description": "Comma-separated list of scope IDs to filter by (e.g. `connector123,connector456`).", "in": "query", "name": "scopeIds", "required": true, "schema": { "type": "string" } }, { "description": "Comma-separated list of scope types to filter by (e.g. `south,north`). Valid values: `south`, `north`, `history-query`, `internal`, `web-server`.", "in": "query", "name": "scopeTypes", "required": true, "schema": { "type": "string" } }, { "description": "Substring to search for within log messages.", "in": "query", "name": "messageContent", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "page", "required": false, "schema": { "default": 0, "format": "double", "type": "number" } } ] } }, "/api/logs/scopes/suggest": { "get": { "operationId": "SuggestScopes", "responses": { "200": { "description": "Array of matching scope objects", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Scope" }, "type": "array" } } } } }, "description": "Returns a list of scope suggestions based on the provided name fragment", "summary": "Get scope suggestions", "tags": [ "Logs" ], "security": [], "parameters": [ { "in": "query", "name": "name", "required": false, "schema": { "default": "", "type": "string" } } ] } }, "/api/logs/scopes/{scopeId}": { "get": { "operationId": "GetScopeById", "responses": { "200": { "description": "Scope object or null if not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Scope" } } } } }, "description": "Retrieves details for a specific log scope by its ID", "summary": "Get log scope details", "tags": [ "Logs" ], "security": [], "parameters": [ { "in": "path", "name": "scopeId", "required": true, "schema": { "type": "string" } } ] } }, "/api/ip-filters": { "get": { "operationId": "List", "responses": { "200": { "description": "Array of IP filter objects", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/IPFilterDTO" }, "type": "array" } } } } }, "description": "Retrieves a list of all IP filters", "summary": "List all IP filters", "tags": [ "IP Filters" ], "security": [], "parameters": [] }, "post": { "operationId": "Create", "responses": { "201": { "description": "IP filter created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IPFilterDTO" } } } } }, "description": "Creates a new IP filter with the provided configuration", "summary": "Create IP filter", "tags": [ "IP Filters" ], "security": [], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IPFilterCommandDTO" } } } } } }, "/api/ip-filters/{ipFilterId}": { "get": { "operationId": "FindById", "responses": { "200": { "description": "The IP filter object", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IPFilterDTO" } } } } }, "description": "Retrieves a specific IP filter by its unique identifier", "summary": "Get an IP filter", "tags": [ "IP Filters" ], "security": [], "parameters": [ { "in": "path", "name": "ipFilterId", "required": true, "schema": { "type": "string" } } ] }, "put": { "operationId": "Update", "responses": { "204": { "description": "IP filter updated successfully" } }, "description": "Updates an existing IP filter with new configuration", "summary": "Update IP filter", "tags": [ "IP Filters" ], "security": [], "parameters": [ { "in": "path", "name": "ipFilterId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IPFilterCommandDTO" } } } } }, "delete": { "operationId": "Delete", "responses": { "204": { "description": "IP filter deleted successfully" } }, "description": "Deletes an IP filter by its unique identifier", "summary": "Delete IP filter", "tags": [ "IP Filters" ], "security": [], "parameters": [ { "in": "path", "name": "ipFilterId", "required": true, "schema": { "type": "string" } } ] } }, "/api/history": { "get": { "operationId": "List", "responses": { "200": { "description": "Array of history query objects", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/HistoryQueryLightDTO" }, "type": "array" } } } } }, "description": "Retrieves a list of all configured history queries", "summary": "List all history queries", "tags": [ "History Queries" ], "security": [], "parameters": [] }, "post": { "operationId": "Create", "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HistoryQueryDTO" } } } } }, "description": "Creates a new history query with the provided configuration", "summary": "Create history query", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "query", "name": "fromSouth", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "fromNorth", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "duplicate", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HistoryQueryCommandDTO" } } } } } }, "/api/history/{historyId}": { "get": { "operationId": "FindById", "responses": { "200": { "description": "The history query object", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HistoryQueryDTO" } } } } }, "description": "Retrieves a specific history query by its unique identifier", "summary": "Get history query by ID", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ] }, "put": { "operationId": "Update", "responses": { "204": { "description": "No Content" } }, "description": "Updates an existing history query configuration", "summary": "Update history query", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "resetCache", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HistoryQueryCommandDTO" } } } } }, "delete": { "operationId": "Delete", "responses": { "204": { "description": "No Content" } }, "description": "Deletes a history query by its ID", "summary": "Delete history query", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ] } }, "/api/history/{historyId}/start": { "post": { "operationId": "Start", "responses": { "204": { "description": "No Content" } }, "description": "Starts a history query", "summary": "Start history query", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ] } }, "/api/history/{historyId}/pause": { "post": { "operationId": "Pause", "responses": { "204": { "description": "No Content" } }, "description": "Pause a history query", "summary": "Pause history query", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ] } }, "/api/history/{historyId}/test/north": { "post": { "operationId": "TestNorth", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OIBusConnectionTestResult" } } } } }, "description": "Test north connection for a history query", "summary": "Test north connection", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "northType", "required": true, "schema": { "$ref": "#/components/schemas/OIBusNorthType" } }, { "in": "query", "name": "fromNorth", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NorthSettings" } } } } } }, "/api/history/{historyId}/test/south": { "post": { "operationId": "TestSouth", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OIBusConnectionTestResult" } } } } }, "description": "Test south connection for a history query", "summary": "Test south connection", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "southType", "required": true, "schema": { "$ref": "#/components/schemas/OIBusSouthType" } }, { "in": "query", "name": "fromSouth", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SouthSettings" } } } } } }, "/api/history/{historyId}/test/items": { "post": { "operationId": "TestItem", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OIBusContent" } } } } }, "description": "Test a history query item", "summary": "Test history query item", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "southType", "required": true, "schema": { "$ref": "#/components/schemas/OIBusSouthType" } }, { "in": "query", "name": "itemName", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "fromSouth", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HistorySouthItemTestRequest" } } } } } }, "/api/history/{historyId}/items/list": { "get": { "operationId": "ListItems", "responses": { "200": { "description": "List of items", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/HistoryQueryItemDTO" }, "type": "array" } } } } }, "description": "List all items for a history query", "summary": "List history query items", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ] } }, "/api/history/{historyId}/items/search": { "get": { "operationId": "SearchItems", "responses": { "200": { "description": "Paginated list of items", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Page_HistoryQueryItemDTO_" } } } } }, "description": "Searches for items in a history query with optional filtering", "summary": "Search history query items", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "name", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "enabled", "required": true, "schema": { "type": "boolean" } }, { "in": "query", "name": "page", "required": false, "schema": { "default": 0, "format": "double", "type": "number" } } ] } }, "/api/history/{historyId}/items/{itemId}": { "get": { "operationId": "FindItemById", "responses": { "200": { "description": "The history query item", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HistoryQueryItemDTO" } } } } }, "description": "Retrieves a specific item from a history query", "summary": "Get history query item", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "itemId", "required": true, "schema": { "type": "string" } } ] }, "put": { "operationId": "UpdateItem", "responses": { "204": { "description": "No Content" } }, "description": "Updates an existing item in a history query", "summary": "Update history query item", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "itemId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HistoryQueryItemCommandDTO" } } } } }, "delete": { "operationId": "DeleteItem", "responses": { "204": { "description": "No Content" } }, "description": "Delete a history query item", "summary": "Delete history query item", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "itemId", "required": true, "schema": { "type": "string" } } ] } }, "/api/history/{historyId}/items": { "post": { "operationId": "CreateItem", "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HistoryQueryItemDTO" } } } } }, "description": "Creates a new item in a history query", "summary": "Create history query item", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HistoryQueryItemCommandDTO" } } } } }, "delete": { "operationId": "DeleteAllItems", "responses": { "204": { "description": "No Content" } }, "description": "Delete all items from a history query", "summary": "Delete all items", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ] } }, "/api/history/{historyId}/items/{itemId}/enable": { "post": { "operationId": "EnableItem", "responses": { "204": { "description": "No Content" } }, "description": "Enable a history query item", "summary": "Enable history query item", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "itemId", "required": true, "schema": { "type": "string" } } ] } }, "/api/history/{historyId}/items/{itemId}/disable": { "post": { "operationId": "DisableItem", "responses": { "204": { "description": "No Content" } }, "description": "Disable a history query item", "summary": "Disable history query item", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "itemId", "required": true, "schema": { "type": "string" } } ] } }, "/api/history/{historyId}/items/enable": { "post": { "operationId": "EnableItems", "responses": { "204": { "description": "No Content" } }, "description": "Enable a list of history query items", "summary": "Enable history query items", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { "itemIds": { "items": { "type": "string" }, "type": "array" } }, "required": [ "itemIds" ], "type": "object" } } } } } }, "/api/history/{historyId}/items/disable": { "post": { "operationId": "DisableItems", "responses": { "204": { "description": "No Content" } }, "description": "Disable a list of history query items", "summary": "Disable history query items", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { "itemIds": { "items": { "type": "string" }, "type": "array" } }, "required": [ "itemIds" ], "type": "object" } } } } } }, "/api/history/{historyId}/items/delete": { "post": { "operationId": "DeleteItems", "responses": { "204": { "description": "No Content" } }, "description": "Delete a list of history query items", "summary": "Delete history query items", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { "itemIds": { "items": { "type": "string" }, "type": "array" } }, "required": [ "itemIds" ], "type": "object" } } } } } }, "/api/history/{southType}/items/to-csv": { "post": { "operationId": "ItemsToCsv", "responses": { "204": { "description": "No content" } }, "description": "Converts frontend in memory items to CSV format", "summary": "Convert items to CSV", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "southType", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "delimiter": { "type": "string" }, "items": { "type": "string", "format": "binary" } }, "required": [ "delimiter", "items" ] } } } } } }, "/api/history/{historyId}/items/export": { "post": { "operationId": "ExportItems", "responses": { "204": { "description": "No content" } }, "description": "Exports all items from a history query as a CSV file", "summary": "Export items to CSV", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HistoryCsvDelimiterRequest" } } } } } }, "/api/history/{southType}/items/import/check": { "post": { "operationId": "CheckImportItems", "responses": { "200": { "description": "Import validation results", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HistoryCsvImportResponse" } } } } }, "description": "Validates a CSV file before import and checks for conflicts with existing items", "summary": "Check CSV import", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "southType", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "delimiter": { "type": "string" }, "deleteItemsNotPresent": { "type": "string" }, "itemsToImport": { "type": "string", "format": "binary" }, "currentItems": { "type": "string", "format": "binary" } }, "required": [ "delimiter", "deleteItemsNotPresent", "itemsToImport", "currentItems" ] } } } } } }, "/api/history/{historyId}/items/import": { "post": { "operationId": "ImportItems", "responses": { "204": { "description": "No Content" } }, "description": "Imports items from a CSV file into a history query", "summary": "Import items from CSV", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "items": { "type": "string", "format": "binary" }, "deleteItemsNotPresent": { "type": "string" } }, "required": [ "items", "deleteItemsNotPresent" ] } } } } } }, "/api/history/{historyId}/transformers": { "post": { "operationId": "AddOrEditTransformer", "responses": { "204": { "description": "No Content" } }, "description": "Adds or updates a transformer configuration for a history query", "summary": "Add/edit transformer", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HistoryTransformerDTOWithOptions" } } } } } }, "/api/history/{historyId}/transformers/{transformerId}": { "delete": { "operationId": "RemoveTransformer", "responses": { "204": { "description": "No Content" } }, "description": "Remove a transformer from a history query", "summary": "Remove transformer", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "transformerId", "required": true, "schema": { "type": "string" } } ] } }, "/api/history/{historyId}/cache/search": { "get": { "operationId": "SearchCacheContent", "responses": { "200": { "description": "The cache search result", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheSearchResult" } } } } }, "description": "Searches for files in the history query cache", "summary": "Search files in cache, error and archive folders", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "nameContains", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "start", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "end", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "maxNumberOfFilesReturned", "required": true, "schema": { "format": "double", "type": "number" } } ] } }, "/api/history/{historyId}/cache/content/{filename}": { "get": { "operationId": "GetCacheFileContent", "responses": { "200": { "description": "The content of the file - may be truncated", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileCacheContent" } } } } }, "description": "Retrieve a file from a north connector cache", "summary": "Retrieve cache file content", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "filename", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "folder", "required": true, "schema": { "$ref": "#/components/schemas/DataFolderType" } } ] } }, "/api/history/{historyId}/cache/update": { "delete": { "operationId": "UpdateCacheContent", "responses": { "204": { "description": "No Content" } }, "description": "Update cache content by moving or removing files from cache, archive and error folders", "summary": "Move or remove files from cache, error and archive folders", "tags": [ "History Queries" ], "security": [], "parameters": [ { "in": "path", "name": "historyId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CacheContentUpdateCommand" } } } } } }, "/api/engine": { "get": { "operationId": "GetEngineSettings", "responses": { "200": { "description": "The engine settings", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EngineSettingsDTO" } } } } }, "description": "Returns the current configuration settings of the OIBus engine", "summary": "Retrieve engine configuration", "tags": [ "Engine" ], "security": [], "parameters": [] }, "put": { "operationId": "UpdateEngineSettings", "responses": { "200": { "description": "Engine settings updated successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EngineSettingsUpdateResultDTO" } } } } }, "description": "Updates the configuration settings of the OIBus engine", "summary": "Update engine configuration", "tags": [ "Engine" ], "security": [], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EngineSettingsCommandDTO" } } } } } }, "/api/engine/metrics/reset": { "post": { "operationId": "ResetEngineMetrics", "responses": { "204": { "description": "Engine metrics reset successfully" } }, "description": "Resets all metrics collected by the OIBus engine", "summary": "Reset metrics", "tags": [ "Engine" ], "security": [], "parameters": [] } }, "/api/engine/restart": { "post": { "operationId": "Restart", "responses": { "204": { "description": "Engine restart initiated successfully" } }, "description": "Restarts the OIBus process", "summary": "Restart OIBus process", "tags": [ "Engine" ], "security": [], "parameters": [] } }, "/api/engine/info": { "get": { "operationId": "GetInfo", "responses": { "200": { "description": "OIBus information including version, build, and system details", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OIBusInfo" } } } } }, "description": "Returns version and system information about the OIBus instance", "summary": "Retrieve OIBus information", "tags": [ "Engine" ], "security": [], "parameters": [] } }, "/api/engine/status": { "get": { "operationId": "GetOIBusStatus", "responses": { "204": { "description": "No content" } }, "description": "Checks the current status of the OIBus engine. Used by Helm Charts.\nThis endpoint is public and does not require any authentication", "summary": "Check OIBus status", "tags": [ "Engine" ], "security": [], "parameters": [] } }, "/api/status": { "get": { "operationId": "GetOIBusStatusLegacyAlias", "responses": { "204": { "description": "No content" } }, "description": "Legacy alias for `/api/engine/status`, kept unauthenticated for backward compatibility\nwith tools that still poll the pre-3.7 endpoint.", "summary": "Check OIBus status (legacy alias)", "tags": [ "Engine" ], "security": [], "parameters": [] } }, "/api/content/file": { "post": { "operationId": "AddFile", "responses": { "204": { "description": "No Content" } }, "description": "Uploads a file and adds it to the specified North connector(s) cache.\nThe file will be processed according to the North connector's configuration.", "summary": "Inject a file into North connector cache(s) queue", "tags": [ "Content" ], "security": [], "parameters": [ { "description": "One or more North connector IDs, comma-separated (e.g. `id1,id2`). The file is queued in every listed connector.", "in": "query", "name": "northId", "required": true, "schema": { "type": "string" } }, { "description": "An arbitrary identifier for the external source pushing the file. Used for tracing and logging.", "in": "query", "name": "dataSourceId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "format": "binary" } }, "required": [ "file" ] } } } } } }, "/api/content/content": { "post": { "operationId": "AddContent", "responses": { "204": { "description": "No Content" } }, "description": "Adds any JSON content directly to the specified North connector(s) cache queue.\nThe body can be any valid JSON object or array. It is serialized and wrapped as\nan OIBus any-content payload, allowing external systems to push arbitrary data\ndirectly into OIBus for further processing by North connectors.", "summary": "Inject any JSON content into North connector cache(s) queue", "tags": [ "Content" ], "security": [], "parameters": [ { "description": "One or more North connector IDs, comma-separated (e.g. `id1,id2`). The content is queued in every listed connector.", "in": "query", "name": "northId", "required": true, "schema": { "type": "string" } }, { "description": "An arbitrary identifier for the external source pushing the content. Used for tracing and logging.", "in": "query", "name": "dataSourceId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Record_string.unknown_" } } } } } }, "/api/certificates": { "get": { "operationId": "List", "responses": { "200": { "description": "Array of certificate objects", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/CertificateDTO" }, "type": "array" } } } } }, "description": "Retrieves a list of all available certificates", "summary": "List all certificates", "tags": [ "Certificates" ], "security": [], "parameters": [] }, "post": { "operationId": "Create", "responses": { "201": { "description": "Certificate created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CertificateDTO" } } } } }, "description": "Creates a new certificate with the provided details", "summary": "Create certificate", "tags": [ "Certificates" ], "security": [], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CertificateCommandDTO" } } } } } }, "/api/certificates/{certificateId}": { "get": { "operationId": "FindById", "responses": { "200": { "description": "The certificate object", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CertificateDTO" } } } } }, "description": "Retrieves a specific certificate by its unique identifier", "summary": "Get certificate by ID", "tags": [ "Certificates" ], "security": [], "parameters": [ { "in": "path", "name": "certificateId", "required": true, "schema": { "type": "string" } } ] }, "put": { "operationId": "Update", "responses": { "204": { "description": "Certificate updated successfully" } }, "description": "Updates an existing certificate with new details", "summary": "Update certificate", "tags": [ "Certificates" ], "security": [], "parameters": [ { "in": "path", "name": "certificateId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CertificateCommandDTO" } } } } }, "delete": { "operationId": "Delete", "responses": { "204": { "description": "Certificate deleted successfully" } }, "description": "Deletes a certificate by its unique identifier", "summary": "Delete certificate", "tags": [ "Certificates" ], "security": [], "parameters": [ { "in": "path", "name": "certificateId", "required": true, "schema": { "type": "string" } } ] } } }, "servers": [ { "url": "http://localhost:2223/" } ], "tags": [ { "name": "North Connectors", "description": "Endpoints for managing north connectors and their cache operations" }, { "name": "South Connectors", "description": "Endpoints for managing south connectors, items, and related operations" }, { "name": "History Queries", "description": "Endpoints for managing history queries, items, and cache operations" }, { "name": "Engine", "description": "Endpoints for managing the OIBus engine settings, metrics, and status" }, { "name": "Content", "description": "Endpoints to add data into OIBus directly through the API" }, { "name": "IP Filters", "description": "Endpoints for managing IP filters used to control access to the system" }, { "name": "Scan Modes", "description": "Endpoints for managing scan modes used to schedule data collection and processing" }, { "name": "Certificates", "description": "Endpoints for managing SSL/TLS certificates used for secure communication" }, { "name": "Logs", "description": "Endpoints for searching and retrieving system logs" }, { "name": "Users", "description": "Endpoints for managing user accounts and authentication" }, { "name": "OIAnalytics Registration", "description": "Endpoints for managing OIAnalytics service registration and connection settings" }, { "name": "OIAnalytics Commands", "description": "Endpoints for managing OIAnalytics commands and their execution status" }, { "name": "Transformers", "description": "Endpoints for managing data transformers used to convert data between different formats" } ] }