Для AI-агентов: markdown этой страницы — /docs-content/infra/access/access-delete.md индекс документации — /llms.txt

Удалить запись доступа

DELETE /v1/infra/servers/:id/access/:accessId

Удаляет запись доступа — пользователя или отдел — из списка BLACKHOLE-сервера. Эндпоинт универсальный: один и тот же accessId может относиться либо к пользователю (BlackHoleAccess), либо к отделу (BlackHoleDepartment) — платформа сначала ищет в первой таблице, потом во второй. После удаления запись исчезает из GET /access.

Параметры

Параметр В Тип Обяз. Описание
id path string (UUID) да ID BLACKHOLE-сервера
accessId path string (UUID) да ID записи доступа из GET /access или POST /access
approvalId query string (UUID) нет ID подтверждённого запроса из error.details.proposalId ответа 409 AUDIENCE_APPROVAL_REQUIRED; как получить подтверждение

Примеры

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

Terminal
curl -X DELETE -H "X-Api-Key: YOUR_API_KEY" \
  https://vibecode.bitrix24.tech/v1/infra/servers/SERVER_ID/access/ACCESS_ID

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

Terminal
curl -X DELETE -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  https://vibecode.bitrix24.tech/v1/infra/servers/SERVER_ID/access/ACCESS_ID

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

javascript
const res = await fetch(
  `https://vibecode.bitrix24.tech/v1/infra/servers/${serverId}/access/${accessId}`,
  {
    method: 'DELETE',
    headers: { 'X-Api-Key': 'YOUR_API_KEY' },
  }
)
const { success } = await res.json()
if (success) console.log('Запись удалена')

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

javascript
const res = await fetch(
  `https://vibecode.bitrix24.tech/v1/infra/servers/${serverId}/access/${accessId}`,
  {
    method: 'DELETE',
    headers: {
      'X-Api-Key': 'YOUR_APP_KEY',
      'Authorization': 'Bearer USER_SESSION_TOKEN',
    },
  }
)
const { success } = await res.json()
if (success) console.log('Запись удалена')

Поля ответа

Поле Тип Описание
success boolean true при успешном удалении

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

JSON
{ "success": true }

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

404 — запись не найдена (уже удалена, неверный accessId, либо accessId другого сервера):

JSON
{
  "success": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "Access entry not found"
  }
}

Ошибки

HTTP Код Описание
400 VALIDATION_ERROR approvalId в строке запроса имеет неверный формат
400 BLACKHOLE_ONLY Сервер в режиме OPEN
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Ключ не опознан: такой строки на платформе нет
403 INFRA_FORBIDDEN_FOR_COWORK_KEY Вызов сделан ключом Cowork/Code — такой ключ работает только с данными, изменяющие операции ему закрыты. Что делать — Проектный ключ для деплоя
403 SERVER_ROLE_FORBIDDEN Вы состоите в команде разработки этого сервера с ролью «Разработчик», а операция открыта роли «Администратор». В error.hint придут ваша роль, требуемый порог и перечень открытых вам вызовов. Разбор ролей — Список серверов
409 AUDIENCE_APPROVAL_REQUIRED Итоговый доступ расширяется; сначала получите подтверждение человека, затем повторите DELETE с approvalId в строке запроса. До подтверждения доступ не меняется
404 NOT_FOUND Сервер не существует, привязан к другому API-ключу, и вы не состоите в его команде разработки, либо запись не найдена (неверный accessId, уже удалена или принадлежит другому серверу)
409 AUDIENCE_APPROVAL_MISMATCH Подтверждение относится к другому действию или инициатору; используйте точный запрос и исходные учётные данные
409 AUDIENCE_APPROVAL_REPLAY Подтверждение уже использовано либо запрос не находится в состоянии APPROVED
409 AUDIENCE_APPROVAL_STALE Доступ изменился после проверки; получите новый запрос на подтверждение
410 AUDIENCE_APPROVAL_EXPIRED Срок запроса истёк; получите новый запрос на подтверждение
429 RATE_LIMITED Превышен общий лимит запросов платформы

Полный список общих ошибок API — Ошибки.

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

  • Расширение доступа требует подтверждения. Если после удаления восстановление других прав расширяет аудиторию, запрос возвращает 409 AUDIENCE_APPROVAL_REQUIRED и запись остаётся на месте. После подтверждения человеком повторите тот же DELETE для тех же id и accessId, с исходными учётными данными и ?approvalId=APPROVAL_ID. Сужение доступа, которое платформа смогла доказать, не требует подтверждения. Проверить или отменить собственный запрос.
  • Физическое удаление, не пометка на удаление. Запись стирается из базы. Восстановить нельзя — придётся повторно вызывать POST /access.
  • Удаление закрывает и уже открытые сессии. Если удаление записи лишает пользователя доступа, приложение перестаёт у него открываться в течение минуты, даже во вкладке, открытой раньше.
  • Ссылки share-url от списка не зависят. Их отзывают отдельно — Отозвать токен.
  • accessId привязан к серверу. Попытка удалить запись доступа другого сервера (правильный accessId, но неверный :id в пути) вернёт 404 NOT_FOUND. Платформа намеренно не раскрывает факт существования записей чужих серверов.
  • Удаление не меняет политику. Если вы удалите всех пользователей при accessPolicy: "NAMED_USERS", политика останется NAMED_USERS (и приложение станет недоступно никому, кроме владельца ключа). Чтобы «полностью вернуть приватность» — меняйте политику обратно на OWNER_ONLY через PATCH /access-policy.
  • Владельца ключа удалить нельзя. Владелец всегда имеет доступ, даже если его нет в списке. Чтобы забрать у себя доступ — нужен другой API-ключ.

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