Notification Settings


Retrieve and update the authenticated user's notification preferences. Notifications are configured per user, so two team members on the same account can have different settings.

For the in-product walkthrough of these settings, see Notifications.


GET /settings/notifications

Returns the current user's notification preferences.

Authentication

Requires a valid API key. All roles (admin, owner, readonly) can read their own notification preferences.

curl https://api.growpanel.io/v1/settings/notifications \
-H "Authorization: Bearer YOUR_API_KEY"

Response

Status: 200 OK

{
"daily_report": false,
"weekly_report": true,
"monthly_report": true,
"expansion_alert_threshold": 0,
"contraction_alert_threshold": 100,
"notify_scheduled_churn": true,
"notify_failed_payment": true
}

Fields

FieldTypeDescription
daily_reportbooleanSend a daily email summary of yesterday's MRR movements.
weekly_reportbooleanSend a weekly email summary every Monday.
monthly_reportbooleanSend a monthly email summary on the first of each month.
expansion_alert_thresholdintegerWhen to email about new MRR, expansions, and reactivations. -1 = disabled, 0 = email on every change, positive integer = email only when the change exceeds this many USD.
contraction_alert_thresholdintegerWhen to email about churn and contractions. Same encoding as expansion_alert_threshold.
notify_scheduled_churnbooleanEmail when a customer schedules a future cancellation. Only used when contraction_alert_threshold is not -1.
notify_failed_paymentbooleanEmail when a customer's payment fails after previously succeeding.

Thresholds are compared in USD; non-USD movements are converted using the day's exchange rate.


PUT /settings/notifications

Update one or more notification preferences for the authenticated user. Fields you don't include are left unchanged.

Request

curl -X PUT https://api.growpanel.io/v1/settings/notifications \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"weekly_report": true,
"contraction_alert_threshold": 100,
"notify_scheduled_churn": true
}'

Body

Any subset of the fields documented above. Field names are validated — unknown fields are silently ignored.

Response

Status: 200 OK

Returns the full notification preferences object after the update — same shape as GET.

{
"daily_report": false,
"weekly_report": true,
"monthly_report": true,
"expansion_alert_threshold": 0,
"contraction_alert_threshold": 100,
"notify_scheduled_churn": true,
"notify_failed_payment": true
}