Announcements

Create a system announcement (admin only)

Admin-gated. Creates a new banner row.

  • title and body are required; both are TrimSpace'd and length-checked (1..200 / 1..2000 chars).
  • published_at is optional; when omitted the server defaults to now().
  • expires_at is optional; when set must be strictly greater than the effective published_at.

Decode is permissive — unknown top-level fields are silently ignored to match the rest of the API's POST/PUT convention. PATCH /api/v1/account is the documented strict-decode exception, NOT the rule.

post/api/v1/announcements

Request

  • Base URL: https://api.uptimemonitoring.com
  • URL: https://api.uptimemonitoring.com/api/v1/announcements
  • Auth: HTTP bearer

Request body

titlestring required

Short banner title. Server TrimSpace's leading and trailing whitespace before length-checking.

bodystring required

Banner body / paragraph. Server TrimSpace's leading and trailing whitespace before length-checking.

published_atstring date-time

RFC 3339 timestamp at which the banner becomes active. When omitted the server defaults to now().

expires_atstring date-time nullable

RFC 3339 timestamp after which the banner is hidden. When set, must be strictly greater than the effective published_at. Omit (or send null) for no expiry.

Response

Announcement created.

idinteger
titlestring
bodystring
published_atstring date-time
expires_atstring date-time nullable
updated_atstring date-time

Last time this row was mutated. For rows created after migration 025 (2026-08-01), this is exact creation time if never edited. For rows that already existed when that migration ran, no creation timestamp had ever been recorded, so the backfilled starting value is LEAST(published_at, migration time) instead — not the row's actual original creation time. Bumped by any PUT that changes at least one field; an empty-body no-op PUT does not bump it. Strictly monotonic per row — never ties or regresses across concurrent writes.

Changes

No recorded changes to this operation across all 1 revision of this API.