---
title: "PATCH /api/v1/memos/{memo}"
method: PATCH
path: "/api/v1/memos/{memo}"
tags: ["MemoService"]
---

# PATCH /api/v1/memos/{memo}

`PATCH /api/v1/memos/{memo}`

UpdateMemo updates a memo.

## Path parameters

- `memo` string, required

## Query parameters

- `updateMask` string, field-mask

## Request body

- Memo
  - `name` string — The resource name of the memo. Format: memos/{memo}, where memo is the user-defined UID.
  - `state` 'STATE_UNSPECIFIED' | 'NORMAL' | 'ARCHIVED', enum, required — The state of the memo.
  - `creator` string — The name of the creator. Format: users/{user}
  - `createTime` string, date-time — The creation timestamp. If not set on creation, the server will set it to the current time.
  - `updateTime` string, date-time — The last update timestamp. If not set on creation, the server will set it to the current time.
  - `content` string, required — Required. The content of the memo in Markdown format.
  - `visibility` 'VISIBILITY_UNSPECIFIED' | 'PRIVATE' | 'PROTECTED' | 'PUBLIC' | 'SPACE', enum, required — The visibility of the memo. One of PRIVATE (creator only), PROTECTED (signed-in users), PUBLIC (anonymous-eligible), or SPACE (active space members). Defaults to PRIVATE on creation when unspecified.
  - `tags` string[] — Output only. The tags extracted from the content.
  - `pinned` boolean — Whether the memo is pinned.
  - `attachments` Attachment[] — Optional. The attachments of the memo.
    - `name` string — The name of the attachment. Format: attachments/{attachment}
    - `createTime` string, date-time — Output only. The creation timestamp.
    - `filename` string, required — The filename of the attachment.
    - `content` string, bytes — Input only. The content of the attachment.
    - `externalLink` string — Optional. The external link of the attachment.
    - `type` string, required — The MIME type of the attachment.
    - `size` string — Output only. The size of the attachment in bytes.
    - `memo` string — Optional. The related memo. Refer to `Memo.name`. Format: memos/{memo}
    - `motionMedia` MotionMedia
      - `family` 'MOTION_MEDIA_FAMILY_UNSPECIFIED' | 'APPLE_LIVE_PHOTO' | 'ANDROID_MOTION_PHOTO', enum
      - `role` 'MOTION_MEDIA_ROLE_UNSPECIFIED' | 'STILL' | 'VIDEO' | 'CONTAINER', enum
      - `groupId` string
      - `presentationTimestampUs` string
      - `hasEmbeddedVideo` boolean
    - `mediaMetadata` MediaMetadata
      - `width` integer
      - `height` integer
      - `photo` PhotoMetadata
        - `captureTime` MediaCaptureTime
          - `localDateTime` string
          - `utcOffset` string
        - `location` MediaLocation
          - `latitude` number, double
          - `longitude` number, double
          - `altitudeMeters` number, double
        - `sourceExifOrientation` integer
        - `cameraMake` string
        - `cameraModel` string
        - `lensModel` string
        - `fNumber` number, double
        - `exposureTimeSeconds` number, double
        - `iso` integer
        - `focalLengthMm` number, double
      - `video` VideoMetadata
        - `durationSeconds` number, double
  - `relations` MemoRelation[] — Optional. The relations of the memo.
    - `memo` MemoRelationMemo, required — Memo reference in relations.
      - `name` string, required — The resource name of the memo. Format: memos/{memo}
      - `snippet` string — Output only. The snippet of the memo content. Plain text only.
    - `relatedMemo` MemoRelationMemo, required — Memo reference in relations.
      - `name` string, required — The resource name of the memo. Format: memos/{memo}
      - `snippet` string — Output only. The snippet of the memo content. Plain text only.
    - `type` 'TYPE_UNSPECIFIED' | 'REFERENCE' | 'COMMENT', enum, required
  - `reactions` Reaction[] — Output only. The reactions to the memo.
    - `name` string — The resource name of the reaction. Format: memos/{memo}/reactions/{reaction}
    - `creator` string — The resource name of the creator. Format: users/{user}
    - `reactionType` string, required — Required. The type of reaction (e.g., "👍", "❤️", "😄").
    - `createTime` string, date-time — Output only. The creation timestamp.
  - `property` MemoProperty — Computed properties of a memo.
    - `hasLink` boolean
    - `hasTaskList` boolean
    - `hasCode` boolean
    - `hasIncompleteTasks` boolean
    - `title` string — The title extracted from the first H1 heading, if present.
  - `parent` string — Output only. The readable context memo of this COMMENT relation, if any. This is omitted unless the caller may independently read both memos. Format: memos/{memo}
  - `snippet` string — Output only. The snippet of the memo content. Plain text only.
  - `location` Location
    - `placeholder` string — A placeholder text for the location.
    - `latitude` number, double — The latitude of the location.
    - `longitude` number, double — The longitude of the location.
  - `space` string — Optional. The space in which this memo is placed. Format: spaces/{space}. Every memo, including a comment, owns its placement independently.

## Response `200`

OK

