---
title: "Read operator notification preferences"
method: GET
path: "/agent/v1/notifications/preferences"
tags: ["Agent"]
---

# Read operator notification preferences

`GET /agent/v1/notifications/preferences`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/agent/v1/notifications/preferences`
- Auth: API key in header `SIGN-IN-WITH-X`

## Headers

- `SIGN-IN-WITH-X` string, required

## Response `200`

Current preferences (or documented defaults if no contact row)

- NotificationPreferences
  - `channels` object
    - `email` boolean
    - `webhook` boolean
  - `webhook_url` string, nullable
  - `webhook_signing_secret_configured` boolean: True if a secret exists. Plaintext is returned only by POST /agent/v1/webhook-secret/rotate, never read back.
  - `digest_cadence` 'off' | 'daily' | 'weekly' | 'monthly'
  - `digest_day_of_week` integer: 1=Mon..7=Sun
  - `digest_hour_utc` integer
  - `threshold_alerts` 'off' | 'digest_only' | 'immediate'
  - `lifecycle_events` 'off' | 'critical_only' | 'all'
  - `security_events` 'always': Schema-enforced. Mandatory class — cannot be silenced.
  - `locale` string
  - `timezone` string

---

[API](https://skmtc.dev/run402/apis/run402-api.md) · [All operations](https://skmtc.dev/run402/apis/run402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/run402/apis/run402-api/revisions/893607557f50?raw)
