Events
Check One Event
POST
cURL
Check a single Event against the Policies and Metrics selected by active Conditions in your Environment. Use this endpoint for one message, tool output, function call, agent update, reasoning, or inline image artifact.
The
Parents and links are used for auditing and navigation in this API version. White Circle does not automatically add target content to moderation context.
Reference-only Events cannot declare
White Circle returns
How It Works
- You submit one Event with a
type, one content field, and optionalmetadata - Conditions match the Event’s metadata and select Policies and Metrics.
- Event selectors filter them to the submitted type and field
- You receive synchronous Policy results, and selected Metrics continue asynchronously.
If you omit all content fields, the request becomes a reference-only Event. White Circle looks up the latest matching result by
run_id and event_id.Example Request
Request Overview
Event Payload
Content Fields
Provide exactly one content field per Event.tool.arguments and function.arguments accept any JSON value, including a string, number, boolean, null, array, or nested object. White Circle preserves the JSON shape for moderation.
For an artifact image with raw base64 data, mime_type is optional for JPEG, PNG, WebP, and GIF content. White Circle detects the image type from the decoded bytes.
Response Overview
The verdict is reported once, at the top level. The
event object carries identity and status only.event object includes:
flagged and policies are present only when status is completed. For any other status no check ran, so the response states no verdict rather than reporting false.
note explains why:
Each Policy object includes:
flagged— Whether this Policy was violatedname— Human-readable Policy nameenabled_by_conditions— The Conditions that selected this Policy for this Event, which is why it was evaluated. Absent when no Condition was involved.
Conditions and Metadata
White Circle evaluates active Conditions against themetadata object on this Event. Matching Conditions select the applicable Policies and Metrics. Event selectors then filter them to this Event’s type, field, and direction.
Selected Metrics run asynchronously and are not returned in the synchronous policies map. View Metric results in the dashboard after processing completes.
See Conditions for expression syntax and Policy or Metric attachments.
Parents and Links
Use oneparent_event_id for the Event’s structural place in the run. Use links when an Event consumes multiple outputs or depends on Events from other runs:
parent_event_id or links because references are read-only lookups.
White Circle returns 400 for self-parenting, direct mutual parents such as A → B → A, and parent cycles contained in one batch. It does not recursively traverse all prior cross-request ancestors on the write path.
Event Identity and Retries
run_id and event_id help you connect Events to your own application data. They are not retry keys. If you submit the same run_id and event_id again, White Circle may run another check. The latest durable attempt (completed or failed) defines the current graph relationships. Each retry replaces the complete parent/link declaration set; omitted relationships are cleared from the current graph.
Use internal_event_id to refer to one saved result.
Reference an Existing Event
To reference an existing Event, send the type andevent_id without a content field:
referenced when the latest matching result has the same Event type. Otherwise, it returns not_found.
Tool Output Example
Authorizations
API Key required. Format: Bearer wc-your-api-key
Headers
API Version
Body
application/json
Response
Success
The Event a single check was run against. Identity and status only; the verdict lives on the response so it is stated exactly once.
Absent when no check ran, such as a reference, a failure, or an Event no Condition selected policies for.
