Endpoint
POST https://requiems.xyz/v1/systems/content/moderate
Moderate Content
Check text for profanity, toxicity, sentiment, and language. Returns per-category flags and an is_safe boolean for gating content.
Parameters
| Name |
Type |
Required |
Location |
Description |
text |
string |
yes |
body |
The text to moderate. Any language. Required. |
language |
string |
no |
body |
ISO 639-1 language code (e.g. en, de, fr). When provided, language detection is skipped and confidence is set to 1.0. |
Request Example
{
"text": "This is some user-generated content.",
"language": "en"
}
Response Example
{
"data": {
"is_safe": true,
"toxicity_score": null,
"sentiment": "neutral",
"language": "en",
"language_confidence": 1.0,
"flags": [],
"categories": {
"profanity": false,
"hate_speech": false,
"spam": false,
"violence": false
}
},
"metadata": {
"timestamp": "2026-01-01T00:00:00Z"
}
}
Response Fields
| Field |
Type |
Description |
is_safe |
boolean |
False when any moderation category is triggered. True otherwise. |
toxicity_score |
number |
Reserved for future use. Currently always null. |
sentiment |
string |
Detected sentiment: positive, negative, or neutral |
language |
string |
Detected or provided ISO 639-1 language code. Null when detection confidence is 0. |
language_confidence |
number |
Confidence in the detected language from 0.0 to 1.0. 1.0 when language was explicitly provided. |
flags |
array |
Triggered moderation flags. Currently possible: text_profanity |
categories |
object |
Per-category boolean flags: profanity, hate_speech, spam, violence |
Errors
undefined 422 — text field is missing or empty
undefined 401 — Missing or invalid API key
1---2name: data-integrity-post-moderate3description: Check text for profanity, toxicity, sentiment, and language. Returns per-category flags and an is_safe boolean for gating content.4---5
6## Endpoint
7
8**POST https://requiems.xyz/v1/systems/content/moderate**
9
10## Moderate Content
11
12Check text for profanity, toxicity, sentiment, and language. Returns per-category flags and an is_safe boolean for gating content.
13
14## Parameters
15
16| Name | Type | Required | Location | Description |
17| ---- | ---- | -------- | -------- | ----------- |
18| `text` | string | yes | body | The text to moderate. Any language. Required. |
19| `language` | string | no | body | ISO 639-1 language code (e.g. en, de, fr). When provided, language detection is skipped and confidence is set to 1.0. |
20
21## Request Example
22
23```json
24{
25 "text": "This is some user-generated content.",
26 "language": "en"
27}
28```
29
30## Response Example
31
32```json
33{
34 "data": {
35 "is_safe": true,
36 "toxicity_score": null,
37 "sentiment": "neutral",
38 "language": "en",
39 "language_confidence": 1.0,
40 "flags": [],
41 "categories": {
42 "profanity": false,
43 "hate_speech": false,
44 "spam": false,
45 "violence": false
46 }
47 },
48 "metadata": {
49 "timestamp": "2026-01-01T00:00:00Z"
50 }
51}
52```
53
54## Response Fields
55
56| Field | Type | Description |
57| ----- | ---- | ----------- |
58| `is_safe` | boolean | False when any moderation category is triggered. True otherwise. |
59| `toxicity_score` | number | Reserved for future use. Currently always null. |
60| `sentiment` | string | Detected sentiment: positive, negative, or neutral |
61| `language` | string | Detected or provided ISO 639-1 language code. Null when detection confidence is 0. |
62| `language_confidence` | number | Confidence in the detected language from 0.0 to 1.0. 1.0 when language was explicitly provided. |
63| `flags` | array<string> | Triggered moderation flags. Currently possible: text_profanity |
64| `categories` | object | Per-category boolean flags: profanity, hate_speech, spam, violence |
65
66## Errors
67
68- `undefined` **422** — text field is missing or empty
69- `undefined` **401** — Missing or invalid API key