GET
/fido/announcements
Authentication required
Returns all announcements as an array ([] if none).
[
{
"_id": "665f...",
"announcementNumber": "A-101",
"announcementName": "Speed restriction",
"stations": ["SK", "SIG"],
"announcement": "Max 40 km/h between SK and SIG.",
"startDate": "2026-10-08T04:00:00.000Z",
"endDate": "2026-10-08T16:00:00.000Z",
"signedBy": ["665f1a0c9b1e8a0012a4b7a1"],
"__v": 0
}
]
GET
/fido/announcements/:announcementNumber
Authentication required
Returns a single announcement object (same shape as one element of GET /fido/announcements), or 404 with { "error": "Announcement not found" }.
POST
/fido/announcements
Authentication required
{
"announcementNumber": "A-2026-014",
"announcementName": "Platform change reminder",
"stations": ["SK"],
"announcement": "Remember to announce platform changes clearly.",
"startDate": "2026-09-07T06:00:00Z",
"endDate": "2026-09-14T06:00:00Z"
}
announcementNumber must be unique.
PUT
/fido/announcements/:announcementNumber
Authentication required
Replaces an announcement's fields (same body shape as POST, minus the number).
PATCH
/fido/announcements/:announcementNumber/sign
Authentication required
{ "tiosUser": "665f1a0c9b1e8a0012a4b7a1" }
Adds tiosUser (a MongoDB user ID) to the announcement's signedBy list (no duplicates). signedBy contains user IDs, not names.
DELETE
/fido/announcements/:announcementNumber
Authentication required
Deletes an announcement.