---
title: "Update an announcement (admin)"
method: PUT
path: "/announcements/{id}"
tags: ["announcements"]
---

# Update an announcement (admin)

`PUT /announcements/{id}`

## Request

- Base URL: `https://api.focusbear.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.focusbear.io/announcements/{id}`
- Auth: HTTP bearer

Update editable fields of an existing announcement. The ID is immutable.

## Path parameters

- `id` string, required

## Request body

- UpdateAnnouncementDto
  - `type` 'release' | 'event' | 'survey' | 'maintenance'
  - `heading` string
  - `details` string
  - `details_url` string, uri
  - `expiry_date` string: Calendar date after which the announcement should no longer be shown
  - `operating_system` 'all' | 'ios' | 'android' | 'mac' | 'windows' | 'web' | 'unknown'
  - `priority` 'low' | 'medium' | 'high' | 'critical'

## Response `200`

Announcement updated successfully

- AnnouncementEntity
  - `id` string, required
  - `type` 'release' | 'event' | 'survey' | 'maintenance', required
  - `heading` string, required
  - `details` string, required
  - `details_url` string
  - `expiry_date` string, required
  - `priority` 'low' | 'medium' | 'high' | 'critical', required
  - `operating_system` 'all' | 'ios' | 'android' | 'mac' | 'windows' | 'web' | 'unknown', required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400`: Invalid announcement payload
- `404`: Announcement not found

---

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