> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.toloka.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# client.files.list()

> List project files.

Return the project files with upload status, size, and download links.

## Signature

Method signature on `client.files`:

```ts theme={null}
list(args: {
  projectId: string;
}): Promise<ProjectFile[]>;
```

## Parameters

**projectId** `string` *required*

Project ID with prefix `pp.`.

## Returns

`Promise<ProjectFile[]>`

Files stored in this project.

Returns an array. Each item has these fields:

**id** `ProjectFileId` *required*

ID of the project file, with prefix `ppf.`.

**projectId** `ProjectId` *required*

Project ID with prefix `pp.`.

**filename** `string` *required*

Name of the project file.

**status** `"pending" | "uploaded" | "failed"` *required*

File state: `pending` before finalization, `uploaded` after successful finalization, or `failed` if the upload failed.

**declaredSizeBytes** `number` *required*

Declared maximum size of the file, in bytes.

**uploadedSizeBytes** `number | null` *required*

Finalized file size in bytes, or null before successful finalization.

**createdAt** `string` *required*

Time the file upload was started, as an ISO 8601 timestamp.

**uploadedAt** `string | null` *required*

Time the upload was finalized, as an ISO 8601 timestamp, or null before successful finalization.

**url** `string` *required*

The file download endpoint. API keys and signed-in users receive a 302 redirect to the download link. Project-scoped tokens receive JSON with a `url` field.

## Errors

HTTP errors throw [`PotatoApiError`](https://docs.platform.toloka.ai/docs/sdk/errors). The endpoint documents these error responses:

| Status | Description |
| - | - |
| 404 | Project not found |
| 429 | Rate limit exceeded |

HTTP endpoint: [`GET /projects/{projectId}/files`](https://docs.platform.toloka.ai/docs/api-reference/files/list-project-files).

```ts list() theme={null}
import { createClient } from "@toloka-platform/sdk";

const client = createClient({
  baseUrl: "https://platform.toloka.ai",
  apiKey: process.env.TOLOKA_API_KEY!,
});

const files = await client.files.list({
  projectId: "pp.019a0000-0000-7000-8000-000000000001"
});
console.log(files);
```

```json list() theme={null}
[
  {
    "id": "ppf.019a0000-0000-7000-8000-000000000001",
    "projectId": "pp.019a0000-0000-7000-8000-000000000001",
    "filename": "<string>",
    "status": "pending",
    "declaredSizeBytes": 0,
    "uploadedSizeBytes": null,
    "createdAt": "2026-01-01T00:00:00Z",
    "uploadedAt": null,
    "url": "<string>"
  }
]
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.