Удаление жалоб (CLEAR-ADDRESS)
DELETE https://api.abuseipdb.ru/api/v2/clear-address — удаляет жалобы вашего репортёра на один IP-адрес. Чужие жалобы удалить невозможно; для этого есть отдельная процедура takedown-запроса.
Раздел «API v2»: Обзор · Проверка IP (CHECK) · Жалобы по IP (REPORTS) · Отправить жалобу (REPORT) · Чёрный список (BLACKLIST) · Проверка подсети (CHECK-BLOCK) · Массовые жалобы (BULK-REPORT) · Удаление жалоб (CLEAR-ADDRESS) · Лимиты · Ошибки · Fail2Ban, CSF, Suricata · FAQ
Назначение
Эндпоинт нужен, когда вы ошиблись адресом, категорией или отправили жалобу на свой собственный сервер и хотите её отозвать. Удаляются только жалобы, созданные с того же ключа API (или тем же пользователем), на указанный адрес. Жалобы других репортёров не затрагиваются.
| Что делает | Чего НЕ делает |
|---|---|
| Удаляет ваши жалобы на конкретный IP | Не удаляет жалобы других пользователей |
| Возвращает число удалённых жалоб | Не пересчитывает оценку «назад» мгновенно для всех кэшей — обновление оценки неизбежно, но кэши сторонних клиентов могут жить до TTL |
| Работает и для IPv4, и для IPv6 | Не является инструментом «обнуления» чужой репутации |
Доступ
Эндпоинт доступен только ключам уровня admin — это платформенные ключи администратора/владельца. Для обычного ключа (в том числе premium) ответ будет:
{
"errors": [
{
"detail": "This endpoint (clear-address) requires an active subscription.",
"status": 403
}
]
}
Если вам нужно удалить свою жалобу, а ключ не admin — напишите в поддержку: support@abuseipdb.ru.
Запрос
# DELETE, параметр в query-строке
curl -X DELETE https://api.abuseipdb.ru/api/v2/clear-address \
--data-urlencode "ipAddress=118.25.6.39" \
-H "Key: YOUR_ADMIN_API_KEY" \
-H "Accept: application/json"
# Тот же запрос через POST (расширение AbuseIPDB.RU: GET/POST/DELETE равнозначны)
curl -X POST https://api.abuseipdb.ru/api/v2/clear-address \
--data-urlencode "ipAddress=118.25.6.39" \
-H "Key: YOUR_ADMIN_API_KEY" \
-H "Accept: application/json"
Параметры
| Параметр | Обязателен | Описание |
|---|---|---|
ipAddress | да | адрес, жалобы на который нужно удалить (IPv4 или IPv6); принимается в query-строке или в теле |
Ответ
{
"data": {
"numReportsDeleted": 0
}
}
numReportsDeleted — сколько жалоб именно вашего репортёра удалено. 0 означает, что удалять было нечего: либо вы не жаловались на этот адрес, либо жалобы уже удалены. Это не ошибка.
Примеры
Python:
import requests
API_KEY = "YOUR_ADMIN_API_KEY"
BASE = "https://api.abuseipdb.ru/api/v2"
def clear_address(ip: str) -> int:
response = requests.delete(
f"{BASE}/clear-address",
params={"ipAddress": ip},
headers={"Key": API_KEY, "Accept": "application/json"},
timeout=15,
)
if response.status_code == 403:
raise PermissionError(response.json()["errors"][0]["detail"])
response.raise_for_status()
return response.json()["data"]["numReportsDeleted"]
print("удалено жалоб:", clear_address("89.205.125.160"))
PHP:
<?php
$query = http_build_query(['ipAddress' => '89.205.125.160']);
$ch = curl_init('https://api.abuseipdb.ru/api/v2/clear-address?' . $query);
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Key: ' . getenv('ABUSEIPDB_ADMIN_KEY'), 'Accept: application/json'],
CURLOPT_TIMEOUT => 15,
]);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($status === 403) {
throw new RuntimeException('Нужен admin-ключ: ' . $body);
}
if ($status !== 200) {
throw new RuntimeException("API v2 HTTP $status: $body");
}
printf("удалено жалоб: %d\n", json_decode($body, true)['data']['numReportsDeleted']);
Если нужно удалить чужую жалобу
CLEAR-ADDRESS для этого не предназначен. Если жалоба на ваш адрес ошибочна или содержит персональные данные, воспользуйтесь формой takedown-запроса на странице адреса /check/{ip} — обращение рассмотрит модератор. В обращении укажите адрес, дату жалобы и причину.
Ошибки CLEAR-ADDRESS
| Код | Причина | Тело |
|---|---|---|
401 | ключ отсутствует/неверен/отозван | {"errors":[{"detail":"Authentication failed. You have not provided a valid API key.","status":401}]} |
403 | ключ не admin | {"errors":[{"detail":"This endpoint (clear-address) requires an active subscription.","status":403}]} |
422 | не указан ipAddress | {"errors":[{"detail":"The ip address field is required.","status":422,"source":{"parameter":"ipAddress"}}]} |
422 | ipAddress не IPv4/IPv6 | {"errors":[{"detail":"The ip address must be a valid IPv4 or IPv6 address.","status":422,"source":{"parameter":"ipAddress"}}]} |
429 | дневной лимит | см. Лимиты |
Удаление необратимо: восстановить удалённые жалобы через API нельзя. Перед вызовом убедитесь, что адрес указан верно.
Версия 2.2.0 · AbuseIPDB.RU · webmaster@abuseipdb.ru · source: docs/ABUSE-API-clear-address.md