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