---
title: "Files - get file details"
method: GET
path: "/api/v1/files/{fileId}"
tags: ["Files"]
---

# Files - get file details

`GET /api/v1/files/{fileId}`

Returns metadata and download URL for a single file.

## Path parameters

- `fileId` string, uuid, required

## Response `200`

File details

- FileDetailResponse — Success envelope containing a single file's metadata
  - `ok` true, required
  - `data` FileDetail, required — Full metadata for an uploaded file
    - `fileId` string, uuid, required — Unique file identifier used to reference this file in CAD operations
    - `filename` string, required — Original filename as provided during upload request
    - `contentType` string, required — MIME type of the file content
    - `bytes` integer, nullable, required — File size in bytes. Null while status is 'pending' (not yet uploaded).
    - `sha256` string, nullable, required — SHA-256 hex digest of the file content. Null if not provided during upload. Used for deduplication.
    - `status` 'pending' | 'confirmed' | 'expired', required — File lifecycle state: 'pending' (upload URL issued, awaiting PUT), 'confirmed' (upload verified and file is usable), 'expired' (upload URL expired before completion)
    - `createdAt` string, required — ISO 8601 timestamp when the upload was initiated
    - `confirmedAt` string, nullable, required — ISO 8601 timestamp when the upload was confirmed. Null if not yet confirmed.
    - `downloadUrl` string — Pre-signed download URL. Only present for confirmed files. Expires after 1 hour.

## Other responses

- `404` — Not found

## Changes

- **2026-04-30** `bef883f8a334` — 5 breaking, 15 info
  - response property `data/bytes` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `data/confirmedAt` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `data/sha256` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - the `data/createdAt` response's property type/format changed from `string`/`date-time` to `string`/`` for status `200`
  - …16 more
- **2026-04-17** `5eb4ed0f33c7` — 15 breaking, 2 warning, 4 info
  - the response property `data/bytes` became nullable for the status `200`
  - the response property `data/confirmedAt` became nullable for the status `200`
  - the response property `data/sha256` became nullable for the status `200`
  - the response property `data` became optional for the status `200`
  - …17 more

[Change history](https://skmtc.dev/bitbybit-dev/apis/bitbybit-cad-cloud-api/changes/api/v1/files/:fileId/get.md)

---

[API](https://skmtc.dev/bitbybit-dev/apis/bitbybit-cad-cloud-api.md) · [All operations](https://skmtc.dev/bitbybit-dev/apis/bitbybit-cad-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bitbybit-dev/bitbybit-cad-cloud-api/revisions/1135d4473bc2/schema)
