---
title: "Post Dry Run"
method: POST
path: "/api/logic/{logic_id}/dry-run"
tags: ["Logic Engine"]
---

# Post Dry Run

`POST /api/logic/{logic_id}/dry-run`

## Request

- Base URL: `https://api.agentstack.tech` (the document declares no server; this is the origin it was published from)
- URL: `https://api.agentstack.tech/api/logic/{logic_id}/dry-run`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

F2.5 — Dry-run a rule with mocked processors.

Compiles the rule (using the production compiler) and executes it
against a ``SimulationContext`` that returns caller-provided mock
outputs instead of hitting real processors. Returns a timeline of
:class:`StepTrace` entries the UI can use to drive the
``SimulatorPanel`` step-by-step highlight.

## Path parameters

- `logic_id` string, required: Logic ID (UUID)

## Headers

- `Idempotency-Key` string

## Request body

- DryRunRequest: Payload for F2.5 dry-run endpoint.
  - `command_data` object, nullable
  - `trigger_id` string, nullable
  - `mocks` object, nullable
  - `pin_data` object, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `422`: Validation Error
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/agentstack/apis/agentstack-core-api.md) · [All operations](https://skmtc.dev/agentstack/apis/agentstack-core-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentstack/apis/agentstack-core-api/revisions/8ecf3406e74a?raw)
