---
title: "Release a file held for review"
method: POST
path: "/v1/workspaces/{workspace}/files/approve"
---

# Release a file held for review

`POST /v1/workspaces/{workspace}/files/approve`

## Request

- Base URL: `https://api.uploads.sh`
- URL: `https://api.uploads.sh/v1/workspaces/{workspace}/files/approve`
- Auth: HTTP bearer

The classifier holds a file that likely shows a secret or sensitive personal data. A held file is left out of the managed PR comment, public feeds, galleries, and its file page until a member approves it. A key that is not held answers 200 with `approved: false`.

## Query parameters

- `key` string, required

## Response `200`

Whether the file was released.

- object
  - `key` string, required
  - `approved` boolean, required
  - `reason` 'not_held'

## Other responses

- `401`: Missing or invalid credential.
- `403`: The credential lacks the required scope or role.
- `404`: The resource was not found.
- `429`: The workspace rate limit or upload budget was exceeded.

---

[API](https://skmtc.dev/uploads/apis/uploads-sh-api.md) · [All operations](https://skmtc.dev/uploads/apis/uploads-sh-api/llms.txt) · [OpenAPI document](https://skmtc.dev/uploads/apis/uploads-sh-api/revisions/6df242babacd?raw)
