> ## 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 reference

> Find SDK methods, signatures, return types, and HTTP endpoints by resource.

Create a client with [`createClient()`](https://docs.platform.toloka.ai/docs/sdk/reference/create-client), then use the resource methods below. Each method links to its SDK reference with parameters, return fields, and examples.

`listAll*` methods iterate every page; `listPage` and other page methods return one page. See [Pagination](https://docs.platform.toloka.ai/docs/sdk/pagination.md).

Use [`waitFor`](https://docs.platform.toloka.ai/docs/sdk/reference/wait-for) to wait for supported jobs to finish.

Signatures show argument names: `?` marks an optional property, square brackets mark an optional argument, and `|` separates accepted object shapes. `Promise<T>` resolves to `T`; `AsyncGenerator<T>` yields `T` values; iterate it with `for await`.

## Account

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.me()`](https://docs.platform.toloka.ai/docs/sdk/reference/account/me) → `Promise<CurrentUser>` | Get the current user | [`GET /me`](https://docs.platform.toloka.ai/docs/api-reference/account/get-current-user) |

## Projects

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.projects.create({ teamId, name? })`](https://docs.platform.toloka.ai/docs/sdk/reference/projects/create) → `Promise<Project>` | Create a project | [`POST /projects`](https://docs.platform.toloka.ai/docs/api-reference/projects/create-project) |
| [`client.projects.get({ projectId })`](https://docs.platform.toloka.ai/docs/sdk/reference/projects/get) → `Promise<Project>` | Get a project | [`GET /projects/{projectId}`](https://docs.platform.toloka.ai/docs/api-reference/projects/get-project-by-id) |
| [`client.projects.update({ projectId, name })`](https://docs.platform.toloka.ai/docs/sdk/reference/projects/update) → `Promise<Project>` | Update a project | [`PATCH /projects/{projectId}`](https://docs.platform.toloka.ai/docs/api-reference/projects/update-project) |
| [`client.projects.listPage([{ limit?, offset? }])`](https://docs.platform.toloka.ai/docs/sdk/reference/projects/list) → `Promise<{ projects: Project[]; pagination: Pagination }>` | List projects | [`GET /projects`](https://docs.platform.toloka.ai/docs/api-reference/projects/list-projects) |
| [`client.projects.listAll([{ limit?, offset? }])`](https://docs.platform.toloka.ai/docs/sdk/reference/projects/list) → `AsyncGenerator<Project>` | List projects | [`GET /projects`](https://docs.platform.toloka.ai/docs/api-reference/projects/list-projects) |
| [`client.projects.createToken({ projectId, preset, projectIds?, expiresInSeconds? } \| { projectId, permissions, projectIds?, expiresInSeconds? })`](https://docs.platform.toloka.ai/docs/sdk/reference/projects/create-token) → `Promise<ScopedToken>` | Issue a project-scoped token | [`POST /projects/{projectId}/tokens`](https://docs.platform.toloka.ai/docs/api-reference/projects/create-project-token) |
| [`client.projects.listTokens({ projectId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/projects/list-tokens) → `Promise<{ tokens: ScopedTokenSummary[]; pagination: Pagination }>` | List live project-scoped tokens | [`GET /projects/{projectId}/tokens`](https://docs.platform.toloka.ai/docs/api-reference/projects/list-project-tokens) |
| [`client.projects.listAllTokens({ projectId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/projects/list-tokens) → `AsyncGenerator<ScopedTokenSummary>` | List live project-scoped tokens | [`GET /projects/{projectId}/tokens`](https://docs.platform.toloka.ai/docs/api-reference/projects/list-project-tokens) |
| [`client.projects.revokeToken({ projectId, tokenId })`](https://docs.platform.toloka.ai/docs/sdk/reference/projects/revoke-token) → `Promise<void>` | Revoke a project-scoped token | [`DELETE /projects/{projectId}/tokens/{tokenId}`](https://docs.platform.toloka.ai/docs/api-reference/projects/revoke-project-token) |
| [`client.projects.revokeAllTokens({ projectId })`](https://docs.platform.toloka.ai/docs/sdk/reference/projects/revoke-all-tokens) → `Promise<RevokedScopedTokens>` | Revoke all project tokens | [`DELETE /projects/{projectId}/tokens`](https://docs.platform.toloka.ai/docs/api-reference/projects/revoke-project-tokens) |
| [`client.projects.revokeCurrentToken()`](https://docs.platform.toloka.ai/docs/sdk/reference/projects/revoke-current-token) → `Promise<void>` | Revoke the current token | [`DELETE /tokens/current`](https://docs.platform.toloka.ai/docs/api-reference/projects/revoke-current-token) |

## Datasets

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.datasets.create({ projectId, name?, profile? })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/create) → `Promise<Dataset>` | Create a dataset | [`POST /projects/{projectId}/datasets`](https://docs.platform.toloka.ai/docs/api-reference/datasets/create-dataset) |
| [`client.datasets.get({ datasetId })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/get) → `Promise<Dataset>` | Get a dataset | [`GET /datasets/{datasetId}`](https://docs.platform.toloka.ai/docs/api-reference/datasets/get-dataset-by-id) |
| [`client.datasets.listPage({ projectId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/list) → `Promise<{ datasets: Dataset[]; pagination: Pagination }>` | List project datasets | [`GET /projects/{projectId}/datasets`](https://docs.platform.toloka.ai/docs/api-reference/datasets/list-project-datasets) |
| [`client.datasets.listAll({ projectId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/list) → `AsyncGenerator<Dataset>` | List project datasets | [`GET /projects/{projectId}/datasets`](https://docs.platform.toloka.ai/docs/api-reference/datasets/list-project-datasets) |
| [`client.datasets.createField({ datasetId, name, jsonSchema })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/create-field) → `Promise<DatasetField>` | Create dataset fields | [`POST /datasets/{datasetId}/fields`](https://docs.platform.toloka.ai/docs/api-reference/datasets/create-dataset-field) |
| [`client.datasets.createFields({ datasetId, fields })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/create-field) → `Promise<DatasetField[]>` | Create dataset fields | [`POST /datasets/{datasetId}/fields`](https://docs.platform.toloka.ai/docs/api-reference/datasets/create-dataset-field) |
| [`client.datasets.listFieldsPage({ datasetId, limit?, offset?, names? })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/list-fields) → `Promise<{ fields: DatasetField[]; pagination: Pagination }>` | List dataset fields | [`GET /datasets/{datasetId}/fields`](https://docs.platform.toloka.ai/docs/api-reference/datasets/list-dataset-fields) |
| [`client.datasets.getInferredFields({ datasetId })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/get-inferred-fields) → `Promise<{ fields: InferredField[] }>` | List inferred dataset fields | [`GET /datasets/{datasetId}/inferred-fields`](https://docs.platform.toloka.ai/docs/api-reference/datasets/get-dataset-inferred-fields) |
| [`client.datasets.createFieldsFromUploadedRows({ datasetId, names })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/create-fields-from-uploaded-rows) → `Promise<DatasetField[]>` | Create fields from uploaded rows | [`POST /datasets/{datasetId}/fields/from-uploaded`](https://docs.platform.toloka.ai/docs/api-reference/datasets/create-dataset-fields-from-uploaded-rows) |
| [`client.datasets.listAllFields({ datasetId, limit?, offset?, names? })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/list-fields) → `AsyncGenerator<DatasetField>` | List dataset fields | [`GET /datasets/{datasetId}/fields`](https://docs.platform.toloka.ai/docs/api-reference/datasets/list-dataset-fields) |
| [`client.datasets.appendItems({ datasetId, fields?, items })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/append-items) → `Promise<{ created: number }>` | Add rows to a dataset | [`POST /datasets/{datasetId}/items`](https://docs.platform.toloka.ai/docs/api-reference/datasets/add-dataset-items) |
| [`client.datasets.listItemsPage({ datasetId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/list-items) → `Promise<{ items: DatasetItem[]; pagination: Pagination }>` | List dataset items | [`GET /datasets/{datasetId}/items`](https://docs.platform.toloka.ai/docs/api-reference/datasets/list-dataset-items) |
| [`client.datasets.listAllItems({ datasetId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/list-items) → `AsyncGenerator<DatasetItem>` | List dataset items | [`GET /datasets/{datasetId}/items`](https://docs.platform.toloka.ai/docs/api-reference/datasets/list-dataset-items) |
| [`client.datasets.createSlice({ datasetId, name?, itemFilter?, frozenColumns? } \| { datasetId, name?, fromSlice, frozenColumns? })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/create-slice) → `Promise<DatasetSlice>` | Create a dataset slice | [`POST /datasets/{datasetId}/slices`](https://docs.platform.toloka.ai/docs/api-reference/datasets/create-dataset-slice) |
| [`client.datasets.getSlice({ sliceId })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/get-slice) → `Promise<DatasetSlice>` | Get a dataset slice | [`GET /slices/{sliceId}`](https://docs.platform.toloka.ai/docs/api-reference/datasets/get-dataset-slice) |
| [`client.datasets.listSlicesPage({ datasetId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/list-slices) → `Promise<{ slices: DatasetSlice[]; pagination: Pagination }>` | List dataset slices | [`GET /datasets/{datasetId}/slices`](https://docs.platform.toloka.ai/docs/api-reference/datasets/list-dataset-slices) |
| [`client.datasets.split({ datasetId, column?, parts?, balanceBy?, seed?, slice?, itemFilter? })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/split) → `Promise<DatasetField>` | Split a dataset into parts | [`POST /datasets/{datasetId}/split`](https://docs.platform.toloka.ai/docs/api-reference/datasets/split-dataset) |

## Dataset uploads

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.datasets.startUpload({ datasetId, filename, format?, declaredSizeBytes, fields? })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/start-upload) → `Promise<{ job: UploadJob; uploadUrl: string }>` | Start a dataset file upload | [`POST /datasets/{datasetId}/uploads`](https://docs.platform.toloka.ai/docs/api-reference/dataset-uploads/create-dataset-upload) |
| [`client.datasets.finalizeUpload({ uploadId })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/finalize-upload) → `Promise<UploadJob>` | Finalize a dataset file upload | [`POST /uploads/{uploadId}/finalize`](https://docs.platform.toloka.ai/docs/api-reference/dataset-uploads/finalize-dataset-upload) |
| [`client.datasets.cancelUpload({ uploadId })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/cancel-upload) → `Promise<void>` | Cancel a dataset upload | [`POST /uploads/{uploadId}/cancel`](https://docs.platform.toloka.ai/docs/api-reference/dataset-uploads/cancel-dataset-upload) |
| [`client.datasets.getUpload({ uploadId })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/get-upload) → `Promise<UploadJob>` | Get a dataset upload | [`GET /uploads/{uploadId}`](https://docs.platform.toloka.ai/docs/api-reference/dataset-uploads/get-dataset-upload) |

## Dataset exports

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.datasets.startExport({ datasetId, format?, fields })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/start-export) → `Promise<ExportJob>` | Start a dataset export | [`POST /datasets/{datasetId}/exports`](https://docs.platform.toloka.ai/docs/api-reference/dataset-exports/create-dataset-export) |
| [`client.datasets.getExport({ exportId })`](https://docs.platform.toloka.ai/docs/sdk/reference/datasets/get-export) → `Promise<ExportJob>` | Get a dataset export | [`GET /exports/{exportId}`](https://docs.platform.toloka.ai/docs/api-reference/dataset-exports/get-dataset-export) |

## Pipelines

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.pipelines.import({ projectId, name, graph })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/import) → `Promise<Pipeline>` | Import a pipeline into a project | [`POST /projects/{projectId}/pipelines/import`](https://docs.platform.toloka.ai/docs/api-reference/pipelines/import-pipeline) |
| [`client.pipelines.get({ pipelineId })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/get) → `Promise<Pipeline>` | Get a pipeline | [`GET /pipelines/{pipelineId}`](https://docs.platform.toloka.ai/docs/api-reference/pipelines/get-pipeline-by-id) |
| [`client.pipelines.update({ pipelineId, name })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/update) → `Promise<Pipeline>` | Update a pipeline | [`PATCH /pipelines/{pipelineId}`](https://docs.platform.toloka.ai/docs/api-reference/pipelines/update-pipeline) |
| [`client.pipelines.listPage({ projectId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/list) → `Promise<{ pipelines: Pipeline[]; pagination: Pagination }>` | List project pipelines | [`GET /projects/{projectId}/pipelines`](https://docs.platform.toloka.ai/docs/api-reference/pipelines/list-project-pipelines) |
| [`client.pipelines.listAll({ projectId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/list) → `AsyncGenerator<Pipeline>` | List project pipelines | [`GET /projects/{projectId}/pipelines`](https://docs.platform.toloka.ai/docs/api-reference/pipelines/list-project-pipelines) |
| [`client.pipelines.estimateCost({ pipelineId, itemLimit?, itemFilter? })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/estimate-cost) → `Promise<PipelineCostEstimate>` | Estimate pipeline cost | [`POST /pipelines/{pipelineId}/cost-estimate`](https://docs.platform.toloka.ai/docs/api-reference/pipelines/estimate-pipeline-cost) |
| [`client.pipelines.attachDataset({ pipelineId, datasetId, itemLimit?, itemFilter? })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/attach-dataset) → `Promise<Pipeline>` | Attach a dataset to a pipeline | [`POST /pipelines/{pipelineId}/dataset`](https://docs.platform.toloka.ai/docs/api-reference/pipelines/attach-pipeline-dataset) |
| [`client.pipelines.export({ pipelineId })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/export) → `Promise<{ name: string; graph: PipelineGraphV1 }>` | Export a pipeline | [`GET /pipelines/{pipelineId}/export`](https://docs.platform.toloka.ai/docs/api-reference/pipelines/export-pipeline) |
| [`client.pipelines.copy({ pipelineId, name? })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/copy) → `Promise<Pipeline>` | Copy a pipeline | [`POST /pipelines/{pipelineId}/copy`](https://docs.platform.toloka.ai/docs/api-reference/pipelines/copy-pipeline) |

## Pipeline graph

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.pipelines.getGraph({ pipelineId })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/get-graph) → `Promise<PipelineGraphSnapshot>` | Get the pipeline graph | [`GET /pipelines/{pipelineId}/graph`](https://docs.platform.toloka.ai/docs/api-reference/pipeline-graph/get-pipeline-graph-snapshot) |
| [`client.pipelines.replaceGraph({ pipelineId, graph, expectedVersion? } \| { pipelineId, graph, version, invalidFieldSchemas })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/replace-graph) → `Promise<Pipeline>` | Replace the pipeline graph | [`PUT /pipelines/{pipelineId}/graph`](https://docs.platform.toloka.ai/docs/api-reference/pipeline-graph/replace-pipeline-graph) |
| [`client.pipelines.validateGraph({ pipelineId, graph })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/validate-graph) → `Promise<{ valid: boolean; issues: PipelineValidationIssue[]; checks: CheckJob[] }>` | Validate a pipeline graph | [`POST /pipelines/{pipelineId}/graph/validate`](https://docs.platform.toloka.ai/docs/api-reference/pipeline-graph/validate-pipeline-graph) |
| [`client.pipelines.patchNode({ pipelineId, expectedVersion?, nodeId, settings })`](https://docs.platform.toloka.ai/docs/sdk/reference/pipelines/patch-node) → `Promise<Pipeline>` | Update a pipeline node | [`PATCH /pipelines/{pipelineId}/graph/nodes/{nodeId}`](https://docs.platform.toloka.ai/docs/api-reference/pipeline-graph/patch-pipeline-node) |

## Runs

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.runs.start({ pipelineId })`](https://docs.platform.toloka.ai/docs/sdk/reference/runs/start) → `Promise<RunJob>` | Start a pipeline run | [`POST /pipelines/{pipelineId}/runs`](https://docs.platform.toloka.ai/docs/api-reference/runs/create-pipeline-run) |
| [`client.runs.get({ runId })`](https://docs.platform.toloka.ai/docs/sdk/reference/runs/get) → `Promise<RunJob>` | Get a pipeline run | [`GET /runs/{runId}`](https://docs.platform.toloka.ai/docs/api-reference/runs/get-pipeline-run) |
| [`client.runs.cancel({ runId, pendingHumanQa? })`](https://docs.platform.toloka.ai/docs/sdk/reference/runs/cancel) → `Promise<RunJob>` | Cancel a pipeline run | [`POST /runs/{runId}/cancel`](https://docs.platform.toloka.ai/docs/api-reference/runs/cancel-pipeline-run) |
| [`client.runs.listPage({ pipelineId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/runs/list) → `Promise<{ runs: RunSummary[]; pagination: Pagination }>` | List pipeline runs | [`GET /pipelines/{pipelineId}/runs`](https://docs.platform.toloka.ai/docs/api-reference/runs/list-pipeline-runs) |
| [`client.runs.listAll({ pipelineId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/runs/list) → `AsyncGenerator<RunSummary>` | List pipeline runs | [`GET /pipelines/{pipelineId}/runs`](https://docs.platform.toloka.ai/docs/api-reference/runs/list-pipeline-runs) |
| [`client.runs.listItemsPage({ runId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/runs/list-items) → `Promise<{ items: RunItem[]; pagination: Pagination }>` | List run items | [`GET /runs/{runId}/items`](https://docs.platform.toloka.ai/docs/api-reference/runs/list-pipeline-run-items) |
| [`client.runs.listAllItems({ runId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/runs/list-items) → `AsyncGenerator<RunItem>` | List run items | [`GET /runs/{runId}/items`](https://docs.platform.toloka.ai/docs/api-reference/runs/list-pipeline-run-items) |
| [`client.runs.getItem({ runId, itemId })`](https://docs.platform.toloka.ai/docs/sdk/reference/runs/get-item) → `Promise<RunItem>` | Get a run item | [`GET /runs/{runId}/items/{itemId}`](https://docs.platform.toloka.ai/docs/api-reference/runs/get-pipeline-run-item) |

## Checks

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.checks.list({ pipelineId })`](https://docs.platform.toloka.ai/docs/sdk/reference/checks/list) → `Promise<CheckJob[]>` | List pipeline checks | [`GET /pipelines/{pipelineId}/checks`](https://docs.platform.toloka.ai/docs/api-reference/checks/list-pipeline-checks) |
| [`client.checks.start({ pipelineId, nodeId, checkId })`](https://docs.platform.toloka.ai/docs/sdk/reference/checks/start) → `Promise<CheckJob>` | Start a pipeline check | [`POST /pipelines/{pipelineId}/checks`](https://docs.platform.toloka.ai/docs/api-reference/checks/create-pipeline-check) |
| [`client.checks.get({ checkRunId })`](https://docs.platform.toloka.ai/docs/sdk/reference/checks/get) → `Promise<CheckJob>` | Get a pipeline check | [`GET /checks/{checkRunId}`](https://docs.platform.toloka.ai/docs/api-reference/checks/get-pipeline-check) |
| [`client.checks.runLints({ pipelineId })`](https://docs.platform.toloka.ai/docs/sdk/reference/checks/run-lints) → `Promise<{ checks: CheckJob[]; rejected: { nodeId: string; checkId: string; message: string }[]; nodesInUse: string[] }>` | Run pipeline lints | [`POST /pipelines/{pipelineId}/lints`](https://docs.platform.toloka.ai/docs/api-reference/checks/run-pipeline-lints) |

## Secrets

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.secrets.list({ projectId })`](https://docs.platform.toloka.ai/docs/sdk/reference/secrets/list) → `Promise<ProjectSecret[]>` | List project secret names | [`GET /projects/{projectId}/secrets`](https://docs.platform.toloka.ai/docs/api-reference/secrets/list-project-secrets) |
| [`client.secrets.set({ projectId, name, value })`](https://docs.platform.toloka.ai/docs/sdk/reference/secrets/set) → `Promise<ProjectSecret>` | Set a project secret | [`PUT /projects/{projectId}/secrets/{name}`](https://docs.platform.toloka.ai/docs/api-reference/secrets/set-project-secret) |

## Files

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.files.list({ projectId })`](https://docs.platform.toloka.ai/docs/sdk/reference/files/list) → `Promise<ProjectFile[]>` | List project files | [`GET /projects/{projectId}/files`](https://docs.platform.toloka.ai/docs/api-reference/files/list-project-files) |
| [`client.files.startUpload({ projectId, filename, declaredSizeBytes })`](https://docs.platform.toloka.ai/docs/sdk/reference/files/start-upload) → `Promise<{ file: ProjectFile; uploadUrl: string }>` | Start a project file upload | [`POST /projects/{projectId}/files`](https://docs.platform.toloka.ai/docs/api-reference/files/create-project-file-upload) |
| [`client.files.finalizeUpload({ projectId, fileId })`](https://docs.platform.toloka.ai/docs/sdk/reference/files/finalize-upload) → `Promise<ProjectFile>` | Finalize a project file upload | [`POST /projects/{projectId}/files/{fileId}/finalize`](https://docs.platform.toloka.ai/docs/api-reference/files/finalize-project-file-upload) |
| [`client.files.delete({ projectId, fileId })`](https://docs.platform.toloka.ai/docs/sdk/reference/files/delete) → `Promise<void>` | Delete a project file | [`DELETE /projects/{projectId}/files/{fileId}`](https://docs.platform.toloka.ai/docs/api-reference/files/delete-project-file) |

## Generation models

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.generationModels.list()`](https://docs.platform.toloka.ai/docs/sdk/reference/generation-models/list) → `Promise<{ defaultGenerationModelId: "gpt-5.6-terra" \| "gpt-5.6-luna" \| "gpt-5.4" \| "gpt-5.4-mini" \| "claude-sonnet-4-6" \| "gemini-3.1-pro-preview" \| "gemini-3.5-flash" \| "gemini-3.7-flash" \| "claude-sonnet-5" \| "claude-opus-5" \| "claude-fable-5" \| "gpt-5.6-sol"; generationModels: GenerationModel[] }>` | List synthetic generation models | [`GET /generation-models`](https://docs.platform.toloka.ai/docs/api-reference/generation-models/list-generation-models) |

## Audience

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.audience.specializations.listPage([{ limit?, offset? }])`](https://docs.platform.toloka.ai/docs/sdk/reference/audience/list-specializations) → `Promise<{ specializations: Specialization[]; pagination: Pagination }>` | List expert specializations | [`GET /audience/specializations`](https://docs.platform.toloka.ai/docs/api-reference/audience/list-audience-specializations) |
| [`client.audience.specializations.listAll([{ limit?, offset? }])`](https://docs.platform.toloka.ai/docs/sdk/reference/audience/list-specializations) → `AsyncGenerator<Specialization>` | List expert specializations | [`GET /audience/specializations`](https://docs.platform.toloka.ai/docs/api-reference/audience/list-audience-specializations) |

## Expert lists

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.expertLists.list({ projectId })`](https://docs.platform.toloka.ai/docs/sdk/reference/expert-lists/list) → `Promise<ExpertList[]>` | List expert lists | [`GET /projects/{projectId}/expert-lists`](https://docs.platform.toloka.ai/docs/api-reference/expert-lists/list-expert-lists) |
| [`client.expertLists.create({ projectId, name })`](https://docs.platform.toloka.ai/docs/sdk/reference/expert-lists/create) → `Promise<ExpertList>` | Create an expert list | [`POST /projects/{projectId}/expert-lists`](https://docs.platform.toloka.ai/docs/api-reference/expert-lists/create-expert-list) |
| [`client.expertLists.get({ expertListId })`](https://docs.platform.toloka.ai/docs/sdk/reference/expert-lists/get) → `Promise<ExpertListDetails>` | Get an expert list | [`GET /expert-lists/{expertListId}`](https://docs.platform.toloka.ai/docs/api-reference/expert-lists/get-expert-list) |
| [`client.expertLists.update({ expertListId, name?, hidden? })`](https://docs.platform.toloka.ai/docs/sdk/reference/expert-lists/update) → `Promise<ExpertList>` | Rename, hide or show an expert list | [`PATCH /expert-lists/{expertListId}`](https://docs.platform.toloka.ai/docs/api-reference/expert-lists/update-expert-list) |
| [`client.expertLists.listExpertsPage({ expertListId, after?, limit? })`](https://docs.platform.toloka.ai/docs/sdk/reference/expert-lists/list-experts) → `Promise<{ experts: { expertId: string; status: "pending" \| "available" \| "unavailable" \| "banned" \| "not_found" }[]; nextAfter: null \| string }>` | List the experts of an expert list | [`GET /expert-lists/{expertListId}/experts`](https://docs.platform.toloka.ai/docs/api-reference/expert-lists/list-expert-list-experts) |
| [`client.expertLists.addExperts({ expertListId, expertIds })`](https://docs.platform.toloka.ai/docs/sdk/reference/expert-lists/add-experts) → `Promise<ExpertChangeResult>` | Add experts to an expert list | [`POST /expert-lists/{expertListId}/experts/add`](https://docs.platform.toloka.ai/docs/api-reference/expert-lists/add-expert-list-experts) |
| [`client.expertLists.removeExperts({ expertListId, expertIds })`](https://docs.platform.toloka.ai/docs/sdk/reference/expert-lists/remove-experts) → `Promise<ExpertChangeResult>` | Remove experts from an expert list | [`POST /expert-lists/{expertListId}/experts/remove`](https://docs.platform.toloka.ai/docs/api-reference/expert-lists/remove-expert-list-experts) |

## Expert ban list

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.expertBanList.get({ projectId })`](https://docs.platform.toloka.ai/docs/sdk/reference/expert-ban-list/get) → `Promise<ExpertBanListDetails>` | Get the expert ban list of a project | [`GET /projects/{projectId}/expert-ban-list`](https://docs.platform.toloka.ai/docs/api-reference/expert-ban-list/get-expert-ban-list) |
| [`client.expertBanList.listExpertsPage({ projectId, after?, limit? })`](https://docs.platform.toloka.ai/docs/sdk/reference/expert-ban-list/list-experts) → `Promise<{ experts: ExpertBanListExpert[]; nextAfter: null \| string }>` | List the experts of the expert ban list | [`GET /projects/{projectId}/expert-ban-list/experts`](https://docs.platform.toloka.ai/docs/api-reference/expert-ban-list/list-expert-ban-list-experts) |
| [`client.expertBanList.addExperts({ projectId, expertIds, reason })`](https://docs.platform.toloka.ai/docs/sdk/reference/expert-ban-list/add-experts) → `Promise<ExpertChangeResult>` | Ban experts in a project | [`POST /projects/{projectId}/expert-ban-list/experts/add`](https://docs.platform.toloka.ai/docs/api-reference/expert-ban-list/add-expert-ban-list-experts) |
| [`client.expertBanList.removeExperts({ projectId, expertIds })`](https://docs.platform.toloka.ai/docs/sdk/reference/expert-ban-list/remove-experts) → `Promise<ExpertChangeResult>` | Unban experts in a project | [`POST /projects/{projectId}/expert-ban-list/experts/remove`](https://docs.platform.toloka.ai/docs/api-reference/expert-ban-list/remove-expert-ban-list-experts) |

## Base models

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.baseModels.list()`](https://docs.platform.toloka.ai/docs/sdk/reference/base-models/list) → `Promise<BaseModel[]>` | List base models | [`GET /base-models`](https://docs.platform.toloka.ai/docs/api-reference/base-models/list-base-models) |
| [`client.baseModels.get({ id })`](https://docs.platform.toloka.ai/docs/sdk/reference/base-models/get) → `Promise<BaseModel>` | Get a base model | [`GET /base-models/{baseModelId}`](https://docs.platform.toloka.ai/docs/api-reference/base-models/get-base-model) |

## Trainings

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.trainings.listPage({ projectId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/list) → `Promise<{ trainings: Training[]; pagination: Pagination }>` | List project trainings | [`GET /projects/{projectId}/trainings`](https://docs.platform.toloka.ai/docs/api-reference/trainings/list-project-trainings) |
| [`client.trainings.listAll({ projectId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/list) → `AsyncGenerator<Training>` | List project trainings | [`GET /projects/{projectId}/trainings`](https://docs.platform.toloka.ai/docs/api-reference/trainings/list-project-trainings) |
| [`client.trainings.get({ trainingId })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/get) → `Promise<Training>` | Get a training | [`GET /trainings/{trainingId}`](https://docs.platform.toloka.ai/docs/api-reference/trainings/get-training) |
| [`client.trainings.create({ projectId, name, configuration })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/create) → `Promise<Training>` | Create a training | [`POST /projects/{projectId}/trainings`](https://docs.platform.toloka.ai/docs/api-reference/trainings/create-project-training) |
| [`client.trainings.updateMetadata({ trainingId, name?, archived? })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/update-metadata) → `Promise<Training>` | Update training metadata | [`PATCH /trainings/{trainingId}`](https://docs.platform.toloka.ai/docs/api-reference/trainings/update-training-metadata) |
| [`client.trainings.replaceConfiguration({ trainingId, configuration })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/replace-configuration) → `Promise<Training>` | Replace a training configuration | [`PUT /trainings/{trainingId}/configuration`](https://docs.platform.toloka.ai/docs/api-reference/trainings/replace-training-configuration) |
| [`client.trainings.prepareCostEstimateInputs({ trainingId, idempotencyKey })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/prepare-cost-estimate-inputs) → `Promise<TrainingCostEstimateInputSet>` | Prepare training cost estimate inputs | [`POST /trainings/{trainingId}/cost-estimate-inputs`](https://docs.platform.toloka.ai/docs/api-reference/trainings/prepare-training-cost-estimate-inputs) |
| [`client.trainings.estimateCost({ trainingId, inputSetId })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/estimate-cost) → `Promise<TrainingCostEstimate>` | Estimate training cost | [`POST /trainings/{trainingId}/cost-estimate`](https://docs.platform.toloka.ai/docs/api-reference/trainings/estimate-training-cost) |
| [`client.trainings.resumeRun({ trainingRunId })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/resume-run) → `Promise<TrainingRun>` | Resume a training run | [`POST /training-runs/{trainingRunId}/resume`](https://docs.platform.toloka.ai/docs/api-reference/trainings/resume-training-run) |
| [`client.trainings.cancelRun({ trainingRunId })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/cancel-run) → `Promise<TrainingRun>` | Cancel a training run | [`POST /training-runs/{trainingRunId}/cancel`](https://docs.platform.toloka.ai/docs/api-reference/trainings/cancel-training-run) |
| [`client.trainings.createRun({ trainingId, idempotencyKey, inputSetId, estimateFingerprint, versionName })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/create-run) → `Promise<TrainingRun>` | Create a training run | [`POST /trainings/{trainingId}/runs`](https://docs.platform.toloka.ai/docs/api-reference/trainings/create-training-run) |
| [`client.trainings.listRunsPage({ trainingId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/list-runs) → `Promise<{ trainingRuns: TrainingRun[]; pagination: Pagination }>` | List training runs | [`GET /trainings/{trainingId}/runs`](https://docs.platform.toloka.ai/docs/api-reference/trainings/list-training-runs) |
| [`client.trainings.listAllRuns({ trainingId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/list-runs) → `AsyncGenerator<TrainingRun>` | List training runs | [`GET /trainings/{trainingId}/runs`](https://docs.platform.toloka.ai/docs/api-reference/trainings/list-training-runs) |
| [`client.trainings.getRun({ trainingRunId })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/get-run) → `Promise<TrainingRun>` | Get a training run | [`GET /training-runs/{trainingRunId}`](https://docs.platform.toloka.ai/docs/api-reference/trainings/get-training-run) |
| [`client.trainings.getRunLogs({ trainingRunId, cursor?, limit? })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/get-run-logs) → `Promise<TrainingRunLogs>` | Read training run logs | [`GET /training-runs/{trainingRunId}/logs`](https://docs.platform.toloka.ai/docs/api-reference/trainings/get-training-run-logs) |
| [`client.trainings.getRunMetrics({ trainingRunId })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/get-run-metrics) → `Promise<TrainingRunMetrics>` | Get training run metrics | [`GET /training-runs/{trainingRunId}/metrics`](https://docs.platform.toloka.ai/docs/api-reference/trainings/get-training-run-metrics) |
| [`client.trainings.getRunMetricHistory({ trainingRunId, metricKey, resolution? })`](https://docs.platform.toloka.ai/docs/sdk/reference/trainings/get-run-metric-history) → `Promise<TrainingRunMetricHistory>` | Get training metric history | [`GET /training-runs/{trainingRunId}/metrics/{metricKey}`](https://docs.platform.toloka.ai/docs/api-reference/trainings/get-training-run-metric-history) |

## Models

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.models.listPage({ projectId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/models/list) → `Promise<{ models: Model[]; pagination: Pagination }>` | List project models | [`GET /projects/{projectId}/models`](https://docs.platform.toloka.ai/docs/api-reference/models/list-project-models) |
| [`client.models.listAll({ projectId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/models/list) → `AsyncGenerator<Model>` | List project models | [`GET /projects/{projectId}/models`](https://docs.platform.toloka.ai/docs/api-reference/models/list-project-models) |
| [`client.models.get({ projectId, modelId })`](https://docs.platform.toloka.ai/docs/sdk/reference/models/get) → `Promise<Model>` | Get a project model | [`GET /projects/{projectId}/models/{modelId}`](https://docs.platform.toloka.ai/docs/api-reference/models/get-project-model) |
| [`client.models.listVersionsPage({ projectId, modelId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/models/list-versions) → `Promise<{ versions: ModelVersion[]; pagination: Pagination }>` | List model versions | [`GET /projects/{projectId}/models/{modelId}/versions`](https://docs.platform.toloka.ai/docs/api-reference/models/list-model-versions) |
| [`client.models.listAllVersions({ projectId, modelId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/models/list-versions) → `AsyncGenerator<ModelVersion>` | List model versions | [`GET /projects/{projectId}/models/{modelId}/versions`](https://docs.platform.toloka.ai/docs/api-reference/models/list-model-versions) |
| [`client.models.create({ projectId, name, description?, baseModelId })`](https://docs.platform.toloka.ai/docs/sdk/reference/models/create) → `Promise<Model>` | Create a project model | [`POST /projects/{projectId}/models`](https://docs.platform.toloka.ai/docs/api-reference/models/create-project-model) |
| [`client.models.getVersion({ modelVersionId })`](https://docs.platform.toloka.ai/docs/sdk/reference/models/get-version) → `Promise<ModelVersion>` | Get a model version | [`GET /model-versions/{modelVersionId}`](https://docs.platform.toloka.ai/docs/api-reference/models/get-model-version) |
| [`client.models.getVersionContent({ modelVersionId })`](https://docs.platform.toloka.ai/docs/sdk/reference/models/get-version-content) → `Promise<ModelVersionContentDownload>` | Get model version download links | [`GET /model-versions/{modelVersionId}/content`](https://docs.platform.toloka.ai/docs/api-reference/models/get-model-version-content) |
| [`client.models.archive({ projectId, modelId })`](https://docs.platform.toloka.ai/docs/sdk/reference/models/archive) → `Promise<Model>` | Archive a project model | [`POST /projects/{projectId}/models/{modelId}/archive`](https://docs.platform.toloka.ai/docs/api-reference/models/archive-project-model) |

## Batch inference

| SDK signature and return type | What it does | Endpoint |
| - | - | - |
| [`client.batchInference.createRun({ projectId, idempotencyKey, datasetId, itemFilter?, model, mode?, sampling, output })`](https://docs.platform.toloka.ai/docs/sdk/reference/batch-inference/create-run) → `Promise<BatchInferenceRun>` | Create a batch inference run | [`POST /projects/{projectId}/batch-inference-runs`](https://docs.platform.toloka.ai/docs/api-reference/batch-inference/create-batch-inference-run) |
| [`client.batchInference.listRunsPage({ projectId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/batch-inference/list-runs) → `Promise<{ batchInferenceRuns: BatchInferenceRun[]; pagination: Pagination }>` | List batch inference runs | [`GET /projects/{projectId}/batch-inference-runs`](https://docs.platform.toloka.ai/docs/api-reference/batch-inference/list-batch-inference-runs) |
| [`client.batchInference.listAllRuns({ projectId, limit?, offset? })`](https://docs.platform.toloka.ai/docs/sdk/reference/batch-inference/list-runs) → `AsyncGenerator<BatchInferenceRun>` | List batch inference runs | [`GET /projects/{projectId}/batch-inference-runs`](https://docs.platform.toloka.ai/docs/api-reference/batch-inference/list-batch-inference-runs) |
| [`client.batchInference.getRun({ batchInferenceRunId })`](https://docs.platform.toloka.ai/docs/sdk/reference/batch-inference/get-run) → `Promise<BatchInferenceRun>` | Get a batch inference run | [`GET /batch-inference-runs/{batchInferenceRunId}`](https://docs.platform.toloka.ai/docs/api-reference/batch-inference/get-batch-inference-run) |
| [`client.batchInference.confirmRun({ batchInferenceRunId })`](https://docs.platform.toloka.ai/docs/sdk/reference/batch-inference/confirm-run) → `Promise<BatchInferenceRun>` | Confirm a batch inference run | [`POST /batch-inference-runs/{batchInferenceRunId}/confirm`](https://docs.platform.toloka.ai/docs/api-reference/batch-inference/confirm-batch-inference-run) |
| [`client.batchInference.resumeRun({ batchInferenceRunId })`](https://docs.platform.toloka.ai/docs/sdk/reference/batch-inference/resume-run) → `Promise<BatchInferenceRun>` | Resume a batch inference run | [`POST /batch-inference-runs/{batchInferenceRunId}/resume`](https://docs.platform.toloka.ai/docs/api-reference/batch-inference/resume-batch-inference-run) |
| [`client.batchInference.cancelRun({ batchInferenceRunId })`](https://docs.platform.toloka.ai/docs/sdk/reference/batch-inference/cancel-run) → `Promise<BatchInferenceRun>` | Cancel a batch inference run | [`POST /batch-inference-runs/{batchInferenceRunId}/cancel`](https://docs.platform.toloka.ai/docs/api-reference/batch-inference/cancel-batch-inference-run) |


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