Skip to main content

Flags Reference

A single reference for the boolean flags across Krios models — what each controls and its default. Modeling flags live on content types and field definitions; the rest are platform, access-control, and lifecycle flags.

Content type flags

On ContentType:

FlagDefaultControls
isRoutablefalseWhether entries of this type get a URL / RouteIndex row. Pages are routable; components/blocks are not. Note the default is false — set it true for anything that should be reachable by path.
isPublishabletrueWhether entries can be published. false makes the type draft-only (e.g. a settings singleton consumed by reference); publishing such an entry returns 422 content_type_not_publishable.
isSingletonfalseReserved / not yet enforced. A schema column only — there is no API to set it and nothing enforces the "one entry" rule today. Intended for site settings / global config in a future release.

Field flags

On FieldDefinition:

FlagDefaultControls
isRequiredfalseValue must be present to publish — enforced at publish, not at save, so drafts may be incomplete. Required references must also be published in the same locale before the entry can publish.
isLocalizablefalseValue is stored per-locale. When false, the value is shared across all locales (__shared). Immutable once content exists: shared and per-locale values use different storage keys, so the field-update API returns 409 is_localizable_immutable if you try to change this flag after any value has been written. Set it correctly at field creation.
isMultiplefalseField holds an array (multiple media, references, enum values, etc.) rather than a single value.
isSearchablefalseField contributes to full-text search. Only text / richtext produce search text.
isFilterablefalseAdvisory in V1 — marks the field for filtering; the GraphQL collection where input is generated but not yet applied by the resolver. Enforced in V2.
isSortablefalseAdvisory in V1 — marks the field for sorting. Collections sort by updatedAt (GraphQL) / createdAt+updatedAt (REST) today. Enforced in V2.
isSensitivefalsePII flag (V2 behavior) — marks the field for redaction / handling policy.

Environment flags

On Environment:

FlagDefaultControls
isDefaultfalseThe live destination. Exactly one environment per project is the default; creation code sets it explicitly. Delivery and the admin resolve the live environment via isDefault: true.
isLockedfalseFreezes direct edits — a locked environment can only receive content via promotion, not direct authoring.

Workflow flags

On WorkflowDefinition:

FlagDefaultControls
isDefaultfalseThe workflow applied to content types that don't specify one. Setting a new default clears the flag on the previous one.
isActivetrueWhether the workflow is selectable / enforced.

Redirect flags

On Redirect:

FlagDefaultControls
isRegexfalseTreats source as a regular expression rather than an exact path (advanced redirects).

Media flags

On MediaAsset:

FlagDefaultControls
isPublictrueWhether the asset is served via the public CDN URL.

Access-control flags

FlagModelDefaultControls
isSuperAdminUserfalsePlatform super-admin — access to the tenant-management surface across tenants.
isSystemRolefalseMarks a built-in role (Admin, Editor, Publisher, Viewer). System roles can't be deleted.

Lifecycle flags

These appear on many tables and behave consistently:

FlagDefaultControls
isActivetrueSoft enable/disable toggle (tenants, projects, API keys, locales, workflows, …). Inactive rows are excluded from normal resolution but not deleted.
isDeletedfalseSoft delete. Deleted rows are filtered from queries and free their unique keys (slugs, apiNames) via suffixing; never hard-deleted in V1.
isStalefalseOn a localized value / translation: the source locale changed after this translation was last updated, so it may need re-translation.