Events are available in API version
2026-06-01. Send whitecircle-version: 2026-06-01 on every Events request.How It Works
- You send one Event with
POST /api/eventor up to 50 Events withPOST /api/events - Conditions match that Event’s metadata and select the applicable Policies and Metrics
- Event selectors filter those Policies and Metrics to the submitted type and field
- White Circle evaluates the Event against the Events that came before it and returns an
internal_event_idfor each completed result
Both endpoints check the same way.
POST /api/event returns the verdict at the top level for the one Event you sent, so there is nothing to match up. POST /api/events returns results grouped into typed buckets, which you index by event_id.When to Use Events
Use Events for:- Checking user and assistant messages separately
- Checking tool or function arguments, definitions, and outputs
- Checking agent input, instructions, output, or state
- Checking reasoning text you choose to submit
- Checking inline image Artifacts alongside messages or tool calls
- Referencing an Event created earlier in the same batch or already stored by White Circle
- Recording one structural parent plus causal links for agent fan-in and cross-run provenance
Check One Event
Submit one message, tool call, agent update, reasoning text, or artifact Event.
Check Multiple Events
Submit several Events in one request and receive typed result buckets.
Get a Run Graph
Load durable parent and causal-link relationships for a run.
Event Context
Understand how previous Events inform the check of the current Event.
Conditions
Learn how Conditions select Policies and Metrics for each Event.
Artifact Events
Check inline image artifacts alongside other Events.
Standalone Artifacts
Submit standalone image artifacts with the artifact API endpoint.
Event Types
Each Event has atype and at most one content field to check.
If an Event has no content field, White Circle treats it as a reference to an existing Event. Reference-only Events must include
event_id.
Event Identity and Retries
Events use two kinds of identifiers:run_id and event_id help you connect Events to your own application data. They are not retry keys. Every Event you submit with content is checked and saved on its own, so sending the same run_id and event_id twice produces two results with different internal_event_id values. Retrying a failed request therefore checks the content again rather than returning the first result.
Reusing run_id also groups Events into one conversation for context when you send no external_session_id.
Reference Behavior
Reference-only Events resolve byrun_id + event_id. White Circle returns the latest matching result when it has the same Event type.
Roles and Policy Targeting
Message Events require a role when they include content. Use:
For non-message Events, White Circle filters Policies and Metrics based on the Event type and field. For example,
tool.output can target tool-output Policies, while agent.state can target agent-state policies.
Conditions and Event Metadata
Conditions determine which Policies are candidates for each Event. White Circle evaluates Conditions against themetadata object on that Event, then applies Event type, field, and direction selectors to the selected Policies.
enabled_by_conditions when one or more matching Conditions select the Policy. See Conditions for expression syntax and attachment behavior.
Limits
Event IDs may contain letters, numbers,
., _, :, and -.