Notification Settings
Manage per-brand email notification overrides for the API key owner.
Brand notification settings let the API key owner override their account-level email preferences for one brand at a time. If no active override exists, the brand inherits the account defaults automatically.
Required scopes: notifications:read for reads and notifications:write for updates and reverts.
Get effective settings for a brand
GET
/v1/brands/:brand_id/notification-settingsReturns the account defaults, the effective settings currently in force for the brand, and any saved override record.
curl
curl https://api.wahlu.com/v1/brands/brand_abc123/notification-settings \
-H "Authorization: Bearer wahlu_live_your_api_key_here"Response
{
"success": true,
"data": {
"brand": {
"id": "brand_abc123",
"name": "Acme Co",
"workspace_id": "workspace_123",
"workspace_name": "Acme Workspace"
},
"account_settings": {
"post_published": true,
"post_failed": true,
"integration_refresh": true,
"credits_added": true,
"credits_low": true,
"planner_action_required": true,
"planner_generation_failed": true,
"planner_review_reminders": true
},
"effective_settings": {
"post_published": true,
"post_failed": false,
"integration_refresh": true,
"credits_added": true,
"credits_low": true,
"planner_action_required": true,
"planner_generation_failed": true,
"planner_review_reminders": true
},
"override_record": {
"id": "user_123:workspace_123:brand_abc123",
"user_id": "user_123",
"workspace_id": "workspace_123",
"brand_id": "brand_abc123",
"is_active": true,
"email_notifications": {
"post_published": true,
"post_failed": false,
"integration_refresh": true,
"credits_added": true,
"credits_low": true,
"planner_action_required": true,
"planner_generation_failed": true,
"planner_review_reminders": true
},
"created_at": "2026-03-30T10:00:00.000Z",
"updated_at": "2026-03-30T10:00:00.000Z"
},
"override_settings": {
"post_published": true,
"post_failed": false,
"integration_refresh": true,
"credits_added": true,
"credits_low": true,
"planner_action_required": true,
"planner_generation_failed": true,
"planner_review_reminders": true
},
"is_inherited": false
}
}Save or update a brand override
PATCH
/v1/brands/:brand_id/notification-settingsCreates or updates the brand-specific email preference override for the API key owner and returns the refreshed effective state.
Request body
| Parameter | Type | Description |
|---|---|---|
email_notifications* | object | Partial notification preferences to save for this brand override. |
email_notifications.post_published | boolean | Send emails when a post publishes successfully. |
email_notifications.post_failed | boolean | Send emails when a publish attempt fails. |
email_notifications.integration_refresh | boolean | Send emails when an integration needs to be refreshed. |
email_notifications.credits_added | boolean | Send emails when credits are added. |
email_notifications.credits_low | boolean | Send emails when credits are running low. |
email_notifications.planner_action_required | boolean | Send emails when the planner is waiting for your action. |
email_notifications.planner_generation_failed | boolean | Send emails when planner generation fails. |
email_notifications.planner_review_reminders | boolean | Send planner reminder emails for pending review work. |
curl
curl -X PATCH https://api.wahlu.com/v1/brands/brand_abc123/notification-settings \
-H "Authorization: Bearer wahlu_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"email_notifications": {
"post_failed": false,
"planner_review_reminders": false
}
}'Revert a brand to account defaults
DELETE
/v1/brands/:brand_id/notification-settingsDisables the brand override immediately and returns the inherited effective settings. You do not need to delete each event manually.
curl
curl -X DELETE https://api.wahlu.com/v1/brands/brand_abc123/notification-settings \
-H "Authorization: Bearer wahlu_live_your_api_key_here"Response fields
| Parameter | Type | Description |
|---|---|---|
brand | object | Brand and workspace metadata for the requested brand. |
account_settings | object | The API key owner's account-level email defaults. |
effective_settings | object | The settings currently used for this brand after override resolution. |
override_record | object | null | The stored override document, or null when no document exists yet. |
override_settings | object | null | Normalized override settings when a record exists, otherwise null. |
is_inherited | boolean | True when the brand is currently inheriting account defaults. |