Create Your First Flag
Create a boolean flag in the dashboard and verify it in your application.
Introduction
A feature flag is a named configuration value that applications read at runtime. Feature flags allow teams to change behavior without redeploying code.
This guide demonstrates the simplest possible flag: a Boolean flag. If you have not set up a project or SDK yet, start with Quick Start.
What you will create
| Key | new-checkout |
|---|---|
| Type | Boolean |
| Initial value | false |
| Purpose | Enable or disable a new checkout experience without redeploying the application. |
Steps
-
Step 1 — Open the flags page
Sign in to the SOASAP dashboard and open your project. Navigate to the flags section for the environment you are testing — use Development for local work.
-
Step 2 — Create a boolean flag
Create a new flag with key
new-checkout, type Boolean, and initial valuefalsein Development.Project vs environment — one of the most important concepts in SOASAP:
- Flag key and type belong to the project — defined once, shared across environments
- Flag value and enabled state belong to each environment
- The same key can be
truein Development andfalsein Production
-
Step 3 — Save the flag
Save your changes in the dashboard. SOASAP stores the authoritative configuration and streams updates to connected SDKs over SSE — typically within sub-second time on healthy networks.
-
Step 4 — Verify in your application
With your SDK initialized (see Quick Start), read the flag in your application:
client.getBool("new-checkout", false)Log the result in non-production to confirm the key, environment, and API key match. You should see
falsewhile the flag is disabled in Development. -
Step 5 — Toggle the flag
Return to the dashboard and enable
new-checkoutin Development.Your application should reflect the change within seconds without a redeploy or restart — subsequent reads return
true.
Expected result
Flag disabled:
client.getBool("new-checkout", false) → false
Flag enabled:
client.getBool("new-checkout", false) → true
When the flag is enabled in the dashboard, the SDK receives the update through SSE and subsequent evaluations return the new value — without requiring a redeploy.
Success checklist
- ✓ Flag created
- ✓ SDK successfully reads the flag
- ✓ Dashboard changes update the value
- ✓ No redeploy required
- ✓ Development environment behaves as expected
What just happened?
When you toggled the flag, SOASAP Cloud pushed the update to your SDK over Server-Sent Events (SSE).
The SDK updated its local snapshot. Your next getBool("new-checkout", false) call read the new value from memory.
No redeploy required. The application binary did not change — only the synchronized configuration did.
Key concepts learned
- ✓ Flags are defined at project scope
- ✓ Values are configured per environment
- ✓ SDKs evaluate flags locally
- ✓ Changes propagate through SSE
- ✓ No redeploy is required
Production safety
Local evaluation shifts responsibility for safe behavior to your application code. Always pass an explicit default when reading a flag:
client.getBool("new-checkout", false)
Why defaults matter: if a flag key is missing from the snapshot — before the first sync, after deletion, or during an outage — the SDK returns the default you provide in code. Defaulting new features to false prevents a missing flag from implicitly enabling risky behavior.
Details: Default Values and Production Safety.
Next steps
- Feature Flags — learn about Boolean, String, Number, and JSON flags.
- SDK Installation — platform-specific integration guides.
- Architecture — understand local evaluation, SSE synchronization, persistent cache, and offline operation.
Background: Core Concepts and Quick Start.