> ## Documentation Index
> Fetch the complete documentation index at: https://docs.charlemagnelabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Notifications

> API endpoints for the in-app notification feed

## List Notifications

Returns the notification feed for the authenticated user's organization.

```
GET /api/notifications
```

### Response

```json theme={null}
[
  {
    "id": "notif_01hx...",
    "type": "device.enrolled",
    "message": "A new device \"alice-macbook-pro\" was enrolled",
    "read": false,
    "created_at": "2025-10-14T17:00:00Z"
  }
]
```

| Field        | Type    | Description                            |
| ------------ | ------- | -------------------------------------- |
| `id`         | string  | Notification ID                        |
| `type`       | string  | Event type (see below)                 |
| `message`    | string  | Human-readable notification text       |
| `read`       | boolean | Whether the user has marked it as read |
| `created_at` | string  | ISO 8601 timestamp                     |

### Notification Types

| Type              | Description                               |
| ----------------- | ----------------------------------------- |
| `member.joined`   | A member accepted an invitation           |
| `device.enrolled` | A device was enrolled                     |
| `device.disabled` | A device was disabled                     |
| `billing.updated` | A billing event occurred                  |
| `threat.alert`    | A threat detection threshold was exceeded |

***

## Mark as Read

Marks a single notification as read.

```
POST /api/notifications/:id/read
```

### Response

`200 OK`

***

## Mark All as Read

Marks all notifications in the feed as read.

```
POST /api/notifications/read-all
```

### Response

`200 OK`
