---
title: "Test south connection"
method: POST
path: "/api/history/{historyId}/test/south"
tags: ["History Queries"]
---

# Test south connection

`POST /api/history/{historyId}/test/south`

## Request

- Base URL: `http://localhost:2223`
- URL: `http://localhost:2223/api/history/{historyId}/test/south`
- Auth: none required

Test south connection for a history query

## Path parameters

- `historyId` 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.
- `fromSouth` string, required

## Request body

- union
  - 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

## Response `200`

Ok

- OIBusConnectionTestResult
  - `items` object[], required
    - `value` string, required
    - `key` string, required

## Changes

- **2026-10-21** `0df3f625a5c2`: 4 info
  - added `#/components/schemas/SouthBACnetSettings, #/components/schemas/SouthMongoDBSettings, #/components/schemas/SouthS7Settings` to the request body `anyOf` list
  - added the new enum value `bacnet` to the `query` request parameter `southType`
  - added the new enum value `mongodb` to the `query` request parameter `southType`
  - added the new enum value `s7` to the `query` request parameter `southType`
- **2026-10-20** `21b34a490fa3`: 4 breaking
  - removed `#/components/schemas/SouthBACnetSettings, #/components/schemas/SouthMongoDBSettings, #/components/schemas/SouthS7Settings` from the request body `anyOf` list
  - removed the enum value `bacnet` from the `query` request parameter `southType`
  - removed the enum value `mongodb` from the `query` request parameter `southType`
  - removed the enum value `s7` from the `query` request parameter `southType`
- **2026-10-16** `11f41056388a`: 2 info
  - added the new optional request property `anyOf[#/components/schemas/SouthBACnetSettings]/discoveryRouterAddress`
  - added the new `router` enum value to the request property `anyOf[#/components/schemas/SouthBACnetSettings]/discoveryMode`
- …earlier changes not shown

[Operation history](https://skmtc.dev/optimistiksas/apis/oibus-api/changes/api/history/:historyId/test/south/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)
