← Key catalog
Flow 2 · Key catalog · Frame (f) · /admin/config/catalog/:key

notifications.digest.frequency

One definition, and the resolution chain that explains any value it takes. "Why is this org on daily?" is answerable here without reading four scopes by hand — which is the support question this console exists to end.

Definition

GET /v1/namespaces/notifications/keys/notifications.digest.frequency
enumrequires restart

Digest frequency — how often batched notifications are delivered.

displayNameDigest frequency
valueTypeenum
enumValueshourly · daily · weekly
defaultValuedaily
allowedScopesplatform · portal · org · user
precedencemost-specific-wins
category / sortOrderDelivery / 10
tagsdelivery · digest
isSystem / isHidden / isSecret / isReadonlyfalse · false · false · false
requiresRestarttrue
deprecatedAt / replacedBy— / —

Resolution chain · org Acme Corp

precedence: most-specific-wins
daily ↓ Definition defaultAlways present — every key resolves to something.
daily ↓ platform FuzeFrontNo override — inherits the default.
weekly ↓ portal Acme PortalOverride set 2026-07-02 by j.okafor.
daily ← org Acme Corp — in force Override set here, differing from the portal above. This is the value the editor shows and consumers receive.
— ↓ user YouNo override — inherits daily from the org.
Differs from parent: weekly → daily View change history
Contrast · a key that does not diverge

The chain must be as readable when nothing is overridden. "No differences" is a real answer to "why is this value what it is" and needs its own designed treatment — not an empty diff table.

Contrast · a chain terminated by a lock

A lock does not merely win — it stops resolution and refuses writes beneath. The chain view must show the scopes below the lock as unreachable, not merely as "no override", or an admin will keep trying to set them.

false 🔒 ← portal Acme Portal — locked, in force lockReason: "SMS is disabled tenant-wide pending carrier review."
unreachable × org Acme Corp Writes refused with LOCKED_BY_ANCESTOR while the portal lock stands.
unreachable × user YouSame — beneath the lock.

Contract. The definition panel is GET /v1/namespaces/{namespace}/keys/{key} → KeyDefinition. The chain is built from GET /v1/config read at each scope in the chain — every Scope carries its scopeType, so no step is identified by a bare id.
precedence is not cosmetic. Under least-specific-wins the same chain resolves the other way and the arrows reverse — the view reads definition.precedence rather than assuming most-specific.

← Key catalog Next: catalog states →
Review · config-management approve or reject each flow ↓
settings-editorapproved · izzywdev
key-catalogapproved · izzywdev
secret-auditapproved · izzywdev