# Deny a pending request (admin+)

`POST https://api.instacloud.com/projects/{projectId}/approvals/{approvalId}/deny`

**Token scope:** `account` · `org` · `project` — read-only tokens refused (not a GET).

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `projectId` | path | `string` | yes |  |
| `approvalId` | path | `string` | yes |  |

## Response 200

Default Response

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `approval` | `object` | no |  |
| `approval.id` | `string` | no |  |
| `approval.project_id` | `string` | no |  |
| `approval.action` | `string` | no |  |
| `approval.request_hash` | `string \| null` | no |  |
| `approval.request_context` | `object \| null` | no |  |
| `approval.branch_id` | `string \| null` | no |  |
| `approval.status` | `"pending" \| "granted" \| "denied" \| "consumed"` | no |  |
| `approval.requested_by` | `string \| null` | no | Better Auth user id (opaque string, not a UUID) |
| `approval.decided_by` | `string \| null` | no | Better Auth user id (opaque string, not a UUID) |
| `approval.requested_at` | `string` | no |  |
| `approval.decided_at` | `string \| null` | no |  |

## Response 403

Default Response

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | `string` | yes |  |

## Response 404

Default Response

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | `string` | yes |  |
