# update_notification (/docs/reference/mcp-tools/update_notification)



{/* Generated by apps/docs/scripts/generate-mcp-pages.mjs — do not edit by hand. */}

Mark a notification read/unread, snooze it, or archive it.

|                     |                        |
| ------------------- | ---------------------- |
| Required permission | `work:write`           |
| Capability ID       | `notifications.update` |
| Destructive         | No                     |

## Parameters [#parameters]

| Parameter      | Type                           | Required | Notes |
| -------------- | ------------------------------ | -------- | ----- |
| `read`         | boolean                        | no       |       |
| `snoozedUntil` | string (ISO date-time) \| null | no       |       |
| `archived`     | boolean                        | no       |       |
| `id`           | string (uuid)                  | yes      |       |

## Input schema (JSON Schema) [#input-schema-json-schema]

```json
{
  "type": "object",
  "properties": {
    "read": {
      "type": "boolean"
    },
    "snoozedUntil": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "null"
        }
      ]
    },
    "archived": {
      "type": "boolean"
    },
    "id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
```

## Access control [#access-control]

A call succeeds only when the personal access token's scopes **and** the holder's role both allow `work:write` (effective permission = scope ∩ role, default-deny). The tool runs inside the token owner's organization — tenancy is never a parameter.
