View .md

AbuseIPDB endpoints (Admin API)

4 FeatherPanel Admin API endpoints from admin/abuseipdb.php: methods, paths, auth, permissions, rate limits, parameters and responses.

Last synced from FeatherPanel 15b94e9 on .

On this page

Defined in backend/app/routes/admin/abuseipdb.php. Authentication used here: Admin. Read Authentication for how to send credentials and Rate limits and errors for the response envelope.

Paths, methods, permissions and rate limits come from the route file. Summaries, parameters and response codes come from the OpenAPI annotations on the controllers; endpoints without annotations show only what the route file declares.

Endpoints

GET/api/admin/abuseipdb/status

Auth: AdminPermission: admin.users.listRoute name: admin-abuseipdb-statusController: AbuseIPDBController::statusroute source

AbuseIPDB integration status Returns whether AbuseIPDB is enabled and configured (API key presence only, never the key).

curl -X GET "$PANEL_URL/api/admin/abuseipdb/status" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Responses: 200 Status retrieved · 401 Unauthorized · 403 Forbidden

GET/api/admin/abuseipdb/categories

Auth: AdminPermission: admin.users.listRoute name: admin-abuseipdb-categoriesController: AbuseIPDBController::categoriesroute source

List AbuseIPDB report categories

curl -X GET "$PANEL_URL/api/admin/abuseipdb/categories" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Responses: 200 Categories retrieved

GET/api/admin/abuseipdb/check

Auth: AdminPermission: admin.users.listRoute name: admin-abuseipdb-checkController: AbuseIPDBController::checkroute source

Check a single IP against AbuseIPDB

ParameterInTypeRequiredDescription
ipquerystringyes
max_age_daysqueryintegerno
verbosequerybooleanno
curl -X GET "$PANEL_URL/api/admin/abuseipdb/check?ip=$IP" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"

Responses: 200 Check completed · 400 Invalid request or not configured

POST/api/admin/abuseipdb/scan

Auth: AdminPermission: admin.users.listRoute name: admin-abuseipdb-scanController: AbuseIPDBController::scanroute source

Scan panel users against AbuseIPDB Checks unique public first_ip/last_ip values for non-deleted users in batches to respect API rate limits.

Body fieldTypeRequiredDescription
offsetintegerno
limitintegerno
min_scoreintegernoOverride configured minimum confidence score
max_age_daysintegerno
only_flaggedbooleanno
curl -X POST "$PANEL_URL/api/admin/abuseipdb/scan" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"offset":0,"limit":0,"min_score":0,"max_age_days":0,"only_flagged":false}'

Responses: 200 Scan batch completed · 400 Not configured