---
metadata:
  - name: generator
    content: Diplodoc Platform v5.47.3
alternate:
  - https://yandex.com.tr/support/tracker/en/api-ref/entities/get-access.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/support/tracker/en/llms.txt

# Get entity access settings

Use this request to get information about access settings for entities: [goals](https://yandex.com.tr/support/tracker/en/goals/goals-start.md), [projects](https://yandex.com.tr/support/tracker/en/manager/project-new.md), or [project portfolios](https://yandex.com.tr/support/tracker/en/manager/portfolio.md).

<div class="request_example method_get yfm-clipboard">
    <p>GET</p>
    <pre><code>https://api.tracker.yandex.net/v3/entities/<entity_type>/<entity_ID>/extendedPermissions</code></pre>
    <button class="yfm-clipboard-button"><svg width="16" height="16" viewBox="0 0 24 24" class="yfm-clipboard-icon" data-animation="15">
    <path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path>
    <path stroke="currentColor" fill="transparent" strokewidth="1.5" d="M9.5 13l3 3l5 -5" visibility="hidden">
        <animate id="visibileAnimation-15" attributeName="visibility" from="hidden" to="visible" dur="0.2s" fill="freeze" begin=""></animate>
        <animate id="hideAnimation-15" attributeName="visibility" from="visible" to="hidden" dur="1s" begin="visibileAnimation-15.end+1" fill="freeze"></animate>
    </path>
</svg>
</button>
</div>

<!-- source: en/_assets/style/methods.md -->

<!-- endsource: en/_assets/style/methods.md -->

{% note info "" %}

You can also use this request to retrieve permissions for an entity:
```
GET https://api.tracker.yandex.net/v3/entities/<entity_type>/<entity_ID>/permissions
```
Unlike other requests, this one doesn't return `permissionSources`, which is a parameter that specifies the parent entity from which the current entity inherits access settings. The response format matches the `acl` object format. See the [description](#acl) for details.

{% endnote %}

## Query format {#query}

Before making a request, [get permission to access the API](https://yandex.com.tr/support/tracker/en/api-ref/access.md).

To get an entity's access settings, use an HTTP `GET` request.

```
GET /v3/entities/<entity_type>/<entity_ID>/extendedPermissions
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth_token>
X-Org-ID or X-Cloud-Org-ID: <organization_ID>
```

<!-- source: en/_includes/api/headings.md -->
{% cut "Headers" %}

* `Host`: address of the node that provides the API.

* <!-- source: en/_includes/api/authorization.md -->
  `Authorization`: Authorization token about these formats:

    - `OAuth <OAuth_token>`: For authorization using the OAuth 2.0 protocol. [Learn more](https://yandex.com.tr/support/tracker/en/api-ref/access.md#about_OAuth)

    - `Bearer <IAM_token>`: For authorization using an IAM token, if a Yandex Cloud Organization organization is linked to Tracker. [Learn more](https://yandex.com.tr/support/tracker/en/api-ref/access.md#iam-token)
  <!-- endsource: en/_includes/api/authorization.md -->


* <!-- source: en/_includes/api/org-id.md -->
  `X-Org-ID` or `X-Cloud-Org-ID`: Organization ID.

  - Use the `X-Org-ID` header if a Tracker organization is linked to Yandex 360 for Business.

  - Use the `X-Cloud-Org-ID` header if a Tracker organization is linked to Yandex Cloud Organization.

  To get the organization ID, go to **Administration** → [**Organizations**](https://tracker.yandex.com/admin/orgs) and copy the value from the **ID** field. {#find-id}
  <!-- endsource: en/_includes/api/org-id.md -->


{% endcut %}
<!-- endsource: en/_includes/api/headings.md -->

<!-- source: en/_includes/api/resource-entity.md -->
{% cut "Resource" %}

| Parameter | Description | Data type |
-------- | -------- | ----------
| \<entity_type> | Entity type:<ul><li>project</li><li>portfolio</li><li>goal</li></ul> | String |
| \<entity_ID> | Entity ID. To get the ID, see the [entity list](search-entities.md). You can use the `id` or `shortId` parameter as the ID. | String |

{% endcut %}
<!-- endsource: en/_includes/api/resource-entity.md -->

## Response format {#answer}

{% list tabs %}

- Request executed successfully

   <!-- source: en/_includes/api/answer-200.md -->
   If the request is successful, the API returns a response with code `200 OK`.
   <!-- endsource: en/_includes/api/answer-200.md -->

   The response body contains information about the entity's access settings in JSON format.

   <!-- source: en/_includes/api/entity-access.md -->
   ```json translate=no
   {
       "acl": {
           "READ": {
               "users": [
                   {
                       "self": "https://api.tracker.yandex.net/v3/users/11********",
                       "id": "11********",
                       "display": "User Name",
                       "passportUid": 11********
                   }
               ],
               "groups": [
                   {
                       "self": "https://api.tracker.yandex.net/v3/groups/1",
                       "id": "1",
                       "display": "Group 1"
                   }
               ],
               "roles": []
           },
           "GRANT": {
               "users": [],
               "groups": [
                   {
                       "self": "https://api.tracker.yandex.net/v3/groups/2",
                       "id": "2",
                       "display": "Group 2"
                   }
               ],
               "roles": [
                   "AUTHOR",
                   "OWNER"
               ]
           },
           "WRITE": {
               "users": [],
               "groups": [
                   {
                       "self": "https://api.tracker.yandex.net/v3/groups/3",
                       "id": "3",
                       "display": "Group 3"
                   }
               ],
               "roles": [
                   "CLIENT",
                   "AUTHOR",
                   "FOLLOWER",
                   "OWNER",
                   "MEMBER"
               ]
           }
       },
       "permissionSources": [
           {
               "self": "https://api.tracker.yandex.net/v3/entities/portfolio/67ffd7e3********",
               "id": "67ffd7e3********",
               "display": "My portfolio"
           }
       ],
       "parentEntities": {
           "primary": {
               "self": "https://api.tracker.yandex.net/v3/entities/portfolio/67ffd7e3********",
               "id": "67ffd7e3********",
               "display": "My portfolio"
           },
           "secondary": []
       }
   }
   ```
   <!-- endsource: en/_includes/api/entity-access.md -->

   {% cut "Response parameters" %}

   <!-- source: en/_includes/api/entity-access.md -->
   | Parameter | Description | Data type |
   -------- | -------- | ----------
   | [acl](#acl) | An object detailing the users, groups, and roles with various access types for the entity | Object |
   | [permissionSources](#entity-id) | The parent entity (the main portfolio or parent goal) from which the current entity inherits its access permissions | Object |
   | [parentEntities](#parent) | A list of parent entities from which the current entity inherits access permissions | Object |
   <!-- endsource: en/_includes/api/entity-access.md -->

   `parentEntities` **object fields**{#parent}

   <!-- source: en/_includes/api/entity-fields.md -->
   | Parameter | Description | Data type |
   -------- | -------- | ----------
   | [primary](#entity-id) | The main portfolio (for projects and portfolios) or parent goal (for goals) | Object |
   | [secondary](#entity-id) | For projects and portfolios: a list of additional portfolios<br>For goals, the parameter value is always empty | Array of objects |

   {% note info "" %}

   If the request address specifies the API `v2`, the `parentEntity` object contains information only about the main portfolio or parent goal.

   {% endnote %}
   <!-- endsource: en/_includes/api/entity-fields.md -->

   **Fields of the object that contains entity data** {#entity-id}

   The `permissionSources`, `primary`, and `secondary` parameters contain objects with the following fields:

   <!-- source: en/_includes/api/entity-fields.md -->
   | Parameter | Description | Data type |
   -------- | -------- | ----------
   | self | Address of the API resource with information about the entity | String |
   | id | Entity ID | String |
   | display | Entity name | String |
   <!-- endsource: en/_includes/api/entity-fields.md -->

   **acl** `object fields` {#acl}

   <!-- source: en/_includes/api/entity-access.md -->
   | Parameter | Description | Data type |
   -------- | -------- | ----------
   | [READ](#read-write) | An object detailing the users, groups, and roles with view access to the entity | Object |
   | [GRANT](#read-write) | An object detailing the users, groups, and roles that can manage access settings for the entity | Object |
   | [WRITE](#read-write) | An object detailing the users, groups, and roles with edit access to the entity | Object |
   <!-- endsource: en/_includes/api/entity-access.md -->

   `READ`, `GRANT`, and `WRITE` **object fields** {#read-write}

   <!-- source: en/_includes/api/entity-access.md -->
   #|
   || Parameter | Description | Data type ||
   || [users](#users) | A list of users with this access type | Object array ||
   || [groups](#groups) | A list of groups with this access type | Object array ||
   || roles | A list of entity roles with this access type:
   * `AUTHOR`: Author.
   * `OWNER`: Lead.
   * `CLIENT`: Customer.
   * `FOLLOWER`: Follower.
   * `MEMBER` — Participants.
   | String array ||
   |#
   <!-- endsource: en/_includes/api/entity-access.md -->

   **Fields of objects in the** `users` array {#users}

   <!-- source: en/_includes/api/user.md -->
   | Parameter | Description | Data type |
   ----- | ----- | -----
   | self | Address of the API resource with information about the user | String |
   | id | User ID. | String |
   | display | Displayed user name | String |
   | passportUid | Unique ID of the user account in the Yandex 360 for Business organization and Yandex ID. | Number |
   | cloudUid | Unique user ID in Yandex Cloud Organization | String |
   <!-- endsource: en/_includes/api/user.md -->

   **Fields of objects in the** `groups` array {#groups}

   <!-- source: en/_includes/api/group-short.md -->
   | Parameter | Description | Data type |
   ----- | ----- | -----
   self | The address of the API resource that contains information about the user group | String
   id | Group ID | String
   display | Group display name | String
   <!-- endsource: en/_includes/api/group-short.md -->

   {% endcut %}

- Request failed

   If the request is processed incorrectly, the API returns a response with an error code:

   <!-- source: en/_includes/api/answer-error-400.md -->
   400
   :   One or more request parameters have an invalid value.
   <!-- endsource: en/_includes/api/answer-error-400.md -->

   <!-- source: en/_includes/api/answer-error-401.md -->
   401
   :   The user is not authorized. Make sure that actions described in the [API access](https://yandex.com.tr/support/tracker/en/api-ref/access.md) section are performed.
   <!-- endsource: en/_includes/api/answer-error-401.md -->

   <!-- source: en/_includes/api/answer-error-403.md -->
   403
   :   You are not authorized to perform this action. You can check what rights you have in the Tracker interface. The same rights are required to perform an action via the API and interface.
   <!-- endsource: en/_includes/api/answer-error-403.md -->

   <!-- source: en/_includes/api/answer-error-404.md -->
   404
   :   The requested object was not found. You may have specified an invalid object ID or key.
   <!-- endsource: en/_includes/api/answer-error-404.md -->

{% endlist %}
