---
title: "Skip Delivery"
method: POST
path: "/agent/cli/skip_delivery"
---

# Skip Delivery

`POST /agent/cli/skip_delivery`

Record that this run should finish without delivering.

Only meaningful inside an unattended routine run: the runner reads
`skip_delivery_reason` back once the turn ends and skips delivery.

## Request body

- SkipDeliveryRequest — Body for `./converge skip-delivery`. Deliberate shortcut: delivery stays the runner's job, so the agent can only veto a report, never shape or send one. It parks a reason here and the runner honors it once the turn ends, which splits control of the report across two places that have to agree. The longer-term shape is to move to agent-owned delivery, where the agent has all the control.
  - `reason` string, required

## Response `200`

Successful Response

- SkipDeliveryResponse
  - `routine_run_id` integer, required
  - `reason` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/runconverge/apis/fastapi.md) · [All operations](https://skmtc.dev/runconverge/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/runconverge/fastapi/revisions/1452e350bd1d/schema)
