# Notification Endpoints Endpoints for managing notifications. ## POST `/notif/mark-read` (auth required) ### Description The `/notif/mark-read` endpoint marks the specified notification as "read". This indicates that the user has chosen to either dismiss or act on this notification. ### Parameters | Name | Description | Default Value | | ---- | ----------- | -------- | | uid | UUID associated with the notification | **required** | ### Response This endpoint responds with an empty object (`{}`). ### Request Example ```javascript await fetch("https://api.puter.local/notif/mark-read", { headers: { "Content-Type": "application/json", "Authorization": `Bearer ${puter.authToken}`, }, body: JSON.stringify({ uid: 'a14ea3d5-828b-42f9-9613-35f43b0a3cb8', }), method: "POST", }); ``` ## ENTITY STORAGE `puter-notifications` The `puter-notifications` driver is an Entity Storage driver. It is read-only. ### Request Examples #### Select Unread Notifications ```javascript await fetch("http://api.puter.localhost:4100/drivers/call", { "headers": { "Content-Type": "application/json", "Authorization": `Bearer ${puter.authToken}`, }, "body": JSON.stringify({ interface: 'puter-notifications', method: 'select', args: { predicate: ['unread'] } }), "method": "POST", }); ``` #### Select First 200 Notifications ```javascript await fetch("http://api.puter.localhost:4100/drivers/call", { "headers": { "Content-Type": "application/json", "Authorization": `Bearer ${puter.authToken}`, }, "body": JSON.stringify({ interface: 'puter-notifications', method: 'select', args: {} }), "method": "POST", }); ``` #### Select Next 200 Notifications ```javascript await fetch("http://api.puter.localhost:4100/drivers/call", { "headers": { "Content-Type": "application/json", "Authorization": `Bearer ${puter.authToken}`, }, "body": JSON.stringify({ interface: 'puter-notifications', method: 'select', args: { offset: 200 } }), "method": "POST", }); ```