---
title: "Dry Run Agent"
method: POST
path: "/api/v1/agents/{agent_id}/dry-run"
tags: ["agents"]
---

# Dry Run Agent

`POST /api/v1/agents/{agent_id}/dry-run`

Render what this agent WOULD send to specific (or sampled) real customers, with
the per-customer fire/suppress decision. Read-only: nothing is persisted or sent.
Powers the "preview against N people" UI and the golden snapshot tests.

## Path parameters

- `agent_id` string, uuid, required

## Headers

- `authorization` string, nullable — Bearer <token>

## Request body

- AgentDryRunRequest — Render what an agent WOULD send to specific (or sampled) real customers, with the fire/suppress decision per customer. Sends nothing — read-only dry run.
  - `customer_ids` string[]
  - `sample_size` integer
  - `render` boolean
  - `copy_variants` CopyVariant[], nullable
    - `condition` GateCondition — A predicate on local customer state (see agent_query.GATE_FIELDS).
      - `field` string, required
      - `operator` string, required
      - `value` string, required
    - `subject` string
    - `body` string
    - `format` 'text' | 'html'
  - `copy_mode` string, nullable

## Response `200`

Successful Response

- EnvelopeAgentDryRunResponse
  - `data` AgentDryRunResponse, required
    - `agent_id` string, uuid, required
    - `count` integer, required
    - `items` AgentDryRunItem[]
      - `customer_id` string, uuid, required
      - `recipient` string, nullable, required
      - `would_fire` boolean, required
      - `suppression_reason` string, nullable, required
      - `delivery_mode` string, required
      - `scheduled_for` string, date-time, nullable, required
      - `subject` string, nullable
      - `body` string, nullable
  - `meta` Meta
    - `request_id` string
    - `timestamp` string, date-time
    - `total` integer, nullable
    - `truncated` boolean, nullable

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-02** `6bd3ca9033ae` — 2 info
  - the `meta` response's property default value changed from `{"request_id":"","timestamp":"2026-09-01T18:59:27.102736"}` to `{"request_id":"","timestamp":"2026-09-02T16:58:28.431377"}` for the status `200`
  - the `timestamp` response's property default value changed from `2026-09-01T18:59:27.102736` to `2026-09-02T16:58:28.431377` for the status `200`

[Change history](https://skmtc.dev/minro/apis/minro-cs-platform/changes/api/v1/agents/:agent_id/dry-run/post.md)

---

[API](https://skmtc.dev/minro/apis/minro-cs-platform.md) · [All operations](https://skmtc.dev/minro/apis/minro-cs-platform/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/minro/minro-cs-platform/revisions/6bd3ca9033ae/schema)
