# Update Doc — Dart

> Update certain properties of an existing doc. This will save the doc in Dart for later access, search, etc. Any properties that are not specified will not be changed. See the documentation

- Key: `dart-update-doc`
- Type: Action (Write)
- Version: 0.0.2
- App: Dart (`dart`) — https://pipedream.com/apps/dart.md
- This page (HTML): https://pipedream.com/apps/dart/actions/update-doc
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/dart/actions/update-doc/update-doc.mjs

## Description

Update certain properties of an existing doc. This will save the doc in Dart for later access, search, etc. Any properties that are not specified will not be changed. [See the documentation](https://app.dartai.com/api/v0/public/docs/#/Doc/updateDoc)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `docId` | `string` | Yes | The ID of the doc Options are loaded from the connected account. |
| `title` | `string` | No | The title, which is a short description of what needs to be done |
| `folder` | `string` | No | The full title of the folder, which is a project or list of docs |
| `text` | `string` | No | The full content of the doc, which can include markdown formatting |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "dart",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "dart-update-doc",
  arguments: {
    docId: "Doc ID",
    title: "Title",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "dart-update-doc",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    dart: { authProvisionId: "apn_xxxxxxx" },
    docId: "Doc ID",
    title: "Title",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "dart-update-doc",
    "configured_props": {
      "dart": { "authProvisionId": "apn_xxxxxxx" },
      "docId": "Doc ID",
      "title": "Title"
    }
  }'
```

---

- App: https://pipedream.com/apps/dart.md · All apps: https://pipedream.com/apps
