---
title: "Decline (no ceremony needed — declining must always be easy)"
method: POST
path: "/approvals/a/{approvalId}/decline"
tags: ["approvals"]
---

# Decline (no ceremony needed — declining must always be easy)

`POST /approvals/a/{approvalId}/decline`

## Request

- Base URL: `https://api.bubblio.dev`
- URL: `https://api.bubblio.dev/approvals/a/{approvalId}/decline`
- Auth: none declared

## Path parameters

- `approvalId` string, required

## Response `200`

Declined (idempotently).

- object
  - `ok` boolean
  - `status` 'declined'
  - `already` boolean

## Other responses

- `404`: UNIFORM: unknown, malformed, foreign, and lagged approvals all read the same.
- `409`: Already decided in another direction, or expired.
- `429`: Per-IP ceiling tripped.

---

[API](https://skmtc.dev/bubblio/apis/bubblio-agent-door-api.md) · [All operations](https://skmtc.dev/bubblio/apis/bubblio-agent-door-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bubblio/apis/bubblio-agent-door-api/revisions/d858aff9c01d?raw)
