Skip to main content

Abuse Reports

Create Abuse Report

Creates a new abuse report which will be reviewed by our system and abuse response team. This API is only available to authorized accounts. Contact abuse@ngrok.com to request access

Request

POST /abuse_reports

Example Request

curl \
-X POST \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-H "Ngrok-Version: 2" \
-d '{"metadata":"{\"incident_id\":1233122}","urls":["http://legit-facebook-login.ngrok.io/login"]}' \
https://api.ngrok.com/abuse_reports

Parameters

NameTypeDescription
urlsList<string>a list of URLs containing suspected abusive content
metadatastringarbitrary user-defined data about this abuse report. Optional, max 4096 bytes.

Response

Returns a 201 response on success

Example Response

{
"created_at": "2024-08-02T07:15:38Z",
"hostnames": [
{
"hostname": "legit-facebook-login.ngrok.io",
"status": "PENDING"
}
],
"id": "abrp_2k5ok7SyKuOUq8gSWx1VaIfg4NT",
"metadata": "{\"incident_id\":1233122}",
"status": "PENDING",
"uri": "https://api.ngrok.com/abuse_reports/abrp_2k5ok7SyKuOUq8gSWx1VaIfg4NT",
"urls": ["http://legit-facebook-login.ngrok.io/login"]
}

Fields

NameTypeDescription
idstringID of the abuse report
uristringURI of the abuse report API resource
created_atstringtimestamp that the abuse report record was created in RFC 3339 format
urlsList<string>a list of URLs containing suspected abusive content
metadatastringarbitrary user-defined data about this abuse report. Optional, max 4096 bytes.
statusstringIndicates whether ngrok has processed the abuse report. one of PENDING, PROCESSED, or PARTIALLY_PROCESSED
hostnamesAbuseReportHostnamean array of hostname statuses related to the report

AbuseReportHostname fields

NameTypeDescription
hostnamestringthe hostname ngrok has parsed out of one of the reported URLs in this abuse report
statusstringindicates what action ngrok has taken against the hostname. one of PENDING, BANNED, UNBANNED, or IGNORE

Get Abuse Report

Get the detailed status of abuse report by ID.

Request

GET /abuse_reports/{id}

Example Request

curl \
-X GET \
-H "Authorization: Bearer {API_KEY}" \
-H "Ngrok-Version: 2" \
https://api.ngrok.com/abuse_reports/abrp_2k5ok7SyKuOUq8gSWx1VaIfg4NT

Response

Returns a 200 response on success

Example Response

{
"created_at": "2024-08-02T07:15:38Z",
"hostnames": [
{
"hostname": "legit-facebook-login.ngrok.io",
"status": "PENDING"
}
],
"id": "abrp_2k5ok7SyKuOUq8gSWx1VaIfg4NT",
"metadata": "{\"incident_id\":1233122}",
"status": "PENDING",
"uri": "https://api.ngrok.com/abuse_reports/abrp_2k5ok7SyKuOUq8gSWx1VaIfg4NT",
"urls": ["http://legit-facebook-login.ngrok.io/login"]
}

Fields

NameTypeDescription
idstringID of the abuse report
uristringURI of the abuse report API resource
created_atstringtimestamp that the abuse report record was created in RFC 3339 format
urlsList<string>a list of URLs containing suspected abusive content
metadatastringarbitrary user-defined data about this abuse report. Optional, max 4096 bytes.
statusstringIndicates whether ngrok has processed the abuse report. one of PENDING, PROCESSED, or PARTIALLY_PROCESSED
hostnamesAbuseReportHostnamean array of hostname statuses related to the report

AbuseReportHostname fields

NameTypeDescription
hostnamestringthe hostname ngrok has parsed out of one of the reported URLs in this abuse report
statusstringindicates what action ngrok has taken against the hostname. one of PENDING, BANNED, UNBANNED, or IGNORE