Amba

Moderation

User-initiated content reports.

Clients can file a report on any content type + id; the row lands in moderation_queue with status = 'pending' where admins resolve it via /admin/moderation/queue/:itemId/{approve,reject,escalate}.

Source: apps/api/src/routes/client/moderation.ts.

Endpoints

MethodPathDescription
POST/client/moderation/reportFile a report.
GET/client/moderation/reportsCaller's own reports.

POST /client/moderation/report

Request (ReportContentInput)

FieldTypeRequired
content_typestringyes
content_idstringyes
reasonstringno

Response 201

{
  "data": {
    "id": "…",
    "content_type": "…",
    "content_id": "…",
    "reported_by": "…",
    "reason": "…",
    "status": "pending"
  }
}

Errors

  • 500 CREATE_FAILED.

Try it:

POST/client/moderation/report
client auth
curl -X POST 'https://api.amba.dev/client/moderation/report'
Loading auth… Configure auth in the settings drawer (top-right) to run this request.

Curl:

curl -X POST '${BASE_URL}/client/moderation/report' \
  -H 'X-Api-Key: ${CLIENT_API_KEY}' \
  -H 'Authorization: Bearer ${SESSION_TOKEN}' \
  -H 'Content-Type: application/json' \
  -d '{}'

GET /client/moderation/reports

Caller's own reports, newest first.

Response 200

{
  "data": [
    {
      "id": "…",
      "content_type": "…",
      "content_id": "…",
      "reason": "…",
      "status": "pending",
      "created_at": "…"
    }
  ]
}

Try it:

GET/client/moderation/reports
client auth
curl -X GET 'https://api.amba.dev/client/moderation/reports'
Loading auth… Configure auth in the settings drawer (top-right) to run this request.

Curl:

curl -X GET '${BASE_URL}/client/moderation/reports' \
  -H 'X-Api-Key: ${CLIENT_API_KEY}' \
  -H 'Authorization: Bearer ${SESSION_TOKEN}'

On this page