- Memo
  - `name` string — The resource name of the memo. Format: memos/{memo}, where memo is the user-defined UID.
  - `state` 'STATE_UNSPECIFIED' | 'NORMAL' | 'ARCHIVED', enum, required — The state of the memo.
  - `creator` string — The name of the creator. Format: users/{user}
  - `createTime` string, date-time — The creation timestamp. If not set on creation, the server will set it to the current time.
  - `updateTime` string, date-time — The last update timestamp. If not set on creation, the server will set it to the current time.
  - `content` string, required — Required. The content of the memo in Markdown format.
  - `visibility` 'VISIBILITY_UNSPECIFIED' | 'PRIVATE' | 'PROTECTED' | 'PUBLIC' | 'SPACE', enum, required — The visibility of the memo. One of PRIVATE (creator only), PROTECTED (signed-in users), PUBLIC (anonymous-eligible), or SPACE (active space members). Defaults to PRIVATE on creation when unspecified.
  - `tags` string[] — Output only. The tags extracted from the content.
  - `pinned` boolean — Whether the memo is pinned.
  - `attachments` Attachment[] — Optional. The attachments of the memo.
    - `name` string — The name of the attachment. Format: attachments/{attachment}
    - `createTime` string, date-time — Output only. The creation timestamp.
    - `filename` string, required — The filename of the attachment.
    - `content` string, bytes — Input only. The content of the attachment.
    - `externalLink` string — Optional. The external link of the attachment.
    - `type` string, required — The MIME type of the attachment.
    - `size` string — Output only. The size of the attachment in bytes.
    - `memo` string — Optional. The related memo. Refer to `Memo.name`. Format: memos/{memo}
    - `motionMedia` MotionMedia
      - `family` 'MOTION_MEDIA_FAMILY_UNSPECIFIED' | 'APPLE_LIVE_PHOTO' | 'ANDROID_MOTION_PHOTO', enum
      - `role` 'MOTION_MEDIA_ROLE_UNSPECIFIED' | 'STILL' | 'VIDEO' | 'CONTAINER', enum
      - `groupId` string
      - `presentationTimestampUs` string
      - `hasEmbeddedVideo` boolean
    - `mediaMetadata` MediaMetadata
      - `width` integer
      - `height` integer
      - `photo` PhotoMetadata
        - `captureTime` MediaCaptureTime
          - `localDateTime` string
          - `utcOffset` string
        - `location` MediaLocation
          - `latitude` number, double
          - `longitude` number, double
          - `altitudeMeters` number, double
        - `sourceExifOrientation` integer
        - `cameraMake` string
        - `cameraModel` string
        - `lensModel` string
        - `fNumber` number, double
        - `exposureTimeSeconds` number, double
        - `iso` integer
        - `focalLengthMm` number, double
      - `video` VideoMetadata
        - `durationSeconds` number, double
  - `relations` MemoRelation[] — Optional. The relations of the memo.
    - `memo` MemoRelationMemo, required — Memo reference in relations.
      - `name` string, required — The resource name of the memo. Format: memos/{memo}
      - `snippet` string — Output only. The snippet of the memo content. Plain text only.
    - `relatedMemo` MemoRelationMemo, required — Memo reference in relations.
      - `name` string, required — The resource name of the memo. Format: memos/{memo}
      - `snippet` string — Output only. The snippet of the memo content. Plain text only.
    - `type` 'TYPE_UNSPECIFIED' | 'REFERENCE' | 'COMMENT', enum, required
  - `reactions` Reaction[] — Output only. The reactions to the memo.
    - `name` string — The resource name of the reaction. Format: memos/{memo}/reactions/{reaction}
    - `creator` string — The resource name of the creator. Format: users/{user}
    - `reactionType` string, required — Required. The type of reaction (e.g., "👍", "❤️", "😄").
    - `createTime` string, date-time — Output only. The creation timestamp.
  - `property` MemoProperty — Computed properties of a memo.
    - `hasLink` boolean
    - `hasTaskList` boolean
    - `hasCode` boolean
    - `hasIncompleteTasks` boolean
    - `title` string — The title extracted from the first H1 heading, if present.
  - `parent` string — Output only. The readable context memo of this COMMENT relation, if any. This is omitted unless the caller may independently read both memos. Format: memos/{memo}
  - `snippet` string — Output only. The snippet of the memo content. Plain text only.
  - `location` Location
    - `placeholder` string — A placeholder text for the location.
    - `latitude` number, double — The latitude of the location.
    - `longitude` number, double — The longitude of the location.
  - `space` string — Optional. The space in which this memo is placed. Format: spaces/{space}. Every memo, including a comment, owns its placement independently.

## Other responses

- `default` — Default error response

## Changes

> 63 revisions in range; 1 could not be searched.

- **2026-08-23** `98020250022d` — 1 warning, 3 info
  - added the new `SPACE` enum value to the `visibility` response property for the response status `200`
  - added the new optional request property `space`
  - added the new `SPACE` enum value to the request property `visibility`
  - added the optional property `space` to the response with the `200` status
- **2026-08-21** `2f6093dc8600` — 1 breaking, 1 warning
  - removed the required property `reactions/items/contentId` from the response with the `200` status
  - removed the request property `reactions/items/contentId`
- **2026-08-11** `415db6a974da` — 2 info
  - added the new optional request property `attachments/items/mediaMetadata`
  - added the optional property `attachments/items/mediaMetadata` to the response with the `200` status
- **2026-04-26** `02e92ad138e1` — 2 warning
  - removed the request property `displayTime`
  - removed the optional property `displayTime` from the response with the `200` status
- **2026-04-06** `4a22cb0c9a89` — 2 info
  - added the new optional request property `attachments/items/motionMedia`
  - added the optional property `attachments/items/motionMedia` to the response with the `200` status

[Full history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/v1/memos/:memo/patch.md)

---

[API](https://skmtc.dev/usememos/apis/untitled-api.md) · [All operations](https://skmtc.dev/usememos/apis/untitled-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usememos/untitled-api/revisions/9f2688df7c2e/schema)
