---
title: "Read personal workspace notification settings and accessible devices and agents"
method: GET
path: "/workspaces/{workspaceId}/member-notifications"
tags: ["Notifications"]
---

# Read personal workspace notification settings and accessible devices and agents

`GET /workspaces/{workspaceId}/member-notifications`

## Request

- Base URL: `https://app.communicate.so/api/v1`
- URL: `https://app.communicate.so/api/v1/workspaces/{workspaceId}/member-notifications`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Secure-better-auth.session_token`
  - API key in cookie `better-auth.session_token`

Use an explicit notifications:read or notifications:write account grant, or an application session. Devices belong to the authenticated user; workspace settings retain live membership and agent access. Member summaries require the live owner/admin role. Cookie writes still require a trusted Origin. Provider acceptance alone does not establish device delivery.

## Path parameters

- `workspaceId` string, required

## Response `200`

Read personal workspace notification settings and accessible devices and agents

- ReadNotificationSettingsResponse
  - `configured` boolean, required
  - `preferences` object, required
    - `pushEnabled` boolean, required
    - `notifyNewMessage` boolean, required
    - `notifyHandoff` boolean, required
    - `notifyAssignment` boolean, required
    - `agentScope` 'all' | 'selected', required
    - `selectedAgentIds` string[], required
    - `showPreview` boolean, required
    - `soundEnabled` boolean, required
    - `bannerDismissed` boolean, required
    - `revision` integer, required
  - `agents` object[], required
    - `id` string, required
    - `name` string, required
  - `devices` object[], required
    - `id` string, required
    - `label` string, required
    - `status` 'enabled' | 'expired' | 'attention', required
    - `lastActiveAt` string, date-time, required
    - `lastSuccessAt` string, date-time, nullable, required
    - `needsAttention` boolean, required
    - `failureClass` string, nullable, required

## Other responses

- `401`: Missing, invalid, expired or revoked account credential or application session.
- `403`: Required account scope, live verified identity, membership or role permission is missing.
- `404`: Workspace or addressed resource is not visible to this member.
- `429`: Notification mutation or test rate limit exceeded.
- `500`: Unexpected server failure.
- `503`: Push is not configured or the provider is temporarily unavailable.

---

[API](https://skmtc.dev/communicate/apis/communicate-public-rest-api-2.md) · [All operations](https://skmtc.dev/communicate/apis/communicate-public-rest-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/communicate/apis/communicate-public-rest-api-2/revisions/db6be3d36733?raw)
