Wahlu API

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-settings

Returns 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-settings

Creates or updates the brand-specific email preference override for the API key owner and returns the refreshed effective state.

Request body

ParameterTypeDescription
email_notifications*objectPartial notification preferences to save for this brand override.
email_notifications.post_publishedbooleanSend emails when a post publishes successfully.
email_notifications.post_failedbooleanSend emails when a publish attempt fails.
email_notifications.integration_refreshbooleanSend emails when an integration needs to be refreshed.
email_notifications.credits_addedbooleanSend emails when credits are added.
email_notifications.credits_lowbooleanSend emails when credits are running low.
email_notifications.planner_action_requiredbooleanSend emails when the planner is waiting for your action.
email_notifications.planner_generation_failedbooleanSend emails when planner generation fails.
email_notifications.planner_review_remindersbooleanSend 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-settings

Disables 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

ParameterTypeDescription
brandobjectBrand and workspace metadata for the requested brand.
account_settingsobjectThe API key owner's account-level email defaults.
effective_settingsobjectThe settings currently used for this brand after override resolution.
override_recordobject | nullThe stored override document, or null when no document exists yet.
override_settingsobject | nullNormalized override settings when a record exists, otherwise null.
is_inheritedbooleanTrue when the brand is currently inheriting account defaults.