POST api/ControlSystems

Create a Control System

Request Information

URI Parameters

None.

Body Parameters

The Control System to be created

Add_ControlSystem
NameDescriptionTypeAdditional information
ConditionGroups

Collection of Condition Groups to utilise within the Control System

Collection of Add_ConditionGroup

None.

EmergencyStop

Action Group to utilise when an emergency stop is activated on this Control System

Add_ActionGroup

None.

Name

Control System Name

string

None.

Description

Control System Description

string

None.

Enabled

Whether or not the Control System is enabled

boolean

None.

ClientID

ID of the Client this Control System is within

integer

None.

Request Formats

application/json, text/json, text/html

Sample:
{
  "ConditionGroups": [
    {
      "ConditionIDs": [
        1,
        2
      ],
      "WhenTrueAction": {
        "Actions": [
          {
            "Type": 0,
            "TargetID": 1,
            "TargetType": 10,
            "Value": 1.0
          },
          {
            "Type": 0,
            "TargetID": 1,
            "TargetType": 10,
            "Value": 1.0
          }
        ]
      },
      "WhenFalseAction": {
        "Actions": [
          {
            "Type": 0,
            "TargetID": 1,
            "TargetType": 10,
            "Value": 1.0
          },
          {
            "Type": 0,
            "TargetID": 1,
            "TargetType": 10,
            "Value": 1.0
          }
        ]
      },
      "Index": 1
    },
    {
      "ConditionIDs": [
        1,
        2
      ],
      "WhenTrueAction": {
        "Actions": [
          {
            "Type": 0,
            "TargetID": 1,
            "TargetType": 10,
            "Value": 1.0
          },
          {
            "Type": 0,
            "TargetID": 1,
            "TargetType": 10,
            "Value": 1.0
          }
        ]
      },
      "WhenFalseAction": {
        "Actions": [
          {
            "Type": 0,
            "TargetID": 1,
            "TargetType": 10,
            "Value": 1.0
          },
          {
            "Type": 0,
            "TargetID": 1,
            "TargetType": 10,
            "Value": 1.0
          }
        ]
      },
      "Index": 1
    }
  ],
  "EmergencyStop": {
    "Actions": [
      {
        "Type": 0,
        "TargetID": 1,
        "TargetType": 10,
        "Value": 1.0
      },
      {
        "Type": 0,
        "TargetID": 1,
        "TargetType": 10,
        "Value": 1.0
      }
    ]
  },
  "Name": "sample string 1",
  "Description": "sample string 2",
  "Enabled": true,
  "ClientID": 1
}

application/x-www-form-urlencoded

Sample:

Failed to generate the sample for media type 'application/x-www-form-urlencoded'. Cannot use formatter 'JQueryMvcFormUrlEncodedFormatter' to write type 'Add_ControlSystem'.

Response Information

Resource Description

Returns the created Control System and messages

GetControlSystemResponse
NameDescriptionTypeAdditional information
ControlSystems

Array of Control Systems

Collection of ControlSystemStruct

None.

Messages

Array of messages

Collection of Message

None.

ServerInformation

Relevant information regarding the Server

ServerInformation

None.

VersionInformation

Relevant information regarding the API's version

VersionInformation

None.

Response Formats

application/json, text/json, text/html

Sample:
{
  "ControlSystems": [
    {
      "ID": 1,
      "ClientName": "sample string 2",
      "LastHandledDt": "2026-10-18T10:27:06.7987011+10:00",
      "ConditionGroups": [
        {
          "Conditions": [
            {
              "Name": "sample string 1",
              "ID": 2
            },
            {
              "Name": "sample string 1",
              "ID": 2
            }
          ],
          "WhenTrue": {
            "ParentID": 1,
            "ParentType": null,
            "ID": 1
          },
          "WhenFalse": {
            "ParentID": 1,
            "ParentType": null,
            "ID": 1
          },
          "Index": 1,
          "ID": 1
        },
        {
          "Conditions": [
            {
              "Name": "sample string 1",
              "ID": 2
            },
            {
              "Name": "sample string 1",
              "ID": 2
            }
          ],
          "WhenTrue": {
            "ParentID": 1,
            "ParentType": null,
            "ID": 1
          },
          "WhenFalse": {
            "ParentID": 1,
            "ParentType": null,
            "ID": 1
          },
          "Index": 1,
          "ID": 1
        }
      ],
      "EmergencyStop": {
        "Actions": [
          {
            "TypeName": "SetDevice",
            "TargetTypeName": "Device",
            "Type": 0,
            "TargetID": 1,
            "TargetType": 10,
            "Value": 1.0
          },
          {
            "TypeName": "SetDevice",
            "TargetTypeName": "Device",
            "Type": 0,
            "TargetID": 1,
            "TargetType": 10,
            "Value": 1.0
          }
        ],
        "ID": 1
      },
      "Name": "sample string 3",
      "Description": "sample string 4",
      "Enabled": true,
      "ClientID": 1
    },
    {
      "ID": 1,
      "ClientName": "sample string 2",
      "LastHandledDt": "2026-10-18T10:27:06.7987011+10:00",
      "ConditionGroups": [
        {
          "Conditions": [
            {
              "Name": "sample string 1",
              "ID": 2
            },
            {
              "Name": "sample string 1",
              "ID": 2
            }
          ],
          "WhenTrue": {
            "ParentID": 1,
            "ParentType": null,
            "ID": 1
          },
          "WhenFalse": {
            "ParentID": 1,
            "ParentType": null,
            "ID": 1
          },
          "Index": 1,
          "ID": 1
        },
        {
          "Conditions": [
            {
              "Name": "sample string 1",
              "ID": 2
            },
            {
              "Name": "sample string 1",
              "ID": 2
            }
          ],
          "WhenTrue": {
            "ParentID": 1,
            "ParentType": null,
            "ID": 1
          },
          "WhenFalse": {
            "ParentID": 1,
            "ParentType": null,
            "ID": 1
          },
          "Index": 1,
          "ID": 1
        }
      ],
      "EmergencyStop": {
        "Actions": [
          {
            "TypeName": "SetDevice",
            "TargetTypeName": "Device",
            "Type": 0,
            "TargetID": 1,
            "TargetType": 10,
            "Value": 1.0
          },
          {
            "TypeName": "SetDevice",
            "TargetTypeName": "Device",
            "Type": 0,
            "TargetID": 1,
            "TargetType": 10,
            "Value": 1.0
          }
        ],
        "ID": 1
      },
      "Name": "sample string 3",
      "Description": "sample string 4",
      "Enabled": true,
      "ClientID": 1
    }
  ],
  "Messages": [
    {
      "Severity": 0,
      "MessageCode": 1,
      "CodeDesc": 2,
      "MessageText": "sample string 3",
      "RecordNumber": 4
    },
    {
      "Severity": 0,
      "MessageCode": 1,
      "CodeDesc": 2,
      "MessageText": "sample string 3",
      "RecordNumber": 4
    }
  ],
  "ServerInformation": {
    "CurrentTimeUTC": "2026-10-18T10:27:06.7987011+10:00",
    "BuildDateUTC": "2026-10-18T10:27:06.7987011+10:00"
  },
  "VersionInformation": {
    "Major": 1,
    "Minor": 8,
    "Hotfix": 0,
    "Beta": true,
    "Version": "1.8.0.BETA"
  }
}