---
title: "Report content (DSA notice and action)"
method: POST
path: "/v1/reports"
tags: ["Reports"]
---

# Report content (DSA notice and action)

`POST /v1/reports`

## Request

- Base URL: `https://api.lizzflix.xyz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.lizzflix.xyz/v1/reports`
- Auth: none declared

Bearer optional. goodFaith must be true except for category csam. Signed-in reporters get the acknowledgement in-app (GET /v1/account/notices) and by email. A public notifier's address is unconfirmed, so its acknowledgement is stored but not sent; the reportId in this answer is the receipt.

## Request body

- ContentReportBody
  - `targetKind` 'asset' | 'render' | 'character' | 'location' | 'series' | 'other', required
  - `targetId` string
  - `targetUrl` string
  - `category` 'illegal' | 'ncii' | 'csam' | 'likeness' | 'copyright' | 'hate' | 'violence' | 'self_harm' | 'spam' | 'other', required
  - `explanation` string, required
  - `goodFaith` boolean, required
  - `notifierName` string
  - `notifierEmail` string
  - `locale` 'en' | 'ru'
  - `surface` 'web' | 'ios' | 'android' | 'mcp' | 'public'

## Response `201`

Report received

- ContentReportAccepted
  - `reportId` string, required
  - `status` 'received', required
  - `dueAt` string, required

## Other responses

- `400`: Invalid report (details.field names the field)
- `429`: Too many reports

---

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