flagged_categories in the request body: abliteration.ai runs the last user message through moderation, and if the result intersects your list, the call is rejected with 400 before it reaches the model. No Policy Gateway subscription or policy setup is required.
This is the inline, per-request control. For org-wide governance that applies to every request on a project — including rewrites, redaction, allow/deny lists, and audit logs — use the Policy Gateway, where flagged_categories is one of the rule fields.
Parameter
| Field | flagged_categories (also accepts flaggedCategories) |
| Location | Top level of the request body |
| Type | Array of category strings |
| Endpoints | /v1/chat/completions, /v1/messages |
Categories
Per request, four categories are honored. Any other value is ignored.| Value | Blocks |
|---|---|
harassment | Abusive or insulting language toward a target. |
hate | Derogatory or hateful content about a protected group. |
illicit | Requests for wrongdoing, fraud, or prohibited activity. |
sexual | Sexual content involving explicit acts. |
The Policy Gateway rule of the same name supports the full OpenAI-moderation set, including granular child-safety, self-harm, and violence variants. See policy rules.
Always blocked
A minimal safety floor applies to every request, independent offlagged_categories — you cannot opt out of it, and it applies even when flagged_categories is omitted:
| Always blocked | Rejection message |
|---|---|
| Child sexual content | Content flagged: Sexual harm against minors. |
| Self-harm content | Content flagged: Self-harm. |
flagged_categories or a policy.
If a legitimate use case is blocked, email help@abliteration.ai.
Example
Rejection
When the moderation result intersects your list, the request is rejected with HTTP400 and a message naming the triggered categories, for example Content flagged: Harassment, Hate. The model is never called and the request is not billed for completion tokens.