---
title: "IO"
source: /gcxone/api/io
locale: en
updated: 2026-09-04
---
Operations on io resources. 7 endpoints, each relative to `https://api.nxgen.cloud/api/v1` and authenticated as described under [Authentication](/gcxone/api/authentication).

## POST /io/filter

Gets IO list with filtering, sorting and pagination. It allows hierarchical level searching. It can be filtered using specified hierarchy or it uses the logged in user hierarchy. This gives the option to get additional entity fields in the response. Also provides configuration meta data about entity.

### Request body

IO filtering and sorting

```json
{
  "filters": [
    {
      "columnName": "string (required)",
      "type": "distinctList | date | number | StringConditionFilter (required)",
      "filter": "object (required)"
    }
  ],
  "sortOrder": [
    {
      "columnName": "string",
      "isAscending": "boolean"
    }
  ],
  "primaryColumns": [
    "string"
  ],
  "hierarchyLevel": "string",
  "hierarchyId": "string",
  "nPerPage": "number",
  "pageNumber": "number",
  "isConfigDetailRequired": "boolean",
  "getConfig": "boolean",
  "getChildOrParent": "boolean"
}
```

### Responses

| Status | Description | Body |
| --- | --- | --- |
| 200 | Success | object |
| 204 | No Content |  |
| 400 | Invalid input |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |

Example `200` response:

```json
{
  "config": {
    "columns": [
      {
        "visibility": true,
        "columnName": "name",
        "DisplayName": "Name",
        "isFilterable": true,
        "filterType": "stringCondition",
        "sticky": true,
        "isMandatory": true,
        "isNotDraggable": true
      }
    ],
    "defaultNPerPage": 50,
    "defaultFilterCondition": [],
    "defaultSortingOrder": [
      {
        "columnName": "dateTime",
        "isAscending": false
      }
    ],
    "maxVisibleColumnCount": 6,
    "exportLimitNPerPage": 500
  },
  "dataResult": [
    {
      "dateTime": 1658329286975,
      "id": 1601,
      "name": "output test 1",
      "uniqueId": "e9fa037e0f2f4aa1a25c49da6f45ff84",
      "type": "output",
      "deviceId": "a6183f1072554391b99e7acc9428de26",
      "deviceName": "Device",
      "siteId": "f2b51c0f62c64d15a7b1acc5ea13082d",
      "siteName": "Axxon Site1",
      "customerId": "93b4ce9e41534f548d396ba4d2d5a2ed",
      "serviceProviderId": "e7f417cf4a434b5093a8173cdb40004f",
      "isLinkedWithMap": "false",
      "isEnabled": "true"
    }
  ],
  "totalRecordsCount": 3552,
  "filteredBy": [],
  "sortedBy": [
    {
      "columnName": "dateTime",
      "isAscending": false
    }
  ],
  "dispatchedAll": false,
  "isDefaultProjectionMutated": false,
  "isDefaultFilterMutated": false,
  "isDefaultSortingMutated": false
}
```

## GET /io/getByDevice/{deviceId}

Get IO by Device Id

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| deviceId | path | string | yes |  |

### Responses

| Status | Description | Body |
| --- | --- | --- |
| 200 | Success |  |
| 204 | No Content |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

## POST /io/singleIO

Add new single IO device

### Request body

Add Single IO device

```json
{
  "name": "string (required)",
  "id": "number (required)",
  "type": "input | output (required)",
  "deviceId": "string (required)",
  "jsonSchemaResult": "object"
}
```

### Responses

| Status | Description | Body |
| --- | --- | --- |
| 200 | Success |  |
| 204 | No Content |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

Example `200` response:

```json
{
  "isSuccess": true
}
```

## GET /io/singleIO/{uniqueId}/{deviceId}/{type}

Get single IO detail

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| uniqueId | path | string | yes |  |
| deviceId | path | string | yes |  |
| type | path | string | yes |  |

### Responses

| Status | Description | Body |
| --- | --- | --- |
| 200 | Success | object |
| 400 | Invalid input |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

Example `200` response:

```json
{
  "id": 4547,
  "name": "output 3",
  "uniqueId": "9ccadb73fdde4760a6e64479706090b8",
  "associatedDeviceId": "2781f633d4334d189211320596db4dc6",
  "dateTime": 1657874428326,
  "jsonSchemaResult": {}
}
```

## PUT /io/singleIO/{uniqueId}/{deviceId}/{type}

Update single IO device

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| uniqueId | path | string | yes |  |
| deviceId | path | string | yes |  |
| type | path | string | yes |  |

### Request body

To update a IO, provide existing UniqueId

```json
{
  "id": "number",
  "name": "string",
  "jsonSchemaResult": "object"
}
```

### Responses

| Status | Description | Body |
| --- | --- | --- |
| 200 | Success |  |
| 400 | Invalid input |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

Example `200` response:

```json
{
  "isSuccess": true
}
```

## DELETE /io/singleIO/{uniqueId}/{deviceId}/{type}

Delete single IO device

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| uniqueId | path | string | yes |  |
| deviceId | path | string | yes |  |
| type | path | string | yes |  |

### Responses

| Status | Description | Body |
| --- | --- | --- |
| 200 | Success |  |
| 400 | Invalid input |  |
| 401 | Unauthorized |  |
| 403 | Forbidden |  |
| 404 | Not Found |  |

Example `200` response:

```json
{
  "isSuccess": true
}
```

## GET /io/triggerIO?deviceId={deviceId}&relay={relay}&action={action}

To Trigger IO

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| deviceId | query | string | yes | Device Id |
| relay | query | string | yes | IO Device Id(IO id) |
| action | query | string | yes | IO State |

### Responses

| Status | Description | Body |
| --- | --- | --- |
| 200 | Success |  |
| 401 | Unauthorized |  |
| 404 | Not Found |  |