> For the complete documentation index, see [llms.txt](https://sitasys-ag.gitbook.io/evalink-talos/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sitasys-ag.gitbook.io/evalink-talos/management-api/manage-groups.md).

# Manage groups

## Introduction

evalink talos allows you to group your sites (devices) according to your needs. You can create multiple groups within your company but each site (device) can belong to only one group.

## get a list of your site (device) groups by company ID

<mark style="color:blue;">`GET`</mark> `https://talos-app.io/api/device-service/device-groups/search/findByCompanyId`

Use this endpoint to receiver a list of your site (device) groups for a particular company.

#### Query Parameters

| Name      | Type   | Description                                                            |
| --------- | ------ | ---------------------------------------------------------------------- |
| companyId | string | The Company ID, as it is displayed on the evalink talos Web Interface. |

#### Headers

| Name          | Type   | Description                              |
| ------------- | ------ | ---------------------------------------- |
| Authorization | string | Use 'Bearer' followed by your API token. |

{% tabs %}
{% tab title="200 " %}

```
{
    "_embedded": {
        "deviceGroups": [
            {
                "id": "8a81eec7749bc6c50174bf0cbc6XXXXX",
                "companyId": "bc2b4013-664a-46ab-a1be-a85c31aXXXXX",
                "name": "France",
                "deviceCount": 1,
                "attributes": []
            },
            {
                "id": "8a81cfd075080abb01752c2db14XXXXX",
                "companyId": "bc2b4013-664a-46ab-a1be-a85c31aXXXXX",
                "name": "Germany",
                "deviceCount": 3,
                "attributes": []
            },
            {
                "id": "8a81d7f9749bc6e70174bf0c9edXXXXX",
                "companyId": "bc2b4013-664a-46ab-a1be-a85c31aXXXXX",
                "name": "Switzerland",
                "deviceCount": 1,
                "attributes": []
            }
           
        ]
    },
    "_links": {
        "self": {
            "href": "http://talos-app.io/api/device-service/device-groups/search/findByCompanyId?companyId=bc2b4013-664a-46ab-a1be-a85c31a6ZZZZ"
        }
    }
}
```

{% endtab %}
{% endtabs %}

## create a new site (device) group

<mark style="color:green;">`POST`</mark> `https://talos-app.io/api/device-service/device-groups`

Use this endpoint to create a new site (device) groups for a particular company.

#### Path Parameters

| Name      | Type   | Description                                                            |
| --------- | ------ | ---------------------------------------------------------------------- |
| companyId | string | The Company ID, as it is displayed on the evalink talos Web Interface. |

#### Headers

| Name          | Type   | Description                              |
| ------------- | ------ | ---------------------------------------- |
| Authorization | string | Use 'Bearer' followed by your API token. |

{% tabs %}
{% tab title="200 " %}

```
{
    "id": "8a81cd77762e321d01764ec6b6d4XXXX",
    "companyId": "064646f3-18a2-4298-a28e-6e2883f2XXXX",
    "name": "My Group",
    "deviceCount": 0,
    "attributes": []
}
```

{% endtab %}
{% endtabs %}

```
{
    "companyId": "064646f3-18a2-4298-a28e-6e2883f2XXXX",
    "name": "My Group",
    "attributes": []
}
```

## &#x20;get a list of site (device) groups by site group IDs

<mark style="color:blue;">`GET`</mark> `https://talos-app.io/api/device-service/device-groups/search/findByIdIn{ids}`

Use this endpoint to receive a list of site (device) groups according to a collection of site group IDs

#### Query Parameters

| Name | Type   | Description                     |
| ---- | ------ | ------------------------------- |
| ids  | string | A collection of site group IDs. |

#### Headers

| Name          | Type   | Description                              |
| ------------- | ------ | ---------------------------------------- |
| Authorization | string | Use 'Bearer' followed by your API token. |

{% tabs %}
{% tab title="200 " %}

```
{
    "_embedded": {
        "deviceGroups": [
            {
                "id": "8a81c66d76041f28017624436014XXXX",
                "companyId": "064646f3-18a2-4298-a28e-6e2883f27XXXX",
                "name": "API-Doc",
                "deviceCount": 0,
                "attributes": []
            }
        ]
    },
    "_links": {
        "self": {
            "href": "http://talos-app.io/api/device-service/device-groups/search/findByIdIn?ids=8a81c66d76041f28017624436014XXXX"
        }
    }
}
```

{% endtab %}
{% endtabs %}

## get a site (device) group by site group ID

<mark style="color:blue;">`GET`</mark> `https://talos-app.io/api/device-service/device-groups/{id}`

Use this endpoint to receive a single site (device) group for a particular site group ID.

#### Path Parameters

| Name | Type   | Description                   |
| ---- | ------ | ----------------------------- |
| id   | string | The relevant device group ID. |

#### Headers

| Name          | Type   | Description                              |
| ------------- | ------ | ---------------------------------------- |
| Authorization | string | Use 'Bearer' followed by your API token. |

{% tabs %}
{% tab title="200 " %}

```
{
    "id": "8a81c66d76041f2801762443601XXXX",
    "companyId": "064646f3-18a2-4298-a28e-6e2883fXXXXX",
    "name": "API-Doc",
    "deviceCount": 0,
    "attributes": []
}
```

{% endtab %}
{% endtabs %}

## delete a site (device) group

<mark style="color:red;">`DELETE`</mark> `https://talos-app.io/api/device-service/device-groups/{id}`

Use this endpoint to delete a group of sites (devices). Note that the containing sites (devices) are not deleted.

#### Path Parameters

| Name | Type   | Description                   |
| ---- | ------ | ----------------------------- |
| id   | string | The relevant device group ID. |

#### Headers

| Name          | Type   | Description                              |
| ------------- | ------ | ---------------------------------------- |
| Authorization | string | Use 'Bearer' followed by your API token. |

{% tabs %}
{% tab title="200 " %}

```
//Empty Response


```

{% endtab %}
{% endtabs %}

## update an existing site (device) group

<mark style="color:purple;">`PATCH`</mark> `https://talos-app.io/api/device-service/device-groups/{id}`

Use this endpoint to update an existing site (device) group according to your needs.

#### Path Parameters

| Name | Type   | Description                   |
| ---- | ------ | ----------------------------- |
| id   | string | The relevant device group ID. |

#### Headers

| Name          | Type   | Description                              |
| ------------- | ------ | ---------------------------------------- |
| Authorization | string | Use 'Bearer' followed by your API token. |

{% tabs %}
{% tab title="200 " %}

```
{
    "id": "8a81cd77762e321d01764ec6b6d43475",
    "companyId": "064646f3-18a2-4298-a28e-6e2883f27407",
    "name": "My New Group",
    "deviceCount": 0,
    "attributes": []
}
```

{% endtab %}
{% endtabs %}

```
{
    "companyId": "064646f3-18a2-4298-a28e-6e2883f27407",
    "name": "My New Group",
    "attributes": []
}
```

## get a list of sites (devices) belonging to a particular site group

<mark style="color:blue;">`GET`</mark> `https://talos-app.io/api/device-service/device-groups/{id}/devices`

Use this endpoint to receive a list of sites (devices) in a particular device group.

#### Path Parameters

| Name | Type   | Description                   |
| ---- | ------ | ----------------------------- |
| id   | string | The relevant device group ID. |

#### Headers

| Name          | Type   | Description                              |
| ------------- | ------ | ---------------------------------------- |
| Authorization | string | Use 'Bearer' followed by your API token. |

{% tabs %}
{% tab title="200 " %}

```
{
  "_embedded": {
    "devices": [
      {
        "activateAlarm": "string",
        "activateDate": 0,
        "active": true,
        "attributes": [
          {
            "name": "string",
            "public": true,
            "value": "string"
          }
        ],
        "companyId": "string",
        "customerCity": "string",
        "customerCompany": "string",
        "customerEmail": "string",
        "customerFirstName": "string",
        "customerLastName": "string",
        "customerNumber": "string",
        "customerPhone": "string",
        "customerStreet": "string",
        "customerZip": "string",
        "deactivateAlarm": "string",
        "deactivateDate": 0,
        "deviceGroupId": "string",
        "deviceGroupName": "string",
        "evalinkDeviceId": "string",
        "health": "EMPTY",
        "id": "string",
        "ignoreAlarmCodes": "string",
        "installerCompany": "string",
        "installerEmail": "string",
        "installerFirstName": "string",
        "installerLastName": "string",
        "installerPhone": "string",
        "rejectAlarmCodes": "string",
        "source": "EVALINK_LIVE",
        "tags": [
          {
            "assignedAt": 0,
            "assignedById": "string",
            "assignedByName": "string",
            "color": "string",
            "id": "string",
            "name": "string"
          }
        ],
        "testMode": true,
        "testModeFrom": 0,
        "testModeUntil": 0
      }
    ]
  },
  "_links": {}
}
```

{% endtab %}
{% endtabs %}

## get a shareable link of the sites (devices) in a device group

<mark style="color:blue;">`GET`</mark> `https://talos-app.io/api/device-service/device-groups/{id}/shareLinks`

Use this endpoint to receive a shareable link of the sites withing a particular device group.

#### Path Parameters

| Name | Type   | Description                   |
| ---- | ------ | ----------------------------- |
| id   | string | The relevant device group ID. |

#### Headers

| Name          | Type   | Description                              |
| ------------- | ------ | ---------------------------------------- |
| Authorization | string | Use 'Bearer' followed by your API token. |

{% tabs %}
{% tab title="200 " %}

```
{
  "_embedded": {
    "deviceShareLinks": [
      {
        "changeDeviceStatus": true,
        "changeDeviceTestMode": true,
        "createdAt": 0,
        "description": "string",
        "device": {
          "activateAlarm": "string",
          "activateDate": 0,
          "active": true,
          "attributes": [
            {
              "name": "string",
              "public": true,
              "value": "string"
            }
          ],
          "companyId": "string",
          "customerCity": "string",
          "customerCompany": "string",
          "customerEmail": "string",
          "customerFirstName": "string",
          "customerLastName": "string",
          "customerNumber": "string",
          "customerPhone": "string",
          "customerStreet": "string",
          "customerZip": "string",
          "deactivateAlarm": "string",
          "deactivateDate": 0,
          "deviceGroupId": "string",
          "deviceGroupName": "string",
          "evalinkDeviceId": "string",
          "health": "EMPTY",
          "id": "string",
          "ignoreAlarmCodes": "string",
          "installerCompany": "string",
          "installerEmail": "string",
          "installerFirstName": "string",
          "installerLastName": "string",
          "installerPhone": "string",
          "rejectAlarmCodes": "string",
          "source": "EVALINK_LIVE",
          "tags": [
            {
              "assignedAt": 0,
              "assignedById": "string",
              "assignedByName": "string",
              "color": "string",
              "id": "string",
              "name": "string"
            }
          ],
          "testMode": true,
          "testModeFrom": 0,
          "testModeUntil": 0
        },
        "deviceGroup": {
          "attributes": [
            {
              "name": "string",
              "public": true,
              "value": "string"
            }
          ],
          "companyId": "string",
          "deviceCount": 0,
          "id": "string",
          "name": "string"
        },
        "editContacts": true,
        "enabled": true,
        "expiresAt": 0,
        "id": "string",
        "lastAccessed": 0,
        "orderContactLists": true,
        "password": "string",
        "shareAlarms": true,
        "shareCodeWords": true,
        "shareContacts": true,
        "shareEventLogs": true,
        "shareFiles": true,
        "shareSchedules": true,
        "shareWorkflowTemplates": true,
        "token": "string",
        "updateSchedules": true
      }
    ]
  },
  "_links": {}
}
```

{% endtab %}
{% endtabs %}

## create a new shareable link of the sites (devices) in a device group

<mark style="color:green;">`POST`</mark> `https://talos-app.io/api/device-service/device-groups/{id}/shareLinks`

Use this endpoint to create a new shareable link of the sites (devices) in a particular site group.

#### Path Parameters

| Name | Type   | Description                   |
| ---- | ------ | ----------------------------- |
| id   | string | The relevant device group ID. |

#### Headers

| Name          | Type   | Description                              |
| ------------- | ------ | ---------------------------------------- |
| Authorization | string | Use 'Bearer' followed by your API token. |

{% tabs %}
{% tab title="200 " %}

```
{
  "_embedded": {
    "deviceShareLinks": [
      {
        "changeDeviceStatus": true,
        "changeDeviceTestMode": true,
        "createdAt": 0,
        "description": "string",
        "device": {
          "activateAlarm": "string",
          "activateDate": 0,
          "active": true,
          "attributes": [
            {
              "name": "string",
              "public": true,
              "value": "string"
            }
          ],
          "companyId": "string",
          "customerCity": "string",
          "customerCompany": "string",
          "customerEmail": "string",
          "customerFirstName": "string",
          "customerLastName": "string",
          "customerNumber": "string",
          "customerPhone": "string",
          "customerStreet": "string",
          "customerZip": "string",
          "deactivateAlarm": "string",
          "deactivateDate": 0,
          "deviceGroupId": "string",
          "deviceGroupName": "string",
          "evalinkDeviceId": "string",
          "health": "EMPTY",
          "id": "string",
          "ignoreAlarmCodes": "string",
          "installerCompany": "string",
          "installerEmail": "string",
          "installerFirstName": "string",
          "installerLastName": "string",
          "installerPhone": "string",
          "rejectAlarmCodes": "string",
          "source": "EVALINK_LIVE",
          "tags": [
            {
              "assignedAt": 0,
              "assignedById": "string",
              "assignedByName": "string",
              "color": "string",
              "id": "string",
              "name": "string"
            }
          ],
          "testMode": true,
          "testModeFrom": 0,
          "testModeUntil": 0
        },
        "deviceGroup": {
          "attributes": [
            {
              "name": "string",
              "public": true,
              "value": "string"
            }
          ],
          "companyId": "string",
          "deviceCount": 0,
          "id": "string",
          "name": "string"
        },
        "editContacts": true,
        "enabled": true,
        "expiresAt": 0,
        "id": "string",
        "lastAccessed": 0,
        "orderContactLists": true,
        "password": "string",
        "shareAlarms": true,
        "shareCodeWords": true,
        "shareContacts": true,
        "shareEventLogs": true,
        "shareFiles": true,
        "shareSchedules": true,
        "shareWorkflowTemplates": true,
        "token": "string",
        "updateSchedules": true
      }
    ]
  },
  "_links": {}
}
```

{% endtab %}
{% endtabs %}
