Organization settings configuration
Organization settings apply to every Team, Schedule, and user inside a single Organization. They cover defaults that propagate to other resources (locale, timezone), governance options (MFA, SSO, email domain), and the master switch for AI features.
These settings can only be changed by an Organization owner or admin. Some of them, including SSO requirement and email domain restriction, are gated by plan and are rejected when the Organization's plan does not include the feature.
Profile fields
These describe the Organization itself.
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
name | string | Yes | — | Display name of the Organization. |
description | string | No | "" | Free-text description. |
slug | string | Yes | — | URL-safe identifier used in links. |
default_locale | string | Yes | "en" | Default language for AI-generated content (Runbooks, Postmortems), Org-scoped notifications, and email. Must be en or ja. |
default_timezone | string | Yes | "UTC" | Default IANA timezone (e.g. Asia/Tokyo). Schedules that do not set their own timezone fall back to this value. |
default_locale only affects content where no per-user preference applies. Account-level notifications (password reset, lockouts) follow the recipient user's preferred locale, not this value.
Membership and access fields
These control who can join the Organization and how.
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
allowed_email_domains | array | No | [] | When non-empty, only users whose email matches one of the listed domains can join or remain a member. Requires a plan that includes domain restriction. |
allow_member_leave | boolean | No | true | When false, members cannot remove themselves; only owners or admins can remove them. |
require_mfa | boolean | No | false | When true, every member must have at least one second factor (TOTP or passkey). Until they enroll, non-owners are blocked from accessing the Organization. |
required_sso_providers | array | No | [] | When non-empty, members must sign in with one of the listed SSO providers (google, github). Members without a matching linked provider are blocked. Requires a plan that includes required SSO. |
mfa_step_up_enabled | boolean | No | false | When true, members are re-prompted for MFA at most once every 24 hours. Effective only when require_mfa is true. |
sso_step_up_enabled | boolean | No | false | When true, members are re-prompted to authenticate with their required SSO provider at most once every 24 hours. Effective only when required_sso_providers is non-empty. |
Data retention
The data_retention section controls how long each category of data is kept inside the Organization. Every key holds either null (use the plan's default retention) or a number of days (custom retention).
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
data_retention.alerts | number | null | Yes (key must be present) | null (plan default) | Retention period (in days) for alert data. |
data_retention.learning | number | null | Yes (key must be present) | null (plan default) | Retention period for learning data (knowledge distilled from past alerts). |
data_retention.documents | number | null | Yes (key must be present) | null (unlimited by default) | Retention period for documents (Runbooks and other authored content). |
data_retention.chat | number | null | Yes (key must be present) | null (unlimited by default) | Retention period for chat history. |
data_retention.audit_logs | number | null | Yes (key must be present) | null (plan default) | Retention period for audit logs. Available on the Business plan or higher. |
data_retention.config_history | number | null | Yes (key must be present) | null (plan default) | Retention period for configuration change history. |
Warning: shortening a retention period irreversibly deletes existing data older than the new window on the next daily cleanup run. Review the diff carefully before saving.
Unlike other fields, the data_retention section and all six keys must be present in every update: omitting them is rejected instead of silently reverting to defaults, because a silent revert could trigger unintended data deletion. Use explicit null to return a category to the plan default.
Setting any custom (non-null) value requires the Business plan or higher. Every category accepts values between 7 and 36500 days, and every category additionally has a plan-specific upper limit where one is defined for your plan; values above that limit are rejected. For values equal to the currently saved ones, the plan-based checks (Business+ gate and plan cap) are skipped (so a plan downgrade never blocks editing unrelated settings; the absolute 7-36500 range is still validated whenever a value is non-null), and null is always accepted (clearing a custom value works on every plan).
AI feature fields
These control whether AI features are usable inside the Organization and which roles can access them.
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
ai_enabled | boolean | No | true | Master switch for every AI feature. When false, every per-feature setting below is overridden as off. |
ai_settings.model_tier | string | No | "economy" | Model tier used when no per-feature override applies. |
ai_settings.features.<feature_id>.enabled | boolean | No | true | Per-feature toggle. Feature IDs: alert_bundling, voice_agent, personal_chat, bundle_alert_chat, knowledge_base, post_mortem, runbook_gen. alert_bundling and voice_agent are core and cannot be turned off. |
ai_settings.buddy_chat_allowed_roles | object | No | all roles allowed | Which Org roles can use Buddy chat. { admin, billing, member } are booleans. Owners are always allowed. |
ai_settings.alert_chat_allowed_roles | object | No | all Team roles allowed | Which Team roles can use the per-alert chat. { member } is a boolean. Team admins are always allowed. |
ai_settings.credit_threshold | number | No | 20 | Low-credit notification threshold (in credits). Set to 0 to disable. |
ai_settings.credit_notification_enabled | boolean | No | true | Whether the low-credit notification is sent. |
auto_continuation_max_turns | number | No | 0 (system default) | Maximum number of turns Buddy may chain automatically per investigation before stopping. 0 follows the system default. Range: 0 or 1–50. |
auto_continuation_max_credits | number | No | 0 (system default) | Credit budget per automatic continuation chain. When the chain's accumulated credits reach this limit, Buddy stops and reports instead of continuing. 0 follows the system default. Range: 0 or 1–500. |
auto_continuation_mode | string | No | "" (= system default ask) | Oversight level for Buddy's autonomous tasks: plan (Buddy proposes a plan and waits for approval before investigating), ask (Buddy confirms before each action), or auto (Buddy investigates autonomously without per-step confirmation). Set to auto if you want fully autonomous investigation. An empty string follows the system default (ask) — this is also what GET returns when the mode has never been set. |
auto_continuation_max_turns and auto_continuation_max_credits bound how far Buddy's autonomous investigation can run on its own. With on-demand charging enabled, these limits are the primary guard against unexpected spend, since the credit balance alone no longer acts as a hard stop.
auto_continuation_mode controls how much supervision Buddy's autonomous tasks require. In every mode, actions that write outside the conversation — saving a Runbook or Postmortem, applying configuration changes, or changing production systems — always require human approval; the mode only changes how autonomously Buddy may investigate (read and diagnose). There is no mode that bypasses write approval. Note: enforcement of plan gating and per-step confirmation is being rolled out progressively; until fully enabled, investigation reads run without confirmation and writes always require approval regardless of the configured mode.
Notification settings
notification_settings controls Organization-wide notification options (such as forcing notifications to also be sent by email regardless of per-user preference). The detailed fields are described on the notification settings page.
Validation rules
default_locale, when provided, must beenorja.default_timezone, when provided, must be a valid IANA timezone (e.g.Asia/Tokyo).allowed_email_domains, when non-empty, requires a plan that includes domain restriction. Submitting it on a plan that does not is rejected. If any existing member has an email outside the listed domains, the change is rejected and the conflicting members are returned in the response.required_sso_providersonly acceptsgoogleandgithub; duplicates are collapsed. Setting it on a plan that does not include required SSO is rejected.mfa_step_up_enabledhas no effect unlessrequire_mfais alsotrue. Likewise,sso_step_up_enabledhas no effect unlessrequired_sso_providersis non-empty.- The
data_retentionsection and all six keys (alerts,learning,documents,chat,audit_logs,config_history) must be present; omitting any of them is rejected. Each value must benullor an integer between 7 and 36500, and every category is additionally validated against the plan-specific limit for that category where one is defined for your plan. Setting a new custom value requires the Business plan or higher (nulland unchanged values are accepted on every plan).audit_logsadditionally requires a plan that includes audit logs. - Core AI features (
alert_bundling,voice_agent) cannot be disabled. Attempting to set them off has no effect. auto_continuation_max_turnsmust be0(system default) or an integer between 1 and 50.auto_continuation_max_creditsmust be0(system default) or between 1 and 500. Out-of-range values are rejected.auto_continuation_modemust be""(empty string or omitted = system defaultask) or one ofplan,ask,auto. Any other value is rejected.
Examples
Defaults for a new Organization based in Japan:
{
"default_locale": "ja",
"default_timezone": "Asia/Tokyo",
"allow_member_leave": true,
"require_mfa": false
}
Tighten membership to a single email domain and require MFA:
{
"allowed_email_domains": ["example.com"],
"require_mfa": true,
"mfa_step_up_enabled": true,
"allow_member_leave": false
}
Require SSO via Google and re-prompt at most once a day:
{
"required_sso_providers": ["google"],
"sso_step_up_enabled": true,
"require_mfa": true
}
Keep alert data for one year and leave every other category on the plan default (requires the Business plan or higher; all six keys must be present):
{
"data_retention": {
"alerts": 365,
"learning": null,
"documents": null,
"chat": null,
"audit_logs": null,
"config_history": null
}
}
Allow deeper autonomous investigations (raise the auto-continuation limits from the defaults):
{
"auto_continuation_max_turns": 20,
"auto_continuation_max_credits": 100
}
Turn off optional AI features and restrict Buddy chat to admins:
{
"ai_enabled": true,
"ai_settings": {
"model_tier": "economy",
"features": {
"alert_bundling": { "enabled": true },
"voice_agent": { "enabled": true },
"personal_chat": { "enabled": false },
"bundle_alert_chat": { "enabled": true },
"knowledge_base": { "enabled": true },
"post_mortem": { "enabled": false },
"runbook_gen": { "enabled": false }
},
"buddy_chat_allowed_roles": {
"admin": true,
"billing": false,
"member": false
},
"alert_chat_allowed_roles": {
"member": true
},
"credit_threshold": 50,
"credit_notification_enabled": true
}
}
Related
- Team — Teams live inside an Organization and inherit its locale and timezone defaults.
- Schedule — Schedule timezone falls back to
default_timezone. - Tags and labels — the tag and label masters are scoped per Organization.
