Command Palette
Search for a command to run...
POST /v1/report#
POST
/api/v1/report Public — no key Submit a report about a specific question. No API key required — this is intentionally accessible to any consumer of the API or the data dump.
Non-developer alternative: /legal/report — a human-friendly form that calls this same endpoint internally, with three ways to identify the question (ID, text, or URL).
Rate-limited to 5 requests per minute per IP to prevent spam. Reports are reviewed by our team; if you provide reporterEmail, we’ll follow up after triage.
This endpoint is also the documented channel for translation correction requests under Polish copyright law (Pr.Aut. Art. 16(3), moral rights).
Body#
| Parameter | Type | Default | Description |
|---|---|---|---|
| questionId | UUID | — | The `id` of the question you are reporting. Optional — provide one of `questionId`, `questionText`, or `questionUrl`. |
| questionText | string | — | Text of the question if you do not have an ID (10-2000 chars). Optional — provide one of the three identifiers. |
| questionUrl | URL | — | Public URL where you saw the question (max 500 chars). Optional — provide one of the three identifiers. |
| type | enum | — | One of: `translation` (mistranslation, distortion), `factual` (wrong answer or premise), `inappropriate` (offensive content), `attribution` (incorrect or missing attribution), `other`. Required. |
| comment | string | — | What is wrong, in your own words. Max 2000 characters. |
| reporterEmail | string | — | Your email if you want a follow-up. Optional. We do not subscribe you to anything. |
Examples#
Response#
{
"received": true,
"reportId": "019df4c5-1234-7abc-9def-0123456789ab",
"meta": {
"requestId": "req_..."
}
}{
"type": "https://quizbase.runriva.com/errors/question_not_found",
"title": "Question not found",
"status": 404,
"detail": "No question with id=...",
"instance": "/api/v1/report",
"code": "question_not_found"
}{
"type": "https://quizbase.runriva.com/errors/rate_limit_exceeded",
"title": "Too Many Reports",
"status": 429,
"detail": "Report rate limit exceeded. Limit: 5/minute per IP. Retry after: 47s.",
"instance": "/api/v1/report",
"code": "rate_limit_exceeded",
"retryAfter": 47
}Performance#
- p50 (warm): ~50ms
- p95: <200ms (single insert + Redis rate-limit bucket)
- Last measured: 2026-05-07
- SLO: p95 < 500ms, error rate < 1%
See also#
- GET /v1/questions/:id — look up the question whose id you’ll report
- Support — other support channels and what to include