Notification Settings

Notification settings let each user control how Snapbooks notifies them, per client account and per notification type. Every setting has an email and a push (mobile) toggle.

Settings are personal: the endpoints always read and write the settings of the authenticated user. A user cannot view or change another user’s settings.

Default behavior: a notification type without a stored setting is enabled on every channel. Settings only need to be created to switch something off (or back on).

Notification Types

Value Description Channels used
WEEKLY_TODO The weekly to-do summary (“Ukens gjøremål”) sent every Monday to client account owners. Only sent when there is something that needs attention. Email only

Note that a notification type may not use every channel. WEEKLY_TODO is delivered by email only, so its push_enabled flag currently has no effect.

Endpoints

List Notification Settings

GET /api/v2/client-accounts/{client_account_id}/notification-settings

Retrieves the authenticated user’s stored notification settings for a client account. Notification types without a stored setting are not included and default to all channels enabled.

Response

[
  {
    "id": 12,
    "created_at": "2026-08-07T10:00:00Z",
    "user_id": 34,
    "client_account_id": 250,
    "notification_type": "WEEKLY_TODO",
    "email_enabled": false,
    "push_enabled": true
  }
]

Update Notification Setting

PUT /api/v2/client-accounts/{client_account_id}/notification-settings/{notification_type}

Creates or updates the authenticated user’s setting for one notification type. The operation is an upsert: the first PUT creates the setting, later calls update it.

Request Body

Field Type Required Description
email_enabled boolean Yes Whether the notification is delivered by email
push_enabled boolean Yes Whether the notification is delivered as a mobile push

Example Request

{
  "email_enabled": false,
  "push_enabled": true
}

Response

{
  "id": 12,
  "created_at": "2026-08-07T10:00:00Z",
  "user_id": 34,
  "client_account_id": 250,
  "notification_type": "WEEKLY_TODO",
  "email_enabled": false,
  "push_enabled": true
}

Attributes

Attribute Type Description
id integer The unique ID of the setting
created_at datetime When the setting was created
user_id integer The user the setting belongs to (always the authenticated user)
client_account_id integer The client account the setting applies to
notification_type string The notification type (see Notification Types)
email_enabled boolean Whether email delivery is enabled
push_enabled boolean Whether mobile push delivery is enabled

Error Responses

Status Code Description
400 Bad request (unknown notification type, or email_enabled/push_enabled missing or not booleans)
403 Forbidden (no access to client account)