Skip to content

DoCurious API Reference / types / NotificationPreferences

Interface: NotificationPreferences ​

Defined in: types/notification.types.ts:107

Full notification preference configuration with per-category, per-channel granularity.

Remarks ​

Master toggles (inAppEnabled, emailEnabled, pushEnabled) act as global kill switches -- when a channel is disabled at the master level, all category preferences for that channel are effectively off. Quiet hours suppress non-critical notifications during the specified time window.

Properties ​

categoryPreferences ​

categoryPreferences: object

Defined in: types/notification.types.ts:121

Per-category, per-channel toggles

challenge_updates ​

challenge_updates: object

challenge_updates.email ​

email: boolean

challenge_updates.inApp ​

inApp: boolean

challenge_updates.push ​

push: boolean

community_activity ​

community_activity: object

community_activity.email ​

email: boolean

community_activity.inApp ​

inApp: boolean

community_activity.push ​

push: boolean

digests ​

digests: object

digests.email ​

email: boolean

digests.inApp ​

inApp: boolean

digests.push ​

push: boolean

gamification ​

gamification: object

gamification.email ​

email: boolean

gamification.inApp ​

inApp: boolean

gamification.push ​

push: boolean

gifts ​

gifts: object

gifts.email ​

email: boolean

gifts.inApp ​

inApp: boolean

gifts.push ​

push: boolean

parent_alerts ​

parent_alerts: object

parent_alerts.email ​

email: boolean

parent_alerts.inApp ​

inApp: boolean

parent_alerts.push ​

push: boolean

reminders ​

reminders: object

reminders.email ​

email: boolean

reminders.inApp ​

inApp: boolean

reminders.push ​

push: boolean

school_admin ​

school_admin: object

school_admin.email ​

email: boolean

school_admin.inApp ​

inApp: boolean

school_admin.push ​

push: boolean

social_activity ​

social_activity: object

social_activity.email ​

email: boolean

social_activity.inApp ​

inApp: boolean

social_activity.push ​

push: boolean

system ​

system: object

system.email ​

email: boolean

system.inApp ​

inApp: boolean

system.push ​

push: boolean

teacher_feedback ​

teacher_feedback: object

teacher_feedback.email ​

email: boolean

teacher_feedback.inApp ​

inApp: boolean

teacher_feedback.push ​

push: boolean

vendor ​

vendor: object

vendor.email ​

email: boolean

vendor.inApp ​

inApp: boolean

vendor.push ​

push: boolean

verification ​

verification: object

verification.email ​

email: boolean

verification.inApp ​

inApp: boolean

verification.push ​

push: boolean


createdAt? ​

optional createdAt: string

Defined in: types/notification.types.ts:109


emailDigestFrequency ​

emailDigestFrequency: "immediate" | "daily" | "weekly" | "never"

Defined in: types/notification.types.ts:139

How frequently email notifications are batched and sent


emailEnabled ​

emailEnabled: boolean

Defined in: types/notification.types.ts:116

Master toggle -- disables all email notifications when false


id? ​

optional id: string

Defined in: types/notification.types.ts:108


inAppEnabled ​

inAppEnabled: boolean

Defined in: types/notification.types.ts:114

Master toggle -- disables all in-app notifications when false


pushEnabled ​

pushEnabled: boolean

Defined in: types/notification.types.ts:118

Master toggle -- disables all push notifications when false


quietHoursEnabled ​

quietHoursEnabled: boolean

Defined in: types/notification.types.ts:130

Whether quiet hours are active


quietHoursEnd ​

quietHoursEnd: string

Defined in: types/notification.types.ts:134

Quiet hours end time in HH:mm format


quietHoursStart ​

quietHoursStart: string

Defined in: types/notification.types.ts:132

Quiet hours start time in HH:mm format


quietHoursTimezone ​

quietHoursTimezone: string

Defined in: types/notification.types.ts:136

IANA timezone for quiet hours (e.g., "America/New_York")


updatedAt? ​

optional updatedAt: string

Defined in: types/notification.types.ts:110


userId ​

userId: string

Defined in: types/notification.types.ts:111

DoCurious Platform Documentation