---
title: "Update a notification"
method: PATCH
path: "/communications/notification/{id}"
tags: ["Announcements"]
---

# Update a notification

`PATCH /communications/notification/{id}`

## Request

- Base URL: `https://api.nullplatform.com`
- URL: `https://api.nullplatform.com/communications/notification/{id}`
- Auth: HTTP bearer

Changes the fields you send and keeps the rest. Send at least one field.

Set `status` to `closed` to close it for everyone, or to `open` to reopen it. `kind`, `nrn`, `key`, `group_key`, and `recipients` can't change. On a notification nullplatform sent your organization (`publisher: nullplatform`), only `status` can change.

## Path parameters

- `id` string, uuid, required

## Request body

- NotificationPatch: The fields to change. Fields you leave out keep their value, and `null` removes an optional one.
  - `status` 'open' | 'closed': `closed` closes it for everyone, and `open` reopens it.
  - `title` string: The headline. It can't be empty.
  - `body` string, nullable: The text under the title.
  - `severity` 'informational' | 'maintenance' | 'degraded' | 'outage'
  - `category` string: As on create.
  - `audience` object, nullable: Announcements only, as on create.
  - `surfaces` unknown[]: Where it shows, as on create. It can't be empty.
    - unknown
  - `places` unknown[], nullable: Announcements only: the Slack channels, as on create.
    - unknown
  - `cta` object, nullable: The button, as on create.
  - `media` object, nullable: Wording by email or in Slack, as on create.
  - `publish_at` string, date-time, nullable: When it starts showing. `null` shows it now.
  - `expires_at` string, date-time, nullable: When it stops showing. `null` keeps it until you close it.

## Response `200`

The updated notification.

- Notification
  - `id` string, uuid: The ID of the notification.
  - `organization_id` integer: Your organization's ID.
  - `kind` 'broadcast' | 'personal'
  - `category` string
  - `severity` 'informational' | 'maintenance' | 'degraded' | 'outage'
  - `status` 'open' | 'closed'
  - `nrn` string
  - `title` string
  - `body` string, nullable
  - `audience` object, nullable
  - `surfaces` unknown[]
    - unknown
  - `places` unknown[]
    - unknown
  - `cta` object, nullable
  - `media` object, nullable
  - `key` string, nullable
  - `group_key` string, nullable
  - `publisher` 'nullplatform' | 'organization': `organization` for your organization's notifications, and `nullplatform` for the ones nullplatform sends your organization. Only the `status` of a `nullplatform` one can change.
  - `publish_at` string, date-time, nullable
  - `expires_at` string, date-time, nullable
  - `closed_at` string, date-time, nullable
  - `closed_by` integer, nullable
  - `created_by` integer: The ID of the user who created it.
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `4XX`: The request couldn't be processed. For example, a parameter is invalid, the resource doesn't exist, or you don't have permission. The body is a problem details object (RFC 9457).
- `5XX`: Something went wrong on nullplatform's side. The body is a problem details object (RFC 9457).

## Changes

- **2026-10-27** `c0f507ec6087`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/nullplatform/apis/nullplatform-api/changes/communications/notification/:id/patch.md)

---

[API](https://skmtc.dev/nullplatform/apis/nullplatform-api.md) - [All operations](https://skmtc.dev/nullplatform/apis/nullplatform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nullplatform/apis/nullplatform-api/revisions/d3f66bc633d4?raw)
