Feature flags let you control which features are active in your application without touching your deployment pipeline. You define flags in the Swisstools dashboard, then check them at runtime via the API or SDK — your code branches on the result. This separates the act of shipping code from the act of releasing features, so you can merge incomplete work, test in production with a subset of traffic, or roll back instantly by flipping a toggle.Documentation Index
Fetch the complete documentation index at: https://docs.swisstools.dev/llms.txt
Use this file to discover all available pages before exploring further.
Two types of flags
Swisstools provides two complementary flag types. Choose based on whether the flag applies to everyone or to specific entities.Global flags
Apply project-wide. Toggle on or off for all traffic, with an optional percentage rollout to gradually expose a feature.
Group flags and records
Scoped to a group you define (such as an organization or user tier). Each record in the group can have its own flag values, enabling per-customer feature gating.
Authentication
The dashboard uses your session automatically — no extra configuration needed. To resolve flags programmatically from your application, you use a project-scoped API key passed as a bearer token. You manage API keys from the Feature Flags → API Keys tab in the dashboard.SDK integration
Resolve all flag values for a record with a single HTTP request. Includes TypeScript examples and authentication details.
How flag evaluation works
For global flags, the check endpoint returns the resolvedenabled state — already accounting for the rollout dice-roll Swisstools performs for that call — alongside the configured rollout percentage, the source, and the resolved environment. The list/get endpoints return the stored configuration instead.
For group flags resolved via the SDK, Swisstools returns an object of flag keys mapped to { enabled, rollout, source }, already taking per-record overrides and the rollout roll into account. If a record has no explicit value set for a flag, the group flag’s default is used (source: "group-default").