> ## 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.pipelines.patchNode()

> Update a pipeline node.

Send top-level settings for one node. Nested settings are replaced as a whole. The platform validates and saves the updated graph, then returns the pipeline metadata. Use `expectedVersion` to detect conflicting edits.

## Signature

Method signature on `client.pipelines`:

```ts theme={null}
patchNode(args: {
  pipelineId: string;
  expectedVersion?: string;
  nodeId: string;
  settings: Parameters<PotatoClient["pipelines"]["patchNode"]>[0]["settings"];
}): Promise<Pipeline>;
```

## Parameters

**pipelineId** `string` *required*

Pipeline ID with prefix `pl.`.

**expectedVersion** `string`

The snapshot version expected to still be active. A stale version is rejected with HTTP 409.

**nodeId** `string` *required*

Identifier of the node in the pipeline graph.

**settings** `object` *required*

Setting names and replacement values to apply to this node; include at least one setting.

**Fields**

**\[key: string]** `unknown`

## Returns

`Promise<Pipeline>`

A pipeline within a project.

**id** `PipelineId` *required*

Pipeline ID with prefix `pl.`.

**projectId** `ProjectId` *required*

Project ID with prefix `pp.`.

**name** `string` *required*

Name of the pipeline.

**version** `number` *required*

Pipeline version number; copying a pipeline increments the source version.

**createdAt** `string` *required*

Time the pipeline was created, as an ISO 8601 timestamp.

**updatedAt** `string` *required*

Time the pipeline was last updated, as an ISO 8601 timestamp.

## Errors

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

| Status | Description |
| - | - |
| 400 | The node does not exist or the resulting pipeline graph is invalid |
| 404 | Pipeline not found |
| 409 | The expected graph version is stale or the pipeline has an active run and cannot be changed |
| 429 | Rate limit exceeded |

HTTP endpoint: [`PATCH /pipelines/{pipelineId}/graph/nodes/{nodeId}`](https://docs.platform.toloka.ai/docs/api-reference/pipeline-graph/patch-pipeline-node).

```ts patchNode() theme={null}
import assert from "node:assert/strict";
import { createClient } from "@toloka-platform/sdk";

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

const snapshot = await client.pipelines.getGraph({ pipelineId: "pl.019a0000-0000-7000-8000-000000000001" });
const root = snapshot.graph.nodes.find((node) => node.type === "root");
assert(root, "The pipeline has no Start node.");

const pipeline = await client.pipelines.patchNode({
  pipelineId: "pl.019a0000-0000-7000-8000-000000000001",
  nodeId: root.id,
  settings: {
    itemLimit: 100
  },
  expectedVersion: snapshot.version
});
console.log(pipeline);
```

```json patchNode() theme={null}
{
  "id": "pl.019a0000-0000-7000-8000-000000000001",
  "projectId": "pp.019a0000-0000-7000-8000-000000000001",
  "name": "<string>",
  "version": 0,
  "createdAt": "2026-01-01T00:00:00Z",
  "updatedAt": "2026-01-01T00:00:00Z"
}
```


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