# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sitasys-ag.gitbook.io/evalink-talos/management-api/manage-groups.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
