---
title: "Delete a file"
method: POST
path: "/v1/files/delete"
tags: ["Files"]
---

# Delete a file

`POST /v1/files/delete`

Delete a file from database and optionally from R2 storage

## Request body

- object
  - `fileId` string, required
  - `deleteFromR2` boolean — Also delete the file from R2 storage

## Response `200`

File deleted successfully

- object
  - `success` true, required
  - `data` object, required
    - `fileId` string, required
    - `wasFound` boolean, required
    - `deletedFromDatabase` boolean, required
    - `deletedFromR2` boolean, required
    - `deletedFile` object
      - `id` string, required
      - `type` 'screenshot' | 'pdf', required
      - `url` string, required
      - `filename` string, required
      - `r2_key` string, required
      - `public_url` string, required
      - `metadata` string, required
      - `created_at` string, required
      - `expires_at` string
    - `error` string
  - `creditsCost` number — Credits consumed by this operation
  - `requestId` string, uuid, required — Unique request identifier for tracing
  - `timestamp` string, date-time, required — ISO timestamp when the response was generated

## Other responses

- `401` — Authentication required
- `422` — Validation error
- `500` — Internal server error

---

[API](https://skmtc.net/weblinq/apis/weblinq-api.md) · [All operations](https://skmtc.net/weblinq/apis/weblinq-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/weblinq/weblinq-api/revisions/364690cf91b7/schema)
