# API: Notifications

| Method | Path | What it does | Scope |
|---|---|---|---|
| GET | `/v1/me/notification-preferences` | Each event × channel for you: on or off, and whether your organization decides it | — |
| PUT | `/v1/me/notification-preferences` | Turn one event × channel on or off for yourself (never past your organization's lock) (web app only) | — |
| GET | `/v1/me/settings` | Your time zone and morning brief time | — |
| PUT | `/v1/me/settings` | Set your time zone and morning brief time (HH:MM, your time) (web app only) | — |
| GET | `/v1/notifications` | Your notifications (in-app), newest first, with the unread count (web app only) | — |
| POST | `/v1/notifications/read` | Mark notifications read (ids, or all) (web app only) | — |
| GET | `/v1/settings/notification-policy` | The organization's notification policy: events, channels, on by default and force off | `settings:read` |
| PUT | `/v1/settings/notification-policy` | Set the organization's defaults and locks per event × channel (owners) (web app only) | `settings:write` |
| PUT | `/v1/settings/slack-alerts` | The Slack channel team-wide alerts go to (owners): run failed, data issues, webhook failing, approval waiting (web app only) | `settings:write` |

## Examples

### GET /v1/me/notification-preferences

Each event × channel for you: on or off, and whether your organization decides it

```bash
curl -s "https://api.closefinch.com/v1/me/notification-preferences" \
  -H "Authorization: Bearer $RA_API_KEY"
```

```js
const res = await fetch(`https://api.closefinch.com/v1/me/notification-preferences`, {
  method: "GET",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();
```

### GET /v1/me/settings

Your time zone and morning brief time

```bash
curl -s "https://api.closefinch.com/v1/me/settings" \
  -H "Authorization: Bearer $RA_API_KEY"
```

```js
const res = await fetch(`https://api.closefinch.com/v1/me/settings`, {
  method: "GET",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();
```

### GET /v1/settings/notification-policy

The organization's notification policy: events, channels, on by default and force off

```bash
curl -s "https://api.closefinch.com/v1/settings/notification-policy" \
  -H "Authorization: Bearer $RA_API_KEY"
```

```js
const res = await fetch(`https://api.closefinch.com/v1/settings/notification-policy`, {
  method: "GET",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();
```

Request and response schemas: [https://www.closefinch.com/openapi.json](https://www.closefinch.com/openapi.json). All resources: [API reference](https://www.closefinch.com/docs/api).
