---
metadata:
  - name: generator
    content: Diplodoc Platform v5.44.0
alternate:
  - https://yandex.ru/dev/disk-api/doc/ru/reference/public-settings-change-admin.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/disk-api/doc/ru/llms.txt

# Изменение настроек публичного доступа к ресурсу сотрудника

Метод изменяет настройки доступа к публичному ресурсу сотрудника организации, в которой состоит администратор. В запросе используется идентификатор пользователя. 

При использовании текущей версии API с массивом настроек доступа `accesses[]` позволяет дополнительно задать персональный доступ для уже опубликованных файлов или папок.

{% note warning %}

Изменить настройки доступа к публичному ресурсу сотрудника можно с OAuth-токеном администратора организации.

{% endnote %}

Необходимые права доступа для OAuth-приложения:
* `cloud_api:disk.write`

## Формат запроса {#pub-set-chg-request}

Метод: ##PATCH##.

```
https://cloud-api.yandex.net/v1/disk/public/resources/admin/public-settings
 ? [user_id](*popup-user_id)&[path](*popup-path)=<идентификатор (UID) сотрудника организации>&<путь к публикуемому ресурсу>
 & [[allow_address_access](*popup-allow_address_access)=<возможность обрабатывать ответы с массивом параметров, задающих права доступа>]
```

```
https://cloud-api.yandex.net/v1/disk/public/resources/admin/public-settings
 ? [public_key](*popup-public_key)=<ключ или публичный URL ресурса>
 & [[allow_address_access](*popup-allow_address_access)=<возможность обрабатывать ответы с массивом параметров, задающих права доступа>]
```

```
https://cloud-api.yandex.net/v1/disk/public/resources/admin/public-settings
 ? [resource_id](*popup-resource_id)=<идентификатор публичного ресурса на Диске сотрудника>
 & [[allow_address_access](*popup-allow_address_access)=<возможность обрабатывать ответы с массивом параметров, задающих права доступа>]
```

### Описание query-параметров {#query}

user_id[*](*popup-c)
: Идентификатор (UID) сотрудника организации.


path[*](*popup-c)
: Путь к публикуемому ресурсу. Например, `%2Fbar%2Fphoto.png`.

<!-- source: ru/_includes/reference/parameters-warehouse/id-format/path-encoding.md -->
Путь в значении параметра следует кодировать в URL-формате.
<!-- endsource: ru/_includes/reference/parameters-warehouse/id-format/path-encoding.md -->


public_key[*](*popup-c)
: <!-- source: ru/_includes/reference/term-public-key-admin.md -->
  Ключ опубликованного ресурса или публичная ссылка на ресурс.

  Например:

  - короткая ссылка (`https%3A%2F%2Fdisk.yandex.ru%2Fd%2F446d6f44-bb36-48bb-973c-4e1c71e33ccd`);
  - полная ссылка (`https%3A%2F%2Fdisk.yandex.ru%2Fpublic%2F%3Fhash%3DdAEMkc1QDY4SPb5%252BBlFnEKkx1oWX7%2Fp5zYSCvHGQ5%2F6FQeE4ICFyXScld621gdJYq%2FJ6bpmRyOJonT3VoXnDag%253D%253D`);
  - хеш (`dAEMkc1QDY4SPb5%2BBlFnEKkx1oWX7%2Fp5zYSCvHGQ5%2F6FQeE4ICFyXScld621gdJYq%2FJ6bpmRyOJonT3VoXnDag%3D%3D`).

  Значение параметра следует кодировать в URL-формате.
  <!-- endsource: ru/_includes/reference/term-public-key-admin.md -->

resource_id[*](*popup-c)
: Идентификатор публичного ресурса на Диске сотрудника. Пример `resource_id`: ##128280859:f84da408e8d431a8b95553a5cd3f7819231c4b580c6cb843ddcf3b24f7ab56cd##.


allow_address_access
: Параметр с типом `boolean`, который обозначает, по какому формату составлен запрос — с настройками персонального доступа или без.

Допустимые значения:

  - `false` (значение по умолчанию) — запрос не содержит массив настроек персонального доступа. Значение используется для обеспечения обратной совместимости: для запросов, сформированных по формату предыдущих версий API, в которых нет элементов массива `accesses[]`, query-параметр `allow_address_access` должен иметь значение `false` либо отсутствовать.
  - `true` — запрос составлен в формате, который предполагает использование настроек персонального доступа. Применяется, если вы используете текущую версию API и отправляете запрос с телом, в котором содержится массив `accesses[]`.

Чтобы отправлять запросы, которые содержат массив настроек доступа `accesses[]`, у вашего сервиса должна быть возможность и на обработку ответов с этим массивом.



\*  Присутствие в запросе хотя бы одного из параметров (`user_id&path`, `public_key`, `resource_id`) обязательно.

