# GetEndpointsCollectionAcl

## General

### URL

https://{host}/attunityenterprisemanager/api/v1/servers/{server}/endpoints?action=acl

### Description

Retrieves a list of users/groups with permissions on all endpoints, including a Boolean indication if ACL inheritance is disabled or enabled for each endpoint.

The method returns the explicit ACL only. In other words, it does not return inherited ACLs.

If all of the endpoints' ACLs are inherited (that is, no ACL was explicitly defined for any of the endpoints), an error will be returned indicating that no ACL was found.

This method can be used together with `GetEndpointsCollectionAcl` in order to update an existing endpoint's ACL. First call `GetEndpointsCollectionAcl`, then edit the returned roles as required, and finally, call `PutEndpointsCollectionAcl`.

### HTTP method

GET

### Required user role

See [Required Enterprise Manager permissions](https://help.qlik.com/en-US/enterprise-manager/May2026/Content/EnterpriseManager/EnterpriseManager_APIGuide/Introduction/AEMPermissions.htm).

## Request parameters

Request parameters

| Location | Name | Required | Example |
| --- | --- | --- | --- |
| URL | Host [string] | Yes | computer.network.net |
| URL | Server [string] | Yes | myrepsrv1 |
| Header | EnterpriseManager.APISessionID [string] | Yes | wCo0\_KvjEUFROvfHF5KGrw |

## Response body

```
{
  "admin_role": {
    "users": [
      { "name": "{string}" },
      { "name": "{string}" }
    ],
    "groups": [
      { "name": "{string}" },
      { "name": "{string}" }
    ]
  },
  "designer_role": {
    "users": [
      { "name": "{string}" },
      { "name": "{string}" }
    ],
    "groups": [
      { "name": "{string}" },
      { "name": "{string}" }
    ]
  },
  "operator_role": {
    "users": [
      { "name": "{string}" },
      { "name": "{string}" }
    ],
    "groups": [
      { "name": "{string}" },
      { "name": "{string}" }
    ]
  },
  "viewer_role": {
    "users": [
      { "name": "{string}" },
      { "name": "{string}" }
    ],
    "groups": [
      { "name": "{string}" },
      { "name": "{string}" }
    ]
  },
  "none": {
    "users": [
      { "name": "{string}" },
      { "name": "{string}" }
    ],
    "groups": [
      { "name": "{string}" },
      { "name": "{string}" }
    ]
  }
}
```

## Response parameters

* admin\_role

  * users: An array of users assigned as Admins on all endpoints.

    * name: A single Admin user.

  * groups: An array of groups assigned as Admins on all endpoints.

    * name: A single Admin group.

* designer\_role

  * users: An array of users assigned as Designers on all endpoints.

    * name: A single Designer user.

  * groups: An array of groups assigned as Designers on all endpoints.

    * name: A single Designer group.

* operator\_role

  * users: An array of users assigned as Operators on all endpoints.

    * name: A single Operator user.

  * groups: An array of groups assigned as Operators on all endpoints.

    * name: A single Operator group.

* viewer\_role

  * users: An array of users assigned as Viewers on all endpoints.

    * name: A single Viewer user.

  * groups: An array of groups assigned as Viewers on all endpoints.

    * name: A single Viewer group.

* none

  * users: An array of users with no permissions on all endpoints.

    * name: A single user.

## cURL example

### Request

`curl -i -k --header "EnterpriseManager.APISessionID: wCo0_KvjEUFROvfHF5KGr" https://computer.network.net/attunityenterprisemanager/api/v1/servers/{server1}/endpoints?action=acl`

### Response

` Headers:
                 `

`HTTP/1.1 200 OK`

`Cache-Control: no-cache, no-store`

`Content-Length: 502`

`Content-Type: application/json; charset=utf-8`

`Endpoint: Microsoft-HTTPAPI/2.0`

`Date: Mon, 26 Dec 2016 13:18:27 GMT`

### Payload

```
{
  "admin_role": {
    "users": [
      {"name": "QLIK\\Paul.Clarke"},
      {"name": "QLIK\\testAuth1"}
    ],
    "groups": [
      {"name": "QLIK\\AttunityEnterpriseManagerAdmins"}
    ]
  },
  "designer_role": {
    "users": [
      {"name": "QLIK\\Marisa.Lewis"},
      {"name": "QLIK\\testAuth2"}
    ],
    "groups": [
      {"name": "QLIK\\AttunityEnterpriseManagerDesigners"}
    ]
  },
  "operator_role": {
    "users": [
      {"name": "QLIK\\David.Foster"},
      {"name": "QLIK\\testAuth3"}
    ],
    "groups": [
      {"name": "QLIK\\AttunityEnterpriseManagerOperators"}
    ]
  },
  "viewer_role": {
    "users": [
      {"name": "QLIK\\Laura.Todd"},
      {"name": "QLIK\\testAuth4"}
    ],
    "groups": [
      {"name": "QLIK\\AttunityEnterpriseManagerViewers"}
    ]
  },
  "none": {
    "users": [
      {"name": "QLIK\\Jim.Smith"},
      {"name": "QLIK\\test5"}
    ]
  }
}
```

## Error response

All of the [general errors](https://help.qlik.com/en-US/enterprise-manager/May2026/Content/EnterpriseManager/EnterpriseManager_APIGuide/CurlAPI/error_handling.htm) as well as the errors listed in the table below.

Error responses

| HTTP Code | Enterprise Manager Code | Text | Description |
| --- | --- | --- | --- |
| 500 | AEM\_GET\_SERVER\_ACL\_INNER\_ERR | Failed to get ACL of endpoint "{endpoint}".<br><br>Error: "{message}". | Returned if Qlik Enterprise Manager encounters an error/exception when trying to get an endpoint's ACL. |
| 500 | AEM\_SERVER\_HAS\_NO\_ACL | ACL for endpoint "{endpoint}" could not be found. | Returned if no explicit ACL is defined for the specified endpoint.<br><br>Information note<br><br>A endpoint that does not have its own explicit ACL inherits the ACL from its ancestors. Inherited ACLs are not returned by this method. |