---
title: "PATCH /api/users/{user}/notifications/{notification}"
method: PATCH
path: "/api/users/{user}/notifications/{notification}"
tags: ["UserService"]
---

# PATCH /api/users/{user}/notifications/{notification}

`PATCH /api/users/{user}/notifications/{notification}`

## Request

- The document declares no server URL.
- Auth: none declared

UpdateUserNotification updates a notification's status. Only the receiver
 may call it.

## Path parameters

- `user` string, required
- `notification` string, required

## Query parameters

- `updateMask` string, field-mask

## Request body

- UserNotification: UserNotification is a notification delivered to a user.
  - `name` string: Identifier. The resource name of the notification. Format: users/{user}/notifications/{notification}
  - `sender` string: Output only. The user who caused the notification. Format: users/{user}
  - `senderUser` User: User is an account on the instance.
    - `name` string: Identifier. The resource name of the user. {user} is the username. Format: users/{user}
    - `username` string, required: Required. The unique username, used to sign in.
    - `displayName` string: Optional. The display name of the user.
    - `email` string: Optional. The email address of the user. Stored trimmed and lowercased; empty means no address. An address belongs to at most one user on the instance, so writes that would reuse one fail with ALREADY_EXISTS. Returned only to the user and to admins.
    - `avatarUrl` string: Optional. The avatar URL of the user. An avatar set as a data URI (PNG, JPEG, GIF or WebP, at most 2 MiB) is returned as a file server URL.
    - `description` string: Optional. The description of the user.
    - `password` string: Input only. The password of the user. Never returned.
    - `role` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum, required: Required. The role of the user. Only admins can change it.
    - `state` 'STATE_UNSPECIFIED' | 'NORMAL' | 'ARCHIVED', enum, required: Required. The state of the user. Only admins can change it.
    - `createTime` string, date-time: Output only. The creation timestamp.
    - `updateTime` string, date-time: Output only. The last update timestamp.
  - `type` 'TYPE_UNSPECIFIED' | 'MEMO_COMMENT' | 'MEMO_MENTION' | 'SPACE_INVITATION', enum: Output only. The type of the notification.
  - `memoComment` UserNotificationMemoCommentPayload: MemoCommentPayload holds the details of a MEMO_COMMENT notification.
    - `memo` string: The comment memo. Format: memos/{memo}
    - `relatedMemo` string: The memo that was commented on. Format: memos/{memo}
    - `memoSnippet` string: Preview text of the comment memo.
    - `relatedMemoSnippet` string: Preview text of the related memo.
  - `memoMention` UserNotificationMemoMentionPayload: MemoMentionPayload holds the details of a MEMO_MENTION notification.
    - `memo` string: The memo that contains the mention. Format: memos/{memo}
    - `relatedMemo` string: The related parent memo when the mention was created in a comment. Format: memos/{memo}
    - `memoSnippet` string: Preview text of the memo that contains the mention.
    - `relatedMemoSnippet` string: Preview text of the related parent memo.
  - `spaceInvitation` UserNotificationSpaceInvitationPayload: SpaceInvitationPayload holds the details of a SPACE_INVITATION notification.
    - `spaceInvitation` string: The invitation. Format: spaces/{space}/invitations/{invitation}
    - `space` Space: Space is a collaboration boundary for placed memos.
      - `name` string: Identifier. The resource name of the space. Format: spaces/{space}
      - `title` string, required: Required. The human-readable title.
      - `description` string: Optional. A description of the space.
      - `icon` SpaceIcon: Icon is the display icon of a space.
        - `emoji` string: A Unicode emoji sequence.
        - `lucide` string: A canonical Lucide icon name, such as "leaf".
      - `currentUserRole` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum: Output only. The authenticated user's membership role in this space. ROLE_UNSPECIFIED when this space is exposed as metadata only.
      - `memberCount` integer: Output only. The number of accepted members in this space. Pending invitations are excluded. Zero when this space is exposed as metadata only.
    - `role` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum: The role the invitation offers.
    - `state` 'STATE_UNSPECIFIED' | 'PENDING' | 'ACCEPTED', enum: The current state of the invitation for the receiver.
  - `status` 'STATUS_UNSPECIFIED' | 'UNREAD' | 'ARCHIVED', enum: Optional. The status of the notification.
  - `createTime` string, date-time: Output only. The creation timestamp.

