---
title: "Refuse a device request"
method: POST
path: "/api/nodes/device-approvals/deny"
tags: ["nodes"]
---

# Refuse a device request

`POST /api/nodes/device-approvals/deny`

## Request

- Base URL: `https://app.nerdit.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.nerdit.ai/api/nodes/device-approvals/deny`
- Auth: none declared

Settle a request as refused, so the machine waiting on it stops.

No standing assertion: saying no grants nothing, and the account most in
need of this button is one that did not start the flow at all — which is
the phishing case (D-X16-O23). A denial the daemon then polls is
``403 link_code_denied``, which is what makes "somebody said no" different
from "this code means nothing".

## Request body

- DeviceApprovalRequest: The one thing all three routes take, and the only place it may travel.
  - `user_code` string, required

## Response `204`

Successful Response

## Other responses

- `401`: Unauthorized
- `404`: Not Found
- `422`: Validation Error
- `429`: Too Many Requests

---

[API](https://skmtc.dev/nerdit/apis/nerdit-cloud-web.md) · [All operations](https://skmtc.dev/nerdit/apis/nerdit-cloud-web/llms.txt) · [OpenAPI document](https://skmtc.dev/nerdit/apis/nerdit-cloud-web/revisions/06e3b44b58be?raw)
