Fankex

Enter a keyword to search published documentation.

mywebdrive

Administrative Notifications

Query, filter, and mark notifications read—plus live SSE streaming and its reliability boundary.

Where notifications appear

Administrators use /admin/notifications. These are Core-managed records, not email or user chat. Notifications, business analytics, and system health are separate sources; one notification doesn't prove a metric or incident recovered.

GET /api/v1/admin/notifications supports page, pageSize, service, severity, q, unreadOnly, from, and to. It defaults to 20 records, with a maximum of 200. severity is critical, warning, info, or success. If you're seeing no results, clear filters and verify the time range first.

Mark records read

POST /api/v1/admin/notifications/mark-read accepts an ids array containing record UUIDs returned by the list. Reread the list to verify the change.

Read state belongs to the shared administrative notification record, not a separate inbox for each administrator. Others may see your change. Read doesn't mean resolved and doesn't undo an event or delete logs.

Create a notification

POST /api/v1/admin/notifications requires administrator authentication and title, description, severity, and service, with optional meta. Titles allow 200 characters, descriptions 2000, and service names 100. severity must be a supported enum value.

State only known facts. Never include access tokens, database connection strings, codes, or raw user records in description or meta. Other administrators may search or receive the content live. Success returns 201; invalid input returns 400.

SSE is not a durable queue

GET /api/v1/admin/notifications/stream uses SSE and Bearer access-token authentication, with a heartbeat roughly every 25 seconds. It helps with live display but doesn't promise reliable historical replay through Last-Event-ID.

This source version keeps connections within one Core process. Disconnection, restart, or routing to another instance can leave gaps. Query the list again after reconnecting and merge records without duplicating them. The list is the basis for recovering current records. Don't put a token in a query parameter just to use EventSource.

Troubleshoot

If both list and stream fail, check identity and administrative permission. If only the stream disconnects, check proxy streaming support and timeouts. Heartbeats without events don't establish that no notifications exist. Read state, filters, and pagination also affect counts.

See Local development for service checks and Deployment for protecting logs.