---
title: "Заменить состав участников пространства"
method: PUT
path: "/api/v1/knowledge/spaces/{id}/access"
tags: ["Knowledge access"]
---

# Заменить состав участников пространства

`PUT /api/v1/knowledge/spaces/{id}/access`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/knowledge/spaces/{id}/access`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)

Список заменяется целиком. Правит его только владелец пространства: модульный knowledge:admin в закрытое пространство не входит, а закрытое пространство обязано сохранить хотя бы одного владельца-человека.

## Request body

- KnowledgeSpaceAccessInput
  - `restricted` boolean, required
  - `grants` KnowledgeACLGrant[], required: Полный список; сохранённый состав заменяется им целиком
    - `id` string, uuid
    - `principal_type` 'everyone' | 'user' | 'role' | 'department', required
    - `principal_key` string, required: Ключ принципала: id пользователя, UUID роли, UUID подразделения из справочника departments или * для всех
    - `can_read` boolean, required: Уровень «Просмотр»
    - `can_write` boolean: Уровень «Редактирование»; включает просмотр
    - `can_publish` boolean: Уровень «Публикация»; включает редактирование
    - `can_manage` boolean: Уровень «Владелец»; живёт только на пространстве и только у пользователя

## Response `200`

Сохранённый состав участников

- KnowledgeSpaceAccessPolicy
  - `space_id` string, uuid, required
  - `restricted` boolean, required
  - `grants` KnowledgeACLGrant[], required
    - `id` string, uuid
    - `principal_type` 'everyone' | 'user' | 'role' | 'department', required
    - `principal_key` string, required: Ключ принципала: id пользователя, UUID роли, UUID подразделения из справочника departments или * для всех
    - `can_read` boolean, required: Уровень «Просмотр»
    - `can_write` boolean: Уровень «Редактирование»; включает просмотр
    - `can_publish` boolean: Уровень «Публикация»; включает редактирование
    - `can_manage` boolean: Уровень «Владелец»; живёт только на пространстве и только у пользователя

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `404`: Запись не найдена или не видима текущему пользователю

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/3c60ded179f2?raw)
