Skip to main content

Create (overwrite) variants for a feature flag in all environments

PUT 

/api/admin/projects/:projectId/features/:featureName/variants

This overwrites the current variants for the feature specified in the :featureName parameter in all environments.

The backend will validate the input for the following invariants

  • If there are variants, there needs to be at least one variant with weightType: variable
  • The sum of the weights of variants with weightType: fix must be strictly less than 1000 (< 1000)

The backend will also distribute remaining weight up to 1000 after adding the variants with weightType: fix together amongst the variants of weightType: variable

Request

Path Parameters

    projectId stringrequired
    featureName stringrequired

Body

array

required

variantsSchema

  • Array [

  • name stringrequired

    The variants name. Is unique for this feature flag

    Example: blue_group
    weight numberrequired

    The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on variant weights for more information

    Possible values: <= 1000

    weightType string

    Set to fix if this variant must have exactly the weight allocated to it. If the type is variable, the weight will adjust so that the total weight of all variants adds up to 1000

    Possible values: [variable, fix]

    Example: variable
    stickiness string

    Stickiness is how Unleash guarantees that the same user gets the same variant every time

    Example: custom.context.field

    payload

    object

    Extra data configured for this variant

    type stringrequired

    The type of the value. Commonly used types are string, number, json and csv.

    Possible values: [json, csv, string, number]

    value stringrequired

    The actual value of payload

    overrides

    object[]

    Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.

  • Array [

  • contextName stringrequired

    The name of the context field used to determine overrides

    Example: userId
    values string[]required

    Which values that should be overriden

    Example: ["red","blue"]
  • ]

  • ]

Responses

featureVariantsSchema

Schema

    version integerrequired

    The version of the feature variants schema.

    Example: 1

    variants

    object[]

    required

    All variants defined for a specific feature flag.

  • Array [

  • name stringrequired

    The variants name. Is unique for this feature flag

    Example: blue_group
    weight numberrequired

    The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on variant weights for more information

    Possible values: <= 1000

    weightType string

    Set to fix if this variant must have exactly the weight allocated to it. If the type is variable, the weight will adjust so that the total weight of all variants adds up to 1000

    Possible values: [variable, fix]

    Example: variable
    stickiness string

    Stickiness is how Unleash guarantees that the same user gets the same variant every time

    Example: custom.context.field

    payload

    object

    Extra data configured for this variant

    type stringrequired

    The type of the value. Commonly used types are string, number, json and csv.

    Possible values: [json, csv, string, number]

    value stringrequired

    The actual value of payload

    overrides

    object[]

    Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.

  • Array [

  • contextName stringrequired

    The name of the context field used to determine overrides

    Example: userId
    values string[]required

    Which values that should be overriden

    Example: ["red","blue"]
  • ]

  • ]

Loading...