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/projects/:projectId/moderation/queue/:itemId/{approve,reject,escalate}.

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

content_type is one of review, message, media, feed_item, user or content; any other value fails with 500 CREATE_FAILED. content_id is a UUID.

Response 201

The report comes back in the same shape as GET /client/moderation/reports:

{
  "data": {
    "id": "…",
    "reporter_id": "…",
    "target_type": "message",
    "target_id": "…",
    "reason": "spam",
    "status": "pending",
    "notes": null,
    "created_at": "…",
    "resolved_at": null
  }
}

Errors

  • 400 INVALID_CONTENT_ID — content_id isn't a UUID.
  • 500 CREATE_FAILED.

Try it:

POST/client/moderation/report
client auth
curl -X POST 'https://api.amba.dev/v1/client/moderation/report' \
  -H 'Content-Type: application/json' \
  -d '{
  "content_type": "message",
  "content_id": "<message_id>",
  "reason": "spam"
}'
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 '{"content_type":"message","content_id":"<message_id>","reason":"spam"}'

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/v1/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