Skip to main content

Clone a feature flag

POST 

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

Creates a copy of the specified feature flag. The copy can be created in any project.

Request

Path Parameters

    projectId stringrequired
    featureName stringrequired

Body

required

cloneFeatureSchema

    name stringrequired

    The name of the new feature

    Example: new-feature
    replaceGroupId boolean

    Whether to use the new feature name as its group ID or not. Group ID is used for calculating stickiness. Defaults to true.

    Example: true

Responses

featureSchema

Schema

    name stringrequired

    Unique feature name

    Example: disable-comments
    type string

    Type of the flag e.g. experiment, kill-switch, release, operational, permission

    Example: kill-switch
    description stringnullable

    Detailed description of the feature

    Example: Controls disabling of the comments section in case of an incident
    archived boolean

    true if the feature is archived

    Example: true
    project string

    Name of the project the feature belongs to

    Example: dx-squad
    enabled boolean

    true if the feature is enabled, otherwise false.

    Example: true
    stale boolean

    true if the feature is stale based on the age and feature type, otherwise false.

    Example: false
    favorite boolean

    true if the feature was favorited, otherwise false.

    Example: true
    impressionData boolean

    true if the impression data collection is enabled for the feature, otherwise false.

    Example: false
    createdAt date-timenullable

    The date the feature was created

    Example: 2023-01-28T15:21:39.975Z

    createdBy

    object

    User who created the feature flag

    id integerrequired

    The user id

    Example: 123
    name stringrequired

    Name of the user

    Example: User
    imageUrl stringrequired

    URL used for the user profile image

    Example: https://example.com/242x200.png
    archivedAt date-timenullable

    The date the feature was archived

    Example: 2023-01-29T15:21:39.975Z
    lastSeenAt date-timenullabledeprecated

    The date when metrics where last collected for the feature. This field was deprecated in v5, use the one in featureEnvironmentSchema

    Example: 2023-01-28T16:21:39.975Z

    environments

    object[]

    The list of environments where the feature can be used

  • Array [

  • name stringrequired

    The name of the environment

    Example: my-dev-env
    featureName string

    The name of the feature

    Example: disable-comments
    environment string

    The name of the environment

    Example: development
    type string

    The type of the environment

    Example: development
    enabled booleanrequired

    true if the feature is enabled for the environment, otherwise false.

    Example: true
    sortOrder number

    The sort order of the feature environment in the feature environments list

    Example: 3
    variantCount number

    The number of defined variants

    strategies

    object[]

    A list of activation strategies for the feature environment

  • Array [

  • id string

    A uuid for the feature strategy

    Example: 6b5157cb-343a-41e7-bfa3-7b4ec3044840
    name stringrequired

    The name or type of strategy

    Example: flexibleRollout
    title stringnullable

    A descriptive title for the strategy

    Example: Gradual Rollout 25-Prod
    disabled booleannullable

    A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs

    Example: false
    featureName string

    The name or feature the strategy is attached to

    Example: myAwesomeFeature
    sortOrder number

    The order of the strategy in the list

    Example: 9999
    segments number[]

    A list of segment ids attached to the strategy

    Example: [1,2]

    constraints

    object[]

    A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints

  • Array [

  • contextName stringrequired

    The name of the context field that this constraint should apply to.

    Example: appName
    operator stringrequired

    The operator to use when evaluating this constraint. For more information about the various operators, refer to the strategy constraint operator documentation.

    Possible values: [NOT_IN, IN, STR_ENDS_WITH, STR_STARTS_WITH, STR_CONTAINS, NUM_EQ, NUM_GT, NUM_GTE, NUM_LT, NUM_LTE, DATE_AFTER, DATE_BEFORE, SEMVER_EQ, SEMVER_GT, SEMVER_LT]

    Example: IN
    caseInsensitive boolean

    Whether the operator should be case sensitive or not. Defaults to false (being case sensitive).

    Default value: false
    inverted boolean

    Whether the result should be negated or not. If true, will turn a true result into a false result and vice versa.

    Default value: false
    values string[]

    The context values that should be used for constraint evaluation. Use this property instead of value for properties that accept multiple values.

    Example: ["my-app","my-other-app"]
    value string

    The context value that should be used for constraint evaluation. Use this property instead of values for properties that only accept single values.

    Example: my-app
  • ]

  • variants

    object[]

    Strategy level variants

  • Array [

  • name stringrequired

    The variant name. Must be unique for this feature flag

    Example: blue_group
    weight integerrequired

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

    Possible values: <= 1000

    weightType stringrequired

    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. Refer to the variant weight documentation.

    Possible values: [variable, fix]

    Example: fix
    stickiness stringrequired

    The stickiness to use for distribution of this variant. 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

  • ]

  • parameters

    object

    A list of parameters for a strategy

    property name* string
  • ]

  • variants

    object[]

    A list of variants for the feature environment

  • 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"]
  • ]

  • ]

  • lastSeenAt date-timenullable

    The date when metrics where last collected for the feature environment

    Example: 2023-01-28T16:21:39.975Z
    hasStrategies boolean

    Whether the feature has any strategies defined.

    hasEnabledStrategies boolean

    Whether the feature has any enabled strategies defined.

  • ]

  • variants

    object[]

    deprecated

    The list of feature variants

  • 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"]
  • ]

  • ]

  • strategies object[]deprecated

    This was deprecated in v5 and will be removed in a future major version

    tags

    object[]

    nullable

    The list of feature tags

  • Array [

  • value stringrequired

    The value of the tag.

    Possible values: >= 2 characters and <= 50 characters

    Example: a-tag-value
    type stringrequired

    The type of the tag

    Possible values: >= 2 characters and <= 50 characters

    Example: simple
  • ]

  • children string[]

    The list of child feature names. This is an experimental field and may change.

    lifecycle

    object

    Current lifecycle stage of the feature

    stage stringrequired

    The name of the current lifecycle stage

    Possible values: [initial, pre-live, live, completed, archived]

    Example: initial
    enteredStageAt date-timerequired

    When the feature entered this stage

    Example: 2023-01-28T15:21:39.975Z

    dependencies

    object[]

    The list of parent dependencies. This is an experimental field and may change.

  • Array [

  • feature stringrequired

    The name of the parent feature

    Example: some-feature
    enabled boolean

    Whether the parent feature is enabled or not

    Example: true
    variants string[]

    The list of variants the parent feature should resolve to. Only valid when feature is enabled.

  • ]

  • collaborators

    object

    Information related to users who have made changes to this feature flage.

    users

    object[]

    required

    Users who have made any changes to this feature flags. The list is sorted in reverse chronological order (most recent changes first)

  • Array [

  • id integerrequired

    The user's id

    Example: 123
    name stringrequired

    The user's name, username, or email (prioritized in that order). If none of those are present, this property will be set to the string unknown

    Example: User
    imageUrl stringrequired

    The URL to the user's profile image

    Example: https://example.com/242x200.png
  • ]

Loading...