Claim a report for review. Transitions status `open` → `underReview` atomically; if the report has already been claimed by another moderator, returns `AlreadyTriaged`. Writes a `reportTriaged` audit row. Requires the caller to be an active moderator.
Input
application/jsonreportId
integer
Required
No description available.
minimum: 1Output
application/jsonauditEntryId
integer
Required
No description available.
status
refapp.tempomusic.staff.defs#reportStatus
Required
No description available.
Errors
Forbidden
Caller is not an active moderator. NotFound
AlreadyTriaged
The report is no longer in the `open` state. Another moderator has claimed it or it has been resolved. Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"description": "Claim a report for review. Transitions status `open` → `underReview` atomically; if the report has already been claimed by another moderator, returns `AlreadyTriaged`. Writes a `reportTriaged` audit row. Requires the caller to be an active moderator.",
"errors": [
{
"description": "Caller is not an active moderator.",
"name": "Forbidden"
},
{
"name": "NotFound"
},
{
"description": "The report is no longer in the `open` state. Another moderator has claimed it or it has been resolved.",
"name": "AlreadyTriaged"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"reportId": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"reportId"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"auditEntryId": {
"minimum": 1,
"type": "integer"
},
"status": {
"ref": "app.tempomusic.staff.defs#reportStatus",
"type": "ref"
}
},
"required": [
"status",
"auditEntryId"
],
"type": "object"
}
},
"type": "procedure"
}