---
title: "Decline an approval"
description: "Refuse one approval card the run opened, so the work behind it never starts and nothing is charged for it.\n\nApproving is a separate operation at `/approve`. It is deliberately absent from the MCP tool list: a connected model may refuse spend, and must never approve its own."
url: https://docs.roasos.com/api-reference/agent/declineAgentRunGate
---

# Decline an approval

Refuse one approval card the run opened, so the work behind it never starts and nothing is charged for it.

Approving is a separate operation at `/approve`. It is deliberately absent from the MCP tool list: a connected model may refuse spend, and must never approve its own.

## `POST /v1/agent-runs/{id}/gates/{gate_id}/decline`

Endpoint: `POST https://api.roasos.com/v1/agent-runs/{id}/gates/{gate_id}/decline`

Decline an approval

Refuse one approval card the run opened, so the work behind it never starts and nothing is charged for it.

Approving is a separate operation at `/approve`. It is deliberately absent from the MCP tool list: a connected model may refuse spend, and must never approve its own.

### Parameters

- `id` (path) — required
- `gate_id` (path) — required

### Request body

Content type: `application/json`

### Responses

- `200`: The approval is declined, or was already decided
- `400`: The run ID or gate ID is not a UUID
- `404`: Run or approval not found in this workspace
- `503`: The decision could not be recorded

Read the full reference at https://docs.roasos.com/api-reference/agent/declineAgentRunGate.
