---
title: "Create Notification Preferences"
method: POST
path: "/admin/settings/notification-preferences"
tags: ["provider", "admin", "notification-preferences"]
---

# Create Notification Preferences

`POST /admin/settings/notification-preferences`

Create or update notification preferences for the current user.

This will replace all existing preferences with the new ones provided.

## Headers

- `TENANT` string, required
- `API-KEY` string, required

## Request body

- NotificationPreferencesRequest — Schema for bulk creating/updating notification preferences.
  - `preferences` NotificationPreferenceCreate[], required — List of notification preferences to set.
    - `alertType` 'PATIENT_CREATED' | 'PATIENT_UPDATED' | 'APPOINTMENT_CANCELLED' | 'APPOINTMENT_UPDATED' | 'APPOINTMENT_REQUEST' | 'APPOINTMENT_SCHEDULED' | 'SELF_SCHEDULED_APPOINTMENT' | 'SELF_SCHEDULED_APPOINTMENT_CANCELLED' | 'SELF_SCHEDULED_APPOINTMENT_UPDATED' | 'BLOCK_CREATED' | 'BLOCK_CANCELLED' | 'BLOCK_UPDATED' | 'SHIFT_CREATED' | 'SHIFT_CANCELLED' | 'SHIFT_UPDATED' | 'PAYMENT_CREATED' | 'PAYMENT_FAILED' | 'PAYMENT_SUCCEEDED' | 'PLANNED_PAYMENT_FAILED' | 'PLANNED_PAYMENT_SUCCEEDED' | 'CHARGE_CREATED' | 'REFUND_CREATED' | 'REFUND_FAILED' | 'REFUND_SUCCEEDED' | 'ADJUSTMENT_CREATED' | 'ADJUSTMENT_FAILED' | 'ADJUSTMENT_SUCCEEDED' | 'INVOICE_UPDATED' | 'INVOICE_STATUS_UPDATE' | 'INVOICE_SET_UPDATED' | 'CHARGE_PAYMENT_CREATED' | 'CALL_RECEIVED' | 'CALL_MADE' | 'CALL_ONGOING' | 'MESSAGE_RECEIVED' | 'MESSAGE_SENT' | 'MESSAGE_DELIVERED' | 'MESSAGE_FAILED' | 'EMAIL_RECEIVED' | 'EMAIL_SENT' | 'MAIL_SENT' | 'MAIL_DELIVERY_FAILED' | 'FORM_SUBMITTED' | 'APPOINTMENT_CHECKLIST_FILLED_FORM' | 'APPOINTMENT_CHECKLIST_CHECKED_IN' | 'APPOINTMENT_CHECKLIST_WITH_MA' | 'APPOINTMENT_CHECKLIST_MEASUREMENT_TAKEN' | 'APPOINTMENT_CHECKLIST_DOSE_TAKEN' | 'APPOINTMENT_CHECKLIST_WITH_PROVIDER' | 'APPOINTMENT_CHECKLIST_NOTE_TAKEN' | 'APPOINTMENT_CHECKLIST_PAYMENT_MADE' | 'APPOINTMENT_CHECKLIST_REQUEST_GFE' | 'APPOINTMENT_CHECKLIST_PICTURE_TAKEN' | 'APPOINTMENT_CHECKLIST_CARE_PLAN' | 'NOTIFICATION' | 'LOW_PATIENT_REVIEW' | 'CHAT_UPDATE' | 'RAINFOREST_PAYIN_FAILED' | 'RAINFOREST_PAYIN_PROCESSING' | 'RAINFOREST_POS_PAYIN_CANCELLED' | 'RAINFOREST_DEPOSIT_IN_REVIEW' | 'RAINFOREST_DEPOSIT_SUCCEEDED' | 'RAINFOREST_DEPOSIT_FAILED' | 'STOCK_LOW' | 'STOCK_ADDED' | 'STOCK_ARCHIVED' | 'STOCK_LINKED_TO_ITEM' | 'STOCK_UNLINKED_FROM_ITEM' | 'STOCK_UPDATED' | 'STOCK_DRAWDOWN' | 'SHIPMENT_RECEIVED' | 'SHIPMENT_UPDATED' | 'SHIPMENT_ARCHIVED' | 'ITEM_CREATED' | 'ITEM_UPDATED' | 'ITEM_ARCHIVED' | 'INVENTORY_ACTION', required
    - `communicationMethod` 'SMS' | 'EMAIL' | 'IN_APP', required — Communication methods for notification preferences.
    - `locationFilterEnabled` boolean — Whether to only receive notifications for alerts from the current location.

## Response `200`

Successful Response

