Get notification preferences
const url = 'https://api.deploybase.eu/api/v1/api/v1/notification-preferences';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.deploybase.eu/api/v1/api/v1/notification-preferences \ --header 'Authorization: <Authorization>'Returns the team’s per-notification toggles, its notification email override, the address mail actually goes to, and whether that address is currently suppressed for a hard bounce or a spam complaint (DEP-332). The suppression fields are how a team discovers its notifications stopped arriving; every other symptom is silence.
Authorizations
Section titled “ Authorizations ”Responses
Section titled “ Responses ”OK
object
EffectiveEmail is where mail actually goes: the override when set, otherwise the team owner’s address, otherwise empty.
EffectiveSource is team | team_owner | none.
EmailSuppressed reports that mail to EffectiveEmail is NOT being delivered because the address is on the suppression list (DEP-332). Always present, so the client never has to distinguish “not suppressed” from “the backend did not answer”.
EmailSuppressionReason is hard_bounce or complaint, and is present only when EmailSuppressed is true — there is no reason to report when nothing is suppressed.
NotificationEmail is the explicit override only; null means “no override set”.
object
Build notifications
Forms notifications
Billing notifications
Example generated
{ "effective_email": "example", "effective_source": "example", "email_suppressed": true, "email_suppression_reason": "example", "notification_email": "example", "preferences": { "build_failure": true, "build_success": true, "build_timeout": true, "created_at": "example", "form_submission": true, "id": "example", "payment_failed": true, "payment_success": true, "plan_changed": true, "spending_cap_warning": true, "subscription_cancelled": true, "team_id": "example", "updated_at": "example" }}Bad Request
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Unauthorized
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Forbidden
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Internal Server Error
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}