File Report
File a moderation report against a community entity.
Validates membership, prevents self-reports, and enforces a 24-hour duplicate guard.
Returns 201 Created with the new report on success. Returns 403 when the hub does not exist, the reporter is not a hub member, or the reporter is banned/soft-banned. All three cases return an identical response body so that hub IDs cannot be enumerated. Returns 422 when the report fails validation (self-report, duplicate, etc.). Returns 501 when reportable_type=‘message’ (not yet supported).
Security (R2.I1): hub-existence resolution happens INSIDE the route body using _err(), not via a Depends() that raises HTTPException. This ensures the “hub missing” 403 and the “not a member” 403 go through the same code path and produce byte-identical response bodies, preventing hub enumeration.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
Response
Successful Response