> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.labric.co/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.labric.co/_mcp/server.

# List files

GET https://platform.labric.co/api/v1/files

List source data files available for parser development.

Returns a representative set of uploaded files for the org, newest first.
Filter by instrument_id, comma-separated file extensions (e.g. "csv,txt"),
or a substring of the file name. Use the file-content tool to inspect a
file's raw contents.

Requires an API key with the `read` scope.

Reference: https://docs.labric.co/api-reference/labric-api/files/list

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Query parameters

- `instrument_id` (string, optional, default: )
- `extensions` (string, optional, default: )
- `query` (string, optional, default: )
- `limit` (integer, optional, default: 50)

## Response

### 200

OK

- `list of object`
  - `file_id` (string, required) — The file's ID, for use with the file-content tool.
  - `original_path` (string, required, nullable) — Original file name / path.
  - `source_type` (string, required, nullable) — Where the file came from (e.g. instrument sync, manual upload).
  - `source_instrument_id` (string, required, nullable) — ID of the instrument that produced the file, if any.
  - `size_kilobytes` (integer, required, nullable) — File size in kilobytes.
  - `crc32c_hash` (string, required, nullable) — Content hash, useful as an idempotency key for parsed rows.
  - `file_created_at` (datetime, required, nullable) — When the source file was created, if known.

## Errors

### 400 Bad Request Error

Bad Request

- `detail` (string, required)

### 401 Unauthorized Error

Unauthorized

- `detail` (string, required)

### 403 Forbidden Error

Forbidden

- `detail` (string, required)

### 404 Not Found Error

Not Found

- `detail` (string, required)

### 422 Unprocessable Entity Error

Unprocessable Content

- `detail` (list of map from string to any, required)

### 500 Internal Server Error

Internal Server Error

- `detail` (string, required)

## Examples

**Response**

```json
[
  {
    "file_id": "f3a9b2d7-8c4e-4a1f-9b2d-7e8c4e1f9b2d",
    "original_path": "instrument_42/2024-06-10_sample_data.csv",
    "source_type": "instrument sync",
    "source_instrument_id": "instrument_42",
    "size_kilobytes": 256,
    "crc32c_hash": "a1b2c3d4",
    "file_created_at": "2024-06-10T14:22:00Z"
  },
  {
    "file_id": "d9f8e7c6-b5a4-3d2c-1f0e-9a8b7c6d5e4f",
    "original_path": "manual_uploads/experiment_notes.txt",
    "source_type": "manual upload",
    "source_instrument_id": null,
    "size_kilobytes": 12,
    "crc32c_hash": "e4f5a6b7",
    "file_created_at": "2024-05-28T08:15:30Z"
  },
  {
    "file_id": "c1d2e3f4-a5b6-c7d8-e9f0-123456789abc",
    "original_path": "instrument_17/raw_data_20240601.txt",
    "source_type": "instrument sync",
    "source_instrument_id": "instrument_17",
    "size_kilobytes": 1024,
    "crc32c_hash": "9f8e7d6c",
    "file_created_at": "2024-06-01T12:00:00Z"
  }
]
```

**SDK Code**

```python
from labric import Labric

client = Labric(
    api_key="YOUR_TOKEN_HERE",
)

client.files.list()

```