Post company-wide announcements, team updates, and policy changes. Everyone sees them, you track who read them. Replaces the all-hands email nobody reads.
Every operation in Announcements is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/announcements — list all announcements with optional search and filter query parametersPOST /api/announcements — create a new announcement recordGET /api/announcements/{id} — retrieve a single announcement by IDPUT /api/announcements/{id} — update an existing announcementDELETE /api/announcements/{id} — remove a announcementGET /api/stats — aggregated statisticsGET /api/health — health check endpoint for monitoringMost announcements tools fall into two camps: free products that harvest your data, or enterprise platforms that cost more than the problem they solve. Announcements exists because neither option makes sense when you just need a reliable internal announcement board under your own control.
Each announcement record carries fields for title, body, author, priority, channel. The API accepts partial updates, so you can PATCH individual fields without resubmitting the entire record. Listing endpoints support ?q= for keyword search and ?status= for filtering. Backups are a file copy of the SQLite database in the data directory.
A solo developer built a weekend project that needed announcements tracking. Instead of spinning up Postgres and writing an admin panel, they added Announcements as a sidecar process. The REST API covered every operation the project needed. Development time saved: roughly a full day.
GET /api/announcements — List all announcements. Supports ?q=keyword for searchPOST /api/announcements — Create a new announcement. Send JSON with at least titleGET /api/announcements/{id} — Fetch one announcement by IDPUT /api/announcements/{id} — Update fields on an existing announcementDELETE /api/announcements/{id} — Remove a announcementGET /api/stats — Returns total countGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted internal announcement board. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool announcements
PORT=9750 ./announcements
http://localhost:9750
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export ANNOUNCEMENTS_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./announcements
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.