Skip to content

Notification Settings

GET    /api/user-notification-settings
GET    /api/user-notification-settings/{id}
GET    /api/user-notification-settings/{type}/{source}
POST   /api/user-notification-settings
PUT    /api/user-notification-settings/{id}
PUT    /api/user-notification-settings/{type}/{source}
DELETE /api/user-notification-settings/{id}
DELETE /api/user-notification-settings/{type}/{source}

Authentication required.

Manages per-user notification preferences - which events trigger notifications and via which channel (in-app, email, etc.).


Notification Setting Object

{
  "id": 1201,
  "type": "Procurement",
  "source": "PurchaseOrderList",
  "event": "StatusChange",
  "channel": "email",
  "enabled": true,
  "filters": {
    "Warehouse Number": ["WH-01"]
  }
}
Field Type Description
type string Module type (e.g., Procurement, Demand, Inventory)
source string Entity source (e.g., PurchaseOrderList)
event string Triggering event (e.g., StatusChange, Created, Deleted)
channel string Delivery channel: in-app, email
enabled boolean Whether the notification is active
filters object | null Column-level filters to narrow notification scope

GET - List Notification Settings

curl -b cookies.txt "https://acme.knosc.com/api/user-notification-settings"

GET - Get by Type and Source

curl -b cookies.txt \
  "https://acme.knosc.com/api/user-notification-settings/Procurement/PurchaseOrderList"

POST - Create Notification Setting

POST /api/user-notification-settings HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: <csrf>

{
  "type": "Procurement",
  "source": "PurchaseOrderList",
  "event": "StatusChange",
  "channel": "email",
  "enabled": true
}

PUT - Update Notification Setting

PUT /api/user-notification-settings/{id} HTTP/1.1
Content-Type: application/json
X-XSRF-TOKEN: <csrf>

{
  "enabled": false
}

DELETE - Remove Setting

DELETE /api/user-notification-settings/{id} HTTP/1.1
X-XSRF-TOKEN: <csrf>