---
title: "Report a public task or comment"
method: POST
path: "/api/content-reports"
---

# Report a public task or comment

`POST /api/content-reports`

## Request

- Base URL: `https://www.toma.com`
- URL: `https://www.toma.com/api/content-reports`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `better-auth.session_token`

Verified members may submit up to 10 reports per UTC day. Duplicate reports by the same member about unchanged content return the original receipt. Staff privately review evidence; reporting does not automatically hide content. Do not include secrets in details.

## Request body

- object
  - `targetType` 'task' | 'comment', required
  - `targetId` string, required
  - `reason` 'spam' | 'fraud' | 'harassment' | 'hate' | 'sexual_content' | 'dangerous_or_illegal' | 'privacy' | 'discrimination' | 'other', required
  - `details` string

## Response `201`

The report receipt.

- object
  - `id` string, required
  - `targetType` 'task' | 'comment', required
  - `targetId` string, required
  - `status` 'open' | 'dismissed' | 'removed', required
  - `createdAt` string, date-time, required
  - `resolvedAt` string, date-time, nullable, required

## Other responses

- `400`: Invalid report.
- `401`: Sign in first.
- `403`: Account not verified.
- `404`: Content is not public.
- `413`: The request body exceeds 2097152 bytes.
- `429`: Report limit reached; Retry-After gives seconds to wait.
- `503`: Limits unavailable; no report saved.

---

[API](https://skmtc.dev/toma/apis/toma-api.md) - [All operations](https://skmtc.dev/toma/apis/toma-api/llms.txt) - [OpenAPI document](https://skmtc.dev/toma/apis/toma-api/revisions/b4e56e1db5a2?raw)
