Purpose: Manage global announcements, blog posts, tutorials, and adverts that are surfaced to Brewski teams.
Availability:
Creation and management requires membership in a super user team (teams.role = su).
Reading, acknowledging, and hiding announcements is available to any authenticated user.
Endpoint Summary
Method
Path
Description
GET
/announcements
List announcements with pagination and optional filters.
POST
/announcements
Create a new announcement or blog post.
GET
/announcements/:id
Fetch a single announcement.
PATCH
/announcements/:id
Update an existing announcement.
DELETE
/announcements/:id
Permanently remove an announcement.
POST
/announcements/:id/image
Upload or replace the feature image.
DELETE
/announcements/:id/image
Remove the current feature image.
GET
/announcements/:id/content
Retrieve full body content for end users.
POST
/announcements/:id/acknowledge
Mark the announcement as acknowledged for the current user.
POST
/announcements/:id/hide
Hide a blog, tutorial, or advert for the current user.
Authentication
Requires a valid bearer access token (Authorization: Bearer <token>).
POST, PATCH, DELETE, and image management endpoints require an active super user team membership.
GET /announcements, GET /announcements/:id/content, POST /announcements/:id/acknowledge, and POST /announcements/:id/hide are available to any authenticated user.
imageTeamId identifies the super user team storage bucket containing the asset.
When listing (GET /announcements) the response envelope also includes pagination metadata: page, pageSize, pages, total, and unreadCount (number of published announcements without acknowledgement).
List responses intentionally omit the long-form article body; use GET /announcements/:id/content to retrieve it on demand.
requiresAcknowledgement is true only for announcements that expect the user to confirm the message.
canHide is true for blogs, tutorials, and adverts; hiding stores a per-user state so the item no longer appears in the carousel.
{ "title": "April product update", "message": "Highlights from this month's release.", "type": "announcement", "publishAt": "2025-04-30T09:00:00.000Z", "publishedAt": "2025-04-30T09:00:00.000Z", "article": "<p>Rich text body rendered in the announcement detail view.</p>", "tags": "release,platform", "excludeFromSearch": false, "buttons": [ { "color": "primary", "text": "Read docs", "link": "https://docs.brewskiapp.com/releases" } ] }