{ "opencollection": "1.0.0", "info": { "name": "One-Shot access notifications API", "version": "1.0.0" }, "items": [ { "info": { "name": "notifications", "type": "folder" }, "items": [ { "info": { "name": "List Notifications", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/notifications", "params": [ { "name": "unread_only", "value": "", "type": "query" }, { "name": "page", "value": "", "type": "query" }, { "name": "page_size", "value": "", "type": "query" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Paginated notification list for the current user, with actor display name." }, { "info": { "name": "Get Unread Count", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/notifications/unread-count", "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Fast count of unread notifications for the current user." }, { "info": { "name": "Mark Notification Read", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/notifications/:notification_id/read", "params": [ { "name": "notification_id", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Mark a single notification as read.\n\nNote: Notifications are user-scoped, not workspace-scoped. No workspace authz required." }, { "info": { "name": "Mark All Read", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/notifications/read-all", "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Mark all unread notifications as read for the current user.\n\nNote: Notifications are user-scoped, not workspace-scoped. No workspace authz required." }, { "info": { "name": "Notification Stream", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/notifications/stream", "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "SSE stream: polls DB every 3s for new notifications. Heartbeat every 15s." } ] } ], "bundled": true }