Skip to main content
Every signal the platform sends back about a conversation, and what to do when you receive one. Beyond the generated reply, the platform tells you when a conversation is delayed, dropped, blocked, or banned. These signals arrive in two places: as fields on the answer object, and as webhook events. This page lists every one.

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 a conversationStopReason 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.

Flagged photos and videos

Nudity and explicit adult content are never flagged. These two events cover violence, self-harm and illegal content only.
Neither event stops anything. No ban, no conversationStopReason, and the conversation carries on. They are notifications: reviewing the content and deciding what happens to the user is yours. Block the conversation on your side while your moderation team decides.The two also behave differently from each other, and neither payload carries the rejection reason. Read the guides before you build on them: Vision Link: Photo and Vision Link: Video.
Configure what triggers the stop reasons in Core Guardian. See full field definitions in the Answer data type.