Skip to main content
PATCH
Update workspace settings

Authorizations

Authorization
string
header
required

Personal Access Token. Send as Authorization: Bearer hq_pat_....

Body

application/json
allow_guest_signin
boolean | null
channel_tips_enabled
boolean | null
corpus_history_days
integer<int32> | null
default_locale
string | null

Workspace-wide default UI language (BCP-47-ish, e.g. en / sv). Absent leaves it unchanged. Cannot be cleared - the column is NOT NULL.

nudge_end_hour
integer<int32> | null
nudge_fallback_lang
string | null

Empty string clears (revert to derived/default); absent leaves unchanged.

nudge_start_hour
integer<int32> | null
nudge_tz
string | null

Empty string clears (revert to derived/default); absent leaves unchanged.

proactive_nudges_enabled
boolean | null
profile_mode
string | null
signin_mode
string | null

Response

Updated settings

allow_guest_signin
boolean
required

Whether Slack guests (single-/multi-channel) may sign in. Default false - guests are blocked unless an admin flips this on (or explicitly allows an individual guest under Users).

channel_tips_enabled
boolean
required

Whether HQ posts RECURRING skill/integration recommendations in active channels (separate from the one-time welcome). Default false - an admin opts in. Only effective when proactive_nudges_enabled is on.

admin_only (default - the admin opts in for the whole tenant) or per_user (each user must grant consent before distillation considers their messages).

corpus_history_days
integer<int32>
required

How far back the corpus crawler ingests messages. 30–365.

default_locale
string
required

Workspace-wide default UI language (tenants.default_locale). The fallback for members with no locale of their own; the i18n resolver falls back to English if this names a language with no UI translation.

nudge_end_hour
integer<int32>
required

Local hour the daily nudge stops, exclusive (1–24, default 18).

nudge_start_hour
integer<int32>
required

Local hour the daily nudge may start (0–23, default 9).

proactive_nudges_enabled
boolean
required

Master switch for HQ posting in channels unprompted - in practice the one-time join welcome. Default true; admins opt out here. Also gates the recurring recommendations below (those need this on).

profile_mode
string
required

enabled / disabled. When enabled, the profile worker runs every tick and distils a per-user persona doc from the messages_corpus table.

signin_mode
string
required

Who in the connected workspace may sign in to HQ (migration 0129): open (default - any workspace member, minus explicit denies) or approval (allowlist - only users an admin has explicitly allowed).

source_id
string<uuid>
required

workspace_corpus_sources.id for the (single) connected source. Surfaced so the UI knows what it's editing; the PATCH endpoint scopes by tenant slug, not by id.

source_kind
string
required

Connector kind - slack / teams / manual. Read-only.

nudge_fallback_lang
string | null

BCP-47 language HQ falls back to when a channel is too quiet to detect one. null = Slack workspace locale, else English.

nudge_tz
string | null

IANA timezone the daily nudge schedules in (e.g. Europe/Stockholm). null = derive from the connected workspace, else UTC. Set this for a web-only tenant with no Slack to derive a tz from.

source_workspace
string | null

Display name of the connected workspace (e.g. "Truespar"). Read-only.