Skip to main content

Settings

Every call needs Authorization: Bearer <key>. 4 calls:

Compliance settings​

GET /v1/settings/compliance

Quiet hours, custom STOP keywords, the opt-out confirmation text and the consent requirement, plus the platform rules around them. Settings apply to the whole organisation.

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.

Response 200

FieldTypeDescription
built_in_stop_keywordsstring[]
can_changebooleanWhether the caller can change these settings: they apply to every workspace in the organisation, so a change needs full compliance access in each one.
opt_out_confirmationstring
platform_quiet_hoursobject
platform_quiet_hours.endstringLocal time, HH:MM.
platform_quiet_hours.startstringLocal time, HH:MM.
quiet_hoursobject
quiet_hours.endstringLocal time, HH:MM.
quiet_hours.startstringLocal time, HH:MM.
require_consentbooleanOnly message contacts whose consent is opted_in.
sending_limitsobject
sending_limits.identical_text_max_per_dayintegerFrom 1 to 9007199254740991.
sending_limits.new_contact_window_daysintegerFrom 1 to 9007199254740991.
sending_limits.new_contacts_per_dayintegerFrom 0 to 9007199254740991.
sending_limits.new_contacts_per_hourintegerFrom 0 to 9007199254740991.
sending_limits.pre_reply_max_charsintegerFrom 1 to 9007199254740991.
sending_limits.pre_reply_max_messagesintegerFrom 1 to 9007199254740991.
sending_limits.reply_ratio_minnumberFrom 0 to 1.
sending_limits.sends_per_dayintegerFrom 0 to 9007199254740991.
sending_limits.unanswered_streak_pauseintegerFrom 1 to 9007199254740991.
sending_limits.warmup_curveobject[]
sending_limits.warmup_curve[].from_dayintegerFrom 1 to 9007199254740991.
sending_limits.warmup_curve[].new_per_dayintegerFrom 0 to 9007199254740991.
sending_limits.warmup_curve[].to_dayinteger or nullFrom 1 to 9007199254740991.
stop_keywordsstring[]

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.

Change compliance settings​

PATCH /v1/settings/compliance

Quiet hours are in each contact's local time and must cover the platform's quiet hours: they can be made longer, never shorter or turned off. STOP keywords are added to the built-in ones. Changes apply to every workspace in the organisation, so the caller needs full compliance access in each one (otherwise 403), and the change is audited in each workspace.

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.
idempotency-keystringNoMakes the write safe to retry for 24 hours. 1 to 255 printable characters. Keys starting with outreach:, workflow: or agent: are reserved for messages bubbl3 sends itself and are refused with 400. Up to 255 characters.

Request body

FieldTypeRequiredDescription
opt_out_confirmationstringNoUp to 300 characters.
quiet_hoursobjectNo
quiet_hours.endstringYesLocal time, HH:MM.
quiet_hours.startstringYesLocal time, HH:MM.
require_consentbooleanNo
stop_keywordsstring[]NoUp to 20 items.

Response 200

FieldTypeDescription
built_in_stop_keywordsstring[]
can_changebooleanWhether the caller can change these settings: they apply to every workspace in the organisation, so a change needs full compliance access in each one.
opt_out_confirmationstring
platform_quiet_hoursobject
platform_quiet_hours.endstringLocal time, HH:MM.
platform_quiet_hours.startstringLocal time, HH:MM.
quiet_hoursobject
quiet_hours.endstringLocal time, HH:MM.
quiet_hours.startstringLocal time, HH:MM.
require_consentbooleanOnly message contacts whose consent is opted_in.
sending_limitsobject
sending_limits.identical_text_max_per_dayintegerFrom 1 to 9007199254740991.
sending_limits.new_contact_window_daysintegerFrom 1 to 9007199254740991.
sending_limits.new_contacts_per_dayintegerFrom 0 to 9007199254740991.
sending_limits.new_contacts_per_hourintegerFrom 0 to 9007199254740991.
sending_limits.pre_reply_max_charsintegerFrom 1 to 9007199254740991.
sending_limits.pre_reply_max_messagesintegerFrom 1 to 9007199254740991.
sending_limits.reply_ratio_minnumberFrom 0 to 1.
sending_limits.sends_per_dayintegerFrom 0 to 9007199254740991.
sending_limits.unanswered_streak_pauseintegerFrom 1 to 9007199254740991.
sending_limits.warmup_curveobject[]
sending_limits.warmup_curve[].from_dayintegerFrom 1 to 9007199254740991.
sending_limits.warmup_curve[].new_per_dayintegerFrom 0 to 9007199254740991.
sending_limits.warmup_curve[].to_dayinteger or nullFrom 1 to 9007199254740991.
stop_keywordsstring[]

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.

My notification settings​

GET /v1/settings/notifications

Which events reach you by email and push in this workspace, and your quiet hours (in the organisation’s time zone), when email and push wait. Service emails listed in required always go out.

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.

Response 200

FieldTypeDescription
eventsobject
quiet_hoursobject or null
quiet_hours.endstringLocal time, HH:MM.
quiet_hours.startstringLocal time, HH:MM.
requiredobjectChannels that are always on for an event (service emails).
time_zonestringThe organisation's time zone, which quiet hours use.
unavailableenum[]Events bubbl3 does not send yet; their preferences are kept for later.

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.

Change my notification settings​

PATCH /v1/settings/notifications

Sets the channels for the events given (others are left as they are) and your quiet hours (null turns them off; equal start and end means none). A required service email can’t be turned off.

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.
idempotency-keystringNoMakes the write safe to retry for 24 hours. 1 to 255 printable characters. Keys starting with outreach:, workflow: or agent: are reserved for messages bubbl3 sends itself and are refused with 400. Up to 255 characters.

Request body

FieldTypeRequiredDescription
eventsobjectNo
quiet_hoursobject or nullNo
quiet_hours.endstringYesLocal time, HH:MM.
quiet_hours.startstringYesLocal time, HH:MM.

Response 200

FieldTypeDescription
eventsobject
quiet_hoursobject or null
quiet_hours.endstringLocal time, HH:MM.
quiet_hours.startstringLocal time, HH:MM.
requiredobjectChannels that are always on for an event (service emails).
time_zonestringThe organisation's time zone, which quiet hours use.
unavailableenum[]Events bubbl3 does not send yet; their preferences are kept for later.

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.