---
title: "Map discovered records to new items"
method: POST
path: "/api/south/{southId}/test/discovered-items"
tags: ["South Connectors"]
---

# Map discovered records to new items

`POST /api/south/{southId}/test/discovered-items`

## Request

- Base URL: `http://localhost:2223`
- URL: `http://localhost:2223/api/south/{southId}/test/discovered-items`
- Auth: none required

Discovers what a scope holds (e.g. nodes picked in the Explore modal) against the south connector settings
as currently edited, and maps every record to a new item, as a configuration workflow would. Nothing is saved.

## Path parameters

- `southId` string, required

## Query parameters

- `southType` 'opcua' | 'mqtt' | 'modbus' | 'oianalytics' | 'ads' | 'bacnet' | 'folder-scanner' | 'ftp' | 'influxdb' | 'mongodb' | 'mssql' | 'mysql' | 'odbc' | 'oledb' | 'opc' | 'oracle' | 'osisoft-pi' | 'postgresql' | 'rest' | 's7' | 'sftp' | 'sqlite', required: Type representing the possible types for a South connector.

## Request body

- SouthDiscoveredItemsRequest
  - `southSettings` union, required
    - SouthADSSettings
      - `netId` string, required
      - `port` number, double, required
      - `routerAddress` string, nullable, required
      - `routerTcpPort` number, double, nullable, required
      - `clientAmsNetId` string, nullable, required
      - `clientAdsPort` number, double, nullable, required
      - `retryInterval` number, double, required
      - `plcName` string, nullable, required
      - `enumAsText` 'text' | 'integer', required
      - `boolAsText` 'text' | 'integer', required
      - `structureFiltering` SouthADSSettingsStructureFiltering[], nullable, required
        - `name` string, required
        - `fields` string, required
    - SouthBACnetSettings
      - `port` number, double, required
      - `apduTimeout` number, double, required
      - `retryInterval` number, double, required
      - `discoveryMode` 'broadcast' | 'target-device' | 'router', required
      - `discoveryTargetAddress` string
      - `discoveryTargetDeviceInstance` number, double
      - `discoveryRouterAddress` string
      - `broadcastAddress` string
      - `localInterface` string, nullable, required
      - `maxParallelRun` number, double, required
      - `maxObjectsPerRequest` number, double, required
      - `covDefaultLifetime` number, double, required
      - `covRenewalMargin` number, double, required
      - `maxNumberOfMessages` number, double, required
      - `flushMessageTimeout` number, double, required
      - `bbmd` SouthBACnetSettingsBbmd, required
        - `enabled` boolean, required
        - `address` string
        - `foreignDeviceTtl` number, double
    - SouthFolderScannerSettings
      - `inputFolder` string, required
      - `compression` boolean, required
      - `username` string, nullable
      - `password` string, nullable
      - `domain` string, nullable
    - SouthFTPSettings
      - `host` string, required
      - `port` number, double, required
      - `authentication` 'none' | 'password', required
      - `username` string, nullable
      - `password` string, nullable
      - `compression` boolean, required
      - `retryInterval` number, double, required
    - SouthInfluxDBSettings
      - `version` '1' | '2' | '3', required
      - `host` string
      - `port` number, double
      - `protocol` 'http' | 'https'
      - `database` string
      - `username` string, nullable
      - `password` string, nullable
      - `url` string
      - `token` string, nullable
      - `organisation` string
      - `bucket` string
    - SouthModbusSettings
      - `host` string, required
      - `port` number, double, required
      - `connectTimeout` number, double, required
      - `networkTimeout` number, double, required
      - `retryInterval` number, double, required
      - `slaveId` number, double, required
      - `addressOffset` 'modbus' | 'jbus', required
      - `endianness` 'big-endian' | 'little-endian', required
      - `swapBytesInWords` boolean, required
      - `swapWordsInDWords` boolean, required
      - `batchQuery` boolean, required
      - `groupingGap` number, double
    - SouthMongoDBSettings
      - `connectionString` string, required
      - `connectionTimeout` number, double, required
      - `username` string, nullable, required
      - `password` string, nullable, required
    - SouthMQTTSettings
      - `url` string, required
      - `qos` '0' | '1' | '2', required
      - `persistent` boolean
      - `authentication` SouthMQTTSettingsAuthentication, required
        - `type` 'none' | 'basic' | 'cert', required
        - `username` string
        - `password` string, nullable
        - `certFilePath` string
        - `keyFilePath` string
        - `caFilePath` string
      - `rejectUnauthorized` boolean, required
      - `reconnectPeriod` number, double, required
      - `connectTimeout` number, double, required
      - `maxNumberOfMessages` number, double, required
      - `flushMessageTimeout` number, double, required
    - SouthMSSQLSettings
      - `host` string, required
      - `port` number, double, required
      - `connectionTimeout` number, double, required
      - `database` string, required
      - `encryption` boolean, required
      - `trustServerCertificate` boolean, required
      - `username` string, nullable, required
      - `password` string, nullable, required
      - `domain` string, nullable, required
      - `requestTimeout` number, double, required
    - SouthMySQLSettings
      - `host` string, required
      - `port` number, double, required
      - `connectionTimeout` number, double, required
      - `database` string, required
      - `username` string, nullable, required
      - `password` string, nullable, required
    - SouthODBCSettings
      - `remoteAgent` boolean, required
      - `agentUrl` string
      - `connectionTimeout` number, double, required
      - `retryInterval` number, double, required
      - `requestTimeout` number, double
      - `connectionString` string, required
      - `password` string, nullable, required
    - SouthOIAnalyticsSettings
      - `useOiaModule` boolean, required
      - `timeout` number, double, required
      - `specificSettings` SouthOIAnalyticsSettingsSpecificSettings
        - `host` string, required
        - `acceptUnauthorized` boolean, required
        - `authentication` 'basic' | 'aad-client-secret' | 'aad-certificate', required
        - `accessKey` string
        - `secretKey` string, nullable
        - `tenantId` string
        - `clientId` string
        - `clientSecret` string, nullable
        - `certificateId` string
        - `scope` string
        - `useProxy` boolean, required
        - `proxyUrl` string
        - `proxyUsername` string
        - `proxyPassword` string, nullable
    - SouthOLEDBSettings
      - `agentUrl` string, required
      - `connectionTimeout` number, double, required
      - `retryInterval` number, double, required
      - `requestTimeout` number, double, required
      - `connectionString` string, required
      - `password` string, nullable, required
    - SouthOPCSettings
      - `agentUrl` string, required
      - `retryInterval` number, double, required
      - `host` string, required
      - `serverName` string, required
      - `mode` 'hda' | 'da', required
    - SouthOPCUASettings
      - `url` string, required
      - `keepSessionAlive` boolean, required
      - `readTimeout` number, double, required
      - `retryInterval` number, double, required
      - `maxNumberOfMessages` number, double, required
      - `flushMessageTimeout` number, double, required
      - `securityMode` 'none' | 'sign' | 'sign-and-encrypt', required
      - `securityPolicy` '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'
      - `maxParallelRun` number, double, required
      - `authentication` SouthOPCUASettingsAuthentication, required
        - `type` 'none' | 'basic' | 'cert', required
        - `username` string
        - `password` string, nullable
        - `certFilePath` string
        - `keyFilePath` string
    - SouthOracleSettings
      - `thickMode` boolean, required
      - `oracleClient` string
      - `host` string, required
      - `port` number, double, required
      - `connectionTimeout` number, double, required
      - `database` string, required
      - `username` string, nullable, required
      - `password` string, nullable, required
    - SouthPISettings
      - `agentUrl` string, required
      - `retryInterval` number, double, required
    - SouthPostgreSQLSettings
      - `host` string, required
      - `port` number, double, required
      - `sslMode` boolean, required
      - `database` string, required
      - `connectionTimeout` number, double, required
      - `requestTimeout` number, double, required
      - `username` string, nullable, required
      - `password` string, nullable, required
    - SouthRestSettings
      - `host` string, required
      - `acceptUnauthorized` boolean, required
      - `timeout` number, double, required
      - `authentication` SouthRestSettingsAuthentication, required
        - `type` 'none' | 'basic' | 'bearer' | 'api-key', required
        - `username` string
        - `password` string, nullable
        - `token` string, nullable
        - `apiKey` string
        - `apiValue` string, nullable
        - `addTo` 'header' | 'query-params'
      - `proxy` SouthRestSettingsProxy, required
        - `useProxy` boolean, required
        - `proxyUrl` string
        - `proxyUsername` string, nullable
        - `proxyPassword` string, nullable
      - `test` SouthRestSettingsTest, required
        - `method` 'GET' | 'POST' | 'PUT', required
        - `endpoint` string, required
        - `successCode` number, double, required
        - `body` string, nullable
    - SouthS7Settings
      - `host` string, required
      - `port` number, double, required
      - `connectionType` 'PG' | 'OP' | 'S7Basic', required
      - `rack` number, double, required
      - `slot` number, double, required
      - `connectTimeout` number, double, required
      - `requestTimeout` number, double, required
      - `retryInterval` number, double, required
    - SouthSFTPSettings
      - `host` string, required
      - `port` number, double, required
      - `authentication` 'password' | 'private-key', required
      - `username` string, required
      - `password` string, nullable
      - `privateKey` string
      - `passphrase` string, nullable
      - `compression` boolean, required
      - `retryInterval` number, double, required
    - SouthSQLiteSettings
      - `databasePath` string, required
  - `discoveryScope` RecordStringUnknown, required: Construct a type with a set of properties K of type T
  - `itemFieldMapping` RecordStringString, required: Construct a type with a set of properties K of type T

