Email Preferences
Control which product lifecycle emails Bullseye sends to your managed organizations. Partner-level preferences act as defaults for every organization you manage; each organization can override these defaults individually.
Controllable Email Types
Only product lifecycle emails are controllable via these endpoints. Typical keys include:
| Key | Description |
|---|---|
credits_exhausted | Sent when an organization runs out of credits |
credits_low | Sent when credits fall below a threshold |
first_visitor_identified | Sent the first time an organization identifies a visitor |
subscription_activated | Sent when a subscription is activated |
subscription_canceled | Sent when a subscription is canceled |
payment_failed | Sent when a payment fails |
renewal_receipt | Sent on renewal |
Values are booleans (true = enabled, false = suppressed).
Get Partner Email Preferences
Returns the partner-level default preferences applied to all managed organizations unless overridden per-org.
Request:
GET /partner/email-preferencesResponse:
{
"preferences": {
"credits_exhausted": false,
"credits_low": false,
"first_visitor_identified": true,
"subscription_activated": true,
"subscription_canceled": true,
"payment_failed": true,
"renewal_receipt": true
}
}Example:
curl -X GET "https://api.app.bullseye.so/api/v1/partner/email-preferences"
-H "X-Partner-API-Key: your-api-key"Update Partner Email Preferences
Sets partner-level defaults. These apply to every managed organization that has not set its own per-org override.
Request:
PUT /partner/email-preferencesBody:
{
"preferences": {
"credits_exhausted": false,
"credits_low": false,
"first_visitor_identified": true
}
}Any keys you omit keep their current value. Unknown keys are rejected.
Response:
{
"message": "email preferences updated"
}Returns 200 OK.
Get Organization Email Preferences
Returns the effective (resolved) preferences for a managed organization. Each preference includes whether it was inherited from the partner default or overridden at the org level.
Request:
GET /partner/organizations/{organizationId}/email-preferencesResponse:
{
"preferences": {
"credits_exhausted": { "enabled": false, "inherited": true },
"credits_low": { "enabled": false, "inherited": true },
"first_visitor_identified": { "enabled": true, "inherited": false }
}
}enabled- whether the email is currently enabled for this organizationinherited-trueif the value comes from the partner default;falseif the org has its own override
Update Organization Email Preferences
Sets per-organization overrides. These take precedence over partner-level defaults.
Request:
PUT /partner/organizations/{organizationId}/email-preferencesBody:
{
"preferences": {
"first_visitor_identified": false
}
}Response:
{
"message": "organization email preferences updated"
}Returns 200 OK.
Reset Organization Email Preferences
Removes per-organization overrides, reverting the organization to inherit partner-level defaults.
Request:
DELETE /partner/organizations/{organizationId}/email-preferencesResponse:
{
"message": "organization email preferences reset"
}Returns 200 OK.