---
title: "Update a note"
method: PUT
path: "/v1/timeline/{noteId}"
tags: ["timeline"]
---

# Update a note

`PUT /v1/timeline/{noteId}`

Update a note by its ID. You can modify the content, associated contacts, note type, or date.

## Path parameters

- `noteId` string, uuid, required

## Request body

- object
  - `note` object, required
    - `note` string
    - `custom_emoji` string
    - `event_time` unknown
    - `meeting_type` 'call' | 'coffee' | 'email' | 'meal' | 'meeting' | 'networking' | 'note' | 'other' | 'party' | 'text'
    - `meeting_type_id` string, uuid
    - `meeting_types` unknown
    - `attachments` object[]
      - `id` string, uuid
      - `url` string, uri, required
      - `file_name` string, required
      - `file_size` number
    - `timeline_items_contacts` object[]
      - `contact_id` string, uuid, required
      - `contacts` unknown
    - `oauth_credential_id` string, uuid
    - `reminder_id` string, uuid

## Response `200`

Successful response

- object
  - `error` boolean, required
  - `data` object, required
    - `note` object, required
      - `id` string, uuid, required
      - `user_id` string
      - `note` string, nullable
      - `custom_emoji` string, nullable
      - `meeting_type` string, nullable
      - `meeting_type_id` string, uuid, nullable
      - `event_time` union
        - string, date-time
        - unknown
      - `created_at` union
        - string, date-time
        - unknown
      - `google_calendar_event_id_v3` string, nullable
      - `oauth_credential_id` string, uuid, nullable
      - `calendar_account_email` string, nullable
      - `calendar_account_provider` 'GOOGLE' | 'OFFICE365', nullable
      - `reminder_id` string, uuid, nullable
      - `channels` string[], required
      - `next_cursor` string
      - `meeting_types` object, nullable, required
      - `timeline_items_contacts` object[]
      - `attachments` object[]

## Other responses

- `400` — Request body failed validation.
- `401` — Missing or invalid API key.
- `403` — Valid key, insufficient permission.
- `404` — Resource does not exist.
- `409` — Request conflicts with the current state of the resource.
- `429` — Rate limit exceeded.
- `500` — Unexpected server error.

## Changes

- **2026-08-27** `a2f71a243839` — 2 info
  - api operation id `updateNoteV1` was added
  - added the non-success response with the status `409`
- **2026-08-26** `d7a4e2554573` — 1 warning
  - the `note/note` request property's maxLength was set to `50000`
- **2026-08-19** `96bec1251270` — 1 info
  - added the required property `data/note/channels` to the response with the `200` status
- **2026-07-26** `07a79f0ff879` — 2 info
  - added the optional property `data/note/calendar_account_email` to the response with the `200` status
  - added the optional property `data/note/calendar_account_provider` to the response with the `200` status

[Change history](https://skmtc.dev/getdex/apis/dex-public-api/changes/v1/timeline/:noteId/put.md)

---

[API](https://skmtc.dev/getdex/apis/dex-public-api.md) · [All operations](https://skmtc.dev/getdex/apis/dex-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getdex/dex-public-api/revisions/eb1883ce3c67/schema)
