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