## Response `200`

OK

- UserNotification: UserNotification is a notification delivered to a user.
  - `name` string: Identifier. The resource name of the notification. Format: users/{user}/notifications/{notification}
  - `sender` string: Output only. The user who caused the notification. Format: users/{user}
  - `senderUser` User: User is an account on the instance.
    - `name` string: Identifier. The resource name of the user. {user} is the username. Format: users/{user}
    - `username` string, required: Required. The unique username, used to sign in.
    - `displayName` string: Optional. The display name of the user.
    - `email` string: Optional. The email address of the user. Stored trimmed and lowercased; empty means no address. An address belongs to at most one user on the instance, so writes that would reuse one fail with ALREADY_EXISTS. Returned only to the user and to admins.
    - `avatarUrl` string: Optional. The avatar URL of the user. An avatar set as a data URI (PNG, JPEG, GIF or WebP, at most 2 MiB) is returned as a file server URL.
    - `description` string: Optional. The description of the user.
    - `password` string: Input only. The password of the user. Never returned.
    - `role` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum, required: Required. The role of the user. Only admins can change it.
    - `state` 'STATE_UNSPECIFIED' | 'NORMAL' | 'ARCHIVED', enum, required: Required. The state of the user. Only admins can change it.
    - `createTime` string, date-time: Output only. The creation timestamp.
    - `updateTime` string, date-time: Output only. The last update timestamp.
  - `type` 'TYPE_UNSPECIFIED' | 'MEMO_COMMENT' | 'MEMO_MENTION' | 'SPACE_INVITATION', enum: Output only. The type of the notification.
  - `memoComment` UserNotificationMemoCommentPayload: MemoCommentPayload holds the details of a MEMO_COMMENT notification.
    - `memo` string: The comment memo. Format: memos/{memo}
    - `relatedMemo` string: The memo that was commented on. Format: memos/{memo}
    - `memoSnippet` string: Preview text of the comment memo.
    - `relatedMemoSnippet` string: Preview text of the related memo.
  - `memoMention` UserNotificationMemoMentionPayload: MemoMentionPayload holds the details of a MEMO_MENTION notification.
    - `memo` string: The memo that contains the mention. Format: memos/{memo}
    - `relatedMemo` string: The related parent memo when the mention was created in a comment. Format: memos/{memo}
    - `memoSnippet` string: Preview text of the memo that contains the mention.
    - `relatedMemoSnippet` string: Preview text of the related parent memo.
  - `spaceInvitation` UserNotificationSpaceInvitationPayload: SpaceInvitationPayload holds the details of a SPACE_INVITATION notification.
    - `spaceInvitation` string: The invitation. Format: spaces/{space}/invitations/{invitation}
    - `space` Space: Space is a collaboration boundary for placed memos.
      - `name` string: Identifier. The resource name of the space. Format: spaces/{space}
      - `title` string, required: Required. The human-readable title.
      - `description` string: Optional. A description of the space.
      - `icon` SpaceIcon: Icon is the display icon of a space.
        - `emoji` string: A Unicode emoji sequence.
        - `lucide` string: A canonical Lucide icon name, such as "leaf".
      - `currentUserRole` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum: Output only. The authenticated user's membership role in this space. ROLE_UNSPECIFIED when this space is exposed as metadata only.
      - `memberCount` integer: Output only. The number of accepted members in this space. Pending invitations are excluded. Zero when this space is exposed as metadata only.
    - `role` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum: The role the invitation offers.
    - `state` 'STATE_UNSPECIFIED' | 'PENDING' | 'ACCEPTED', enum: The current state of the invitation for the receiver.
  - `status` 'STATUS_UNSPECIFIED' | 'UNREAD' | 'ARCHIVED', enum: Optional. The status of the notification.
  - `createTime` string, date-time: Output only. The creation timestamp.

## Other responses

- `default`: Default error response

## Changes

- **2026-10-08** `1846a777b0ef`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/users/:user/notifications/:notification/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.dev/usememos/apis/untitled-api/revisions/f587355e35b4?raw)
