Back to Puter

Notification Endpoints

doc/api/notifications.md

2.5.12.5 KB
Original Source

Notification Endpoints

Endpoints for managing notifications.

POST /notif/mark-ack (auth required)

Description

The /notif/mark-ack endpoint marks the specified notification as "acknowledged". This indicates that the user has chosen to either dismiss or act on this notification.

Parameters

NameDescriptionDefault Value
uidUUID associated with the notificationrequired

Response

This endpoint responds with an empty object ({}).

POST /notif/mark-read (auth required)

Description

The /notif/mark-read endpoint marks that the specified notification has been shown to the user. It will not "pop up" as a new notification if they load the gui again.

Parameters

NameDescriptionDefault Value
uidUUID associated with the notificationrequired

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",
});