---
title: "Create announcement"
method: POST
path: "/announcements"
tags: ["announcements"]
---

# Create announcement

`POST /announcements`

## 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`
- Auth: HTTP bearer

Create a new in-app announcement for one platform or all platforms

## Request body

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

## Response `201`

Announcement created 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
- `401`: Unauthorized - invalid or missing authentication token

---

[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)
