Match Chat
Report A Chat Message
Flag a chat message for staff moderation as a participant.
POST
Permission Required
This endpoint requireschat.write:write on your API key. The reporter is always the API key owner, derived from the key itself - it is never accepted as a body field. A free (api_free) key receives 403 error_api_feature_required; this requires an api_pro+ plan.
Access / Membership Rules
This route is participant-gated. The API key owner may only report a message in a chat room they participate in. The gate is re-applied inside Convex: a non-participant returns403 CHAT_ACCESS_DENIED. A missing message returns 404 MESSAGE_NOT_FOUND; a system message or the owner’s own message cannot be reported and returns 400.
Reporting is idempotent at the report level: reporting the same message twice returns the existing report ID with alreadyReported: true and fires no second moderation webhook. The route also supports the Idempotency-Key header.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
reason | string | No | Optional reason for the report (max 500 chars). |
What’s Returned
Returns an object withsuccess: true, the reportId (the existing one when already reported), an alreadyReported flag, and a timestamp. Mintlify renders the full schema from the spec below.
Authorizations
Send your API key as: Authorization: Bearer tb_
Path Parameters
ID of the chat message to report.
Body
application/json
Reports a chat message for staff moderation review.
Optional reason for the report (max 500 chars).
Maximum string length:
500