Skip to main content
POST
Detect KOSA-aligned harm signals in text

Authorizations

Authorization
string
header
required

API key as Bearer token

Body

application/json
text
string
required

The content to analyze

Maximum string length: 10000
context
object
options
object
support_threshold
enum<string>

Top-level alias for options.support_threshold. Minimum severity to show crisis support resources (default: high). Critical always shows.

Available options:
low,
medium,
high,
critical
external_id
string

Your unique identifier (e.g. message ID, content ID) for correlating Tuteliq results with your own system. Echoed back in the response and included in webhook payloads so you can match alerts to the original content.

Maximum string length: 255
customer_id
string

Your end-customer identifier for multi-tenant / B2B2C scenarios. If you serve multiple customers (schools, apps, brands) from a single API key, set this to route webhook alerts to the correct customer. Echoed back in the response and included in webhook payloads as "customerId".

Maximum string length: 255
metadata
object

Arbitrary key-value pairs for additional context (e.g. { "channel": "discord", "region": "eu" }). Stored with the detection result, echoed in the response, and included in webhook payloads. Maximum 20 properties.

incident_moderation_enabled
boolean

Per-call override of your account incident logging setting. When set, it takes precedence over the account-level flag for THIS request: true forces the incident to be persisted, false suppresses persistence. Omit to use your account default (which itself defaults to enabled). Lets you control incident logging per request, e.g. suppress logging for test traffic.

Response

200 - application/json

Default Response

unsafe
boolean

Unsafe-content signal observed at ANY severity (including low / monitor cases). For production branching prefer recommended_action (flag_for_review / block / immediate_intervention), which is a stable enum, over the bare presence of a signal.

categories
string[]
severity
enum<string>
Available options:
low,
medium,
high,
critical
confidence
number
risk_score
number
rationale
string

Routing key, weakest to strongest: none, monitor, flag_for_review, block, immediate_intervention. Safe to switch on.

Available options:
none,
monitor,
flag_for_review,
block,
immediate_intervention
action_detail
string

Optional human-readable expansion of recommended_action for a moderator UI. Free text: do not branch on it.

language
string

Language code used for analysis (auto-detected or provided)

language_status
enum<string>

Language support maturity: "stable" (en) or "beta" (all others)

Available options:
stable,
beta
credits_used
number

Number of credits consumed by this request

external_id
string

Echo of the external_id you provided in the request

customer_id
string

Echo of the customer_id you provided in the request

metadata
object

Echo of the metadata you provided in the request

support
object

Country-specific crisis helplines and response guidance (only included for high/critical severity)