Skip to main content

Overview

The Reports API allows users to flag inappropriate content and provides administrators with tools to review, update, and manage these reports.
Report retrieval, updates, and deletion require admin authentication. Creating reports may be available to authenticated users depending on your platform configuration.

Create Report

Submit a new content report for review.
curl -X POST "https://frontend-api-v3.pump.fun/reports" \
  -H "Authorization: Bearer <your_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "targetId": "string",
    "type": "scam",
    "reason": "This token appears to be a scam"
  }'
Request Body Schema Refer to CreateReportDto schema for complete field definitions. Typically includes:
targetId
string
required
The ID or mint address of the content being reported
type
string
required
The type of report (e.g., “scam”, “offensive”, “spam”, “nsfw”)
reason
string
required
Detailed explanation of why the content is being reported
Response Returns a 201 status code with the created report details.

Report Comment

Submit a report specifically for comment content.
curl -X POST "https://frontend-api-v3.pump.fun/reports/reportComment" \
  -H "Authorization: Bearer <your_token>" \
  -H "x-client-key: your_client_key" \
  -H "Content-Type: application/json" \
  -d '{
    "commentId": "string",
    "reason": "offensive"
  }'
x-client-key
string
required
Client authentication key for the request
Request Body Schema Refer to CreateCommentReportDto schema for complete field definitions.
commentId
string
required
The ID of the comment being reported
reason
string
required
The reason for reporting the comment

Get Reports

Retrieve a list of reports with filtering and pagination options.
curl -X GET "https://frontend-api-v3.pump.fun/reports?limit=50&offset=0&type=all&done=false&createdAtFrom=&createdAtTo=&isCurrentlyLive=false" \
  -H "Authorization: Bearer <your_token>"
Query Parameters
limit
number
required
Maximum number of reports to return (e.g., 50)
offset
number
required
Number of reports to skip for pagination (e.g., 0 for first page)
type
string
required
Filter by report type (e.g., “scam”, “offensive”, “spam”, “all”)
done
string
required
Filter by resolution status: “true” for resolved, “false” for pending
createdAtFrom
string
required
Filter reports created after this date (ISO 8601 format)
createdAtTo
string
required
Filter reports created before this date (ISO 8601 format)
isCurrentlyLive
string
required
Filter for reports on currently live content (“true” or “false”)
Response Returns a paginated list of reports with details including:
  • Report ID
  • Target content information
  • Report type and reason
  • Reporter information
  • Created timestamp
  • Resolution status

Update Report

Update the status or details of an existing report.
curl -X POST "https://frontend-api-v3.pump.fun/reports/update" \
  -H "Authorization: Bearer <your_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "reportId": "string",
    "done": true,
    "action": "banned",
    "notes": "Content removed and user banned"
  }'
Request Body
reportId
string
required
The ID of the report to update
done
boolean
required
Whether the report has been resolved
action
string
required
The action taken (e.g., “banned”, “hidden”, “ignored”, “no_action”)
notes
string
Additional notes about the resolution

Delete Report

Remove a report from the system (typically after resolution).
curl -X DELETE "https://frontend-api-v3.pump.fun/reports/{id}" \
  -H "Authorization: Bearer <your_token>"
id
string
required
The ID of the report to delete
Response Returns a 200 status code on successful deletion.
Deleting a report is permanent. Consider updating the report status instead if you need to maintain audit trails.

Report Workflow

A typical report handling workflow:
  1. Submission: User submits report via POST /reports
  2. Review: Admin retrieves reports via GET /reports with appropriate filters
  3. Investigation: Admin reviews reported content and context
  4. Action: Admin takes appropriate action:
    • Mark content as hidden/NSFW via content filtering endpoints
    • Ban user via ban management endpoints
    • Ignore if report is invalid
  5. Update: Admin updates report via POST /reports/update
  6. Cleanup: Optionally delete resolved reports via DELETE /reports/{id}

Report Types

Common report types include:
  • scam: Fraudulent or deceptive content
  • offensive: Hate speech or offensive material
  • spam: Repetitive or unwanted content
  • nsfw: Adult or explicit content
  • copyright: Copyright infringement
  • impersonation: Fake or misleading identity
  • other: Other policy violations

Best Practices

  1. Respond promptly: Address high-priority reports quickly
  2. Investigate thoroughly: Review context before taking action
  3. Provide feedback: Update reports with clear actions taken
  4. Track patterns: Monitor reports to identify repeat offenders
  5. Maintain records: Keep audit trails of moderation decisions
  6. Use filters effectively: Prioritize reports by type and status
  7. Batch processing: Handle similar reports together for consistency
  8. Communicate clearly: Document reasons for actions in report notes

Build docs developers (and LLMs) love