Skip to content

The Hoody Notification Server is a lightweight service that delivers desktop notifications to a target Linux display by invoking notify-send directly on the host. It is purpose-built for local, single-host notification delivery and is intentionally minimal in scope.

Use the Notification Server when you need to push a desktop notification to a specific DISPLAY running on the same machine as the service. It is appropriate for system alerts, background task completion, CI signals, and other event-driven desktop messages. It is not a multi-channel notification platform — there is no email, in-app, push, SMS, or webhook channel. There are no templates, no user-preference or quiet-hours management, no priority filtering, and no configurable retry or backoff policy.

The API exposes a small, focused set of endpoints:

  • Send a desktop notificationPOST /api/v1/notifications/notify runs notify-send synchronously on the target display.
  • Fetch notification historyGET /api/v1/notifications/{display} returns historical notifications for a display, including whether each has been dismissed. This is the only “fetch” model available; there is no per-notification delivery-status endpoint and no pending / delivered / failed state tracking.
  • Dismiss and clear dismissedPOST and DELETE /api/v1/notifications/dismiss manage dismiss state.
  • Real-time updatesGET /api/v1/notifications/stream provides a server-sent stream of notification updates.
  • Icon assetsGET /api/v1/notifications/icons/{iconId} serves notification icon images.
  • Operational endpointsGET /api/v1/notifications/health and GET /api/v1/notifications/metrics provide health checks and metrics.

The only documented throttling is per-IP rate limiting, applied uniformly across all endpoints:

ScopeLimit
General API60 requests per minute
notify endpoint10 requests per minute
icons endpoint100 requests per minute

Exceeding a limit returns an HTTP 429 response. There is no client-configurable retry or backoff — clients should respect the rate-limit response and retry after a sensible delay.

The remaining pages in this section document each endpoint in detail, including request parameters, request bodies, response schemas, and SDK usage examples.