SalesOS

Notifications

Notification management

Get preferences

GET
/v1/notifications/preferences

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

curl -X GET "https://api.salesos.org/v1/notifications/preferences" \
  -H "Authorization: Bearer <token>"

Update preferences

PUT
/v1/notifications/preferences

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired
eventsobject

{ [eventKey]: { inApp?, email?, push? } } — keys validated against the catalog.

quietHoursobject
digestobject
emailCategoriesobject

{ [category]: boolean } for the optional email categories.

curl -X PUT "https://api.salesos.org/v1/notifications/preferences" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "events": {},
    "quietHours": {
      "enabled": true,
      "start": "string",
      "end": "string",
      "timezone": "string",
      "followProfile": true
    },
    "digest": {
      "enabled": true,
      "time": "string",
      "timezone": "string",
      "followProfile": true
    },
    "emailCategories": {
      "property1": true,
      "property2": true
    }
  }'

Get user notifications

GET
/v1/notifications

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Query Parameters

pagestring
pageSizestring
unreadOnlystring
curl -X GET "https://api.salesos.org/v1/notifications?page=%3Cstring%3E&pageSize=%3Cstring%3E&unreadOnly=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

Mark as read

POST
/v1/notifications/{id}/read

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/notifications/<string>/read" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Mark all as read

POST
/v1/notifications/read-all

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/notifications/read-all" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

{}

Delete notification

DELETE
/v1/notifications/{id}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X DELETE "https://api.salesos.org/v1/notifications/<string>" \
  -H "Authorization: Bearer <token>"