---
title: "List Monitor Events"
method: GET
path: "/v1/monitors/{monitor_id}/events"
tags: ["Monitor"]
---

# List Monitor Events

`GET /v1/monitors/{monitor_id}/events`

List events for a monitor, newest first.

Pass `event_group_id` to narrow results to a single execution. Otherwise
returns all executions newest-first; use `next_cursor` to paginate.
Set `include_completions=true` to also include no-change executions.

## Path parameters

- `monitor_id` string, required

## Query parameters

- `event_group_id` string, nullable — Filter to a single execution. Values come from `event_group_id` in webhook events and listed events. Pagination params are ignored when set.
- `cursor` string, nullable — Pass `next_cursor` from a previous response to retrieve more events.
- `limit` integer, nullable — Maximum number of events to return. Defaults to 20. Between 1 and 100.
- `include_completions` boolean — When true, include completion events for executions that ran but detected no material changes. Useful for auditing execution history.

## Response `200`

Monitor events retrieved successfully.

- PaginatedMonitorEvents — Paginated list of monitor events, newest first.
  - `events` union[], required — Monitor events returned by this request, ordered newest first.
    - union
      - MonitorEventStreamEvent — Append-only event from an event_stream monitor. Each event represents a distinct material change detected since the previous execution. Events are net-new relative to the cursor; clients should treat them as an append-only log.
        - `event_id` string, required — Stable identifier for this event. Safe to use for client-side deduplication across pagination and retries.
        - `event_group_id` string, required — ID of the event group that owns this event.
        - `event_date` string, nullable, required — Date when this event was produced. ISO 8601 date (YYYY-MM-DD) or partial (YYYY-MM or YYYY).
        - `event_type` 'event_stream' — Discriminant for the event_stream event variant.
        - `output` union, required — Text or JSON output describing the detected change.
          - TaskRunTextOutput — Output from a task that returns text.
            - `basis` FieldBasis[], required — Basis for the output. The basis has a single field 'output'.
              - …
            - `type` 'text', required — The type of output being returned, as determined by the output schema of the task spec.
            - `mcp_tool_calls` McpToolCall[], nullable — MCP tool calls made by the task.
              - …
            - `beta_fields` object, nullable — Deprecated. mcp-server-2025-07-17 is now included directly in the output (e.g. mcp_tool_calls).
            - `content` string, required — Text output from the task.
          - TaskRunJsonOutput — Output from a task that returns JSON.
            - `basis` FieldBasis[], required — Basis for each top-level field in the JSON output. Per-list-element basis entries are available only when the `parallel-beta: field-basis-2025-11-25` header is supplied.
              - …
            - `type` 'json', required — The type of output being returned, as determined by the output schema of the task spec.
            - `mcp_tool_calls` McpToolCall[], nullable — MCP tool calls made by the task.
              - …
            - `beta_fields` object, nullable — Deprecated. mcp-server-2025-07-17 is now included directly in the output (e.g. mcp_tool_calls).
            - `content` object, required — Output from the task as a native JSON object, as determined by the output schema of the task spec.
            - `output_schema` object, nullable — Output schema for the Task Run. Populated only if the task was executed with an auto schema.
      - MonitorSnapshotEvent — Snapshot diff event emitted when a monitored task run's output changes. `changed_output` contains only the fields that changed since the previous execution, along with their `basis` (reasoning + citations). `previous_output` holds the complete output from the prior run for comparison.
        - `event_id` string, required — Stable identifier for this event. Safe to use for client-side deduplication across pagination and retries.
        - `event_group_id` string, required — ID of the event group that owns this event.
        - `event_date` string, nullable, required — Date when this event was produced. ISO 8601 date (YYYY-MM-DD) or partial (YYYY-MM or YYYY).
        - `event_type` 'snapshot' — Discriminant for the snapshot event variant.
        - `changed_output` union, required — Partial output containing only the fields that changed since the previous execution, each with its `basis` (reasoning and citations).
          - TaskRunTextOutput — Output from a task that returns text.
            - `basis` FieldBasis[], required — Basis for the output. The basis has a single field 'output'.
              - …
            - `type` 'text', required — The type of output being returned, as determined by the output schema of the task spec.
            - `mcp_tool_calls` McpToolCall[], nullable — MCP tool calls made by the task.
              - …
            - `beta_fields` object, nullable — Deprecated. mcp-server-2025-07-17 is now included directly in the output (e.g. mcp_tool_calls).
            - `content` string, required — Text output from the task.
          - TaskRunJsonOutput — Output from a task that returns JSON.
            - `basis` FieldBasis[], required — Basis for each top-level field in the JSON output. Per-list-element basis entries are available only when the `parallel-beta: field-basis-2025-11-25` header is supplied.
              - …
            - `type` 'json', required — The type of output being returned, as determined by the output schema of the task spec.
            - `mcp_tool_calls` McpToolCall[], nullable — MCP tool calls made by the task.
              - …
            - `beta_fields` object, nullable — Deprecated. mcp-server-2025-07-17 is now included directly in the output (e.g. mcp_tool_calls).
            - `content` object, required — Output from the task as a native JSON object, as determined by the output schema of the task spec.
            - `output_schema` object, nullable — Output schema for the Task Run. Populated only if the task was executed with an auto schema.
        - `previous_output` union, required — The full output from the prior run, including all fields and basis.
          - TaskRunTextOutput — Output from a task that returns text.
            - `basis` FieldBasis[], required — Basis for the output. The basis has a single field 'output'.
              - …
            - `type` 'text', required — The type of output being returned, as determined by the output schema of the task spec.
            - `mcp_tool_calls` McpToolCall[], nullable — MCP tool calls made by the task.
              - …
            - `beta_fields` object, nullable — Deprecated. mcp-server-2025-07-17 is now included directly in the output (e.g. mcp_tool_calls).
            - `content` string, required — Text output from the task.
          - TaskRunJsonOutput — Output from a task that returns JSON.
            - `basis` FieldBasis[], required — Basis for each top-level field in the JSON output. Per-list-element basis entries are available only when the `parallel-beta: field-basis-2025-11-25` header is supplied.
              - …
            - `type` 'json', required — The type of output being returned, as determined by the output schema of the task spec.
            - `mcp_tool_calls` McpToolCall[], nullable — MCP tool calls made by the task.
              - …
            - `beta_fields` object, nullable — Deprecated. mcp-server-2025-07-17 is now included directly in the output (e.g. mcp_tool_calls).
            - `content` object, required — Output from the task as a native JSON object, as determined by the output schema of the task spec.
            - `output_schema` object, nullable — Output schema for the Task Run. Populated only if the task was executed with an auto schema.
      - MonitorCompletionEvent — Emitted when a monitor execution ran but detected no material changes. Only returned when `include_completions=true` is passed to the list events endpoint. Useful for auditing execution history alongside content events.
        - `event_type` 'completion' — Discriminant for the completion event variant.
        - `timestamp` string, date-time, required — Timestamp of when the monitor execution completed, as an RFC 3339 string.
      - MonitorErrorEvent — Emitted when a monitor execution failed (e.g. payment or quota error). Always included in the events list regardless of `include_completions`.
        - `event_type` 'error' — Discriminant for the error event variant.
        - `error_message` string, required — Human-readable description of the failure.
        - `timestamp` string, date-time, required — Timestamp of when the monitor execution failed, as an RFC 3339 string.
  - `next_cursor` string, nullable — Pass as `cursor` to retrieve more events. Absent when there are no more events.
  - `warnings` Warning[], nullable — Execution caveats for this page of events, e.g. compute limits.
    - `type` 'spec_validation_warning' | 'input_validation_warning' | 'warning', required — Type of warning. Note that adding new warning types is considered a backward-compatible change.
    - `message` string, required — Human-readable message.
    - `detail` object, nullable — Optional detail supporting the warning.

## Other responses

- `401` — Unauthorized: invalid or missing credentials
- `404` — Monitor not found
- `422` — Unprocessable content: invalid cursor or request validation error

---

[API](https://skmtc.net/parallel-web/apis/parallel-api.md) · [All operations](https://skmtc.net/parallel-web/apis/parallel-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/parallel-web/parallel-api/versions/973957d74ceb/schema)
