# Record a report about something posted

`POST /safety/reports` · Rivier · compliance

Record a report about something posted: what it is, the reason and what the reporter said.

- Scope: compliance:write
- Mcp: rivier_safety_report
- Graphql: Mutation.complianceSafetyReport
- Sdk: compliance.safety.report
- Cli: compliance safety report

## Request body

`application/json`

```json
{
  "type": "object",
  "properties": {
    "subject": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "asset",
            "url",
            "text",
            "other"
          ]
        },
        "ref": {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        }
      },
      "required": [
        "kind",
        "ref"
      ],
      "additionalProperties": false
    },
    "reason": {
      "type": "string",
      "enum": [
        "abuse",
        "child_safety",
        "hate",
        "violence",
        "sexual",
        "self_harm",
        "illegal",
        "intellectual_property",
        "privacy",
        "spam",
        "other"
      ]
    },
    "detail": {
      "type": "string",
      "maxLength": 2000,
      "default": ""
    },
    "reporter": {
      "type": "string",
      "maxLength": 200,
      "default": ""
    }
  },
  "required": [
    "subject",
    "reason"
  ],
  "additionalProperties": false
}
```

## Responses

- `201`: Success
- `400`: The request was malformed
- `401`: No valid credential
- `403`: The credential lacks the scope, origin or address
- `429`: Over the key's rate limit; see Retry-After

## Example

```sh
curl -X POST 'https://api.rivier.ai/safety/reports' \
  -H 'Authorization: Bearer $KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "subject": {
    "kind": "asset",
    "ref": "string"
  },
  "reason": "abuse"
}'
```
