# PipelineChangeRequest

**Type**: `object`

## Properties

- name: autoApply (optional)
  type: boolean
  description: Whether to apply the change directly (true) or record it as a suggestion for a human to review (false). This expresses intent only: the server enforces the proposing agent's approval mode, so a suggest-only agent's change is always recorded as a suggestion no matter what is passed here.

- name: changeDescription (optional)
  type: string
  description: One or two sentences a human reviewer reads first: what the change does and why. Required when the change is recorded as a suggestion.

- name: changeId (optional)
  type: string
  description: A caller-chosen idempotency key for this change, unique within the investigation. Resending the same changeId records one suggestion rather than a duplicate, so a retried call is safe. Required when the change is recorded as a suggestion.

- name: investigationId (optional)
  type: string
  description: The investigation proposing the change, identifying the agent whose approval mode governs the request. Server-supplied on the MCP transport, where an agent sandbox's provenance is bound to the connection: anything sent here is ignored and replaced. Without provenance the change is applied under the caller's own permission.

- name: samples (optional)
  type: array of `LogEvent`
  description: Sample log events the changed operations are verified against before anything is applied. Required when the change adds or edits a Grok rule, so the new rule can be run against a real log.

- name: templateInputsPatch (required)
  type: `JsonNode`