### Заголовки {#header}

```
Authorization: OAuth <token>
Content-Type: application/json
```

где `<token>` — токен администратора организации.

### Тело запроса {#body}

В теле запроса передается объект PublicSettings, с помощью которого можно задать настройки доступа для публикуемого ресурса.

```json
{
  "available_until": 1737968946,
  "password": "1234",
  "accesses": [
    {
      "type": "macro",
      "macros": [
        "employees"
      ],
      "org_id": 999,
      "rights": [
        "read_with_password"
      ]
    },
    {
      "type": "user",
      "id": 1130000065996970,
      "rights": [
        "read"
      ]
    },
    {
      "type": "user",
      "id": 1130000065996971,
      "rights": [
        "write"
      ]
    },
    {
      "type": "user",
      "id": 1130000065996972,
      "rights": [
        "write",
        "read"
      ]
    },
    {
      "type": "user",
      "id": 1130000065996973,
      "rights": []
    },
    {
      "type": "group",
      "id": 100,
      "rights": [
        "read"
      ]
    },
    {
      "type": "group",
      "id": 101,
      "rights": [
        "write"
      ]
    },
    {
      "type": "group",
      "id": 102,
      "rights": [
        "write",
        "read"
      ]
    },
    {
      "type": "group",
      "id": 103,
      "rights": [
        "write",
        "read"
       ]
    },
    {
      "type": "department",
      "id": 0,
      "rights": [
        "read"
      ]
    },
    {
      "type": "department",
      "id": 1,
      "rights": [
        "write"
      ]
    },
    {
      "type": "department",
      "id": 2,
      "rights": [
        "write",
        "read"
      ]
    },
    {
      "type": "department",
      "id": 3,
      "rights": []
    }
  ]
}

```

#|
|| **Параметр** | **Тип данных** | **Описание** ||
||`available_until` | integer | Время жизни ссылки на ресурс (в секундах).

По истечении указанного времени ссылка на ресурс перестанет быть действительной, однако ресурс продолжит считаться опубликованным.

{% cut "Как создать новую ссылку на ресурс" %}

