## Сбросить права сайта

`DELETE /v1/sites/:id/permissions`

Сбрасывает все права доступа, назначенные сайту, одним вызовом. Чтобы назначить новый набор прав вместо сброса, используйте метод замены прав сайта.

## Параметры

| Параметр | Тип | Обяз. | Описание |
|----------|-----|:-----:|----------|
| `id` (path) | number | да | ID сайта. Список: [`GET /v1/sites`](/docs/entities/sites/list) |
| `scope` (query) | string | нет | Тип сайта: `KNOWLEDGE` — база знаний, `GROUP` — сайт рабочей группы, `MAINPAGE` — главная страница. Для остальных сайтов параметр не передают |

Тело запроса не передаётся. Пустой объект `{}` допускается, тело с любым полем отклоняется с `400 INVALID_PARAMS`.

## Примеры

### curl — личный ключ

```bash
curl -X DELETE "https://vibecode.bitrix24.tech/v1/sites/42/permissions" \
  -H "X-Api-Key: YOUR_API_KEY"
```

### curl — OAuth-приложение

```bash
curl -X DELETE "https://vibecode.bitrix24.tech/v1/sites/42/permissions" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"
```

### JavaScript — личный ключ

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/sites/42/permissions', {
  method: 'DELETE',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})
const body = await res.json()

if (body.success && body.data.updated) {
  console.log('Права сайта сброшены')
}
```

### JavaScript — OAuth-приложение

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/sites/42/permissions', {
  method: 'DELETE',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})
const body = await res.json()

if (body.success && body.data.updated) {
  console.log('Права сайта сброшены')
}
```

## Поля ответа

| Поле | Тип | Описание |
|------|-----|----------|
| `success` | boolean | `true` — сброс выполнен |
| `data.updated` | boolean | Всегда `true`: Битрикс24 подтвердил сброс прав |

## Пример ответа

```json
{
  "success": true,
  "data": {
    "updated": true
  }
}
```

## Пример ответа при ошибке

404 — сайта нет или он не виден ключу:

```json
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "Site not found or not visible"
  }
}
```

## Ошибки

| HTTP | Код | Описание |
|------|-----|----------|
| 400 | `INVALID_PARAMS` | Передано тело запроса с полями. Текст ошибки — `DELETE permissions takes no body` |
| 400 | `INVALID_PARAMS` | `id` не положительное целое число |
| 400 | `INVALID_SCOPE` | `scope` вне списка `KNOWLEDGE`, `GROUP`, `MAINPAGE` |
| 404 | `ENTITY_NOT_FOUND` | Сайта с таким `id` нет или он не виден ключу. Для базы знаний, сайта рабочей группы или главной страницы нужен параметр `scope` |
| 403 | `BITRIX_ACCESS_DENIED` | Ключ принадлежит не администратору портала либо тариф Битрикс24 не включает расширенные права на сайты |
| 409 | `LANDING_MODULE_NOT_ENABLED` | Модуль «Сайты» недоступен на портале |
| 422 | `BITRIX_ERROR` | Битрикс24 не подтвердил сброс прав или отклонил операцию с сайтом |
| 403 | `SCOPE_DENIED` | У ключа нет скоупа `landing` |
| 403 | `WRITE_BLOCKED_READONLY_KEY` | Ключ в режиме только для чтения |
| 401 | `TOKEN_MISSING` | У ключа нет настроенных токенов Битрикс24 |

Полный список общих ошибок API — [Ошибки](/docs/errors).

## Известные особенности

- **Проверить результат сброса через API нельзя.** Назначенные права сайта не читаются ни одним методом. [`GET /v1/sites/:id/my-permissions`](/docs/entities/sites/my-permissions) показывает только операции текущего пользователя: у администратора портала список одинаковый до сброса и после.

## Смотрите также

- [Права сайта](/docs/entities/sites/permissions)
- [Мои права на сайт](/docs/entities/sites/my-permissions)
- [Список сайтов](/docs/entities/sites/list)
- [Сайты](/docs/entities/sites)
- [Ошибки](/docs/errors)
