> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whitecircle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Event Results

Retrieve the results of a previously evaluated Event. You can look up an Event by the `internal_event_id` returned from `POST /api/event` or by your own `run_id` and `event_id`.

## Lookup Methods

Use one of these routes:

| Route                                                       | Use when                                           |
| ----------------------------------------------------------- | -------------------------------------------------- |
| `GET /api/event/{internal_event_id}?environment_id=...`     | You have the White Circle ID for one saved result. |
| `GET /api/event?environment_id=...&run_id=...&event_id=...` | You want the latest result for your own Event IDs. |

<Tip>For exact lookups, prefer `internal_event_id`. If you submit the same `run_id` and `event_id` more than once, lookup by `run_id` and `event_id` returns the latest matching result.</Tip>

## Example Requests

Using the internal Event ID:

```bash theme={null}
curl -X GET "https://eu.whitecircle.com/api/event/a1b2c3d4-e5f6-4890-abcd-ef1234567890?environment_id=environment_123" \
  -H "Authorization: Bearer wc-your-api-key" \
  -H "whitecircle-version: 2026-06-01"
```

Using your Event IDs:

```bash theme={null}
curl -X GET "https://eu.whitecircle.com/api/event?environment_id=environment_123&run_id=run_refund_123&event_id=evt_user_001" \
  -H "Authorization: Bearer wc-your-api-key" \
  -H "whitecircle-version: 2026-06-01"
```

You can also require a specific Event type:

```bash theme={null}
curl -X GET "https://eu.whitecircle.com/api/event?environment_id=environment_123&run_id=run_refund_123&event_id=evt_user_001&type=message" \
  -H "Authorization: Bearer wc-your-api-key" \
  -H "whitecircle-version: 2026-06-01"
```

## Query Parameters

Pass `environment_id` on every request to either route.

For `GET /api/event?run_id=...&event_id=...`:

| Field            | Type   | Required | Description                                                                                     |
| ---------------- | ------ | -------- | ----------------------------------------------------------------------------------------------- |
| `type`           | string |          | Optional Event type filter: `message`, `artifact`, `tool`, `function`, `agent`, or `reasoning`. |
| `environment_id` | string | ✓        | Environment that contains the Event.                                                            |
| `run_id`         | string | ✓        | Your ID for a group of related Events.                                                          |
| `event_id`       | string | ✓        | Your ID for the Event.                                                                          |

If `type` is provided and the latest matching result has a different Event type, White Circle returns `404`.

## Response Overview

| Field      | Description                                                                                                                                                                          |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `flagged`  | `true` if this Event violated at least one Policy.                                                                                                                                   |
| `policies` | Policy results keyed by Policy ID. Each result has `flagged` and `name`, plus `enabled_by_conditions` naming the Conditions that selected the Policy, which is why it was evaluated. |
| `event`    | Saved Event metadata, IDs, type, and status.                                                                                                                                         |
| `note`     | Informational note when applicable.                                                                                                                                                  |
| `metadata` | Stored request metadata, when available.                                                                                                                                             |

## Lookup Behavior

`internal_event_id` identifies a single saved result.

`run_id + event_id` returns the latest matching result in the selected environment. This is useful when you use your own Event IDs and only need the newest result.

Metrics run asynchronously and are not returned in the synchronous `policies` map.

<Info>If no matching Event is found, or the Event belongs to another team or environment, White Circle returns `404`.</Info>


## OpenAPI

````yaml GET /api/event/{internal_event_id}
openapi: 3.1.0
info:
  title: WhiteCircle API Backend
  description: 'Authentication: Bearer API Key Required'
  license:
    name: ''
  version: '2026-06-01'
servers:
  - url: https://eu.whitecircle.com
  - url: https://us.whitecircle.com
security: []
tags:
  - name: Session
    description: Session-based content checking and moderation
  - name: User
    description: User risk assessment and scoring
  - name: Policy
    description: Policy management CRUD
  - name: Metric
    description: Metric management CRUD
  - name: Artifact
    description: Standalone artifact moderation
  - name: Events
    description: Append-only event ingestion and public event lookup
  - name: Condition
    description: Metadata-driven policy routing
paths:
  /api/event/{internal_event_id}:
    get:
      tags:
        - Events
      operationId: get_event_by_internal_id_handler
      parameters:
        - name: whitecircle-version
          in: header
          description: API Version
          required: true
          schema:
            type: string
          example: '2026-06-01'
        - name: internal_event_id
          in: path
          required: true
          schema:
            type: string
        - name: environment_id
          in: query
          description: Required environment selector.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicEventDetailResponse'
        '400':
          description: Bad Request
      security:
        - bearerAuth: []
components:
  schemas:
    PublicEventDetailResponse:
      type: object
      required:
        - event
        - flagged
        - policies
      properties:
        event:
          $ref: '#/components/schemas/PublicEventDetailItem'
        flagged:
          type: boolean
        policies:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/EventPolicyResult'
          propertyNames:
            type: string
        note:
          type:
            - string
            - 'null'
        metadata: {}
      example:
        flagged: true
        policies:
          70289e06-9111-463e-b121-7247c2b7bfbd:
            flagged: true
            name: No PII Sharing
            enabled_by_conditions:
              - id: 019f0000-0000-7000-8000-000000000001
                name: EU users
        event:
          type: message
          status: completed
          updated_at: null
          created_at: '2026-06-01T12:00:00Z'
          event_id: evt_user_001
          external_session_id: conversation_456
          internal_event_id: a1b2c3d4-e5f6-4890-abcd-ef1234567890
          run_id: run_refund_123
        metadata:
          user:
            region: eu
    PublicEventDetailItem:
      type: object
      required:
        - internal_event_id
        - event_id
        - external_session_id
        - type
        - status
        - created_at
      properties:
        internal_event_id:
          type: string
        run_id:
          type:
            - string
            - 'null'
        event_id:
          type: string
        external_session_id:
          type: string
        type:
          type: string
        status:
          type: string
        created_at:
          type: string
        updated_at:
          type:
            - string
            - 'null'
    EventPolicyResult:
      type: object
      required:
        - flagged
        - name
      properties:
        flagged:
          type: boolean
        name:
          type: string
        enabled_by_conditions:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/EnabledByCondition'
          description: >-
            The Conditions that selected this Policy for this Event, which is
            why it

            was evaluated at all.
    EnabledByCondition:
      type: object
      required:
        - id
        - name
      properties:
        id:
          type: string
        name:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'API Key required. Format: Bearer wc-your-api-key'

````