---
title: "Delete file"
method: DELETE
path: "/api/v1/files/{file_id}"
tags: ["Files"]
---

# Delete file

`DELETE /api/v1/files/{file_id}`

## Request

- Base URL: `https://api.studio.kaitoi.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.studio.kaitoi.io/api/v1/files/{file_id}`
- Auth: HTTP bearer

Deletes a completed REST API file owned by the authenticated account. Deletion is blocked while active saved projects reference the file, and fails closed when any plausible active project has not indexed file references yet.

## Path parameters

- `file_id` string, required

## Query parameters

- `externalUserId` string, nullable: Optional developer-user guard. When provided, the file is deleted only if its stored externalUserId matches this value.

## Headers

- `authorization` string, nullable

## Response `204`

File deleted.

## Other responses

- `400`: The file id is malformed.
- `401`: Missing, malformed, expired, or revoked bearer token.
- `403`: The API key lacks the required scope or account capability.
- `404`: The file does not exist or is not owned by this user.
- `409`: The file is still referenced by active projects, or reference safety cannot be proven yet.
- `422`: Validation Error
- `429`: The client or API key exceeded the REST API rate limit.
- `500`: The file could not be deleted from storage.
- `503`: The shared REST API rate limiter is temporarily unavailable.

---

[API](https://skmtc.dev/kaitoi/apis/kaitoi-rest-api.md) · [All operations](https://skmtc.dev/kaitoi/apis/kaitoi-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kaitoi/apis/kaitoi-rest-api/revisions/239a74aa2c64?raw)
