Skip to content
Console
Menu

Queues

Workflows

Getting Started

Authentication

KV Store

Create a config flag

Creates a config flag; the Operation is done when every cell serves it.

Creates a config flag; the Operation is done when every cell serves it.

  • Path POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/config_flags
  • Scope config:write
  • Effect write — a successful call changes state.
  • Collection config_flags
  • Query config_flag_id, validate_only
  • Operation answers with an Operation; the result is ConfigFlag

#Request

FieldTypeWhat it is
parentstringThe environment to create in. Required.
config_flagConfigFlagThe config flag to create; only spec and caller-writable metadata are read. Required.
config_flag_idstringThe id of the new config flag, the key evaluators ask for; the server assigns one when empty.
validate_onlyboolValidate and return the result without writing anything.

#ConfigFlag

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/config_flags/{config_flag}; the id is the key evaluators ask for.
metaResourceMetaResource metadata.
specConfigFlagSpecDesired state. Required.

#ResourceMeta

FieldTypeWhat it is
labelsmap<string, string>Caller-writable, indexed labels (AIP-122 label rules).
annotationsmap<string, string>Caller-writable, unindexed annotations.
display_namestringCaller-writable human-readable name.

#ConfigFlagSpec

FieldTypeWhat it is
value_typeConfigValueTypeThe type every value of the flag has. Required. One of bool, string, int64, double, json.
default_valuevalueThe value when no rule matches, or when the flag is disabled. Required.
enabledboolWhen false, every evaluation returns default_value and the rules are skipped: a kill switch. Default true.
rulesTargetingRule[]Targeting rules, first match wins.
descriptionstringWhat the flag is for.
client_visibleboolPublishable keys (browsers, mobile apps) may evaluate it with config_flags:evaluate; default false, so a server-only flag's value never reaches a device. Secret keys evaluate every flag.

#TargetingRule

FieldTypeWhat it is
valuevalueThe value served when the rule matches; of the flag's type. Required.
percentageint32Serve value to evaluations whose bucket is below this, from 0 to 100; default 100. The rest fall through to the next rule.
bucket_attributestringThe context attribute hashed for the bucket: user_id, anonymous_id, or an attribute path; default user_id, else anonymous_id. An evaluation without it never matches a rule below 100 percent.
descriptionstringWhat the rule is for.
conditionsTargetingCondition[]Conditions over the evaluation context; all must hold. None matches every evaluation.

#Response

FieldTypeWhat it is
namestring{parent-of-target}/operations/{operation}.
targetstringThe name of the Resource being changed.
target_generationint64The generation this Operation waits for.
verbOperationVerbWhat the Operation does. One of create, update, delete, custom.
custom_verbstringThe custom method verb when verb is CUSTOM, for example revoke.
doneboolWhether the Operation has finished.
create_timetimestampWhen the Operation started.
end_timetimestampWhen the Operation finished.
responseanyThe settled Resource (or Empty for a delete). One of the result group.
errorProblemDetailsThe failure, as the one error body. One of the result group.
progressOperationProgressProgress while not done.

#ProblemDetails

FieldTypeWhat it is
typestringhttps://sylphx.com/docs/errors/<code in kebab-case>.
titlestringA short customer-safe summary of the problem class.
statusint32The HTTP status, fixed by grpc_status.
detailstringA customer-safe explanation of this occurrence. Never contains SQL, stack traces, internal hostnames, or another tenant's data.
instancestringThe request id (Sylphx-Request-Id).
codestringThe stable UPPER_SNAKE code, one of ErrorCode without its prefix.
grpc_statusstringOne of the 16 canonical gRPC status names, for example ABORTED.
retryableboolWhether the same request may be retried.
effectErrorEffectWhat the failed call committed. One of none, applied, unknown.
retry_after_msint64How long to wait before retrying, when the server knows.
detailsany[]Typed details such as PreconditionFailure or EntitlementDenial.

#OperationProgress

FieldTypeWhat it is
percentint32Percent complete, when the controller can tell.
messagestringA customer-safe progress message.
conditionsCondition[]The target's conditions when this progress was read.

#Condition

FieldTypeWhat it is
typestringThe condition type, for example Ready.
statusConditionStatusWhether the condition holds. One of true, false, unknown.
observed_generationint64The generation this observation was made against.
reasonstringA machine-readable UpperCamelCase reason.
messagestringA customer-safe human-readable message.
severitySeverityHow severe a FALSE condition is. One of info, warning, error.
transition_timetimestampWhen status last changed.

#Errors

Every error arrives in the body Errors describes.

#Examples

curl -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/config_flags" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"spec":{"default_value":{},"value_type":"bool"}}'