On the answer object
conversationStopReason and conversationStoppedUntil tell you if and why a conversation was stopped.As webhook events
Pushed to your endpoint as a conversation progresses, or when a photo or video is flagged.
Conversation stop reasons
When a guardrail stops a conversation, the next answer carries aconversationStopReason and a conversationStoppedUntil timestamp. Most bans are progressive: they grow with each repeated offence. USER_UNDERAGE is permanent, and USER_HOSTILE is always a fixed 24 hours.
What to do. Wait until
conversationStoppedUntil before sending us new messages for this user and Persona pair; for USER_UNDERAGE, stop the conversation for good. A permanent ban is expressed as a date roughly a century in the future, so you can always compare conversationStoppedUntil with the current time instead of special-casing it.Progressive bans default to 2h → 12h → 24h → 48h → permanent. You can override those durations per project in Core Guardian for the reasons marked configurable above. The jailbreak (USER_SUSPICIOUS) and hostility (USER_HOSTILE) guardrails always run and always use the platform durations — and hostility does not escalate, every hostility ban lasts 24 hours.A ban applies only to the current conversation. The user’s other conversations are unaffected, and they can start a new one normally.Webhook events
The first three arrive on every project. The last two do not: they have to be added to your project’s event list by hand, in your settings. Until you add them, flagged photos and videos are analyzed and billed, and nobody is told.