grantiva console flags (alias featureflags) manages flags; grantiva console envs manages the environments a flag holds values in.
Flags are addressable by flag_key everywhere, and by UUID too. Every command takes --json, and destructive verbs need --yes when stdin is not a TTY.
Flags
grantiva console flags list
List all feature flags.
Needs
flags:read.
grantiva console flags get
Show one flag in detail, including its rules and overrides.
flags:read.
grantiva console flags create
Create a feature flag.
The key is lowercase letters, numbers, and underscores. Values are validated against the declared type before the request — a
bool flag rejects anything but true/false, an int rejects a non-integer, a json flag rejects a document that will not parse.
Needs flags:write.
grantiva console flags update
Update a flag’s name, description, or per-environment values.
flags:write.
grantiva console flags on / off
Turn a flag on or off, everywhere or in one environment.
flags:write.
grantiva console flags delete
Delete a flag, its rules, and its overrides.
flags:write.
grantiva console flags history
Show a flag’s change history.
flags:read.
grantiva console flags eval
Dry-run a flag against a simulated device and show the full rule trace.
The flag is evaluated exactly as the SDK endpoint would for a device with those attributes, without recording an evaluation. Every targeting rule is printed in priority order with per-condition expected vs actual, so you can see which condition rejected the device.
Needs
flags:read.
grantiva console flags watch
Stream live flag configuration updates over SSE. Ctrl-C to stop.
--json each line is one compact NDJSON document of the form {"event": …, "data": …}.
Needs flags:read.
Targeting rules
Rules are evaluated in priority order. The first rule whose conditions all pass — and whose rollout bucket accepts the device — decides the flag’s value. Conditions are given as repeated--when <attribute>:<operator>:<value>, or as a --conditions-json array of {attribute, operator, value} objects.
Operators: eq, neq, gt, gte, lt, lte, in, not_in, contains, starts_with. For in and not_in, comma-separate the values.
Attributes: os_version, device_model, app_version, risk_score, locale, country, device_id, user_id, attestation_status, or custom.<key>.
grantiva console flags rules list
flags:read.
grantiva console flags rules add
Add a targeting rule, appended at the lowest priority.
Needs
flags:write.
grantiva console flags rules update
--when and --conditions-json replace the rule’s conditions rather than adding to them. Rule IDs come from rules list.
Needs flags:write.
grantiva console flags rules delete
flags:write.
grantiva console flags rules reorder
Set the whole priority order at once.
flags:write.
Targeting rules are limited per flag by plan. On a plan whose limit is zero,
rules add returns a 403 carrying the server’s own explanation (Targeting rule limit reached…), not a scope error.Per-device overrides
An override pins a flag to a fixed value for one device, by its App Attest key ID, taking precedence over every targeting rule. It is the support and QA path: force a flag on for one tester’s device without touching rules.grantiva console flags overrides list
flags:read.
grantiva console flags overrides add
Needs
flags:write.
grantiva console flags overrides delete
overrides list.
Needs flags:write.
Environments
grantiva console envs manages the environments a flag holds separate values in. Environments are addressable by slug or UUID.
grantiva console envs list
List environments in sort order.
flags:read.
grantiva console envs create
Needs
flags:write.
grantiva console envs update
Rename or recolor an environment.
flags:write.
grantiva console envs delete
Delete an environment and its per-environment values.
flags:write.
grantiva console envs reorder
Move an environment up or down in the sort order.
flags:write.
Next steps
- Console overview — auth, scopes, and shared conventions
- Feature flags concepts — how the SDK reads flags at runtime