---
title: "Submit an abuse report"
method: POST
path: "/abuse-reports"
tags: ["Abuse Reports"]
---

# Submit an abuse report

`POST /abuse-reports`

## Request

- Base URL: `https://api.nippy.host`
- URL: `https://api.nippy.host/abuse-reports`
- Auth: none declared

Anonymous endpoint. Persists the report to the admin triage queue and emails it to the configured abuse inbox. Responds 204 in all success cases — honeypot-tripped submissions are silently dropped and look identical on the wire so bots can't probe.

## Request body

- CreateAbuseReportDto
  - `reportedUrl` string, uri, required: URL of the offending content
  - `category` 'phishing' | 'malware' | 'csam' | 'copyright' | 'spam' | 'other', required: Type of abuse being reported
  - `description` string, required: Free-text explanation of the issue
  - `reporterEmail` string, email: Reporter email (for follow-up). Optional.
  - `reporterName` string: Reporter name. Optional.
  - `_hp` string: Honeypot field — must remain empty. Submissions with a non-empty value are silently accepted and dropped.

## Response `204`

Report accepted

## Other responses

- `400`: Invalid input

---

[API](https://skmtc.dev/nippy/apis/nippy-backend-api.md) · [All operations](https://skmtc.dev/nippy/apis/nippy-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nippy/apis/nippy-backend-api/revisions/7ab23f040a55?raw)
