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

# Skip Delivery

`POST /agent/cli/skip_delivery`

## Request

- Base URL: `https://app.runconverge.com/api`
- URL: `https://app.runconverge.com/api/agent/cli/skip_delivery`
- Auth: HTTP bearer

Record that this run should finish without delivering.

Only meaningful inside an unattended loop 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
  - `loop_run_id` integer, required
  - `reason` string, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-28** `7c3270848bed`: 1 breaking, 1 info
  - removed the required property `routine_run_id` from the response with the `200` status
  - added the required property `loop_run_id` to the response with the `200` status

[Operation history](https://skmtc.dev/runconverge/apis/runconverge-api/changes/agent/cli/skip_delivery/post.md)

---

[API](https://skmtc.dev/runconverge/apis/runconverge-api.md) - [All operations](https://skmtc.dev/runconverge/apis/runconverge-api/llms.txt) - [OpenAPI document](https://skmtc.dev/runconverge/apis/runconverge-api/revisions/f723e951cc0b?raw)
