Gradual Rollout
A gradual rollout exposes a new feature to a small percentage of users first, lets you watch for errors, and then increases the percentage when you are confident. No redeployment at any step.
Rollout percentage is not yet configurable in the dashboard UI. Create the flag in the dashboard, then use the Management API to set and update the rollout percentage as shown below.
Setup
First create the flag in the dashboard (Projects → your project → Production → Add flag). Then set the initial rollout via the API:
curl -X PUT https://api.ffs.adarshrust.com/api/projects/$PROJECT_ID/environments/$ENV_ID/flags/$FLAG_ID \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "enabled": true, "rollout_percentage": 5 }'
5% of users will see the new feature. The other 95% see the existing behaviour.
Rolling out
Increase the rollout percentage as confidence grows. There is no fixed timeline — it depends on your traffic volume and error tolerance:
curl -X PUT https://api.ffs.adarshrust.com/api/projects/$PROJECT_ID/environments/$ENV_ID/flags/$FLAG_ID \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "rollout_percentage": 25 }'
Typical progression: 5% → 25% → 50% → 100%.
Watch your error rate and latency between each step. If something looks wrong, roll back immediately.
Rolling back
Disable the flag from the dashboard (click the toggle) or via the API:
curl -X PUT .../flags/$FLAG_ID \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "enabled": false }'
This disables the flag for everyone, including users who were in the rollout bucket. Rules and rollout configuration are preserved — you can re-enable later without reconfiguring.
Stable bucketing
The same user always lands in the same bucket across requests. Increasing the rollout from 5% to 25% adds new users to the cohort without reassigning existing ones. A user already in the 5% bucket stays in at 25%. They will not see the feature flicker in and out between page loads.
Cleaning up
Once a flag reaches 100% and you have confirmed everything is stable:
- Remove the flag check from your code
- Deploy without the branch
- Delete the flag from the dashboard
A flag with no code references and 100% rollout is technical debt. Clean it up.