Basic Text Format
Pass the content directly as a string in thecontent field:
Multi-turn Content
For multi-turn interactions, include all relevant messages to give White Circle the full context:Only the last message in the array is evaluated for policy violations and metrics. Earlier messages provide context but are not themselves checked.
Structured Text Format
You can also use the explicit structured format withtype: "input_text". This is equivalent to the string format but allows you to mix text with images in the same message:
Group Conversations
When moderating content from multiple users (e.g., group chats, forums, collaborative documents), include theuser.id in each message’s metadata to identify who sent what:
Including
user.id in metadata enables Risk Scoring. You can also include user.email and user.ip for stronger cross-session correlation.Why User IDs Matter in Group Content
Without user IDs, White Circle only knows that someone in the group sent violating content. With user IDs:- Pinpoint the source — know exactly which user triggered the violation
- Track repeat offenders — build risk profiles per user across all their sessions
- Enable targeted actions — take action against specific users, not the whole group
Best Practices
Include system prompts
Include system prompts
If your AI has a system prompt, include it in the check. This helps White Circle understand the intended behavior and detect violations that involve circumventing instructions.
Check both user and assistant messages
Check both user and assistant messages
Moderate both sides of the interaction:
- User messages may contain harmful requests, attempts to jailbreak the AI, or policy-violating content
- Assistant messages may contain inappropriate responses, leaked information, or harmful advice
Use session tracking
Use session tracking
For ongoing interactions, use
external_session_id to:- Track all checks for a session
- Enable context merging
- Link sessions to users for Risk Scoring
Response
For text-only requests, the response still uses the session envelope. In that case,artifacts is typically empty:
