Для 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 — личный ключ
curl -X DELETE -H "X-Api-Key: YOUR_API_KEY" \
https://vibecode.bitrix24.tech/v1/infra/servers/SERVER_ID/access/ACCESS_ID
curl — OAuth-приложение
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 — личный ключ
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-приложение
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 при успешном удалении |
Пример ответа
{ "success": true }
Пример ответа при ошибке
404 — запись не найдена (уже удалена, неверный accessId, либо accessId другого сервера):
{
"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в пути) вернёт 404NOT_FOUND. Платформа намеренно не раскрывает факт существования записей чужих серверов.- Удаление не меняет политику. Если вы удалите всех пользователей при
accessPolicy: "NAMED_USERS", политика останетсяNAMED_USERS(и приложение станет недоступно никому, кроме владельца ключа). Чтобы «полностью вернуть приватность» — меняйте политику обратно наOWNER_ONLYчерезPATCH /access-policy. - Владельца ключа удалить нельзя. Владелец всегда имеет доступ, даже если его нет в списке. Чтобы забрать у себя доступ — нужен другой API-ключ.