---
title: "Update the caller's email subscription preferences."
method: PUT
path: "/notifications/subscriptions/email"
tags: ["Email Subscriptions"]
---

# Update the caller's email subscription preferences.

`PUT /notifications/subscriptions/email`

## Request

- Base URL: `https://console.jumpcloud.com/api/v2`
- URL: `https://console.jumpcloud.com/api/v2/notifications/subscriptions/email`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/docs/notifications/subscriptions/email/put.ts> (a function with typed inputs; its response is checked against the schema)

This endpoint updates the authenticated administrator's email subscription preferences. category and title are catalog metadata and are ignored on update.

## Request body

- JumpcloudNotificationsUpdateEmailSubscriptionsRequest: UpdateEmailSubscriptionsRequest updates the authenticated admin's preferences. admin identity comes from auth context only.
  - `subscriptions` JumpcloudNotificationsEmailSubscription[]: Upsert semantics: each item is matched by email_key and its subscribed preference is updated. Keys absent from this list are NOT modified. Service layer owns this logic. See GIR-3659.
    - `category` string: category is catalog metadata grouping this email type (e.g. user_security).
    - `emailKey` string: email_key is the catalog identifier for the email type (maps to scope_key when scope_type is email_key). Example: lockout-notice-admin.
    - `subscribed` boolean: subscribed indicates whether the admin is opted in to this email type. NOTE: proto3 bool defaults to false when omitted. Service layer MUST treat a missing EmailSubscription item as "no change", not as "unsubscribe". Clients SHOULD always populate this field explicitly. See GIR-3659.
    - `title` string: title is the catalog display title for this email type.

## Response `200`

A successful response.

- JumpcloudNotificationsUpdateEmailSubscriptionsResponse: UpdateEmailSubscriptionsResponse returns the caller's catalog-backed preferences after the update.
  - `subscriptions` JumpcloudNotificationsEmailSubscription[]
    - `category` string: category is catalog metadata grouping this email type (e.g. user_security).
    - `emailKey` string: email_key is the catalog identifier for the email type (maps to scope_key when scope_type is email_key). Example: lockout-notice-admin.
    - `subscribed` boolean: subscribed indicates whether the admin is opted in to this email type. NOTE: proto3 bool defaults to false when omitted. Service layer MUST treat a missing EmailSubscription item as "no change", not as "unsubscribe". Clients SHOULD always populate this field explicitly. See GIR-3659.
    - `title` string: title is the catalog display title for this email type.

---

[API](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2.md) - [All operations](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/revisions/3f09fe63caaa?raw)
