---
title: "Get a data lake file"
method: GET
path: "/api/v1/data-lakes/{id}/files/{file_id}"
tags: ["Data Lakes"]
---

# Get a data lake file

`GET /api/v1/data-lakes/{id}/files/{file_id}`

## Request

- Base URL: `https://your-deployment.example.com`
- URL: `https://your-deployment.example.com/api/v1/data-lakes/{id}/files/{file_id}`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Returns a lake member's ingestion status. Adding a file to a lake does NOT ingest it: a file only becomes searchable once it has been chunked and embedded, so poll this endpoint until `ingestion_status` is `ready`. `indexing` clears on its own; `paused` means re-processing was stopped partway and needs the file reprocessed (or background lake work resumed) before it returns; `failed` carries the reason in `error`. A `ready` file can also carry a non-null `error` when a later pass failed partway: its committed passages stay searchable, so branch on `ingestion_status`, not on `error`. `not_ingested` means the file has no searchable passages yet: ingestion has not started, a first pass has not committed its chunks, or the file has no extractable text (such a file never becomes `ready`). These agree with what search reports under `retrieval_unavailable`.

## Path parameters

- `id` string, required
- `file_id` string, required

## Response `200`

The member file and its ingestion state.

- GetDataLakeFileResponse200
  - `lake_id` string, required
  - `file_id` string, required
  - `file_name` string, required
  - `ingestion_status` 'not_ingested' | 'indexing' | 'paused' | 'ready' | 'failed', required
  - `chunk_count` integer, required
  - `vectorized_chunk_count` integer, required
  - `error` string, nullable, required

## Other responses

- `401`: Missing or invalid credentials.
- `403`: The API key holds none of `datalake:read`, `datalake:write` or `datalake:query`, or Data Lakes are disabled on this deployment.
- `404`: The lake is not visible to the caller, or the file does not exist, was deleted, or is not a current member of this lake. All of these are one 404, so neither lake nor file ids can be probed.
- `405`: The path does not serve this HTTP method.
- `422`: Request failed validation.
- `429`: Per-user rate limit exceeded.

---

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