Return deterministic configuration to your applications.
Send a flag key, an identifier, and attributes. Flowyn evaluates the rules in order, applies any percentage rollout with a stable bucket, and returns a typed value plus the reason it was chosen.
- environment
- production
- user_id
- usr_142
- plan
- pro
- country
- DE
What teams build again and again
Hard-coded switches need a deploy. Home-grown flag tables drift between environments, and nobody can explain why one user saw the new checkout and another did not.
What Flowyn provides
- 01Boolean, string, number, and JSON values
- 02Environment-aware values: test and live
- 03Rules evaluated in order against caller-supplied attributes
- 04Percentage rollouts bucketed on a stable identifier
- 05The reason and matched rule returned with every evaluation
What exactly happens
At the product-contract level. This is what your application and your agent can rely on.
- 01
Define
Your application sends the flag key, an identifier, and attributes. Flowyn does not invent attributes.
- 02
Evaluate
Rules are evaluated in order. The first matching rule wins.
- 03
Decide
A percentage condition hashes the identifier into a bucket from 0 to 9,999. The same identifier always lands in the same bucket.
- 04
Return
The response contains the value, the reason, the matched rule, and the bucket.
targeting_matchpercentage_rolloutdefaultdisabledEverything around the configure operation.
POST /v1/flags/evaluateDeterministic evaluation
A flag key, an identifier, and attributes go in. A typed value and the reason for that value come out. The same input always produces the same output.
ExplorePercentage rolloutPercentage rollouts
A flag key, a percentage in basis points, and a stable identifier go in. Included or excluded, with the reason and bucket, comes out.
ExploreOne request. One resource you can read back.
Exact schemas are in the docs and OpenAPI.
For coding agents
Agents read configuration the same way applications do: one POST returns a typed value and the reason. There is no SDK state to reason about, and the same input always produces the same answer.
curl -X POST https://api.flowyn.dev/v1/flags/evaluate \
-H "Authorization: Bearer flw_test_••••" \
-H "Content-Type: application/json" \
-d '{
"key": "checkout_v2",
"identifier": "usr_142",
"attributes": {
"plan": "pro"
}
}'Also on Flowyn
Flags & remote configuration stays inside Flowyn's boundary: observe, verify, evaluate, execute bounded work, and report the result. The same account, API keys, and history cover every product.
Frequently asked questions
Is evaluation deterministic?
Who supplies the attributes?
Can I read the reason?
Start with flags & remote configuration.
Create a workspace, make your first call in the test environment, and inspect every attempt.
