---
title: "Get a single feature flag"
method: GET
path: "/api/client/features/{featureName}"
tags: ["Client"]
---

# Get a single feature flag

`GET /api/client/features/{featureName}`

Gets all the client data for a single flag. Contains the exact same information about a flag as the `/api/client/features` endpoint does, but only contains data about the specified flag. All SDKs should use `/api/client/features`

## Path parameters

- `featureName` string, required

## Response `200`

clientFeatureSchema

- ClientFeatureSchema — Feature flag configuration used by SDKs to evaluate state of a flag
  - `name` string, required — The unique name of a feature flag. Is validated to be URL safe on creation
  - `type` string — What kind of feature flag is this. Refer to the documentation on [feature flag types](https://docs.getunleash.io/concepts/feature-flags#feature-flag-types) for more information
  - `description` string, nullable — A description of the flag
  - `enabled` boolean, required — Whether the feature flag is enabled for the current API key or not. This is ANDed with the evaluation results of the strategies list, so if this is false, the evaluation result will always be false
  - `stale` boolean — If this is true Unleash believes this feature flag has been active longer than Unleash expects a flag of this type to be active
  - `impressionData` boolean, nullable — Set to true if SDKs should trigger [impression events](https://docs.getunleash.io/concepts/impression-data) when this flag is evaluated
  - `project` string — Which project this feature flag belongs to
  - `strategies` FeatureStrategySchema[] — Evaluation strategies for this flag. Each entry in this list will be evaluated and ORed together
    - `id` string — A uuid for the feature strategy
    - `name` string, required — The name or type of strategy
    - `title` string, nullable — A descriptive title for the strategy
    - `disabled` boolean, nullable — A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs
    - `featureName` string — The name or feature the strategy is attached to
    - `sortOrder` number — The order of the strategy in the list
    - `segments` number[] — A list of segment ids attached to the strategy
    - `constraints` ConstraintSchema[] — A list of the constraints attached to the strategy. See https://docs.getunleash.io/concepts/activation-strategies#constraints
      - `contextName` string, required — The name of the context field that this constraint should apply to.
      - `operator` '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' | 'SEMVER_GTE' | 'SEMVER_LTE' | 'REGEX', required — The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/concepts/activation-strategies#constraint-operators).
      - `caseInsensitive` boolean — Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).
      - `inverted` boolean — Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.
      - `values` string[] — The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.
      - `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.
    - `variants` StrategyVariantSchema[] — Strategy level variants
      - `name` string, required — The variant name. Must be unique for this feature flag
      - `weight` integer, required — 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](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight) for more information
      - `weightType` 'variable' | 'fix', required — 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](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight).
      - `stickiness` string, required — The [stickiness](https://docs.getunleash.io/concepts/feature-flag-variants#variant-stickiness) to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time
      - `payload` object — Extra data configured for this variant
        - `type` 'json' | 'csv' | 'string' | 'number', required — The type of the value. Commonly used types are string, number, json and csv.
        - `value` string, required — The actual value of payload
    - `parameters` ParametersSchema — A list of parameters for a strategy
  - `variants` VariantSchema[], nullable — [Variants](https://docs.getunleash.io/concepts/feature-flag-variants#what-are-variants) configured for this flag
    - `name` string, required — The variants name. Is unique for this feature flag
    - `weight` number, required — 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](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight) for more information
    - `weightType` 'variable' | 'fix' — 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
    - `stickiness` string — [Stickiness](https://docs.getunleash.io/concepts/feature-flag-variants#variant-stickiness) is how Unleash guarantees that the same user gets the same variant every time
    - `payload` object — Extra data configured for this variant
      - `type` 'json' | 'csv' | 'string' | 'number', required — The type of the value. Commonly used types are string, number, json and csv.
      - `value` string, required — The actual value of payload
    - `overrides` OverrideSchema[] — 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.
      - `contextName` string, required — The name of the context field used to determine overrides
      - `values` string[], required — Which values that should be overriden
  - `dependencies` DependentFeatureSchema[] — Feature dependencies for this flag
    - `feature` string, required — The name of the feature we depend on.
    - `enabled` boolean — Whether the parent feature should be enabled. When `false` variants are ignored. `true` by default.
    - `variants` string[] — The list of variants the parent feature should resolve to. Leave empty when you only want to check the `enabled` status.

---

[API](https://skmtc.net/unleash/apis/unleash-api-2.md) · [All operations](https://skmtc.net/unleash/apis/unleash-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/unleash/unleash-api-2/versions/3ead4e02c359/schema)
