# Iec 104 Connection Controller

## GET /api/protocols/iec104/connections/{connectionId}

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getConnection_7","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"required":["ip","name","port","protocol"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"projectId":{"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"protocol":{"type":"string","enum":["Modbus TCP","Modbus TCP Slave","Modbus UDP","Modbus UDP Slave","Modbus RTU Over TCP","Modbus RTU Over TCP Slave","DNP3","DNP3 Slave","S7","IEC 60870-5-104","IEC 60870-5-104 Server","OPC DA","OPC UA","OPC UA Server","MQTT","EthernetIp","LOCAL","Fatek TCP","Fatek UDP","IEC 61850","IEC 61850 Server"]},"ip":{"maxLength":50,"minLength":0,"type":"string"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"port":{"maximum":65535,"minimum":0,"type":"integer","format":"int32"},"bufferingPeriod":{"minimum":100,"type":"integer","format":"int32"},"t2":{"minimum":1000,"type":"integer","format":"int32"},"originatorAddress":{"maximum":255,"minimum":0,"type":"integer","format":"int32"},"spontaneousDuplicates":{"minimum":0,"type":"integer","format":"int32"},"isWithTimestamps":{"type":"boolean"},"commonAddressFieldLength":{"maximum":2,"minimum":1,"type":"integer","format":"int32"},"k":{"maximum":32767,"minimum":1,"type":"integer","format":"int32"},"ioaFieldLength":{"maximum":3,"minimum":1,"type":"integer","format":"int32"},"w":{"maximum":32767,"minimum":1,"type":"integer","format":"int32"},"t3":{"minimum":1000,"type":"integer","format":"int32"},"backgroundScanPeriod":{"minimum":100,"type":"integer","format":"int32"},"t1":{"minimum":1000,"type":"integer","format":"int32"},"useSystemTimeZone":{"type":"boolean"},"cotFieldLength":{"maximum":2,"minimum":1,"type":"integer","format":"int32"},"owner":{"type":"string"}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## PUT /api/protocols/iec104/connections/{connectionId}

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}":{"put":{"tags":["iec-104-connection-controller"],"operationId":"updateConnection_7","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["ip","name","port","protocol"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"projectId":{"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"protocol":{"type":"string","enum":["Modbus TCP","Modbus TCP Slave","Modbus UDP","Modbus UDP Slave","Modbus RTU Over TCP","Modbus RTU Over TCP Slave","DNP3","DNP3 Slave","S7","IEC 60870-5-104","IEC 60870-5-104 Server","OPC DA","OPC UA","OPC UA Server","MQTT","EthernetIp","LOCAL","Fatek TCP","Fatek UDP","IEC 61850","IEC 61850 Server"]},"ip":{"maxLength":50,"minLength":0,"type":"string"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"port":{"maximum":65535,"minimum":0,"type":"integer","format":"int32"},"bufferingPeriod":{"minimum":100,"type":"integer","format":"int32"},"t2":{"minimum":1000,"type":"integer","format":"int32"},"originatorAddress":{"maximum":255,"minimum":0,"type":"integer","format":"int32"},"spontaneousDuplicates":{"minimum":0,"type":"integer","format":"int32"},"isWithTimestamps":{"type":"boolean"},"commonAddressFieldLength":{"maximum":2,"minimum":1,"type":"integer","format":"int32"},"k":{"maximum":32767,"minimum":1,"type":"integer","format":"int32"},"ioaFieldLength":{"maximum":3,"minimum":1,"type":"integer","format":"int32"},"w":{"maximum":32767,"minimum":1,"type":"integer","format":"int32"},"t3":{"minimum":1000,"type":"integer","format":"int32"},"backgroundScanPeriod":{"minimum":100,"type":"integer","format":"int32"},"t1":{"minimum":1000,"type":"integer","format":"int32"},"useSystemTimeZone":{"type":"boolean"},"cotFieldLength":{"maximum":2,"minimum":1,"type":"integer","format":"int32"},"owner":{"type":"string"}}}}},"required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## DELETE /api/protocols/iec104/connections/{connectionId}

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}":{"delete":{"tags":["iec-104-connection-controller"],"operationId":"deleteConnection_7","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/protocols/iec104/connections/{connectionId}/devices/{deviceId}

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}/devices/{deviceId}":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getDevice_15","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"required":["commonAddress","name","scanType"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"connectionId":{"type":"string"},"scanTime":{"minimum":100,"type":"integer","format":"int32"},"controlPointOffset":{"type":"integer","format":"int32"},"commonAddress":{"minimum":0,"type":"integer","format":"int32"},"scanType":{"type":"string","enum":["Periodic","Fixed Delay"]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## PUT /api/protocols/iec104/connections/{connectionId}/devices/{deviceId}

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}/devices/{deviceId}":{"put":{"tags":["iec-104-connection-controller"],"operationId":"updateDevice_15","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["commonAddress","name","scanType"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"connectionId":{"type":"string"},"scanTime":{"minimum":100,"type":"integer","format":"int32"},"controlPointOffset":{"type":"integer","format":"int32"},"commonAddress":{"minimum":0,"type":"integer","format":"int32"},"scanType":{"type":"string","enum":["Periodic","Fixed Delay"]}}}}},"required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## DELETE /api/protocols/iec104/connections/{connectionId}/devices/{deviceId}

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}/devices/{deviceId}":{"delete":{"tags":["iec-104-connection-controller"],"operationId":"deleteDevice_15","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/protocols/iec104/connections/{connectionId}/devices/{deviceId}/frames/{frameId}

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}/devices/{deviceId}/frames/{frameId}":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getFrame_15","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"frameId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"required":["isReadable","isWritable","name","type"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"isWritable":{"type":"boolean"},"name":{"maxLength":100,"minLength":0,"type":"string"},"minutesOffset":{"type":"integer","format":"int32"},"isReadable":{"type":"boolean"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"scanTimeFactor":{"type":"integer","format":"int32"},"deviceId":{"type":"string"},"type":{"type":"string","enum":["Single Point Information","Double Point Information","Measured Value, Normalized Value","Measured Value, Scaled Value","Measured Value, Short Floating Point Number"]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## PUT /api/protocols/iec104/connections/{connectionId}/devices/{deviceId}/frames/{frameId}

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}/devices/{deviceId}/frames/{frameId}":{"put":{"tags":["iec-104-connection-controller"],"operationId":"updateFrame_15","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"frameId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["isReadable","isWritable","name","type"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"isWritable":{"type":"boolean"},"name":{"maxLength":100,"minLength":0,"type":"string"},"minutesOffset":{"type":"integer","format":"int32"},"isReadable":{"type":"boolean"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"scanTimeFactor":{"type":"integer","format":"int32"},"deviceId":{"type":"string"},"type":{"type":"string","enum":["Single Point Information","Double Point Information","Measured Value, Normalized Value","Measured Value, Scaled Value","Measured Value, Short Floating Point Number"]}}}}},"required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## DELETE /api/protocols/iec104/connections/{connectionId}/devices/{deviceId}/frames/{frameId}

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}/devices/{deviceId}/frames/{frameId}":{"delete":{"tags":["iec-104-connection-controller"],"operationId":"deleteFrame_15","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"frameId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/protocols/iec104/connections

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getConnections_7","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"required":["ip","name","port","protocol"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"projectId":{"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"protocol":{"type":"string","enum":["Modbus TCP","Modbus TCP Slave","Modbus UDP","Modbus UDP Slave","Modbus RTU Over TCP","Modbus RTU Over TCP Slave","DNP3","DNP3 Slave","S7","IEC 60870-5-104","IEC 60870-5-104 Server","OPC DA","OPC UA","OPC UA Server","MQTT","EthernetIp","LOCAL","Fatek TCP","Fatek UDP","IEC 61850","IEC 61850 Server"]},"ip":{"maxLength":50,"minLength":0,"type":"string"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"port":{"maximum":65535,"minimum":0,"type":"integer","format":"int32"},"bufferingPeriod":{"minimum":100,"type":"integer","format":"int32"},"t2":{"minimum":1000,"type":"integer","format":"int32"},"originatorAddress":{"maximum":255,"minimum":0,"type":"integer","format":"int32"},"spontaneousDuplicates":{"minimum":0,"type":"integer","format":"int32"},"isWithTimestamps":{"type":"boolean"},"commonAddressFieldLength":{"maximum":2,"minimum":1,"type":"integer","format":"int32"},"k":{"maximum":32767,"minimum":1,"type":"integer","format":"int32"},"ioaFieldLength":{"maximum":3,"minimum":1,"type":"integer","format":"int32"},"w":{"maximum":32767,"minimum":1,"type":"integer","format":"int32"},"t3":{"minimum":1000,"type":"integer","format":"int32"},"backgroundScanPeriod":{"minimum":100,"type":"integer","format":"int32"},"t1":{"minimum":1000,"type":"integer","format":"int32"},"useSystemTimeZone":{"type":"boolean"},"cotFieldLength":{"maximum":2,"minimum":1,"type":"integer","format":"int32"},"owner":{"type":"string"}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## POST /api/protocols/iec104/connections

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections":{"post":{"tags":["iec-104-connection-controller"],"operationId":"createConnection_7","requestBody":{"content":{"application/json":{"schema":{"required":["ip","name","port","protocol"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"projectId":{"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"protocol":{"type":"string","enum":["Modbus TCP","Modbus TCP Slave","Modbus UDP","Modbus UDP Slave","Modbus RTU Over TCP","Modbus RTU Over TCP Slave","DNP3","DNP3 Slave","S7","IEC 60870-5-104","IEC 60870-5-104 Server","OPC DA","OPC UA","OPC UA Server","MQTT","EthernetIp","LOCAL","Fatek TCP","Fatek UDP","IEC 61850","IEC 61850 Server"]},"ip":{"maxLength":50,"minLength":0,"type":"string"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"port":{"maximum":65535,"minimum":0,"type":"integer","format":"int32"},"bufferingPeriod":{"minimum":100,"type":"integer","format":"int32"},"t2":{"minimum":1000,"type":"integer","format":"int32"},"originatorAddress":{"maximum":255,"minimum":0,"type":"integer","format":"int32"},"spontaneousDuplicates":{"minimum":0,"type":"integer","format":"int32"},"isWithTimestamps":{"type":"boolean"},"commonAddressFieldLength":{"maximum":2,"minimum":1,"type":"integer","format":"int32"},"k":{"maximum":32767,"minimum":1,"type":"integer","format":"int32"},"ioaFieldLength":{"maximum":3,"minimum":1,"type":"integer","format":"int32"},"w":{"maximum":32767,"minimum":1,"type":"integer","format":"int32"},"t3":{"minimum":1000,"type":"integer","format":"int32"},"backgroundScanPeriod":{"minimum":100,"type":"integer","format":"int32"},"t1":{"minimum":1000,"type":"integer","format":"int32"},"useSystemTimeZone":{"type":"boolean"},"cotFieldLength":{"maximum":2,"minimum":1,"type":"integer","format":"int32"},"owner":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"required":["ip","name","port","protocol"],"type":"object","properties":{"$ref":"#/paths/~1api~1protocols~1iec104~1connections/post/requestBody/content/application~1json/schema/properties"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/protocols/iec104/connections/{connectionId}/devices

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}/devices":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getDevices_23","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"required":["commonAddress","name","scanType"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"connectionId":{"type":"string"},"scanTime":{"minimum":100,"type":"integer","format":"int32"},"controlPointOffset":{"type":"integer","format":"int32"},"commonAddress":{"minimum":0,"type":"integer","format":"int32"},"scanType":{"type":"string","enum":["Periodic","Fixed Delay"]}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## POST /api/protocols/iec104/connections/{connectionId}/devices

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}/devices":{"post":{"tags":["iec-104-connection-controller"],"operationId":"createDevice_15","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["commonAddress","name","scanType"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"connectionId":{"type":"string"},"scanTime":{"minimum":100,"type":"integer","format":"int32"},"controlPointOffset":{"type":"integer","format":"int32"},"commonAddress":{"minimum":0,"type":"integer","format":"int32"},"scanType":{"type":"string","enum":["Periodic","Fixed Delay"]}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"required":["commonAddress","name","scanType"],"type":"object","properties":{"$ref":"#/paths/~1api~1protocols~1iec104~1connections~1{connectionId}~1devices/post/requestBody/content/application~1json/schema/properties"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/protocols/iec104/connections/{connectionId}/devices/{deviceId}/frames

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}/devices/{deviceId}/frames":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getFrames_22","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"required":["isReadable","isWritable","name","type"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"isWritable":{"type":"boolean"},"name":{"maxLength":100,"minLength":0,"type":"string"},"minutesOffset":{"type":"integer","format":"int32"},"isReadable":{"type":"boolean"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"scanTimeFactor":{"type":"integer","format":"int32"},"deviceId":{"type":"string"},"type":{"type":"string","enum":["Single Point Information","Double Point Information","Measured Value, Normalized Value","Measured Value, Scaled Value","Measured Value, Short Floating Point Number"]}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## POST /api/protocols/iec104/connections/{connectionId}/devices/{deviceId}/frames

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}/devices/{deviceId}/frames":{"post":{"tags":["iec-104-connection-controller"],"operationId":"createFrame_15","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["isReadable","isWritable","name","type"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"isWritable":{"type":"boolean"},"name":{"maxLength":100,"minLength":0,"type":"string"},"minutesOffset":{"type":"integer","format":"int32"},"isReadable":{"type":"boolean"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"scanTimeFactor":{"type":"integer","format":"int32"},"deviceId":{"type":"string"},"type":{"type":"string","enum":["Single Point Information","Double Point Information","Measured Value, Normalized Value","Measured Value, Scaled Value","Measured Value, Short Floating Point Number"]}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"required":["isReadable","isWritable","name","type"],"type":"object","properties":{"$ref":"#/paths/~1api~1protocols~1iec104~1connections~1{connectionId}~1devices~1{deviceId}~1frames/post/requestBody/content/application~1json/schema/properties"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## POST /api/protocols/iec104/connections/{connectionId}/devices/generate

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/{connectionId}/devices/generate":{"post":{"tags":["iec-104-connection-controller"],"operationId":"generateFromTemplate_7","parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"prefix":{"type":"string"},"suffix":{"type":"string"},"deviceTemplateId":{"type":"string"}}}}},"required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/protocols/iec104/connections/frames

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/frames":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getFrames_23","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"required":["isReadable","isWritable","name","type"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"isWritable":{"type":"boolean"},"name":{"maxLength":100,"minLength":0,"type":"string"},"minutesOffset":{"type":"integer","format":"int32"},"isReadable":{"type":"boolean"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"scanTimeFactor":{"type":"integer","format":"int32"},"deviceId":{"type":"string"},"type":{"type":"string","enum":["Single Point Information","Double Point Information","Measured Value, Normalized Value","Measured Value, Scaled Value","Measured Value, Short Floating Point Number"]}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/protocols/iec104/connections/frames/by-project

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/frames/by-project":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getFramesByProject_7","parameters":[{"name":"projectId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"required":["isReadable","isWritable","name","type"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"isWritable":{"type":"boolean"},"name":{"maxLength":100,"minLength":0,"type":"string"},"minutesOffset":{"type":"integer","format":"int32"},"isReadable":{"type":"boolean"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"scanTimeFactor":{"type":"integer","format":"int32"},"deviceId":{"type":"string"},"type":{"type":"string","enum":["Single Point Information","Double Point Information","Measured Value, Normalized Value","Measured Value, Scaled Value","Measured Value, Short Floating Point Number"]}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/protocols/iec104/connections/frame/{frameId}

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/frame/{frameId}":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getFrameById_7","parameters":[{"name":"frameId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"required":["isReadable","isWritable","name","type"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"isWritable":{"type":"boolean"},"name":{"maxLength":100,"minLength":0,"type":"string"},"minutesOffset":{"type":"integer","format":"int32"},"isReadable":{"type":"boolean"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"scanTimeFactor":{"type":"integer","format":"int32"},"deviceId":{"type":"string"},"type":{"type":"string","enum":["Single Point Information","Double Point Information","Measured Value, Normalized Value","Measured Value, Scaled Value","Measured Value, Short Floating Point Number"]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/protocols/iec104/connections/devices

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/devices":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getDevices_24","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"required":["commonAddress","name","scanType"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"connectionId":{"type":"string"},"scanTime":{"minimum":100,"type":"integer","format":"int32"},"controlPointOffset":{"type":"integer","format":"int32"},"commonAddress":{"minimum":0,"type":"integer","format":"int32"},"scanType":{"type":"string","enum":["Periodic","Fixed Delay"]}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/protocols/iec104/connections/devices/by-project

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/devices/by-project":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getDevicesByProject_7","parameters":[{"name":"projectId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"required":["commonAddress","name","scanType"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"connectionId":{"type":"string"},"scanTime":{"minimum":100,"type":"integer","format":"int32"},"controlPointOffset":{"type":"integer","format":"int32"},"commonAddress":{"minimum":0,"type":"integer","format":"int32"},"scanType":{"type":"string","enum":["Periodic","Fixed Delay"]}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/protocols/iec104/connections/device/{deviceId}

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/device/{deviceId}":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getDeviceById_7","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"required":["commonAddress","name","scanType"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"connectionId":{"type":"string"},"scanTime":{"minimum":100,"type":"integer","format":"int32"},"controlPointOffset":{"type":"integer","format":"int32"},"commonAddress":{"minimum":0,"type":"integer","format":"int32"},"scanType":{"type":"string","enum":["Periodic","Fixed Delay"]}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## GET /api/protocols/iec104/connections/by-project

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/by-project":{"get":{"tags":["iec-104-connection-controller"],"operationId":"getConnectionsByProject_7","parameters":[{"name":"projectId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"required":["ip","name","port","protocol"],"type":"object","properties":{"creationDate":{"type":"string","format":"date-time","readOnly":true},"lastModifiedBy":{"type":"string","readOnly":true},"createdBy":{"type":"string","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"string"},"projectId":{"type":"string"},"name":{"maxLength":100,"minLength":0,"type":"string"},"protocol":{"type":"string","enum":["Modbus TCP","Modbus TCP Slave","Modbus UDP","Modbus UDP Slave","Modbus RTU Over TCP","Modbus RTU Over TCP Slave","DNP3","DNP3 Slave","S7","IEC 60870-5-104","IEC 60870-5-104 Server","OPC DA","OPC UA","OPC UA Server","MQTT","EthernetIp","LOCAL","Fatek TCP","Fatek UDP","IEC 61850","IEC 61850 Server"]},"ip":{"maxLength":50,"minLength":0,"type":"string"},"dsc":{"maxLength":255,"minLength":0,"type":"string"},"port":{"maximum":65535,"minimum":0,"type":"integer","format":"int32"},"bufferingPeriod":{"minimum":100,"type":"integer","format":"int32"},"t2":{"minimum":1000,"type":"integer","format":"int32"},"originatorAddress":{"maximum":255,"minimum":0,"type":"integer","format":"int32"},"spontaneousDuplicates":{"minimum":0,"type":"integer","format":"int32"},"isWithTimestamps":{"type":"boolean"},"commonAddressFieldLength":{"maximum":2,"minimum":1,"type":"integer","format":"int32"},"k":{"maximum":32767,"minimum":1,"type":"integer","format":"int32"},"ioaFieldLength":{"maximum":3,"minimum":1,"type":"integer","format":"int32"},"w":{"maximum":32767,"minimum":1,"type":"integer","format":"int32"},"t3":{"minimum":1000,"type":"integer","format":"int32"},"backgroundScanPeriod":{"minimum":100,"type":"integer","format":"int32"},"t1":{"minimum":1000,"type":"integer","format":"int32"},"useSystemTimeZone":{"type":"boolean"},"cotFieldLength":{"maximum":2,"minimum":1,"type":"integer","format":"int32"},"owner":{"type":"string"}}}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## DELETE /api/protocols/iec104/connections/multi/by-ids

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/multi/by-ids":{"delete":{"tags":["iec-104-connection-controller"],"operationId":"deleteConnectionsByIds_7","parameters":[{"name":"connectionIds","in":"query","required":true,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## DELETE /api/protocols/iec104/connections/frames/multi/by-ids

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/frames/multi/by-ids":{"delete":{"tags":["iec-104-connection-controller"],"operationId":"deleteFramesByIds_7","parameters":[{"name":"frameIds","in":"query","required":true,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```

## DELETE /api/protocols/iec104/connections/devices/multi/by-ids

>

OpenAPI:

```json
{"openapi":"3.0.1","info":{"title":"inSCADA API","version":"20250703-6"},"servers":[{"url":"https://inscada.cloud","description":"Generated server url"}],"security":[{"accessTokenCookie":[],"spaceHeader":[]}],"components":{"securitySchemes":{"accessTokenCookie":{"type":"apiKey","description":"Access token provided as a cookie named 'ins_access_token'. This token is obtained after successful login and is valid for x minutes. It can be refreshed using the `ins_refresh_token` cookie at the /refresh endpoint.","name":"ins_access_token","in":"cookie"}}},"paths":{"/api/protocols/iec104/connections/devices/multi/by-ids":{"delete":{"tags":["iec-104-connection-controller"],"operationId":"deleteDevicesByIds_7","parameters":[{"name":"deviceIds","in":"query","required":true,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"type":"object"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"object"}}}}}}}}}
```
