---
title: "Get a specific file by ID"
method: GET
path: "/api/files/{file_id}"
tags: ["Files"]
---

# Get a specific file by ID

`GET /api/files/{file_id}`

# Errors
Returns an error if database operations fail or file not found.

## Path parameters

- `file_id` string, uuid, required

## Response `200`

File details retrieved with download URL

- UserFileInfo — User file information for API responses
  - `createdAt` string, date-time, nullable — File upload timestamp
  - `fileHash` string, required — SHA-256 hash of the file
  - `fileSize` integer, required — Size of the file in bytes
  - `filename` string, required — Current filename
  - `id` string, uuid, required — File's unique identifier
  - `metadata` Value — Flexible JSON value that can be an object, array, string, number, boolean, or null
  - `mimeType` string, required — MIME type of the file
  - `originalFilename` string, required — Original filename as uploaded by user
  - `status` 'uploaded' | 'processing' | 'processed' | 'failed' | 'deleted', required — File processing status for user uploaded files
  - `updatedAt` string, date-time, nullable — File last update timestamp
  - `userId` string, uuid, required — ID of the user who owns this file

## Other responses

- `401` — User authentication required to view file
- `403` — File access denied - user does not own this file
- `404` — Requested file does not exist or was deleted
- `500` — Server error generating file download URL

---

[API](https://skmtc.net/patroninc/apis/patron-api.md) · [All operations](https://skmtc.net/patroninc/apis/patron-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/patroninc/patron-api/versions/1583b1f4c97d/schema)