- NotificationPreferencesResponse — Schema for notification preferences response.
  - `preferences` NotificationPreferenceSummary[], required — List of user's notification preferences.
    - `id` string, required — The unique identifier for the notification preference.
    - `userId` string, required — The unique identifier of the user.
    - `alertType` 'PATIENT_CREATED' | 'PATIENT_UPDATED' | 'APPOINTMENT_CANCELLED' | 'APPOINTMENT_UPDATED' | 'APPOINTMENT_REQUEST' | 'APPOINTMENT_SCHEDULED' | 'SELF_SCHEDULED_APPOINTMENT' | 'SELF_SCHEDULED_APPOINTMENT_CANCELLED' | 'SELF_SCHEDULED_APPOINTMENT_UPDATED' | 'BLOCK_CREATED' | 'BLOCK_CANCELLED' | 'BLOCK_UPDATED' | 'SHIFT_CREATED' | 'SHIFT_CANCELLED' | 'SHIFT_UPDATED' | 'PAYMENT_CREATED' | 'PAYMENT_FAILED' | 'PAYMENT_SUCCEEDED' | 'PLANNED_PAYMENT_FAILED' | 'PLANNED_PAYMENT_SUCCEEDED' | 'CHARGE_CREATED' | 'REFUND_CREATED' | 'REFUND_FAILED' | 'REFUND_SUCCEEDED' | 'ADJUSTMENT_CREATED' | 'ADJUSTMENT_FAILED' | 'ADJUSTMENT_SUCCEEDED' | 'INVOICE_UPDATED' | 'INVOICE_STATUS_UPDATE' | 'INVOICE_SET_UPDATED' | 'CHARGE_PAYMENT_CREATED' | 'CALL_RECEIVED' | 'CALL_MADE' | 'CALL_ONGOING' | 'MESSAGE_RECEIVED' | 'MESSAGE_SENT' | 'MESSAGE_DELIVERED' | 'MESSAGE_FAILED' | 'EMAIL_RECEIVED' | 'EMAIL_SENT' | 'MAIL_SENT' | 'MAIL_DELIVERY_FAILED' | 'FORM_SUBMITTED' | 'APPOINTMENT_CHECKLIST_FILLED_FORM' | 'APPOINTMENT_CHECKLIST_CHECKED_IN' | 'APPOINTMENT_CHECKLIST_WITH_MA' | 'APPOINTMENT_CHECKLIST_MEASUREMENT_TAKEN' | 'APPOINTMENT_CHECKLIST_DOSE_TAKEN' | 'APPOINTMENT_CHECKLIST_WITH_PROVIDER' | 'APPOINTMENT_CHECKLIST_NOTE_TAKEN' | 'APPOINTMENT_CHECKLIST_PAYMENT_MADE' | 'APPOINTMENT_CHECKLIST_REQUEST_GFE' | 'APPOINTMENT_CHECKLIST_PICTURE_TAKEN' | 'APPOINTMENT_CHECKLIST_CARE_PLAN' | 'NOTIFICATION' | 'LOW_PATIENT_REVIEW' | 'CHAT_UPDATE' | 'RAINFOREST_PAYIN_FAILED' | 'RAINFOREST_PAYIN_PROCESSING' | 'RAINFOREST_POS_PAYIN_CANCELLED' | 'RAINFOREST_DEPOSIT_IN_REVIEW' | 'RAINFOREST_DEPOSIT_SUCCEEDED' | 'RAINFOREST_DEPOSIT_FAILED' | 'STOCK_LOW' | 'STOCK_ADDED' | 'STOCK_ARCHIVED' | 'STOCK_LINKED_TO_ITEM' | 'STOCK_UNLINKED_FROM_ITEM' | 'STOCK_UPDATED' | 'STOCK_DRAWDOWN' | 'SHIPMENT_RECEIVED' | 'SHIPMENT_UPDATED' | 'SHIPMENT_ARCHIVED' | 'ITEM_CREATED' | 'ITEM_UPDATED' | 'ITEM_ARCHIVED' | 'INVENTORY_ACTION', required
    - `communicationMethod` 'SMS' | 'EMAIL' | 'IN_APP', required — Communication methods for notification preferences.
    - `locationFilterEnabled` boolean, required — Whether to only receive notifications for alerts from the current location.
    - `createdDate` string, date-time, required — The date and time when the preference was created.
    - `updatedDate` string, date-time, nullable — The date and time when the preference was last updated.
  - `availableAlertTypes` AlertType[], required — List of all available alert types.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/decodahealth/apis/decoda-api.md) · [All operations](https://skmtc.dev/decodahealth/apis/decoda-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/decodahealth/decoda-api/revisions/4939a65a89d2/schema)
