---
title: "Notification preferences"
method: PUT
path: "/api/v1/user/notification-preferences"
tags: ["Notifications"]
---

# Notification preferences

`PUT /api/v1/user/notification-preferences`

## Request

- Base URL: `https://www.huntertech.io`
- URL: `https://www.huntertech.io/api/v1/user/notification-preferences`
- Auth: API key in header `X-API-Key`

Read or update the authenticated user's notification delivery settings (in-app, email, Slack, webhook, PagerDuty, RSS, newsletter, muted vendors, and content filters).

**Requires authentication** (API key or logged-in session). Send a partial object on `PUT`; omitted fields are unchanged. Slack linking remains OAuth-only via the web app (`slack_connection` is ignored on PUT).

Watchlist vendors scope which vendors notifications apply to unless overridden per channel.

## Request body

- object

## Response `200`

Success

- NotificationPreferencesResponse
  - `success` boolean, required
  - `preferences` object, required: Sanitized notification settings (secrets such as RSS tokens and PagerDuty keys are omitted or masked).

## Other responses

- `401`: Missing or invalid API key
- `403`: Direct API call blocked without a valid key or browser Origin
- `404`: Unknown vendor or unsupported data type
- `429`: Plan rate limit exceeded

---

[API](https://skmtc.dev/huntertech/apis/huntertech-public-api.md) · [All operations](https://skmtc.dev/huntertech/apis/huntertech-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/huntertech/apis/huntertech-public-api/revisions/39973a440052?raw)
