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 an image is rejected.

Conversation stop reasons

When a guardrail stops a conversation, the next answer carries a conversationStopReason. Permanent reasons end the conversation; progressive ones set a conversationStoppedUntil timestamp.
What to do. Progressive bans default to 2h → 12h → 24h → 48h → permanent. Wait until conversationStoppedUntil before sending again; for permanent reasons, stop the conversation. Durations are configurable per project in Core Guardian.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

Image rejection reasons

A chat.image.rejected event includes a reason explaining the moderation failure.
Configure what triggers these signals in Core Guardian. See full field definitions in the Answer data type.