---
title: "List My Notification Settings"
method: GET
path: "/api/v1/notifications/settings"
tags: ["notifications"]
---

# List My Notification Settings

`GET /api/v1/notifications/settings`

The caller's configurable notification types, with effective channels.

Generated from the type registry, filtered to what this role may both
receive and configure — so a role with no configurable type gets an empty
list rather than a switch that would 403.

`recipients_uow` is injected for the slack cell's per-user `status`, the
same way this file already injects `CurrentOntologyUow` for the
subscriptions routes. It buys a stored-row read, never a Slack API call:
a settings page load must not depend on `api.slack.com`, and the operation
that does ask Slack also writes, which a GET must not.

## Response `200`

Successful Response

- NotificationSettingList — The caller's configurable types. Empty for a role with none. That is a normal response, not an error: the panel renders an empty state.
  - `items` NotificationSettingRead[], required
    - `notification_type` string, required
    - `label` string, required
    - `in_app` boolean, required
    - `email` boolean, required
    - `channels` object, required

## Changes

> 35 revisions in range; 1 not diffed.

- **2026-09-13** `2fbe8fef9481` — 1 info
  - added the required property `items/items/channels` to the response with the `200` status
- **2026-09-10** `d27876ec4b74` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/netter/apis/dmi-backend/changes/api/v1/notifications/settings/get.md)

---

[API](https://skmtc.dev/netter/apis/dmi-backend.md) · [All operations](https://skmtc.dev/netter/apis/dmi-backend/llms.txt) · [OpenAPI document](https://skmtc.dev/netter/apis/dmi-backend/revisions/77d4fd215b57?raw)