Выполните одно из действий:
- снимите ресурс с публикации (см. [описание запроса на закрытие публичного доступа](https://yandex.ru/dev/disk-api/doc/ru/reference/unpublish.md)) и опубликуйте снова с нужными настройками доступа;
- измените настройки доступа (см. [описание запроса на изменение прав доступа](https://yandex.ru/dev/disk-api/doc/ru/reference/unpublish.md)).

{% endcut %}

||
||`password` | string | Пароль для общего доступа к ресурсу по ссылке.

Обязателен, если в `accesses.rights` заданы права `read_with_password` или `read_with_password_without_download`. ||
||`accesses` | array | [Массив параметров](#accesses), которые задают права доступа пользователей к ресурсу. Применяется, если query-параметр `allow_address_access` имеет значение `true`.

Позволяет задать настройки для разных уровней доступа:
- общего — внутри организации или для любых пользователей Яндекс 360 для бизнеса;
- персонального для определенных сотрудников организации;
- персонального для определенных групп;
- персонального для определенных подразделений. ||
|#

**accesses []** {#accesses}

Массив `accesses []` может содержать объекты, описывающие следующие уровни доступа:

- Общий доступ

  #|
  || **Параметр** | **Тип данных** | **Описание** ||
  ||`type`[**](*popup-b) | string | Тип субъекта, для которого задаются параметры доступа. Возможные значения:
  - `macro` — все субъекты уровня общего доступа;
  - `user` — сотрудник организации, для которого настроен персональный доступ;
  - `group` — группа в организации, для которой настроен персональный доступ;
  - `department` — отдел в организации, для которого настроен персональный доступ. ||
  ||`macros` | array of string | Массив, который содержит информацию о том, будет ли общий доступ к ресурсу с указанными правами предоставлен только внутри организации или для любых пользователей. Возможные значения:
  - `employees` — общий доступ к ресурсу только внутри определенной организации;
  - `all` — общий доступ для всех пользователей.

  Тип данных `array` указан для обеспечения обратной совместимости в будущих версиях API. Фактически следует указывать только одно из значений. Если указать оба, в ответе вернется ошибка.

  Поле обязательно, при `"type":"macro"`.||
  ||`org_id` | integer | Идентификатор организации, сотрудникам которой предоставляется общий доступ к ресурсу с правами, заданными в параметре `rights` данного объекта.

  Можно указать идентификатор только той организации, в которой состоит администратор, от чьего имени отправляется запрос.

  Поле обязательно, при `"type":"macro"` и `"macros": "employees"`. В остальных случаях не учитывается. ||
  ||`rights`[**](*popup-b) | array | Права доступа к ресурсу.

  Возможные значения, если `"type":"macro"`:
  - `write` — редактирование;
  - `read` — просмотр;
  - `read_without_download` — просмотр без возможности скачивания;
  - `read_with_password` — просмотр с доступом по паролю;
  - `read_with_password_without_download` — просмотр с доступом по паролю без возможности скачивания.

  Возможные значения, если в параметре `type` указаны `user`, `group` или `department`:
  - `write` — редактирование;
  - `read` — просмотр;

  Тип данных `array` указан для обеспечения обратной совместимости в будущих версиях API. Фактически следует указывать только одно из значений, так как каждый пользователь может иметь только один тип доступа к ресурсу. Если в массиве указать несколько прав, то учитываться будет наивысший по приоритету. ||
  |#

Объекты, которые описывают персональный доступ, имеют приоритет над объектом, описывающим общий доступ. Например, если для всех сотрудников организации настроен доступ с правом «просмотр», то некоторым из них можно переопределить это право на «редактирование».


## Формат ответа {#pub-set-chg-response}

### Успешный ответ

Если запрос был обработан без ошибок, настройки публичного доступа изменяются и API отвечает кодом `200 OK`.

### Ответ с ошибкой

<!-- source: ru/_includes/reference/response-error.md -->
Если запрос вызвал ошибку, возвращается подходящий код ответа, а тело ответа содержит [описание ошибки](https://yandex.ru/dev/disk-api/doc/ru/reference/response-objects.md#error).
<!-- endsource: ru/_includes/reference/response-error.md -->

Некоторые возможные ошибки:

* `400` — Отсутствуют необходимые данные.
* `401` — Не авторизован.
* `403` — API недоступно. Ваши файлы занимают больше места, чем у вас есть. Удалите лишнее или увеличьте объем Диска. / API недоступно. Диск в режиме «только чтение». Проверьте тариф вашей организации. / API недоступно. Недопустимые права доступа. / API недоступно. Достигнут лимит на выдачу прав.
* `404` — Не удалось найти запрошенный ресурс.
* `423` — Технические работы. Сейчас можно только просматривать и скачивать файлы.
* `503` — Сервис временно недоступен.

[*popup-user_id]: Идентификатор (UID) сотрудника организации.

[*popup-path]: Путь к публикуемому ресурсу. Например, `%2Fbar%2Fphoto.png`.


Путь в значении параметра следует кодировать в URL-формате.

[*popup-public_key]: Ключ опубликованного ресурса или публичная ссылка на ресурс.

Например:

- короткая ссылка (`https%3A%2F%2Fdisk.yandex.ru%2Fd%2F446d6f44-bb36-48bb-973c-4e1c71e33ccd`);
- полная ссылка (`https%3A%2F%2Fdisk.yandex.ru%2Fpublic%2F%3Fhash%3DdAEMkc1QDY4SPb5%252BBlFnEKkx1oWX7%2Fp5zYSCvHGQ5%2F6FQeE4ICFyXScld621gdJYq%2FJ6bpmRyOJonT3VoXnDag%253D%253D`);
- хеш (`dAEMkc1QDY4SPb5%2BBlFnEKkx1oWX7%2Fp5zYSCvHGQ5%2F6FQeE4ICFyXScld621gdJYq%2FJ6bpmRyOJonT3VoXnDag%3D%3D`).

Значение параметра следует кодировать в URL-формате.

[*popup-resource_id]: Идентификатор публичного ресурса на Диске сотрудника. Пример `resource_id`: ##128280859:f84da408e8d431a8b95553a5cd3f7819231c4b580c6cb843ddcf3b24f7ab56cd##.

[*popup-allow_address_access]: Параметр с типом `boolean`, который обозначает, по какому формату составлен запрос — с настройками персонального доступа или без.

Допустимые значения:

  - `false` (значение по умолчанию) — запрос не содержит массив настроек персонального доступа. Значение используется для обеспечения обратной совместимости: для запросов, сформированных по формату предыдущих версий API, в которых нет элементов массива `accesses[]`, query-параметр `allow_address_access` должен иметь значение `false` либо отсутствовать.
  - `true` — запрос составлен в формате, который предполагает использование настроек персонального доступа. Применяется, если вы используете текущую версию API и отправляете запрос с телом, в котором содержится массив `accesses[]`.

Чтобы отправлять запросы, которые содержат массив настроек доступа `accesses[]`, у вашего сервиса должна быть возможность и на обработку ответов с этим массивом.

[*popup-a]: Обязательный параметр.

[*popup-b]: Параметр обязательный, если в запросе присутствует объект, к которому этот параметр относится.

[*popup-c]: Присутствие в запросе хотя бы одного из параметров (`user_id&path`, `public_key`, `resource_id`) обязательно.