Source: https://datafa.st/docs/api/account/notes/update
Markdown source: https://datafa.st/docs/api/account/notes/update.md
Description: Edit a manual note’s text or correct its timestamp.

# Update note

`PUT https://datafa.st/api/v1/admin/websites/{websiteId}/notes/{noteId}`

Edit a manual note’s text or correct its timestamp.

Required account-token permission: `notes:write`.

## Parameters

`websiteId` and `noteId` are required path parameters. Find the note ID with [List notes](/docs/api/account/notes/list).

The JSON body accepts `text` (non-empty, max 500 characters) and/or `timestamp` (ISO with Z/offset, or YYYY-MM-DD in the website timezone). Provide at least one field. The note must belong to the selected website. Social mention IDs cannot be edited here.

MCP: `datafast_notes_update`.
## Response

`data` is an array of manual notes. Each note includes `id`, `websiteId`, `text`, `timestamp` (UTC ISO), `author` (`id`, `name`, `image`, or null if the author was deleted), `createdAt`, and `updatedAt`. The author is derived from the authenticated account; it cannot be supplied by the caller.

API-created notes appear on the existing dashboard chart at their timestamp. They remain visible when changing the chart's period or granularity, subject to the chart's note visibility toggle. Manual notes are private to authorized website users; public dashboard responses do not expose them.

## Authentication

Use `Authorization: Bearer df_...` for one website, or `dft_...` with the required permission and website access. Notes always require `websiteId` in the path. Mention reads infer it from a website key; account tokens must provide the `websiteId` query parameter.

Existing website keys and `*` account tokens work automatically. For restricted account tokens, open [Account settings → API](/dashboard/settings?tab=api), expand your token, choose **Edit permissions**, and enable **Notes → Read / Write**. Save permissions to keep the same token and MCP connection. Only the signed-in token owner can edit permissions in the dashboard; no API or MCP operation can do this.

## Errors

Standard errors use `{ "status": "error", "error": { "code": 400, "message": "..." } }`. Expect `400` for invalid fields, dates, or IDs; `401` for invalid credentials; `403` for missing permissions or website access; `404` for a missing website/note; `409` for reusing a creation key with different input; and `429` for the normal API rate limit.

## Code examples

### Example request

```bash
curl -X PUT "https://datafa.st/api/v1/admin/websites/{websiteId}/notes/{noteId}" \
  -H "Authorization: Bearer dft_xxx" \
  -H "Content-Type: application/json" \
  -d '{"text": "Updated landing page headline"}'
```

### Success response

```json
{
  "status": "success",
  "data": [
    {
      "id": "69a123456789012345678901",
      "websiteId": "65f123456789012345678901",
      "text": "Updated landing page headline",
      "timestamp": "2026-09-05T10:00:00.000Z",
      "author": {
        "id": "65f123456789012345678902",
        "name": "Marc",
        "image": null
      },
      "createdAt": "2026-09-05T10:01:00.000Z",
      "updatedAt": "2026-09-05T10:01:00.000Z"
    }
  ]
}
```