## Response `200`

One item to create per discovered record

- SouthConnectorItemCommandDTO[]
  - union: Command Data Transfer Object for creating or updating a South connector item. Used as the request body for South connector item creation/update endpoints.
    - SouthConnectorADSItemCommandDTO: South connector item command for Beckhoff ADS.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthADSItemSettings, required
        - `address` string, required
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorBACnetItemCommandDTO: South connector item command for BACnet/IP.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthBACnetItemSettings, required
        - `deviceAddress` string, required
        - `deviceInstance` number, double, required
        - `objectType` 'analog-input' | 'analog-output' | 'analog-value' | 'binary-input' | 'binary-output' | 'binary-value' | 'multi-state-input' | 'multi-state-output' | 'multi-state-value' | 'accumulator' | 'pulse-converter' | 'loop' | 'integer-value' | 'positive-integer-value' | 'large-analog-value' | 'characterstring-value' | 'trend-log', required
        - `objectInstance` number, double, required
        - `propertyIdentifier` 'present-value' | 'status-flags' | 'reliability' | 'out-of-service' | 'units'
        - `timezone` string: Represents a timezone as an IANA timezone string.
        - `routed` boolean, required
        - `networkNumber` number, double
        - `macAddress` string
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorFolderScannerItemCommandDTO: South connector item command for the Folder Scanner.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthFolderScannerItemSettings, required
        - `regex` string, required
        - `minAge` number, double, required
        - `preserveFiles` boolean, required
        - `ignoreModifiedDate` boolean
        - `maxFiles` number, double, required
        - `maxSize` number, double, required
        - `recursive` boolean, required
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorFTPItemCommandDTO: South connector item command for FTP file transfer.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthFTPItemSettings, required
        - `remoteFolder` string, required
        - `regex` string, required
        - `minAge` number, double, required
        - `preserveFiles` boolean, required
        - `ignoreModifiedDate` boolean
        - `maxFiles` number, double, required
        - `maxSize` number, double, required
        - `recursive` boolean, required
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorInfluxDBItemCommandDTO: South connector item command for InfluxDB time series database.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthInfluxDBItemSettings, required
        - `query` string, required
        - `requestTimeout` number, double, required
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorModbusItemCommandDTO: South connector item command for Modbus.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthModbusItemSettings, required
        - `address` string, required
        - `modbusType` 'coil' | 'discrete-input' | 'input-register' | 'holding-register', required
        - `data` SouthModbusItemSettingsData
          - `dataType` 'uint16' | 'int16' | 'uint32' | 'int32' | 'big-uint64' | 'big-int64' | 'float' | 'double' | 'bit', required
          - `bitIndex` number, double
          - `multiplierCoefficient` number, double, required
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorMongoDBItemCommandDTO: South connector item command for MongoDB.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthMongoDBItemSettings, required
        - `collection` string, required
        - `queryType` 'find' | 'aggregation', required
        - `query` string, required
        - `sort` string, required
        - `trackingInstant` SouthMongoDBItemSettingsTrackingInstant, required
          - `trackInstant` boolean, required
          - `jsonPath` string
          - `dateTimeInput` SouthMongoDBItemSettingsTrackingInstantDateTimeInput
            - `type` 'string' | 'timestamp' | 'iso-string' | 'unix-epoch' | 'unix-epoch-ms', required
            - `timezone` string: Represents a timezone as an IANA timezone string.
            - `format` string
            - `locale` string
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorMQTTItemCommandDTO: South connector item command for MQTT.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthMQTTItemSettings, required
        - `topic` string, required
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorMSSQLItemCommandDTO: South connector item command for Microsoft SQL Server.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthMSSQLItemSettings, required
        - `query` string, required
        - `trackingInstant` SouthMSSQLItemSettingsTrackingInstant, required
          - `trackInstant` boolean, required
          - `fieldName` string
          - `dateTimeInput` SouthMSSQLItemSettingsTrackingInstantDateTimeInput
            - `type` 'string' | 'iso-string' | 'unix-epoch' | 'unix-epoch-ms' | 'date' | 'date-time' | 'date-time-2' | 'date-time-offset' | 'small-date-time', required
            - `timezone` string: Represents a timezone as an IANA timezone string.
            - `format` string
            - `locale` string
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorMySQLItemCommandDTO: South connector item command for MySQL.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthMySQLItemSettings, required
        - `query` string, required
        - `requestTimeout` number, double, required
        - `trackingInstant` SouthMySQLItemSettingsTrackingInstant, required
          - `trackInstant` boolean, required
          - `fieldName` string
          - `dateTimeInput` SouthMySQLItemSettingsTrackingInstantDateTimeInput
            - `type` 'string' | 'iso-string' | 'unix-epoch' | 'unix-epoch-ms' | 'date-time', required
            - `timezone` string: Represents a timezone as an IANA timezone string.
            - `format` string
            - `locale` string
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorODBCItemCommandDTO: South connector item command for ODBC.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthODBCItemSettings, required
        - `query` string, required
        - `dateTimeFields` SouthODBCItemSettingsDateTimeFields[], nullable, required
          - `fieldName` string, required
          - `useAsReference` boolean, required
          - `type` 'string' | 'iso-string' | 'unix-epoch' | 'unix-epoch-ms', required
          - `timezone` string: Represents a timezone as an IANA timezone string.
          - `format` string
          - `locale` string
        - `serialization` SouthODBCItemSettingsSerialization, required
          - `type` 'csv', required
          - `filename` string, required
          - `delimiter` 'DOT' | 'SEMI_COLON' | 'COLON' | 'COMMA' | 'NON_BREAKING_SPACE' | 'SLASH' | 'TAB' | 'PIPE', required
          - `compression` boolean, required
          - `outputTimestampFormat` string, required
          - `outputTimezone` string, required: Represents a timezone as an IANA timezone string.
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorOIAnalyticsItemCommandDTO: South connector item command for OIAnalytics.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthOIAnalyticsItemSettings, required
        - `endpoint` string, required
        - `queryParams` SouthOIAnalyticsItemSettingsQueryParams[], required
          - `key` string, required
          - `value` string, required
        - `serialization` SouthOIAnalyticsItemSettingsSerialization, required
          - `type` 'csv', required
          - `filename` string, required
          - `delimiter` 'DOT' | 'SEMI_COLON' | 'COLON' | 'COMMA' | 'NON_BREAKING_SPACE' | 'SLASH' | 'TAB' | 'PIPE', required
          - `compression` boolean, required
          - `outputTimestampFormat` string, required
          - `outputTimezone` string, required: Represents a timezone as an IANA timezone string.
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorOLEDBItemCommandDTO: South connector item command for OLE DB.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthOLEDBItemSettings, required
        - `query` string, required
        - `dateTimeFields` SouthOLEDBItemSettingsDateTimeFields[], nullable, required
          - `fieldName` string, required
          - `useAsReference` boolean, required
          - `type` 'string' | 'iso-string' | 'unix-epoch' | 'unix-epoch-ms', required
          - `timezone` string: Represents a timezone as an IANA timezone string.
          - `format` string
          - `locale` string
        - `serialization` SouthOLEDBItemSettingsSerialization, required
          - `type` 'csv', required
          - `filename` string, required
          - `delimiter` 'DOT' | 'SEMI_COLON' | 'COLON' | 'COMMA' | 'NON_BREAKING_SPACE' | 'SLASH' | 'TAB' | 'PIPE', required
          - `compression` boolean, required
          - `outputTimestampFormat` string, required
          - `outputTimezone` string, required: Represents a timezone as an IANA timezone string.
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorOPCItemCommandDTO: South connector item command for classic OPC (OLE for Process Control).
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthOPCItemSettings, required
        - `nodeId` string, required
        - `aggregate` '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', required
        - `resampling` 'none' | '1s' | '10s' | '30s' | '1min' | '1h' | '1d'
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorOPCUAItemCommandDTO: South connector item command for OPC UA.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthOPCUAItemSettings, required
        - `nodeId` string, required
        - `mode` 'da' | 'ha', required
        - `haMode` SouthOPCUAItemSettingsHaMode
          - `aggregate` 'raw' | 'average' | 'count' | 'minimum' | 'maximum', required
          - `resampling` 'none' | '1s' | '10s' | '30s' | '1min' | '1h' | '1d'
        - `timestampOrigin` 'oibus' | 'point' | 'server'
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorOracleItemCommandDTO: South connector item command for Oracle Database.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthOracleItemSettings, required
        - `query` string, required
        - `requestTimeout` number, double, required
        - `trackingInstant` SouthOracleItemSettingsTrackingInstant, required
          - `trackInstant` boolean, required
          - `fieldName` string
          - `dateTimeInput` SouthOracleItemSettingsTrackingInstantDateTimeInput
            - `type` 'string' | 'iso-string' | 'unix-epoch' | 'unix-epoch-ms' | 'date-time', required
            - `timezone` string: Represents a timezone as an IANA timezone string.
            - `format` string
            - `locale` string
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorOsisoftPIItemCommandDTO: South connector item command for OSIsoft PI System.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthPIItemSettings, required
        - `type` 'point-id' | 'point-query', required
        - `piPoint` string
        - `piQuery` string
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorPostgreSQLItemCommandDTO: South connector item command for PostgreSQL.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthPostgreSQLItemSettings, required
        - `query` string, required
        - `trackingInstant` SouthPostgreSQLItemSettingsTrackingInstant, required
          - `trackInstant` boolean, required
          - `fieldName` string
          - `dateTimeInput` SouthPostgreSQLItemSettingsTrackingInstantDateTimeInput
            - `type` 'string' | 'timestamp' | 'iso-string' | 'unix-epoch' | 'unix-epoch-ms' | 'timestamptz', required
            - `timezone` string: Represents a timezone as an IANA timezone string.
            - `format` string
            - `locale` string
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorRESTItemCommandDTO: South connector item command for the REST API.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthRestItemSettings, required
        - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', required
        - `endpoint` string, required
        - `returnType` 'file' | 'body', required
        - `queryParams` SouthRestItemSettingsQueryParams[], required
          - `key` string, required
          - `value` string, required
          - `dateTimeInput` SouthRestItemSettingsQueryParamsDateTimeInput
            - `type` 'string' | 'iso-string' | 'unix-epoch' | 'unix-epoch-ms', required
            - `timezone` string: Represents a timezone as an IANA timezone string.
            - `format` string, nullable
        - `headers` SouthRestItemSettingsHeaders[], required
          - `key` string, required
          - `value` string, required
          - `dateTimeInput` SouthRestItemSettingsHeadersDateTimeInput
            - `type` 'string' | 'iso-string' | 'unix-epoch' | 'unix-epoch-ms', required
            - `timezone` string: Represents a timezone as an IANA timezone string.
            - `format` string, nullable
        - `body` SouthRestItemSettingsBody
          - `content` string, nullable, required
          - `dateTimeInput` SouthRestItemSettingsBodyDateTimeInput
            - `type` 'string' | 'iso-string' | 'unix-epoch' | 'unix-epoch-ms', required
            - `timezone` string: Represents a timezone as an IANA timezone string.
            - `format` string, nullable
        - `trackingInstant` SouthRestItemSettingsTrackingInstant
          - `trackInstant` boolean, required
          - `jsonPath` string
          - `dateTimeInput` SouthRestItemSettingsTrackingInstantDateTimeInput
            - `type` 'string' | 'iso-string' | 'unix-epoch' | 'unix-epoch-ms', required
            - `timezone` string: Represents a timezone as an IANA timezone string.
            - `format` string
            - `locale` string
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorS7ItemCommandDTO: South connector item command for Siemens S7.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthS7ItemSettings, required
        - `address` string, required
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorSFTPItemCommandDTO: South connector item command for SFTP file transfer.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthSFTPItemSettings, required
        - `remoteFolder` string, required
        - `regex` string, required
        - `minAge` number, double, required
        - `preserveFiles` boolean, required
        - `ignoreModifiedDate` boolean
        - `maxFiles` number, double, required
        - `maxSize` number, double, required
        - `recursive` boolean, required
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.
    - SouthConnectorSQLiteItemCommandDTO: South connector item command for SQLite.
      - `id` string, nullable, required: The ID of the item (null when creating a new item).
      - `enabled` boolean, required: Whether this item should be enabled.
      - `name` string, required: The name of the item.
      - `settings` SouthSQLiteItemSettings, required
        - `query` string, required
        - `trackingInstant` SouthSQLiteItemSettingsTrackingInstant, required
          - `trackInstant` boolean, required
          - `fieldName` string
          - `dateTimeInput` SouthSQLiteItemSettingsTrackingInstantDateTimeInput
            - `type` 'string' | 'iso-string' | 'unix-epoch' | 'unix-epoch-ms', required
            - `timezone` string: Represents a timezone as an IANA timezone string.
            - `format` string
            - `locale` string
      - `scanModeId` string, nullable, required: The ID of the scan mode to use for this item. Null when the scan mode should be determined by the system.
      - `scanModeName` string, nullable, required: The name of the scan mode to use when ID is not available. Null when not specifying by name.
      - `groupId` string, nullable, required: The ID of the group this item belongs to. Null when the item is not in any group.
      - `groupName` string, nullable, required: The name of the group this item belongs to. Used when importing from CSV where group IDs are not available. Null when the item is not in any group.
      - `syncWithGroup` boolean, required: Whether this item syncs its historian settings with its group. When true, historian fields are inherited from the group.
      - `maxReadInterval` number, double, nullable, required: Maximum read interval in seconds for historical queries. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `readDelay` number, double, nullable, required: Read delay in milliseconds before querying historical data. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings.
      - `startTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the start of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. Negative values extend the window backwards (equivalent to the old overlap behaviour).
      - `endTimeOffset` number, double, nullable, required: Offset in milliseconds applied to the end of the history query interval. Only applicable for connectors with historian capabilities. When null and item is in a group, inherits from group settings. If the resulting end time is not after the effective start time, the query is skipped.
      - `recoveryStrategy` 'oldest' | 'newest', required: Recovery strategy used when a south connector reconnects after a long disconnection. - 'oldest': fill the gap from oldest to newest (default behaviour). - 'newest': fill the gap from newest to oldest so that recent data arrives first.
      - `cachingStrategy` 'allValues' | 'onChange' | 'threshold', required: Per-item caching strategy for IoT-family south connectors. - 'allValues': every value read/received is cached (default behaviour). - 'onChange': a value is only cached when it differs from the last cached value. - 'threshold': a value is only cached when it differs from the last cached value by more than a threshold.
      - `thresholdType` 'absolute' | 'percentage', required: The kind of threshold used by the 'threshold' caching strategy. - 'absolute': the threshold is an absolute numeric difference. - 'percentage': the threshold is a percentage of the value's configured range (rangeHigh - rangeLow).
      - `threshold` number, double, nullable, required: Threshold value used by the 'threshold' caching strategy. Interpreted as an absolute difference or a percentage of the configured range depending on thresholdType. Always item-local, never inherited from a group.
      - `rangeLow` number, double, nullable, required: Lower bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `rangeHigh` number, double, nullable, required: Upper bound of the value's expected range, used to compute percentage thresholds. Always item-local, never inherited from a group.
      - `maxCachingInterval` number, double, nullable, required: Maximum interval in milliseconds between two cached values, regardless of the caching strategy, so a stable point still produces periodic proof-of-life data. Always item-local, never inherited from a group.

## Changes

- **2026-10-21** `0df3f625a5c2`: 1 info
  - endpoint added
- **2026-10-20** `21b34a490fa3`: 1 breaking
  - api path removed without deprecation
- **2026-10-16** `63f12f6fbbdb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/optimistiksas/apis/oibus-api/changes/api/south/:southId/test/discovered-items/post.md)

---

[API](https://skmtc.dev/optimistiksas/apis/oibus-api.md) · [All operations](https://skmtc.dev/optimistiksas/apis/oibus-api/llms.txt) · [OpenAPI document](https://skmtc.dev/optimistiksas/apis/oibus-api/revisions/0df3f625a5c2?raw)
